Booking Engine
Frictionless scheduling your members actually use
A purpose-built scheduling backbone for membership organisations and multi-site operators. Real-time capacity, intelligent waitlists, and credit-based bookings, all enforced consistently across every channel.
Developed using AI-augmented engineering, delivering production-quality code 80-90% faster than traditional development.
Upload your existing T&Cs and the AI extracts booking policies into structured, reviewable rules. Days of configuration become hours.
Change booking policies, capacity rules, and credit costs without touching code. Describe a rule, review it, publish it.
Designed for integration into your enterprise AI via MCP. Your AI tools query availability and act on booking data directly, not as an isolated island.
Create once, schedule everywhere
Sessions are defined once with recurrence rules. The engine handles the rest: generating occurrences, tracking capacity, and assigning facilitators.
Recurrence rules
Staff create sessions once and the engine handles recurrence (daily, weekly, custom) with start and end date control. No manual duplication.
Per-occurrence control
Each session occurrence holds its own capacity, duration, facilitator assignment, and live booking counters. Override any single occurrence without affecting the series.
Visual availability
A colour-coded availability bar (green, amber, red) gives staff an instant visual pulse on how full sessions are. No mental arithmetic, no stale spreadsheets.
Organised, configurable, credit-ready
Every service carries its own defaults, from duration and capacity to age restrictions and credit costs. Organised into categories for clean member-facing navigation.
Category-based navigation
Services are organised into categories (e.g. Classes, Consultations, Workshops) for clean navigation across web, app, and kiosk.
Service-level defaults
Each service carries its own duration, capacity, min/max age restrictions, and schedule display colours. Set once, apply everywhere.
Credit-based bookings
Optional credit cost per service lets members spend credits to book premium sessions. No credit configuration means a service is free to book. No bolt-on required.
Rules that enforce themselves
Four policy types cover every booking scenario. Attach them at service level and the API enforces them consistently across web, app, and kiosk.
Four policy types
Advance booking windows (how far ahead members can book), minimum notice periods, cancellation windows, and no-show rules. Each configured independently.
Service-level attachment
Policies attach at service level, so a PT session can enforce a 24-hour cancellation window while a swim lane requires only 30 minutes.
API-first enforcement
All rules surface via API so every member-facing touchpoint (web, app, kiosk, third-party integration) enforces them consistently.
Know who is delivering every session
Staff record which instructors are available for which services at which clubs, with optional date-range bounds. Session occurrences are assigned a facilitator directly so the engine always tracks who is delivering.
Per-service availability
Instructors declare availability per service and per club, with optional date ranges for seasonal or contract-based schedules.
Direct assignment
Each session occurrence is assigned a facilitator directly. The booking engine tracks who is delivering every session across every site.
Intelligent waitlists that fill spaces automatically
When a session fills up, members join a configurable waitlist. When a space opens, the engine handles the rest.
Configurable queue
Per-occurrence waitlist with a configurable maximum queue size. No unbounded queues cluttering admin views.
Auto-promotion
When a space opens, members at the front of the queue receive an offer and have a configurable window to accept before the spot moves to the next person.
Real-time accuracy
Live WaitingCount on every occurrence keeps admin dashboards accurate in real time. Notifications via email or SMS, with priority member handling and duplicate booking prevention.
For the design thinking behind these features, read our guides on how booking waitlists should work, reservation and release in checkout flows, and handling high-demand bookings without overselling.
What sets it apart
Real-time booking counters
No stale data, no overbooking surprises. Every booking, cancellation, and waitlist move updates counters instantly across all channels.
Credit-based premium bookings
Credits are native to the booking engine, not a third-party add-on. Configure credit costs per service, track balances, and let members self-serve.
API-first policy enforcement
Booking rules are enforced at the API layer, so they work identically for web, app, kiosk, and any future channel you add.
Enterprise AI-ready via MCP
Expose booking capabilities to your organisation's AI tools (Copilot, ChatGPT, Claude, internal agents) via the Model Context Protocol. No isolated AI island: your enterprise AI can query availability, manage sessions, and act on booking data directly.
Best-practice UX, WCAG AA
Every screen is designed to meet WCAG AA accessibility standards with a modern, intuitive interface. Your team and your customers get a product that is easy to use from day one.
Your brand, delivered fast
The UI is built to be re-themed quickly. We use AI-assisted tooling to apply your brand colours, typography, and identity so the product looks and feels like yours within days, not weeks.
Capabilities in depth
Feature-by-feature detail for evaluators: what each capability does, how it is modelled, and why it matters.
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.
Term scheduling: terms, site variations, and skip dates
How the Booking Engine schedules term-based programmes: named terms, per-site term variations, skip dates for closures, and occurrences generated per date.
Composite courses: multi-part classes sold as one
How the Booking Engine models composite courses: parent sessions with labelled component sessions, one enrolment covering all parts, managed through a dedicated API.
Attendance registers: marks that mean something
How the Booking Engine records attendance: per-occurrence registers via API, marks mapped onto the booking lifecycle, and insights including absence streaks.
Facilitator availability: who can deliver, and who delivered
How the platform models facilitator availability: per-service and per-site declarations with date ranges, weekly working hours, session assignments with cover, and per-occurrence staffing.
Secure, scalable, observable
Built on Microsoft Azure with Clean Architecture and domain-driven design. Every service, every job, every rule change is logged, traced, and auditable.
.NET and C#
Clean Architecture with CQRS. Domain-driven design, immutable models, and full test coverage.
Microsoft Azure
AKS, Azure SQL, Redis, Azure OpenAI. Production-ready infrastructure orchestrated with Azure Aspire.
Single-transaction consistency
Every booking operation commits atomically. Partial states and double-bookings are architectural impossibilities.
Full audit trail
Every booking, cancellation, waitlist move, and policy change is recorded with actor, timestamp, and field-level diffs.
Part of a connected platform
The Booking Engine integrates seamlessly with the Billing Engine and Membership modules for a complete operational platform.
Billing Engine
Recurring Direct Debit, refunds, analytics, and full auditability. The same billing orchestration layer powers membership lifecycle events and nightly billing jobs.
Membership
Flexible packages, multi-site pricing, credit-based rewards, and atomic lifecycle operations. Members spend credits they earn through their membership on bookings.
The Booking Engine shares the platform's domain-modelled data layer and API-enforced business rules, so every module benefits from the same constraints, audit trail, and reporting foundations. For franchise operators, the optional Franchising module adds multi-level permissions, MSF calculation, and network dashboards on top of the core platform.
Frequently asked questions
Can I use the booking engine with my existing member-facing app?
Yes. The booking engine exposes a comprehensive REST API with Level 3 hypermedia navigation. Your existing app, website, or kiosk can consume the API directly. Policy enforcement happens at the API layer, so your front-end does not need to replicate business rules.
How does the booking engine handle recurring sessions?
Staff create a session template once with recurrence rules (daily, weekly, or custom patterns) and a date range. The engine generates individual occurrences, each with its own capacity, facilitator, and booking counters. Any single occurrence can be overridden without affecting the rest of the series.
What happens when a session is fully booked?
Members are offered a waitlist position, assigned atomically in the same transaction as the failed capacity check, so two members can never be told the same position. The waitlist has a configurable maximum size, and every occurrence tracks a live waiting count alongside its booked count. Our guide on how booking waitlists should work covers the queue and promotion design in depth.
Can different services have different booking and cancellation rules?
Yes. Policies (advance booking window, minimum notice, cancellation window, no-show rules) attach at the service level. A personal training session can require 24-hour cancellation notice while a swim lane only needs 30 minutes, all configured without any code changes.
Is the booking engine suitable for multi-site operators?
Absolutely. Facilitator availability, session schedules, and service catalogues are all scoped per club. Operators can run different configurations across different sites while managing everything from a single admin interface.
How is the booking engine hosted and secured?
The engine runs on Microsoft Azure with AKS (Azure Kubernetes Service) for container orchestration, Azure SQL for data, and Redis for distributed caching. It is built on .NET with Clean Architecture and is ISO 27001 certified and Cyber Essentials Plus accredited.
What does "AI-first" mean for the booking engine?
AI is embedded at multiple levels. The platform was built using AI-augmented engineering, delivering production code 80-90% faster. AI powers search, document indexing, and an onboarding wizard that extracts booking policies from your existing T&Cs into structured, reviewable rules in hours. The engine is also designed for enterprise AI integration via the Model Context Protocol (MCP), so your organisation's AI tools (Copilot, ChatGPT, Claude, internal agents) can query availability and act on booking data directly, rather than the system being an isolated island of functionality.
How does the booking engine integrate with our enterprise AI?
The booking engine is designed to be embedded into your enterprise AI ecosystem via MCP (Model Context Protocol). Your AI assistants and agents can query real-time availability, create bookings, and retrieve session data through a standardised interface. This means your organisation gets one connected AI experience, not a separate tool with its own siloed intelligence.
What licence do we get?
You receive a perpetual source code licence. You own all project-specific code outright, and you hold a perpetual licence to the underlying accelerator components. You can choose to have Talk Think Do provide ongoing support, or you can self-support with your own team. There is no lock-in.
Ready to see the booking engine in action?
Book a consultation and we will walk you through the platform, discuss your requirements, and show you how quickly we can have you live.
Book a demoor call 01202 006729