What a gym booking system has to handle before anything else
A gym booking system has to know three things at every moment. Who is a member in good standing, which places are left in tonight's class, and whether the person at the door is allowed in. Everything else is convenience.
Gyms usually buy software for the first thing and then discover the second and third are where the daily pain lives. A spinning class with eighteen bikes and twenty two names is not a software feature, it is a Tuesday evening argument.
This is written for a gym in Finland with somewhere between one and five hundred members, one or two locations, and no full time administrator. If you have three thousand members, your problems are different and your budget is too.
Classes, trainers and capacity
Model the class, the room and the trainer as separate things that meet in a timetable. A class needs a capacity that comes from the equipment or the floor space, a trainer who can be swapped without recreating the session, and a room that cannot host two classes at once.
Capacity is the detail that decides the system. Some classes are limited by bikes, some by mats, some by a safety rule. If the capacity is per piece of equipment, members expect to choose their spot, and a system that cannot show a numbered bike will generate messages every week.
Timetables in Finland run in terms. Autumn, spring, a thinner summer. Building the whole term at once and then adjusting individual sessions saves hours compared with recreating classes weekly. Ask to see that done in a demonstration.
Members, cards and access
The membership record is the centre of the gym, and the booking calendar hangs off it. Each member has a type of membership, a start date, a payment status, and permissions that follow from those.
Membership types multiply faster than anyone expects. Full membership, gym only, classes only, student, senior, a ten visit card, a three month summer deal, a corporate contract for a local employer. Before choosing software, write your real list down and check that each one can exist without a workaround.
Access control is where the software meets the hardware. A key fob, a code, a mobile key, a turnstile. The link between the membership status and the door has to be automatic, so a member whose payment failed in February is not still training in May, and a member who paid at nine in the evening can get in at nine oh one.
Cancellations and waiting lists
A waiting list that works turns cancellations into attendance instead of empty bikes. When someone drops out, the next person on the list gets the place automatically with a message, and a time limit to accept it before it passes on.
Set a cancellation deadline that matches the class. Two hours before is common and works for most gyms. Then decide the consequence for late cancellations and apply it consistently. A warning first, then a temporary block from booking, is usually enough. Charging for a missed class in a monthly membership creates more conflict than it prevents.
Watch out for the member who books three classes a week and attends one, holding places that others wanted. A simple limit on open bookings per member fixes this without any confrontation at the desk.
Recurring payments and the month that fails
Recurring billing is the part that quietly decides whether the gym is profitable. Cards expire, accounts run dry, and a percentage of your members fail to pay every single month without meaning to.
What matters is the handling of the failure. The system should retry, notify the member in a friendly way, tell the desk who is unpaid, and only then restrict access. A silent failure means a member trains for three months for free and is then hit with a large invoice, which usually ends in a lost member and an argument.
Direct debit and card agreements both work in Finland, and invoice billing still exists for corporate contracts. Whatever you use, check that the payment status is visible at the desk in one glance. Staff need to see it while the person is standing in front of them.
Contracts, notice periods and terms people can read
Write the membership terms in plain language and show them at the point of joining, not in a PDF behind a link. Length of the commitment, notice period, how to cancel, what happens if payment fails, and what a freeze costs.
Continuing contracts with a notice period are where consumer disputes come from, because the member remembers something different from what they signed. The defence is simple. The terms visible at signup, a copy emailed with the confirmation, and a cancellation route that does not require walking into the gym during office hours.
Freezes deserve their own rule. Illness, a long work trip, a summer away. A gym that handles this gracefully keeps members who would otherwise cancel outright and never come back.
Corporate benefit payments
Finnish members expect to pay with employer sports benefits, and a gym that cannot take them loses a whole category of customer. The common providers issue digital benefit payments that employees use for gym visits and memberships.
Two practical points. Check which benefit providers the software or your payment terminal supports before you commit, and decide how a benefit payment maps to your membership types, because a single visit benefit and a monthly membership do not fit together automatically. Getting that wrong creates manual reconciliation every month for one person at the desk.
The door at six in the morning
If your gym is open outside staffed hours, the booking system is also the security system, and it needs to behave that way. Each entry logged with the member and the time, a way to see who is inside during an alarm, and a reliable route for a member who cannot get in at half past five in the morning.
Unstaffed hours are what makes a small Finnish gym viable, so the technology carrying them cannot be the cheapest option in the building. Test the failure cases deliberately. Server unreachable, network down, fob unreadable. Know what happens in each before a member finds out for you.
Do you need your own app
Most gyms do not, and a mobile website that works properly is better than a neglected app. Members book from a phone, and a booking page that loads in two seconds without an install beats an app they have to find, download and log into.
An app earns its place when it carries the door key, when it holds a training programme members open several times per session, or when push notifications for waiting list places genuinely change attendance. Those are real reasons. Having an app because competitors have one is not, and the maintenance cost arrives every year.
Personal trainers and paid sessions
Personal training sits between class booking and appointment booking, and it usually breaks systems built for one or the other. A trainer sells a package of ten sessions, the member books them one at a time over three months, and somebody has to know how many are left.
Look for session packages with a balance, a booking flow tied to the individual trainer's availability, and a cancellation rule stricter than the one for classes, because a missed personal session costs the trainer an hour of work.
What to run yourself
Run the parts that carry your relationship with the member, and rent the parts that are pure plumbing. In practice that means the website, the booking page, the member list and the communication belong to you, while payment processing, message delivery and accounting are fine as services.
The test is what happens if the supplier disappears or triples the price. If the answer is that you lose the member list and the booking history, that part should not be rented. If the answer is that you change provider and reconnect, rent it without worrying.
A member area on your own site keeps the membership, the bookings and the history in the business rather than in someone else's database, and it can grow with the gym. We build that as a gym booking system and, for anything that needs a login and a personal view, as a members area on the client's own site.
Data you should be able to export
Ask for an export of members with contact details and consent status, memberships with start and end dates, the full booking and attendance history, payment history, and access logs. In a standard file, produced by you, without asking permission.
Attendance history is the most undervalued of these. It tells you which class times are dying, which trainer fills a room, and which members have not been in for six weeks and are about to cancel. That last list is the cheapest marketing a gym has.
Once you start acting on lists like that, you are doing customer management rather than booking, and it helps to keep the two connected. The plain version of that idea is in CRM for a small business in Finland.
What to measure in the first season
Four numbers per month are enough, and they are all in the data the system already collects.
- Fill rate per class, by weekday and time. This is your timetable planning, done with evidence instead of opinion.
- Cancellation rate and how many places the waiting list rescued.
- Failed payments and how many were recovered within a week.
- Members who have not visited in 30 days. The early warning for cancellations.
Act on one of them per month rather than all four. Moving a badly attended class an hour later is a single change with a measurable result, and you will know within three weeks whether it worked.
Questions before you sign
Take these to the demonstration and insist on seeing each one on screen.
- Show me a whole autumn term created at once, then one session moved.
- Show me a member whose payment failed being blocked at the door, and then restored.
- Show me a waiting list handing a cancelled place to the next person.
- Show me the export of members, bookings and attendance, downloaded now.
- What is the total monthly cost at my member count, including messages and payment fees?
- Which access hardware does this work with, and who fixes it when the door does not open?
The last question is the one gyms forget, and it is the one that gets phoned in at six in the morning. Make sure it has a name and a number attached before anything is signed.
