JoomCourses can automatically send email notifications to registrants at key points in the booking process. You control the content of these emails through customizable templates.
Email Template Types
JoomCourses has four types of email templates, each triggered by a different event:
| Type | Trigger | Description |
|---|---|---|
| Booking Confirmation | When a new application is created | Sent to the registrant after they complete checkout |
| Status Changed | When an application status changes | Sent when you change an application's status (e.g., Pending to Paid) |
| Waiting List | When a seat becomes available | Sent to users on the waiting list when someone cancels or capacity is increased |
| Guest Confirmation | When a guest user books | Sent to non-registered users who checkout as a guest, with account activation details |
Managing Email Templates
Viewing Templates
Go to Components > JoomCourses > Email Templates to see all templates.
Creating a Template
- Click New in the toolbar.
- Fill in the template fields:
| Field | Description |
|---|---|
| Title | Internal name for the template (e.g., "Booking Confirmation - English") |
| Type | Select the template type (Confirmation, Status Changed, Waiting List, Guest Confirmation) |
| Subject | The email subject line. You can use template variables here. |
| Body | The email content in HTML. Use the WYSIWYG editor to format and insert template variables. |
| BCC | Email addresses to receive a blind copy (e.g., admin or accounting) |
| Recipient | Additional recipients beyond the registrant |
| Published | Enable or disable the template |
| Language | Assign to a specific language (for multilingual sites) or "All" |
- Click Save.
Editing a Template
Click on any template in the list to edit its content. Changes apply immediately to future emails.
Template Variables (Placeholders)
You can insert placeholders in the subject line and body that will be replaced with actual data when the email is sent:
Course Information
| Variable | Replaced With |
|---|---|
{COURSE_TITLE} |
The name of the course |
{COURSE_INTROTEXT} |
The course's intro text / summary |
{COURSE_FULLTEXT} |
The complete course description |
{COURSE_CAPACITY} |
Maximum seats for the course date |
{COURSE_LOCATION} |
The venue / location name |
{COURSE_PRICE_PER_ATTENDEE} |
The price per seat |
{COURSE_START_DATE} |
The course date start date |
{COURSE_FINISH_DATE} |
The course date end date |
{COURSE_URL} |
Link to the course on your website |
Registrant Information
| Variable | Replaced With |
|---|---|
{APPLICATION_SALUTATION} |
The registrant's title (Mr., Ms., etc.) |
{APPLICATION_FIRSTNAME} |
The registrant's first name |
{APPLICATION_LASTNAME} |
The registrant's last name |
{APPLICATION_EMAIL} |
The registrant's email address |
Booking Details
| Variable | Replaced With |
|---|---|
{ATTENDEES} |
Number of seats booked |
{PRICE_WITH_VAT} |
Total price including VAT |
Tutor Information
| Variable | Replaced With |
|---|---|
{TUTOR_FIRSTNAME} |
The instructor's first name |
{TUTOR_LASTNAME} |
The instructor's last name |
Reference Data
| Variable | Replaced With |
|---|---|
{EXPERIENCE_LEVEL} |
The course's experience level |
{GROUP} |
The course's group classification |
Example Template
Here's an example booking confirmation email:
Subject: Booking Confirmation: {COURSE_TITLE}
Body:
Dear {APPLICATION_SALUTATION} {APPLICATION_LASTNAME},
Thank you for registering for {COURSE_TITLE}!
Course Details:
- Date: {COURSE_START_DATE} - {COURSE_FINISH_DATE}
- Location: {COURSE_LOCATION}
- Instructor: {TUTOR_FIRSTNAME} {TUTOR_LASTNAME}
- Seats: {ATTENDEES}
- Total: {PRICE_WITH_VAT}
We look forward to seeing you!
Best regards,
The Training Team
Assigning Templates to Courses
Email templates can be assigned at multiple levels:
Course Level
When editing a course, you can select:
- Email Template — Used for registered user confirmations
- Guest Email Template — Used for guest checkout confirmations
Course Date Level
When editing a course date, you can override the course-level templates:
- Email Template — Override for this specific date
- Guest Email Template — Override for guests on this specific date
This allows you to customize emails per course or per date. For example, you might include specific location details or preparation instructions that vary by date.
Fallback Behavior
If no template is assigned at the course date level, the system uses the course-level template. If no course-level template is set, the first published template of the matching type is used.
Language-Specific Templates
For multilingual sites, you can create templates in different languages:
- Create a template and set its Language to a specific language (e.g., English, French).
- Create another template of the same type in a different language.
- The system automatically selects the template matching the user's language.
- Templates set to All languages serve as the default fallback.
BCC Recipients
Use the BCC field to automatically send a copy of every notification to specific email addresses:
- Add your admin email to receive copies of all booking confirmations
- Add your accounting department to receive payment-related notifications
- Separate multiple addresses with commas
Waiting List Emails
The waiting list email template is special — it is triggered automatically when:
- A course date has a waiting list
- A seat becomes available (e.g., a booking is canceled, refunded, or the status changes)
- Users on the waiting list are notified that they can now register
Configure which email template to use for waiting list notifications in the Configuration > General > Waiting List Email Template setting.
Tips
- Create templates for all four types to ensure users receive appropriate notifications at every stage.
- Use BCC for admin awareness so you're notified of every booking without cluttering the registrant's email.
- Personalize with variables — Use the registrant's name and course details to make emails feel personal.
- Test your templates by making a test booking and verifying the email content and formatting.
- Create language variants if you serve a multilingual audience.