Skip to content

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.

Booking Engine AI Onboarding Wizard showing extracted business rules from Terms and Conditions with confidence scores, auto-approved and needs-review statuses, and rule types for eligibility, cancellation, and booking policies
Built with AI

Developed using AI-augmented engineering, delivering production-quality code 80-90% faster than traditional development.

AI-Powered Onboarding

Upload your existing T&Cs and the AI extracts booking policies into structured, reviewable rules. Days of configuration become hours.

Configurable Rules Engine

Change booking policies, capacity rules, and credit costs without touching code. Describe a rule, review it, publish it.

Enterprise AI-Ready

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.

Session management

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.

Services and categories

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.

Booking policies

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.

Facilitator management

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.

Waitlist

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.

Why this engine

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.

Go deeper

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.

Enterprise-grade

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.

Works with

Part of a connected platform

The Booking Engine integrates seamlessly with the Billing Engine and Membership modules for a complete operational platform.

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.

FAQ

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.

Get started

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 demo

or call 01202 006729