Skip to content
Booking Engine capability

Composite courses: multi-part classes sold as one

Updated 4 min read

Composite courses let the Booking Engine sell multi-part classes as one product: a parent session carries labelled, ordered component sessions that inherit its timetable and settings, and a single enrolment on the parent covers every part. Components are managed through dedicated API operations, and the structure is covered by end-to-end tests.

What does the composite course capability do?

Plenty of real programmes are not a single class. A performing-arts session might combine dance, drama, and singing components; a coaching product might pair a group class with a linked practice session. Selling these as separate bookings creates orphaned places and mismatched registers; flattening them into one class loses the structure staff plan around.

  • Parent and components. A composite course is a parent session with component sessions beneath it, each carrying a label and an explicit sort order.
  • One enrolment. Customers enrol on the parent. There is no risk of a child booked into one component but not another, because the components are not bookable products in their own right.
  • Inherited scheduling. Components inherit the parent’s timetable and settings, so the parts stay aligned through term calendars and skip dates without duplicate administration.
  • API-managed. Adding, updating, and removing components are first-class API operations under the parent session, so the structure is available to every channel, not just one admin screen.

How it fits the rest of the engine

Composite structure composes with the platform’s other scheduling machinery rather than sitting beside it. Occurrences are still generated per date, capacity and counters still work per occurrence, and attendance registers still record against the specific dates delivered. The composite layer only changes what is sold and how the parts relate.

Why it matters

Multi-part programmes are common in exactly the sectors that outgrow generic booking tools: performing arts, activity camps, structured coaching. The workaround in a flat system is either double data entry or a naming convention someone has to police. Modelling the structure natively means the product sold matches the programme delivered, which is the standard the Booking Engine holds across its scheduling model.

Frequently asked questions

What is a composite course?
A course made of linked parts sold as a single product, for example a session that combines two back-to-back classes, or a programme with distinct components. The Booking Engine models this as a parent session with labelled, ordered component sessions beneath it.
Do customers book each component separately?
No. The enrolment attaches to the parent session, so one booking covers all components. Components inherit the parent's timetable and settings, keeping the parts aligned automatically.
Can components be changed after the course is created?
Yes. Components are managed through dedicated API operations for adding, updating, and removing them under the parent session, with each component carrying its own label and sort order.
See it live

See this working in a demo

Book a consultation and we will demonstrate this capability on the Booking Engine accelerator, against your own scenarios.

Book a demo