A customer can ask a question in their inbox, and you can post one update everybody sees — without leaving the booking they already have.
Customer inbox — fictional sample
Inbox
Messages
Finding your businesses…
Private messages with a business, plus business-wide announcements, in the customer's own inbox. Shown here on fictional sample data; in-app messages are built and prepared, not switched on yet, and they are separate from email, text and push.
What's included
The tools your day actually needs.
Start with the essentials, then open the complete list to see what is ready to test, what needs setup and what is still planned.
Bookings that fit the work
Run group classes, one-to-one appointments, capacity and waiting lists.
One clear customer account
Customers can find upcoming visits, booking history and eligible cancellations.
Your brand and your team
Shape the booking page and control who can manage each part of the business.
See all features and what's next
Booking and schedules
The essentials for classes and one-to-one appointments.
Business setup and resume
Start setup, leave, and continue later.
Available to test
Classes
Create classes, set capacity, manage waiting lists, cancellations and check-in.
Available to test
Appointments
Set services, providers, working hours, availability and time off. A one-to-one appointment is its own record with its own states: it never joins a class waiting list and never spends a class credit by itself. Times come from the provider's own hours, time off and what is already booked, and the first confirmed booking of a slot wins.
Available to test
Honest appointment refusals and help
A refused appointment is said in appointment words — the time was just taken, that person isn't working then, that isn't one of the times offered — never as a class. A lost connection says the outcome isn't known instead of claiming a booking or a cancellation. Where a business's installation has no way to move or cancel an appointment, the reason is shown instead of a missing button.
Available to test
Recurring timetable automation
A business can keep a repeating class timetable — chosen days, a local start time, an instructor, a place and a room — and see every date it would add before anything goes on the schedule. Dates are only ever added inside a bounded window, a local time that doesn’t exist when the clocks change is refused rather than moved, and a clash with the same instructor, the same room, recorded time off, a closure date or a one-to-one appointment is refused with the reason. Pausing or ending a timetable never cancels a customer’s booking: booked dates are kept and counted back, and only free future dates can be removed, after an explicit confirmation. Switching it on for a real business needs a database setup step that has not been applied; until then the page says so instead of listing dates.
Needs setup
Numbered equipment and seat maps
Choosing a reformer, bike or seat is built and can be tried in the sample demo, and a business can keep the numbered layout of each of its own rooms. Customers are only ever offered spots the business really saved, and two confirmed bookings can never hold the same spot. A customer's own booking now names the spot it holds, or says plainly that it holds none. Switching it on for a real business needs a database setup step that has not been applied; until then the booking says so instead of naming a spot.
Needs setup
Waivers, forms and policies
Versioned waivers with recorded acceptances are built, and an owner or manager can publish the next version and see which version is in force. Publishing a new version never carries an older acceptance forward. A class list shows each attendee’s own consent state, including a guest’s, and a customer’s own booking shows the version they accepted against the version now required, so a newer version reads as needing acceptance again. Switching them on for a real business needs a database setup step that has not been applied. Intake forms are not built.
Needs setup
Customers and loyalty
A clear account before, during and after each visit.
Customer accounts
See the next confirmed class or appointment, every upcoming booking, and a history that keeps its real words: cancelled by you, cancelled by the business, finished, attended, cancelled late or recorded as not attended — each only when the business’s own record says so. A class place and a one-to-one appointment keep separate wording, and “check this again” only looks up what is free now: nothing is booked, no earlier booking is reused, and an appointment is never offered in place of a class.
Available to test
Class and appointment detail
Each class place and each one-to-one appointment opens its own detail: when and where, availability, what it costs or what it uses, and the main action all sit together at the top of a phone screen, with the instructor or provider, length, description, what to bring, access notes and the business’s cancellation wording below. Directions open only for a real named place, sharing copies the details when the device can’t share, and a business photo is shown only when the business supplied one — otherwise a plain panel, never a stock picture. Anything the record didn’t carry is left out instead of filled in.
Available to test
Customer first screen
The first screen answers four things and nothing it cannot prove: the next confirmed visit, what to book next, the class credits really held, and what the businesses have said lately. Waiting-list requests are shown as requests, not visits. Credits are counted in classes with unusable ones named separately, and purchases stay in the account. The updates card repeats a count made elsewhere and marks nothing read. Counts of earlier and upcoming bookings say when part of the picture could not be loaded, and switching account or business clears the previous person’s screen.
Available to test
Mobile-friendly web app
Use the member experience on a phone and add it to the home screen. A connection is needed for bookings.
Available to test
First-visit cues
Help staff recognise a customer's first attended visit.
Available to test
Class credit balances
Customers see the passes they hold, the whole class credits left, expiry and what each pass covers, read from their own account. Each pass shows its real state — active, waiting on payment, overdue, paused, expired, cancelled or refunded — and credits held on anything unsettled are named separately and never counted as usable. Showing lifecycle state read straight from a real payment record needs a database setup step that has not been applied.
Needs setup
Credit use and restoration
A confirmed class place uses one class credit and an eligible cancellation gives it back once. Waiting-list requests use none.
Available to test
Selling memberships and class packs
Customers can see their own purchases and what class credits are left on each. No price is offered at all until payments are configured and the business's own payment account is connected and checked, so no card payment can be taken yet. Deposits and repeating monthly billing are not implemented.
Needs setup
Complimentary credits
Owners can grant a free class and customers can see the balance.
Needs setup
Private notes about a customer
A business can keep private notes about one of its own customers — what to remember next visit, a preference, an admin detail. They are private to the owner, managers and front desk of that business: instructors and coaches are not given them, and a customer never sees them anywhere in the app or on the booking page. A note is never rewritten or deleted; archiving keeps it on the record, and only an owner or a manager can archive. Saving twice by accident cannot write the note twice. Switching them on for a real business needs a database setup step that has not been applied; until then the panel says so instead of showing an empty history.
Needs setup
A customer's record and visit history
A member of the team can open one customer and see what this business actually holds: the name and contact details the customer gave, how many visits this business recorded, how many bookings are still to come, and every class place and one-to-one appointment on record — each with the words the record itself used, so an unrecorded attendance says exactly that instead of implying someone turned up. Class places and one-to-one appointments stay separate. It is private to the owner, managers and front desk of that business: instructors and coaches are not given it, a customer never sees it, and another business can never open it. Nothing is read until a team member opens a customer. Switching it on for a real business needs a database setup step that has not been applied; until then the panel says so instead of showing an empty history.
Needs setup
Offers and class-credit history
An owner or manager can write and edit a real drop-in, class pack or membership offer — its price, how many class credits it grants, how many a booking costs, how long the credits last, and whether it covers every class or only chosen ones — and each offer is saved as a draft until they publish it. Their team can then open one customer and read every class credit that customer gained or used, and the customer can open the same history in their own account. Only credits the database itself reported as usable are counted: an unpaid, failed, closed, expired or refunded purchase is named with the reason instead of being added up, and a class credit is never written as an amount of money. Reading the history for a real business needs a database setup step that has not been applied, and taking real card payments still needs payment credentials that are not set. Until then each screen says so rather than showing a clean balance.
Needs setup
Waivers and intake forms
A business publishes its waiver or intake form as a numbered version, and the owner, managers and front desk can see exactly which version each of their own customers accepted — an older accepted version is named as older, never as accepted, and a version with no acceptance says so rather than looking signed. Only an owner or a manager can publish a version. Customers review and accept in their own account: nobody can accept on somebody else's behalf, and accepting twice by accident cannot record it twice. Instructors and coaches are not given acceptance records, and another business can never read them. Switching it on for a real business needs a database setup step that has not been applied; until then each screen says so instead of showing a clean record.
Needs setup
Encouragement, milestones and monthly board
Daily messages, attendance milestones and an opt-in leaderboard.
In development
Book a friend and guest allowances
A guest is recorded separately from the person booking, and a guest must give their own consent — nobody can accept terms on their behalf. A booking made for a guest names that guest and shows their own outstanding consent rather than the booker's. Needs a database setup step, and is refused where a signed waiver is required.
Needs setup
Referrals, offers and promo codes
Reward referrals and run limited promotions.
Planned
Brand, team and places
Keep the customer experience recognisable and staff access controlled.
Brand customization
Use your logo, colours, fonts, styles and booking-page wording, with desktop and mobile previews.
Available to test
Team roles and invitations
Invite staff and limit access to assigned work. This product does not send the invitation itself — no email or text provider is connected, so the owner copies the link and passes it on.
Available to test
Class credits and business identity on the first screen
The customer's first screen names the business, place and clock of their next confirmed visit and how many class credits they can really use. While a read is in flight, has failed, or the business has not switched a capability on, it says exactly that rather than showing a zero, a booking or a success. Credits are counted in classes and never as money.
Available to test
Fresh state after a reload or a return from checkout
Coming back to the app re-reads bookings, appointments, passes, purchases and notices from the account instead of trusting a counter left on screen, and signing out or switching account forgets every personal answer including an accepted agreement and a chosen spot.
Available to test
Help and troubleshooting in the customer app
Plain explanations for a business's unfinished setup, an expired pass, no credits left, a full class, cancellation windows and a connection lost mid-booking. These are explanations only; they never change what happened.
Available to test
In-app notices about your own bookings
Confirmations, cancellations, a move off the waiting list, attendance, verified payments and accepted agreements appear in the app, each showing exactly what was delivered. Switching this on for a real business needs a database setup step that has not been applied.
Needs setup
Email, text message and push notifications
Nothing is sent outside the app. Each channel needs its own provider, a verified sender or domain, a background sender, and for push a permission on the device; until then notices stay queued and are never shown as sent.
Planned
Owner-only recorded role changes
Only an owner can change a team role; a person cannot change their own, a business must keep an active owner, a retried attempt cannot change a role twice, and every attempt is written to an append-only trail. Switching this on for a real business needs a database setup step that has not been applied.
Needs setup
Daily operations view
One working day of the business's own saved classes with capacity and waiting lists, and one-to-one appointments only where that backend really answers. Arrivals and attendance counts need a database setup step that has not been applied.
In development
Front-desk check-in and attendance
Open one class or one-to-one appointment from the working day and see only the bookings that really exist for it, each reading as booked, checked in, late, attended, no-show, cancelled or waiting list. A cancelled place and a waiting-list request are shown but cannot be marked, because nobody held that place. Checking somebody in records what the desk saw and nothing more: it charges nothing and never adds or takes a class credit. It is for the owner, managers and front desk of that business; an instructor sees it only for a class they were given, and a customer never sees it. Switching this on for a real business needs a database setup step that has not been applied; until then the panel says so instead of showing an empty class.
Needs setup
Attendance corrections, history and check-in codes
A recorded mark can be changed, but only with a written reason, and the earlier record is always kept: every mark and every change stays on a history that cannot be edited or deleted, showing what it was, what it became, who recorded it and why. Marking a no-show records what happened and nothing more — it charges nothing, takes no class credit and never cancels a booking, so any refund stays a separate decision. Cancelled places and waiting-list requests still cannot be marked or corrected. A check-in code can be shown for one class or appointment: it lasts a couple of minutes, works once, and belongs to that one business and that one session, so it can never create a booking or reach another business. It is for the owner, managers and front desk of that business; an instructor sees it only for a class they were given. Switching this on for a real business needs a database setup step that has not been applied; until then the panel says so instead of showing an invented history or code.
Needs setup
Locations and resources
Keep records for business places, rooms and equipment.
Available to test
Multi-location reporting
Compare performance across a finished multi-location suite.
Planned
Import and export tools
Move customer and schedule data in or out.
Planned
Payroll and commissions
Calculate staff pay and commission rules.
Planned
Sales, communication and connections
Prepared foundations and later additions, clearly separated from live features.
Test checkout and refunds
The whole test-mode payment path exists: a checkout is priced by the server from a published offer, a repeat cannot charge twice, and class credits are granted only after the payment provider itself confirms the payment. A repeat, late or unrecognised provider message is recorded and ignored safely rather than crediting anyone twice. No checkout can be started at all unless a test key, a signing secret and this deployment’s own address are configured, and a real-money key is refused outright. No payment credential is set here, so nothing has been charged and no provider message has ever been verified. An owner can see what the provider reported once a database setup step that has not been applied is in place.
Needs setup
Schedule and reporting figures
The sample studio pages still show illustrative figures and are labelled as samples. A real business's own reports live on its Reports page and are read from its own records.
Sample preview
One attendance record everything reads from
Attendance is counted in one place, so a report, the front desk and a customer's own record can never disagree. Each booking counts once however many times it was corrected; a cancelled place and a waiting-list request are never treated as attendance; the state comes from the booking first, then the kept correction history, then what the desk marked, and an unrecorded place says exactly that. Days are counted in the business's own clock, including the two days a year the clocks change, and a rescheduled session counts on the day it now runs. A share that cannot be worked out from the records says so instead of showing a nought. It is for the owner, managers and front desk of that business; a customer sees only their own record, with no other person's name and no staff note. Switching it on for a real business needs a database setup step that has not been applied.
Needs setup
Owner and manager reports
Verified takings by recorded payment state, money still in flight kept separate and never counted as takings, refunds that actually succeeded, bookings, cancellations, waiting-list movement, arrivals and attendance, capacity filled, active memberships and passes, and new versus returning customers — for a chosen period in the business's own clock, and optionally one place. Only an owner or a manager may open it. A figure that cannot be worked out from the records says so instead of showing a nought. Switching this on for a real business needs a database setup step that has not been applied.
Needs setup
Recorded activity trail
Team role changes, bookings and cancellations, payment states the payment path recorded, and refund attempts with their real outcome, newest first. Nothing is listed for an event that was never recorded. Owners and managers see the business's trail; other staff see only their own sessions and no money entries. Switching this on for a real business needs a database setup step that has not been applied.
Needs setup
Setup and release readiness
An owner or a manager can open one honest list for their own business: which database setup steps are in that database and in what order they have to be applied, what is only prepared, and the single next thing needed for payment, messaging, team access, the address customers use, real phones and the phone stores. Nothing on it is decided by the browser, nothing is ticked off, and an answer we could not confirm is shown as unconfirmed rather than as done. Applying a database step is never reported as verified, and no key or secret is ever shown.
Available to test
Retail, add-ons and inventory
Sell products or extras alongside bookings.
Planned
Deposits and fee automation
Automate deposits, cancellation fees and no-show fees.
Planned
In-app messages
Private conversations between a customer and the business, inside the app only.
In development
In-app announcements
Post one update every member of the business sees in their inbox.
In development
Email, SMS, push and marketing
Send reminders, rebooking prompts and campaigns.
Planned
Calendar, video and partner connections
Connect Google or Outlook calendars, video links, ClassPass and other services.
Planned
Booking embeds and custom domains
Offer a supported embedded or own-domain booking experience.
Planned
AI notes and recaps
Create assisted meeting notes or customer recaps.
Planned
Native store apps and biometric sign-in
Offer App Store and Play Store apps after the web product is ready.
Planned
Phone and own-brand Google sign-in
Phone requires a messaging provider; own-brand Google requires owner configuration.
Needs setup
Before an App Store or Google Play release
What still has to be in place before the phone app can be submitted. None of it is done yet.
Phone app projects and identity
The iPhone and Android project folders exist in the repository and both carry the same temporary development name and identifier, checked automatically so they cannot drift apart. Nothing has been compiled, signed or installed, no Apple or Google account or certificate exists, and the identifier is a placeholder that must be replaced with the real registered one before any build for a device or a store.
Needs setup
Opening a shared link inside the phone app
The app already handles a booking link handed to it by the phone. Registering the app as the handler for our own web address is not done: it needs the final address plus an association file served from that address on both platforms.
Needs setup
Production address and allowed origins
Point the phone app at the live product address and allow only that address.
Planned
Sign-in links inside the app
Return people to the app after signing in, including with Google.
Planned
Secure session storage on the device
Keep the signed-in session in the phone's protected storage.
Planned
Account deletion in the app
Let someone delete their account and data from inside the app, as both stores require.
Planned
Privacy policy and terms
Publish the policies the stores require before review.
Planned
Crash and error monitoring
See real crashes and errors from released builds.
Planned
Signed builds and store accounts
Signing certificates, an Apple developer account and a Play developer account.
Needs setup
Testing on real iPhones and Android phones
Check the app on real devices, not only in a browser.
Planned
Store listing material
Screenshots, description, age rating and data-use answers for review.
Planned
Make it yours
A booking page that feels like your business.
Try a business and a style below. This preview changes here only; your saved settings stay untouched.
Try a business
Style
Change the style, colour, type and wording to match your business.