A course date is a specific scheduled instance of a course — for example, a course called "Web Development Bootcamp" might have dates in January, March, and June. Each course date can have its own pricing, capacity, location, and instructor.
A session is an individual time block within a course date — for example, "Day 1: 9:00 AM - 12:00 PM" and "Day 1: 1:00 PM - 5:00 PM".
Course Dates
Viewing Course Dates
Go to Components > JoomCourses > Course Dates to see all scheduled dates across all courses.
You can filter the list by:
- Course name
- Published status
- Location
- Date range
Creating a Course Date
- Click New in the toolbar.
- Fill in the following fields:
| Field | Description |
|---|---|
| Course | Select which course this date belongs to |
| Start Date | When the course date begins |
| Finish Date | When the course date ends |
| Capacity | Maximum number of attendees (leave empty for unlimited) |
| Location | Venue or location (from your reference data) |
| Tutor | Instructor assigned to this date |
| Price (excl. VAT) | Price per attendee before VAT |
| Sessions Description | Optional description of the session schedule |
| Availability | Current availability status |
| Description | Additional details specific to this date |
| Published | Whether this date is visible and bookable |
| Email Template | Override the course-level email template for this date |
| Guest Email Template | Override for guest registrant emails |
- Click Save.
Editing and Managing Course Dates
- Click any course date in the list to edit it.
- Use the status icon to quickly publish or unpublish dates.
- Unpublished dates are not shown on the frontend and cannot be booked.
Capacity and Availability
When Check Capacity is enabled in the component settings:
- The system tracks how many seats have been booked for each course date.
- When a course date reaches full capacity, users are offered the option to join a waiting list instead.
- Availability is calculated automatically based on capacity minus confirmed bookings.
Sessions
Sessions break down a course date into specific time blocks.
Adding a Single Session
- Open a course date for editing.
- Click Add Session in the toolbar.
- Fill in:
| Field | Description |
|---|---|
| Date | The day of this session |
| Start Time | When the session begins |
| Finish Time | When the session ends |
| Duration | Length of the session (auto-calculated or manual) |
| Description | Session topic or notes |
- Click Save.
Generating Multiple Sessions
For courses that repeat on a schedule, you can bulk-generate sessions instead of adding them one by one.
- Open a course date for editing.
- Click Generate Sessions in the toolbar.
- Configure the generation settings:
- Start Date — First session date
- End Date — Last session date (or specify a number of sessions)
- Amount — Number of sessions to generate
- Type / Frequency — How often sessions repeat (e.g., daily, weekly)
- Start Time and Finish Time — Time slot for each session
- Click Generate to preview the sessions.
- Click Save to create all generated sessions.
Managing Sessions
Go to Components > JoomCourses > Course Dates, open a course date, and you'll see all its sessions listed.
For each session you can:
- Edit — Click to modify date, times, or description
- Delete — Remove the session
- Reorder — Drag to change the display order
Sessions on the Frontend
Sessions are displayed to users on the course detail page and in the calendar view. Users can see:
- The date and time of each session
- Session descriptions (if enabled in settings)
- Total duration of the course
The display of session details can be controlled in Configuration > Course Dates Table > Sessions Description.
Bulk-Generating Course Dates
In addition to generating sessions within a single course date, you can also generate multiple course dates at once. This is useful for recurring courses that run on a regular schedule.
- From the course dates list, use the Generate Dates function.
- Specify the start date, number of dates, and frequency.
- Set pricing and capacity for the generated dates.
- Save to create all dates at once.
Best Practices
- Set realistic capacity limits to avoid overbooking. The system will enforce these limits during checkout.
- Use session generation for multi-day courses to save time. You can always edit individual sessions afterward.
- Assign tutors to course dates so their profiles appear on the frontend and users know who will be teaching.
- Use different pricing per course date if you offer early-bird or seasonal pricing.