Courses
Courses are multi-session programmes, such as weekly climbing clubs, lessons or camps. A customer enrolls once and then attends a fixed series of weekly sessions. They don't book a single time slot.
Each course (also called a cohort) belongs to a product at one site. It has a weekly schedule, a number of sessions and a roster capacity. An enrollment is a normal booking linked to the course, so it shows up in Bookings like any other booking.
Open Courses in the admin navigation to manage them.
The courses list

The list is grouped by product. Each product heading shows how many cohorts it has (for example "1 cohort"). Each row shows:
- Schedule: the weekday and start time, plus the skill level if one is set
- Sessions: the number of sessions in the course
- Enrolled: how many people are currently enrolled
- Status: Draft, Active or Archived
- Edit and Attendance → links
Use the filters at the top to narrow the list:
- Site: the courses list always shows one site at a time
- Course: one product's cohorts, or All courses
- Status: All statuses, Draft, Active or Archived
Archive courses
Courses are never deleted. Archiving is how you retire them, and it keeps their enrollment and attendance history.
- Tick the checkbox next to one or more cohorts. The checkbox on a product heading selects all of that product's cohorts.
- Click Archive selected (N).
A message confirms how many courses were archived, and how many could not be archived, if any.
Create a course
- Click New course.
- Choose the Site and the Product the course runs under. The product list also includes products that are hidden from the normal booking grid, which is common for club courses.
- Set the weekly schedule:
- Day of week and Start time (HH:mm)
- Duration (minutes)
- Term start: the date of the first session
- Number of sessions
- Set Roster capacity. This is the maximum number of people who can enroll. Once the course is full, new enrollments are blocked.
- Fill in the optional settings:
- Holiday week (paused): an ISO week number (1–53) with no session, for example an autumn break. That week is skipped and the course still gets the full number of sessions, so it ends one week later.
- Close enrollment after N sessions: enrollment closes once this many sessions have started. For example,
2keeps enrollment open through the first session and closes it when the second one starts. Leave it blank to keep enrollment open for the whole course. - Skill level: a label shown next to the schedule, which customers use to pick the right cohort (for example Beginners). The options come from your active labels under Catalog → Labels.
- Resource: the room or equipment the sessions use, so they block that resource for other bookings.
- Set Status. Only Active courses can be enrolled into. Use Draft while you are still setting a course up.
- Click Create course.
A new course has no sessions yet. Generate them straight after saving (see below).
Edit a course and manage sessions
Click Edit next to a cohort. You can change the schedule, capacity, holiday week, enrollment cut-off, status, skill level and resource. The Site and Product are shown read-only. To run the same course somewhere else, create a new course.
The Sessions panel on the edit page lists the dated weekly sessions:
- On a new course, click Generate sessions.
- After you change the schedule, term start, number of sessions or holiday week, click Regenerate sessions.
Sessions are managed as a set. You can't edit a single session. Regenerating never removes a session that already has bookings. If a change would do that, you get an error instead.
Course waitlist
If the product has Enable waitlist turned on (in the product settings in Products), customers can join a waitlist when a cohort is full. They leave their email, name and phone, and are emailed if a spot opens up. Course waitlist entries show the course schedule in the admin waitlist. See Waitlist.
Record attendance
Click Attendance → on a cohort to open the attendance grid.

Each column is a session. Its header shows the date, the enrolled count against capacity (for example 4/12) and a Save button. Each row is one enrollment (the person who booked). Party bookings show a "×N" count next to the name.
- Click a cell to cycle its status: Present → Absent → Excused → unmarked (–).
- Mark everyone for the session.
- Click that session's Save button. It shows Saved when done.
To clear a mistake, click the cell until it shows "–" and save the session again.
Under each enrollee you'll see either an expandable "N participants" link, which lists the participants and their ages, or "Participants not entered yet (×N)" if the customer hasn't filled in the participant details yet.
Staff with read-only course access can view the grid, but they can't change cells, save or move people.
Move someone to another cohort
When a program has several cohorts of the same product, you can move an enrollee with the Move to… menu on their row.
- The menu only appears before any attendance has been recorded for that enrollee.
- It only offers other cohorts of the same product. The target cohort must be active and have room.
- Tick Email the customer when moving above the grid if the customer should get a new confirmation. By default, moves are silent.
Withdraw someone from a course
Once the first session has started, an enrollment can no longer be cancelled the usual way: cancelling says the booking has already started. To take someone off a running course, for example a member who doesn't continue after the trial sessions, withdraw them instead:
- Open the course's attendance page and select Withdraw from course under the person's name, or open their booking and choose Cancel. On a started enrollment, the booking page opens the same Withdraw from course dialog.
- Check the number of sessions already held, and enter a Reason. The reason is required and recorded for finance. It also appears in the cancellation email.
- Untick Send cancellation email if you don't want to email the customer.
- Select Withdraw from course.
The enrollment is cancelled, and:
- Nothing is refunded. What was already paid, such as the deposit, is kept, and the unpaid balance is no longer owed. The balance reminders stop.
- The seat is freed in the remaining sessions, and the first person on the course waitlist gets an offer.
- The person leaves the roster and gets no more session emails. Attendance already recorded stays in the system.
- The email, if sent, says they are withdrawn from the remaining sessions and that the amount paid is not refunded.
To give money back as a goodwill gesture, use Issue Refund on the booking after withdrawing (see Payments and refunds). Withdrawing can't be undone; to bring the person back, enroll them again.
Customers can't withdraw themselves from a started course.
Participants and ages
Click Participants → on the attendance page to see everyone enrolled in the course.

The list shows each Participant, their Age at the start of the course, and the Enrollee who booked them. A note at the bottom counts the enrollments that don't have participant details yet.
Deposits for courses
A course can take a deposit at enrollment, with the rest paid before a later session. Set it on the course's product, in the Deposit section of the product form:
- Tick Require a deposit to confirm, and choose the Deposit type (Percentage of total or Fixed amount) and its value.
- Under Balance due date basis, choose Before a course session.
- Set the Course session number, for example
3. The balance is due when that session starts. - Keep Balance collection on Online before the event.
Families then pay the deposit or the full price in the course widget, and the confirmation says what was paid and when the rest is due. After the session before the due one ends, they get a Course Balance Due email with a payment link. If the balance is still unpaid 24 hours before the due date, a Course Balance Reminder follows. Neither email is sent once the balance is paid or the enrollment is cancelled.
The deposit is only offered while the due session is still ahead. Someone who enrolls after it has started, or on a course with fewer sessions, pays the full price. A cancelled enrollment doesn't refund the deposit. After the course has started, staff withdraw the enrollment instead of cancelling it.
Courses overview report
Click View report on the courses list to open Courses overview. It lists every course at the site with its schedule, status, enrolled count against capacity, number of sessions and start date. Under each course is a table of enrolled people with their Name, Email, Phone, Party, booking Status and Payment status. For courses with a deposit it also shows Paid, Outstanding and Balance due, and marks unpaid balances past their due date Overdue.

Filter by Site and Course. Click Export CSV to download the same data as a spreadsheet file.
Course emails
Besides the normal booking confirmation, you can send emails timed to the course itself. In Emails & automations, create a notification rule with one of these triggers:
- Relative to Course Start: relative to the first session. A negative offset works well for a welcome or preparation email.
- Relative to Each Session: one email per session, for example two hours before each session. You can target one session number, or leave it empty to send for every session.
- Relative to Course End: relative to the last session. A positive offset works well for a follow-up.
Tips
- Run one cohort per schedule. For example, create separate cohorts for "Beginners · Mon 17:00" and "Advanced · Wed 18:00" under the same product, so customers can pick the one that fits.
- Many clubs hide the course product from the normal booking grid. Customers then enroll through the courses page or the courses widget. See Products.