MOODLE TRAINING
WORDPRESS TRAINING
0721006677
info@mysimplewebsite.co.za

QCTO EISA Centre Bookings


MSW EISA Event Manager

Help & User Guide

Version 1.0.1  |  MySimpleWebsite.co.za

QCTO Examination Booking & Event Management for WordPress

  1.  Requirements & Installation

1.1  System Requirements

Before installing the MSW EISA Event Manager, ensure the following are in place on your WordPress site:

Requirement Details
WordPress Version 6.0 or higher
PHP Version 7.4 or higher
WooCommerce Must be installed and active — the plugin will NOT activate without it
MSW Control Centre Version 1.5.0 or higher — must be active for SMS and licence validation
MSW-EISA Licence Key Provided by MySimpleWebsite.co.za — required for full functionality

 

NOTE: The plugin will refuse to activate if WooCommerce is not installed and active. If WooCommerce is deactivated after installation, the plugin will display a warning in the WordPress admin and stop functioning until WooCommerce is restored.

1.2  Step-by-Step Installation

Follow these steps in order to install and configure the plugin correctly:

Step 1 — Upload Both Plugins

You need two plugins: MSW Control Centre and MSW EISA Event Manager.

  1. Log in to your WordPress admin dashboard.
  2. Go to Plugins > Add New > Upload Plugin.
  3. Upload the MSW Control Centre plugin ZIP file first and click Install Now, then Activate.
  4. Repeat the upload process for the MSW EISA Event Manager plugin ZIP file and activate it.
IMPORTANT: Activate MSW Control Centre first. If you attempt to activate MSW EISA Event Manager without WooCommerce active, WordPress will display an error and the plugin will not be enabled.

Step 2 — Enter Your EISA Licence Key

  1. In the WordPress admin menu, go to EISA Manager > Settings > License.
  2. Enter your MSW-EISA licence key (provided by MySimpleWebsite.co.za) and save.
  3. The licence status indicator will turn green when the key is validated successfully.

Step 3 — Configure MSW Control Centre

In MSW Control Centre, configure your BulkSMS.com credentials so that SMS notifications can be sent to learners. This step is optional if you do not require SMS, but it must be done if you want SMS reminders to work.

Step 4 — Add Your First EISA Centre

  1. Go to EISA Manager > EISA Centres > Add New.
  2. Enter the centre name, address, city, and contact phone number.
  3. Save the centre. You can add multiple centres if you operate from more than one venue.

Step 5 — Import Qualifications

QCTO qualifications must be added before you can create events. There are two ways to import them:

  • Option A: Import a QCTO CSV file:

Go to EISA Manager > Qualifications > Import and upload your QCTO qualifications CSV file. A template is available to download from the Import page. This is a one-time import — qualifications rarely change.

  • Option B: Sync from MSW Control Centre:

If your MSW Control Centre has a qualifications database configured, you can click Sync from Control Centre to pull the list automatically.

Step 6 — Create the Required WordPress Pages

You need to create two (or three) WordPress pages and embed the plugin shortcodes. Full shortcode details are in Section 2.

Page Purpose Shortcode to Add
Public Booking Form [eisa_booking]
Manage My Booking (Guest) [eisa_manage_booking]
EISA Coordinator Admin Panel (optional) [eisa_admin]

Step 7 — Register the Pages in Settings

Go to EISA Manager > Settings > General and set the Public Booking Page and Manage Booking Page to the pages you created above. This ensures that confirmation emails contain the correct links.

Step 8 — Create and Publish Your First Event

Go to EISA Manager > Events > New Event. Fill in the qualification, centre, date, seats, and cost. Set the status to Published to make the event visible in the public booking form. See Section 3 for full event and booking management details.

  2.  Shortcodes

The MSW EISA Event Manager provides three shortcodes. Place them on WordPress pages by editing the page and typing the shortcode into the content area (or using the Shortcode block in Gutenberg).

2.1  [eisa_booking] — Public Booking Form

[eisa_booking]

What It Does

Displays a multi-step examination booking form that any site visitor can use — no WordPress account or login is required. This is the primary page your learners will use to register for EISA exams.

How the Booking Process Works (Step by Step)

The form guides the learner through four clear steps:

Step What Happens
Step 1 — Select Exam The learner chooses a QCTO qualification from a dropdown list. Once selected, available exam events are loaded automatically, showing the date, time, venue, available seats, and cost.
Step 2 — Your Details The learner enters their first name, last name, ID type (South African ID, Passport, or Other), ID/passport number, email address, and mobile number.
Step 3 — Confirm A full summary is displayed — qualification, date, venue, personal details, and the amount due. The learner reads the refund policy and clicks Confirm Booking.
Step 4 — Done The booking is created. For free events, confirmation is instant. For paid events, the learner is redirected to WooCommerce checkout (PayFast / Zapper).

Free vs. Paid Events

  • Free events (cost = R0): Booking is confirmed immediately. A confirmation email and SMS are sent at once. No WooCommerce checkout is involved.
  • Paid events: A pending booking is created and the learner is redirected to the WooCommerce checkout page. The seat is held for a configurable hold period (default: 2 hours). If payment is not completed within that time, the booking is automatically cancelled and the seat is released.

Duplicate Booking Prevention

If a learner tries to book an event using an email address that already has an active booking for the same event, they will see an error message. Duplicate bookings are blocked automatically.

Where to Place This Shortcode

  • Create a new WordPress page (e.g. titled Book an Exam).
  • Add the shortcode [eisa_booking] to the page content.
  • Publish the page and register it in EISA Manager > Settings > General > Public Booking Page.
TIP: Only qualifications that are active (not expired) and events that are published, public, and have available seats will appear in the booking form. Expired qualifications and full events are automatically excluded.

2.2  [eisa_manage_booking] — Guest Booking Management

[eisa_manage_booking]

What It Does

Allows a learner to view, change, or cancel their existing booking without needing a WordPress account. Access is granted via a unique magic link sent to the learner by email when their booking is confirmed.

How the Magic Link Works

When a booking is confirmed, the system generates a unique, secure token (64 random characters) and includes it in the confirmation email as a personalised link, for example:

https://yoursite.co.za/manage-my-booking/?token=a3f9c2d1…

When the learner clicks that link, the Manage My Booking page detects the token in the URL and displays their full booking details.

What the Learner Can Do on This Page

  • View booking details: qualification, exam date and time, venue, name, email, and mobile.
  • Change exam date: If the same qualification has other upcoming published events with available seats, a Change Exam Date button appears. The learner can switch to a different date without contacting the office.
  • Cancel booking: The learner can cancel their own booking. The seat is released immediately and a cancellation notification is sent. Note: refunds are not processed automatically — the refund policy is displayed.

Lost Magic Link

If a learner has lost their magic link email, they can still access their booking:

  1. The learner visits the Manage My Booking page directly (without a token in the URL).
  2. A Find Your Booking form appears, asking for an email address.
  3. The system looks up all active upcoming bookings for that email and sends a fresh set of manage links to the learner’s email address.

Where to Place This Shortcode

  • Create a new WordPress page (e.g. titled Manage My Booking).
  • Add the shortcode [eisa_manage_booking] to the page content.
  • Publish the page and register it in EISA Manager > Settings > General > Manage Booking Page.
IMPORTANT: The Manage Booking page URL must be registered in Settings so that the correct link is included in confirmation and reminder emails. If it is not set, links in emails will not work correctly.

2.3  [eisa_admin] — Front-End Admin Panel

[eisa_admin]

What It Does

Displays a full administration panel directly on a WordPress front-end page. This shortcode is designed for EISA Coordinators who need to manage events and bookings but should not have access to the full WordPress admin dashboard.

Access Control

User Type What They See
Not logged in A login form prompting the user to log in to their WordPress account.
Logged in — no coordinator role An Access Denied message. They cannot see any admin content.
Logged in — EISA Coordinator or Admin The full EISA Admin Panel with three tabs: Events, Bookings, and Import.

Admin Panel Tabs

  • Events tab: Displays all upcoming events with their date, time, qualification, centre, available seats, and status badge. Each event has a View Bookings link that goes directly to the full bookings page in the WordPress admin.
  • Bookings tab: Shows the 20 most recent active bookings including booking reference, learner name, email, event date, and payment status. A link is provided to the full Bookings Dashboard in the WordPress admin.
  • Import tab: Provides a link to the full Bulk Import page in the WordPress admin for uploading learner spreadsheets.

Assigning the EISA Coordinator Role

  1. Log in to WordPress admin as an Administrator.
  2. Go to Users and click on the user you want to give coordinator access to.
  3. Scroll down to the EISA Access section on their profile page.
  4. Check the EISA Coordinator checkbox and click Update User.

The user can now access the [eisa_admin] shortcode page from the front end of the site.

NOTE: Administrators automatically have access to the [eisa_admin] panel — there is no need to assign the EISA Coordinator role to site administrators.

3.  Admin: Events & Bookings

3.1  Creating an Event

Go to EISA Manager > Events > New Event in the WordPress admin menu.

Field Description
Qualification Select from your imported QCTO qualifications list.
EISA Centre Select the venue where the exam will take place.
Date The date of the examination.
Start Time The time the examination begins.
Duration How long the exam runs (in minutes).
Total Seats The maximum number of learners that can book this event.
Cost (ZAR) Enter 0 for a free event (no WooCommerce required). Enter the price in Rands for a paid event.
Public Bookings Toggle ON to allow learners to self-book via the [eisa_booking] shortcode. Toggle OFF for admin-only or bulk-import events.
Status Draft = not visible. Published = live and bookable. Full = no seats left (set automatically). Cancelled = removed from public view.

3.2  Managing Bookings

Go to EISA Manager > Bookings to view and manage all bookings. You can filter by event, payment status, or date.

Action Description
Edit Update any learner detail such as name, ID number, email, or mobile.
Move Transfer a booking to a different event for the same qualification. An email notification is sent to the learner.
Cancel Cancels the booking, releases the seat, and sends a cancellation email to the learner.
Delete Permanently removes the booking record from the database. This cannot be undone — use with caution.
Bulk Mark as Paid Select multiple bookings, then use the Bulk Action dropdown to mark them all as Paid in one action. Confirmation emails and SMS messages are sent automatically.

3.3  Seat Management

Seat availability is tracked in real time:

  • When a booking is created, one seat is reserved immediately.
  • When a booking is cancelled, the seat is released immediately.
  • When available seats reach zero, the event status is automatically changed to Full and it is hidden from the public booking form.
  • Abandoned paid bookings (where the learner started but did not complete payment) are automatically released after the hold period expires. The default hold period is 2 hours, configurable in Settings > General.

  4.  Bulk Learner Import

Use the Bulk Import feature to register groups of learners for an event at once. This is typically used when payment is handled outside the system (e.g. via EFT invoice to a company).

4.1  File Format

Accepted file formats: .csv or .xlsx. The first row must be a header row with the following column names (column order does not matter):

Column Name Required / Notes
first_name Required
last_name Required
id_number Required — SA ID number, passport number, or other identifier
id_type Optional — accepted values: sa_id, passport, other (defaults to sa_id if omitted)
mobile Required — South African mobile number
email Required — valid email address

 

A downloadable CSV template is available on the Bulk Import page in the WordPress admin (EISA Manager > Bulk Import > Download Template).

4.2  Import Process

  1. Go to EISA Manager > Bulk Import in the WordPress admin.
  2. Select the target event from the dropdown (the event learners will be registered for).
  3. Upload your CSV or XLSX file. A preview of the first 5 rows will be displayed for verification.
  4. Click Confirm Import to process the file. All valid learners are added with a payment status of Pending.
  5. Once payment is received (e.g. EFT clears), go to Bookings, filter by the import batch, select all the imported learners, and use the Bulk Mark as Paid action.
  6. Confirmation emails and SMS messages are sent automatically when bookings are marked as Paid.
DUPLICATE DETECTION: If a learner with the same email address already has an active booking for the same event, their row is automatically skipped. Other rows in the import are still processed normally.

  5.  Email & SMS Notifications

5.1  Email Notifications

All emails are sent using WordPress’s standard wp_mail() function. To ensure reliable email delivery, configure an SMTP plugin such as WP Mail SMTP, FluentSMTP, or similar.

Trigger Email Sent
Free booking confirmed Booking Confirmation email to learner
Paid booking created (pending payment) Pending Payment email with checkout link
Payment completed via WooCommerce Booking Confirmation email to learner
Booking cancelled Cancellation notification to learner
Booking moved to different event Booking Change notification to learner
Scheduled reminder fires Reminder email (if email channel is selected)
Learner requests manage link Email with all manage links for upcoming bookings

5.2  SMS Notifications

SMS messages are sent via BulkSMS.com through your MSW Control Centre account. Each SMS deducts credits from your MSW licence credit balance.

  • South African mobile numbers only. Numbers are automatically formatted to the international format 27XXXXXXXXX.
  • SMS Prefix: Every SMS automatically starts with your centre name and phone number, for example: [EISA JHB] 0119876543: . This uses some of the available characters in each message.
  • SMS is sent on: booking confirmation (free events and paid events on payment), booking cancellation, and scheduled reminders.
  • To enable SMS: Configure BulkSMS credentials in MSW Control Centre > Settings > BulkSMS, then ensure SMS is enabled in EISA Manager > Settings > SMS.

5.3  Reminder Schedules

Go to EISA Manager > Reminders to set up automated reminders for upcoming exams.

  • Configure how many days before the exam each reminder fires.
  • Choose the channel: Email, SMS, or both.
  • Write a custom message using merge tags.

Available Merge Tags

Use these tags in your reminder messages — they are automatically replaced with live booking data:

Merge Tag Replaced With
{first_name} Learner’s first name
{last_name} Learner’s last name
{booking_ref} Booking reference number (e.g. EISA-2026-00042)
{event_date} Date of the examination
{event_time} Start time of the examination
{duration} Duration of the examination in minutes
{qualification} Full qualification description
{centre_name} Name of the examination centre
{centre_phone} Examination centre phone number
{manage_link} Personalised magic link for the learner to manage their booking
{refund_policy} Your configured refund policy text
{site_name} Your WordPress site name

 

RATE LIMITING: Reminder emails are sent at a maximum of 1 batch per qualification per hour to prevent large volumes triggering spam filters on your sending domain.

  6.  Frequently Asked Questions

Can the same person book the same event twice?

No. If someone tries to book with an email address that already has an active booking for the same event, they will see an error message. Duplicate bookings are blocked automatically.

What happens if someone pays and then cancels?

The plugin does not process refunds automatically. The booking is marked as cancelled, the seat is released, and the refund policy text is displayed to the learner. Any refund must be processed manually outside the plugin (e.g. via your payment gateway dashboard).

Can I have events at multiple venues?

Yes. Add each venue as a separate EISA Centre (EISA Manager > EISA Centres). Each event is linked to one centre, so learners will see the correct venue displayed for their booked event.

What happens if an event is cancelled after people have already booked?

The event status changes to Cancelled and it is hidden from the public booking form. Booked learners are NOT automatically notified — you will need to send a manual notification. Automatic notifications for event cancellations affecting existing bookings are planned for a future update.

A learner did not receive their confirmation email — what can I do?

First, confirm that your SMTP plugin is configured and that test emails are working. You can resend a confirmation by editing the booking in the admin and saving it. Alternatively, direct the learner to the Manage My Booking page, where they can enter their email address to receive fresh manage links.

A learner has lost their magic link — how do they get it again?

Direct the learner to your Manage My Booking page. They will see a Find Your Booking form where they enter their email address. The system will send fresh magic links for all their upcoming active bookings to that email address.

How long is a paid booking held if the learner does not pay?

By default, a seat is held for 2 hours after a paid booking is initiated. If the learner does not complete payment within that time, the booking is automatically cancelled and the seat is released. This hold period can be changed in EISA Manager > Settings > General.

SMS is not sending — what should I check?

  • Check that your BulkSMS.com credentials are correctly entered in MSW Control Centre > Settings > BulkSMS.
  • Confirm that SMS is enabled in EISA Manager > Settings > SMS.
  • Check your MSW licence credit balance in EISA Manager > Settings > License. SMS requires credit — a zero balance will cause sending to fail.
  • Check that the learner’s mobile number is a valid South African number (starting with 06, 07, or 08).

Can I assign the EISA Coordinator role to multiple users?

Yes. There is no limit to the number of users who can hold the EISA Coordinator role. Each user with this role can access the [eisa_admin] shortcode panel on the front end of the site.

MSW EISA Event Manager v1.0.1  |  MySimpleWebsite.co.za  |  For support, contact your MySimpleWebsite account manager.