Term scheduling: terms, site variations, and skip dates
The Booking Engine models terms as first-class data: named terms with a type, school year, and season, varied per site, with skip dates for holidays and closures. Sessions generate an occurrence per real delivery date, each with its own capacity and facilitator, and timetables clone from term to term.
What does term scheduling do?
It turns the academic-style calendar (terms, half-term breaks, site-specific dates) into structure the booking system understands, instead of a spreadsheet taped to the front of it.
- Named terms. Terms carry a type, a school year, and a season, so “Autumn 2026” is data that schedules, enrolments, and reporting all share.
- Per-site variations. Each site attaches its own dates to a term. Two sites in different local-authority areas can run the same term with different start dates, breaks, and end dates.
- Skip dates. Closures are recorded against the site term. A skipped date simply produces no occurrence: nothing to cancel, nothing to refund, nothing for a parent to book by mistake.
- An occurrence per date. Every real teaching date becomes its own session occurrence with its own capacity, booking counters, facilitator assignment, and status. Attendance, cancellations, and cover all attach to the specific date they happened.
- Term-to-term cloning. A new term starts from the previous timetable rather than a blank page.
How it fits the enrolment model
Term scheduling underpins the platform’s enrolment types: fixed-term courses that follow the term calendar, pay-as-you-go bookings against individual occurrences, workshop programmes with their own date ranges, and trials. Because occurrences are generated from the site term (respecting its skip dates), a term-course enrolment knows exactly which dates it covers, and composite courses inherit the same calendar through their parent session.
Why it matters
Most booking products model recurrence (“every Tuesday at 4pm”) but not calendars (“every Tuesday in the Autumn term at this site, except half term”). The difference is every hour an administrator spends manually cancelling holiday dates, every accidental booking on a closure day, and every dispute about what a term fee covered. Modelling terms, site variations, and skip dates as data removes that class of work entirely, which is exactly the sort of operational fit the Booking Engine was built for.
Frequently asked questions
Can different sites run different term dates for the same term?
How are holidays and closures handled?
Does a new term mean rebuilding the timetable by hand?
More Booking Engine capabilities
Waitlists: positioned queues that never race
How the Booking Engine handles full sessions: atomic waitlist joins with explicit queue positions, configurable queue sizes, and live waiting counts.
Checkout reservations: hold a place while the customer pays
How the Booking Engine holds places during checkout: time-boxed reservations with configurable expiry, lazy release, and guarded atomic confirmation.
Capacity and overbooking: hard limits, deliberate exceptions
How the Booking Engine models capacity: per-occurrence limits, live booked and waiting counters, sub-capacities for trials and make-ups, and an explicit overbooking allowance.
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