For fitness studios

Booking software for fitness studios on Shopify

A class is capped by equipment, not by demand. Twenty bikes is twenty bikes. CapFlow Booking sells that number through your existing Shopify checkout, recognises pass holders at the point of booking, and puts a ceiling on how much of the term one member can hold at once.

The way it actually goes wrong

A studio runs 46 classes a week across two rooms: 20 bikes in the cycle studio, 16 stations on the functional floor. On Shopify the obvious approach is a product per class with inventory set to the number of places.

Without capacity

Inventory sits on a variant, not on a Tuesday at 18:15, so 46 variants get rebuilt by hand every week. The week it goes wrong is the first week of January. The 18:15 cycle class is duplicated from a class that used to run in the old 24-bike room, and nobody changes the number. Twenty-four people pay. Twenty bikes exist. The instructor is the one who decides which four regulars go home, in a room where everybody knows each other by name.

With CapFlow Booking

Capacity goes on the schedule rather than on a product. Write one weekly rule for the cycle studio at 20 places and CapFlow Booking generates the whole term from it, every class carrying that number. The 20th booking closes the class. The 21st person sees it as full before they reach the cart, and because holds during checkout are atomic, two people going for the last bike at 06:00 cannot both get it.

Cycle 18:15, studio 1
Members
Public
14 reserved6 open20 bikes total

Monthly pass holders hold 14 of the 20 bikes. Two hours before the class, any bike a pass holder has not claimed releases to drop-in customers, so a class that looks full does not run with four empty bikes in it.

The cap is the equipment

The cap is set on the weekly rule that fills the room, so twenty in the cycle studio and sixteen on the floor are two rules with two numbers. Every class a rule generates carries its number, which means you set it once per schedule instead of once per class. Different rules can carry different numbers, so a Saturday with two instructors on can run higher than a Tuesday.

Passes and clip cards read from Shopify

An annual pass, a monthly pass and a clip card are ordinary Shopify products. When one is bought, CapFlow Booking creates the entitlement from the order and recognises the holder at booking, taking a clip rather than sending them through a checkout they have already paid at.

A ceiling on what one member can hold

Two settings cap member bookings, measured in hours: how much they can hold on a single day, and how much they can hold across all future dates. The default is 2 hours the same day and 4 hours ahead, which is about five 45-minute classes. It is what stops one keen member sitting on every 18:15 for a fortnight.

Members first, then everyone else

Reserve part of each class for pass holders and put the rest on general sale. Unclaimed member places release to drop-ins a set number of hours before the class starts, so priority does not turn into empty bikes.

A term from one rule

Schedules are weekly rules inside a date range. Move Thursday evening from 19:00 to 19:30 and every Thursday for the rest of the term moves with it. You edit the rule, not 40 calendar entries. Bookings sitting on the old time are cancelled and those customers emailed, so a mid-term move is a decision rather than a tidy-up.

Fill rate per class time

Occupancy by time of day, the member versus drop-in split, cancellation rate and peak hours, with CSV export. If the 06:15 runs at 35 percent all winter and the 18:15 turns people away, that is a timetable decision rather than a hunch.

What actually caps a class

Ask a studio owner how many people fit in a class and you get a number straight away, because it is not a judgement call. It is the bikes. It is the stations on the rig. It is how many mats fit on the floor with enough room to swing a kettlebell without hitting somebody.

That is a different shape from an appointment. Nobody is booking time with a named person. They are taking one of twenty places in a room, and when the twentieth goes the class is closed. CapFlow Booking is built around that number rather than around a diary.

The gym floor is the part it does not do. Open access, turnstiles, day passes at reception, a member scanning in at 05:45 with nobody watching: none of that is booking, and none of it is here. If your revenue is mostly floor membership and classes are a small extra, this app is solving your small problem.


What a studio setup looks like

CapFlow concept In studio language
Resource Cycle studio, functional floor, the small studio upstairs
Service 45 minute cycle, 60 minute strength, express 30, HIIT
Schedule The term timetable, as weekly rules, each carrying its own cap
Timeslot One class on one day
Membership Annual pass, monthly pass, 10-class clip card
Capacity pool The share of each class held for pass holders
Event A one-off workshop, a charity ride, a members-only night
Add-on One per-person extra per class

A resource is a room, not an instructor. On most timetables that is the right shape, because a member booking the 18:15 cycle class is booking the class, and if the usual instructor is ill somebody else takes it. Personal training is the opposite: the customer is buying that person’s hour. That is an appointment, and an appointment app will do it better.


Members, and the two settings that keep the term open

Priority booking for pass holders is easy to get wrong in both directions. Give members the whole class and drop-ins never get in, so you stop selling to new people. Give them nothing and the pass stops being worth buying.

Capacity pools split each class in two. Fourteen of the twenty bikes for pass holders, six on general sale, and any member bike still unclaimed a set number of hours before the class opens up to everyone. You choose the number of hours.

The other half of the problem is one member holding half the term. Two settings cap it, both counted in hours of booked class time: the most one member can hold on a single day, and the most they can hold across every future date. Defaults are 2 and 4. On a timetable of 45 minute classes that is about five classes in hand at any time, which is enough to plan a week and not enough to lock out everybody else.


Honest limits

Where a fitness studio will feel the edges:

  • No waitlist. The big one. A full class is full, with no queue and no automatic promotion when somebody drops out.
  • Rescheduling keeps the class details fixed. Members and staff can move the same booking to another available time. A different class, duration, party size, or resource still means cancel and rebook.
  • No custom booking fields. First name and last name. No PAR-Q, no injury notes, no emergency contact.
  • No access control. Nothing talks to your doors, fobs or turnstiles.
  • No recurring billing. A monthly pass is a 30 day product, not a subscription CapFlow Booking collects.
  • No per-instructor calendars. Good for classes, wrong for personal training.
  • No SMS or WhatsApp. Confirmations, cancellations and reminders go out by email only.
  • Single language. The widget and the emails run in one language.

If the waitlist is what you came for, stop here and read the comparison pages instead. If the thing that hurts is 46 variants a week and a January class with four people too many in it, this is the shape that fixes it.

Questions from fitness studios

Is there a waitlist for a full class?

No, and for a fitness studio this is the honest reason to look elsewhere. When a class is full it shows as full. There is no queue, nobody is promoted automatically when a booking drops, and a cancelled place simply goes back on general sale to whoever refreshes first. Plenty of studios run their whole peak timetable on a waitlist. If yours is one of them, another app will suit you better, and it is worth knowing that before you install rather than after.

Can a member book as many classes as they like?

No, and that is deliberate. Member bookings are capped by two settings measured in hours: the most they can hold on one day, and the most they can hold across all future dates. The app adds up the length of every confirmed booking they already have and refuses the one that would go over. Set both high if you want it effectively unlimited.

Does CapFlow Booking handle monthly membership billing?

Not the billing itself. A monthly pass is a Shopify product that grants 30 days of membership from the day it is bought, and an annual pass grants 365. CapFlow Booking reads the purchase and creates the entitlement. It does not take recurring payments, chase a renewal or handle a failed card, so dues collection stays wherever you run it today.

Can a member move a booking to a different class?

Yes. Members can move the same booking to another available time from the manage link until your member cutoff, and staff can move it from the admin. The class, duration, party size, and resources stay the same; changing those still requires cancel and rebook.

Can I collect a health questionnaire or PAR-Q at booking?

No. CapFlow Booking has no custom booking fields. The widget asks for a first name and a last name, and that is the whole form. Whatever health screening you do stays in its own system, whether that is a link in the confirmation email or a form at the first visit.

Does it open the door or talk to our access control?

No. There is no integration with turnstiles, door controllers or fob systems, and no webhook or Zapier layer to build one with. What you get is a check-in dashboard: today's arrivals with a short code like gold-rose-0427, ticked off by whoever is on the desk.