Skip to main content

Courses

Courses let you run multi-session, cohort-based programs — climbing clubs, weekly lessons, camps — where a customer enrols once and attends a recurring series of sessions, rather than booking a single slot.

Overview

A course is a scheduled cohort of a product. Each course:

  • Belongs to a product at a site (e.g. "Kids Climbing Club" at Irti Maasta Helsinki)
  • Has a set of sessions — the individual dated meetings the cohort attends
  • Has a capacity — the maximum number of enrolled participants
  • Can carry a skill label and cohort time (used to group and pick cohorts, e.g. Beginners · Mon 17:00)

Enrolment is a booking: a customer enrolling in a course creates a booking linked to that course. There is no separate enrolment record to manage — the roster is the set of bookings attached to the course.

Where Courses Appear

SurfaceWhat it shows
Admin → CoursesManagement list, grouped by product, with a course filter
Portal /coursesCustomer-facing two-level drill-down: pick a product, then a cohort
WordPress widgetGrouped course grid with a skill · time cohort picker ([sessiq_courses] and friends)

Club catalog courses are typically hidden from the normal booking grid and are enrolled into exclusively through /courses.

Creating a Course

Open the Courses section of the admin panel and click Create Course.

  • Site & Product — choose the site and product the cohort runs under. On create these are editable (including otherwise-hidden products); on edit they are immutable — the product/site a course runs under cannot be changed after creation.
  • Name / skill label / cohort time — used for display and for the customer cohort picker.
  • Capacity — maximum enrolled participants; enrolment is blocked once the course is full.
  • Sessions — the dated meetings (see below).

Sessions

The Sessions panel lists the course's meetings. Sessions are generated from the course's schedule; use Regenerate Sessions to rebuild them after changing the schedule.

Constraints to be aware of:

  • No per-session editing — individual sessions are managed as a set via regeneration, not edited one by one.
  • Sessions are shared by cohorts that run at the identical time under the same product.

Roster & Attendance

Open a course to see its roster — every enrolled participant (the bookings linked to the course).

  • Attendance grid — mark attendance per participant per session. Attendance is recorded in a dedicated store and gated by the course-attendance permission.
  • Resend confirmation — re-send the enrolment confirmation email to a participant from the roster.
  • Attendance records are append/update only — there is no attendance delete.

Consolidation Tools

When a program is spread across too many small cohorts, use the consolidation tools on the Courses list and roster.

Group by Product + Filter

The admin Courses list is grouped by product and offers a course filter, so a program with many cohorts of the same product stays readable.

Bulk Archive

Select multiple courses from the list and archive them in one action. Courses are never hard-deleted — archive is the only removal — so history and past enrolments are preserved.

Move an Enrolment

From a course roster, use Move to… to transfer a participant's enrolment to another cohort. The transfer is guarded and runs in a single transaction:

  • The target course must be the same product
  • The participant must have no recorded attendance yet
  • The target cohort must have available capacity

On success the enrolment (booking) is re-pointed to the target course and the customer can be sent a fresh confirmation.

Limitations

  • No course delete — archive only.
  • No per-session edit — regenerate the session set instead.
  • Product/site are immutable after creation — create a new course to run the same content elsewhere.

Next Steps