Massage centre software built around rooms and therapists
Your capacity is not how many people are on shift. It is how many rooms you have, and how quickly each one can be turned around.
30 days free · No card required
On this page5 sections
The short answer
How is scheduling a massage centre different from a salon?
A salon's limit is usually chairs on an open floor; a massage centre's is enclosed rooms, and a room stays occupied through the therapy and the turnaround after it. So the number that governs the diary is how many treatment rooms the branch has declared, not how many therapists are rostered — and a booking has to hold one of those rooms for the whole period.
The room is the booking, not just the therapist
Two therapists free and one room free is one appointment, not two, and any system reasoning only about people will cheerfully sell the second. A branch declares its treatment rooms as a named pool with a count against it, each service on the price list says which pool it draws on, and booking that service holds one unit of the pool for as long as it runs. Rooms, foot-therapy recliners and a couples suite are separate pools counted separately, so filling one never quietly borrows from another. What you do not get back is a room number — the product knows a room is free, not which one, so the tag on the door stays your team's business.
- Treatment rooms declared per branch as a named pool with a count
- Each service names the pool it draws on — rooms, recliners, a suite
- One unit held for as long as the therapy runs, then released
- The slot is refused once the pool is full, however many therapists are free
A ninety-minute therapy is not ninety minutes of room time
Linen changes, a shower, the client dressing and the room being reset all happen after the therapy has ended and before the next client can enter. Because each service carries its own duration, a centre can set that number to what the room is genuinely occupied for — a hundred and five minutes for a ninety-minute therapy — rather than to the length printed on the price list. There is no separate buffer field that will do it for you, which is precisely why the duration has to be the honest one. Two therapies booked as a single visit run end to end and the visit is as long as both together, and the public booking link works from that same arithmetic rather than a friendlier version of it.
- Duration held per service and set to real occupancy, not to the price list
- Two therapies in one visit run end to end and add up
- The booking link offers only the times the room count can carry
- The day is visible per branch, so an overrun is seen rather than discovered
Paying therapists for what they delivered
Therapist pay is usually tied to therapies performed, which makes the link between a session and a person the most important record in the building. A service line on a bill can name the therapist who performed it, and commission accrues from those lines once the bill is paid, so a session that never happened pays nobody, and nor does a line nobody was named on. Tips stay outside all of it: they sit off the invoice total, so they reach neither the tax figures nor the commission base.
- A billed service line can name the therapist who performed it
- Commission counted from paid bills, never from bookings
- Attendance, shifts and leave for the same people, in the same system
Discretion, and who can see what
Client records at a massage centre hold things a receptionist does not need and a therapist might. Access is granted per person rather than through a shared role, and staff are confined to their own branch. Be clear about where that stops. The control is module-level, so anyone who can open the client list can read the notes on it — there is no field that hides them from a colleague — and the notes are ordinary text in the database rather than encrypted values. Access control is the whole of the protection, backed by an audit log of changes to client records.
- Permissions per person, scoped to their own branch
- No field-level control: whoever opens the record reads the notes
- Notes stored as ordinary text, not encrypted at rest
Common questions
- It stops you selling more rooms than you have. Declare the treatment rooms as a pool of four and a fifth overlapping therapy is refused, at the front desk and on the booking link alike, because capacity is read from the rooms that exist rather than from how many therapists are rostered. What it will not do is tell you the fifth client was going into room three — the count is enforced, the room number is not tracked.
- Build it into the service duration. There is no separate buffer field, so the practical answer is to set a ninety-minute therapy to whatever the room is genuinely occupied for — often a hundred and five minutes — and let the diary work from the honest number.
- Yes. A room belongs to the branch rather than to a person, so any therapist can take the next therapy in it — the only thing the system counts is how many are in use at once. That is the whole reason capacity is held as a pool: a centre with four rooms and seven therapists on shift is a four-room centre all day.
- They are laid end to end, and the visit lasts as long as both together — an hour of deep tissue followed by a half-hour of reflexology is a ninety-minute booking. Each therapy holds only the room it needs for its own stretch rather than tying up everything for the whole visit, so a second treatment does not black out more of the afternoon than it actually uses.
- A named therapist, yes — the booking page can offer a therapist for each service, and the front desk can assign one. Gender is not part of it: a staff record does not carry a gender field at all, so it is neither collected on the booking form nor enforced anywhere, and a centre where that request is routine will still be handling it by phone.
See it with your own salon’s data
30 days free, no card required, and a guided setup that takes four steps.

