Pilates and reformer studios
Twelve reformers means twelve places.
Everything here is about the thirteenth.
A gym can oversell and get away with it. A studio cannot: the equipment is the constraint, the class is the product, and one double-booked reformer on a Tuesday morning costs you a client who was paying monthly. So this page is about capacity, who gets a place, and what happens to the person who does not.
01 / Two objects
A class, and a request to be in it
The whole booking model is these two records. Read the fields; if they are not the ones you keep in your head, the demo will be short and honest.
The class
- Name and description
- Yours
- Start and end time
- Per class
- Days it runs
- Any set of weekdays
- Capacity
- A hard number
- Room
- Named
- Taught by
- One or several
- Restricted to
- Optional, by gender
- Counts toward
- Chosen categories
- Closed on
- Its own holiday list
A class that runs Monday, Wednesday and Friday is one record with three days on it, not three records that drift apart the first time you change the instructor.
The booking request
- Client
- Their record
- Class and date
- Specific session
- Requested at
- Timestamped
- Status
- pending → approved
- or
- auto approved
- or
- rejected
- Place consumed
- On approval
- Client told
- WhatsApp, on booking
A request is not a booking. That is the point: by default a place is yours to give, and the queue of people who want Tuesday 7am is a screen you work through rather than a race your app runs on your behalf.
02 / What the client sees
Places left, before they tap
The class list in your studio’s app returns the real capacity and the real number enrolled, per session, and works out for each client whether they can book it at all — whether their package covers this class, whether they have already booked it, and whether they have used their weekly allowance.
A full class does not disappear. The client can still ask, and the ask goes into your queue marked pending, which is where a waiting list actually lives in this product: not as a separate feature with a switch, but as the requests you have not approved yet, in date order, on one screen.
If you would rather requests be granted automatically while places remain, say so and we switch it on for your studio. It is set by us on your account, not by you in a settings page — and it is better that you know that now than discover it while looking for the toggle.
03 / The controls
What you can set, and where it is set
Including the four things studios ask us for that do not exist. They are in the table rather than left out of it, because you will ask on the call anyway.
| Control | Where it lives | Status |
|---|---|---|
| Places in a class | On the class itself, as a number | Yours to set |
| Classes per week per client | On the membership plan, so a two-a-week package and an unlimited one are different products | Yours to set |
| Which classes a package covers | By category on the class, matched against the plan | Yours to set |
| Days the class runs, and its holidays | On the class, plus a per-class holiday list for the days you are shut | Yours to set |
| How far ahead clients can book | Today only, or today and tomorrow | One switch, not a number of days |
| Automatic approval while places remain | Set on your account by us, on request | Not a setting you control |
| Classes per day per client | — | Does not exist. The weekly limit is the one that works |
| A cancellation cut-off — “no cancelling inside four hours” | — | Does not exist. A client can cancel up to the start |
| A reminder the day before a booked class | — | Does not exist. The booking confirmation does go out |
04 / Who actually turned up
Booked is not attended
Attendance is recorded against the class, not just against the day, so the report that matters to a studio — which sessions fill, which instructor’s 7am is dying, which package is being paid for and not used — is a report and not a guess.
- Attendance analysis grouped by class
- Footfall by hour, so you can see where the room is empty
- Renewal buckets by days remaining
- Collection by day and by month, with a GST register
- Enquiry-to-client conversion, by staff member
- Balance still owed, per client
Around forty reports in total. These are the six a studio opens.
60s
before a client’s check-in QR code expires
The code is generated in the app and signed by the server; it carries who they are and which studio they are standing in. Sixty seconds later it is worthless, which is what stops a screenshot being passed around a group chat. Second check-in on the same day is refused under a database lock, so two people scanning at once cannot both get in on one account.
Or a terminal on the wall
eSSL and ZKTeco units on the ADMS push protocol — fingerprint, RFID card, and face on face-camera models. Enrol a finger once on the master unit and it is queued onto every other terminal in the group. Fingerprint, card, face — and nothing that reads a palm, whatever the rest of this market’s pages claim.
The studio
Ultimate CRM
Everything on this page. Live since December 2023, with 305 centres and 420,624 member records on it and 12,370,692 check-ins recorded to date.
Your instructors
Ultimate HRMS
For when the instructors are on payroll rather than per class: shifts and roster, an append-only leave ledger, employment letters, private document storage, and payroll ending in a PDF payslip. New, opt-in, and it does not compute income tax — on purpose.
Tell us your timetable and your capacities and we will set them up during the call. Or write to crm.sales@proultimate.com.