Case study

Train to Adapt client booking and subscription platform

A client-facing booking, payments and subscription platform for a personal training business, with live Google Calendar availability, credit-based scheduling and a full owner back office for revenue and utilisation reporting.

Messages and a paper diary replaced by a live booking and revenue engine

Category

Client Portal, Booking & Subscriptions

Industry

Fitness & Wellness

Solution

Membership & Client Portals

The brief

The business ran on messages, a paper diary and manual invoicing. Clients could not see availability, pay online or manage their own bookings, and the owner had no visibility over recurring revenue, churn or how much of the schedule was actually being used.

What we delivered

  • Marketing site with live pricing across three tiers, monthly packages or per-session top-ups, one or two person options and an automatic monthly promo
  • Stripe embedded checkout for subscriptions and one-off sessions, with a customer portal for cards, plan changes and downloadable receipts
  • Credit-based booking where purchases grant session credits, bookings consume a credit atomically and in-policy cancellations refund it automatically
  • Month and week calendar views showing open slots, slots taken by other clients and time blocked on the trainer's own Google Calendar
  • Live availability indicator driven by realtime database subscriptions
  • Client self-service for password reset, profile, notification preferences, waitlists for full slots and booking history
  • Admin overview of today's and upcoming sessions, with filtered bookings management and admin cancel or reschedule
  • Availability builder with recurring weekly windows, configurable slot length and one-off time-off blocks
  • Financial reports covering MRR, new and cancelled subscriptions, churn, average lifetime and LTV, revenue by plan, upcoming renewals, session utilisation and CSV export
  • Two-way Google Calendar sync, so confirmed bookings appear on the trainer's calendar and anything added there instantly blocks the slot
  • Append-only audit log of every administrative action
  • Automated email alerts on bookings, cancellations, reschedules, purchases and account changes

Engineering highlights

  1. 1

    Availability is computed from the trainer's schedule minus existing bookings minus live Google Calendar busy ranges, and re-verified server-side at the moment of confirmation rather than only when the slot was displayed.

  2. 2

    Booking, cancelling and rescheduling run inside database functions, so a session credit can never be double-spent or lost mid-flow.

  3. 3

    Security by default: row-level security on every table, role-based admin access held in a dedicated roles table rather than on the user profile, and security-definer functions locked to only the roles that need them.

  4. 4

    Edge-deployed full-stack React with server functions, so pages render fast and no secrets ever reach the browser.

Technical stack

Front end
React 19 with TanStack Start and Tailwind CSS
Database
Managed Postgres with row-level security and realtime subscriptions
Payments
Stripe embedded checkout, subscriptions and customer portal
Calendar
Google Calendar API with two-way sync and busy-range blocking
Email
Resend for transactional and admin notification mail
Delivery
AI-assisted development, deployed to a custom domain

ROI model

Recurring revenue plus recovered admin time: packages sell and renew without manual invoicing, and every booking, reschedule and cancellation is handled by the client rather than the owner.

Monthly packages and per-session sales collected online, so cash collection no longer depends on chasing invoices

Administrative time on diary management, invoicing and booking messages returned to billable coaching hours

Session utilisation and churn visible for the first time, so pricing and schedule decisions rest on data

Double-booking eliminated, removing the credibility cost of scheduling errors

Delivered for a monthly fee rather than an agency project budget, with no capital outlay

Inside the platform

Pricing tiers with person and billing cadence toggles
Pricing tiers with person and billing cadence toggles
Client dashboard with plan, credits and upcoming sessions
Client dashboard with plan, credits and upcoming sessions
Booking calendar with live availability indicator
Booking calendar with live availability indicator
Client profile and notification preferences
Client profile and notification preferences
Admin overview of sessions and clients
Admin overview of sessions and clients
Admin bookings management with filters
Admin bookings management with filters
Weekly schedule and time-off builder
Weekly schedule and time-off builder
Financial reports dashboard
Financial reports dashboard
Google Calendar integration settings
Google Calendar integration settings
Append-only admin audit log
Append-only admin audit log

Book a strategy call

Want a platform like Train to Adapt client booking and subscription platform?

Book a strategy call and we will map the features, the build sequence and the ROI model for your business. Send the form and we reply within one business day.

Start here

Book a strategy call

Tell us what you want built and we will come back with a scope and ROI case.

No spam. We only use this to reply to your enquiry.

News & insights

Latest from Switchpoint Software Design

View all articles

Build your version of this

Bring the process that makes you money. We will show you what it looks like as software, what it costs and how fast it ships.