For yoga & pilates studios
Booking software for yoga and pilates studios on Shopify
A class is not an appointment. It is 24 mats, or 12 reformers, and when the last one goes the class is full. CapFlow Booking sells that number through your existing Shopify checkout, with clip cards and memberships recognised at the point of booking.
The way it actually goes wrong
A studio with one mat room (24 mats) and one reformer studio (12 beds) runs 34 classes a week. The obvious way to sell them on Shopify is a product per class with inventory set to the number of spaces.
Inventory is per variant, not per class time, so every week you rebuild 34 variants by hand. Miss one and Tuesday's 18:00 Vinyasa quietly sells 31 spaces into a room with 24 mats. Nobody finds out until 31 people are standing in the doorway with rolled mats, and the teacher is the one who has to send seven of them home.
Capacity lives on the timeslot, not on a variant. You write the weekly rule once (Mon-Thu 06:30, 17:15, 18:30; mat room; 24 spaces) and CapFlow Booking generates every class in the season. The 24th booking closes the class. The 25th customer sees it as full before they reach the cart.
Clip cards that actually decrement
A 10-class pass is a Shopify product. When the holder books, CapFlow Booking recognises the pass from their customer tag and takes a clip, rather than asking them to pay again at a checkout they already paid at.
One weekly rule, a whole season
Change the Thursday evening class from 18:30 to 19:00 and every Thursday for the rest of the term moves with it. You are editing a schedule, not 40 calendar entries.
Members get first refusal, not the whole room
Reserve part of each class for pass holders and let the rest go on general sale. Unclaimed member spaces release to the public a set number of hours before the class starts.
The teacher sees who is coming
Today's arrivals list with names and a short booking code like gold-rose-0427, so the person on the desk can check someone in without opening Shopify admin.
Paid in your own checkout
Class bookings land in the native Shopify cart. Your payment providers, gift cards, discount codes and refunds behave exactly as they do for a yoga mat or a bottle of water.
Occupancy you can act on
Average fill rate per class time, member versus drop-in split, and no-shows. If the 06:30 runs at 40 percent and the 17:15 turns people away, you will see it in a fortnight rather than a term.
Why studio owners end up here
Most Shopify booking apps were built for the salon and the consultancy: pick a person, pick a free half hour in their calendar, done. A studio timetable is the opposite shape. The class exists whether or not anyone books it, the teacher is not the scarce thing, and the number that matters is how many bodies fit in the room.
That mismatch shows up in small, annoying ways. Appointment apps want you to define staff members and working hours. You end up creating a fake “staff member” called Mat Room just to get a capacity number, and then the app tells the customer they are booking an appointment with Mat Room.
CapFlow Booking starts from the room. You define resources (the mat room, Studio 2, the outdoor deck in summer), give each one a capacity, and hang a weekly schedule on it.
What a studio setup looks like
| CapFlow concept | In studio language |
|---|---|
| Resource | The mat room (24), the reformer studio (12) |
| Service | Vinyasa 60, Reformer 50, Yin 75, Beginners’ course |
| Schedule | The term timetable, as weekly rules |
| Timeslot | One class on one day |
| Capacity pool | Spaces held for unlimited members vs. drop-in |
| Membership | Monthly unlimited, annual pass, 10-class clip card |
| Event | A workshop, a retreat day, a teacher training weekend |
A course that runs six consecutive Tuesdays is not a membership and not a single class. Multi-slot booking covers the case where a customer books several consecutive sessions in one go, with the server checking the sessions really are back-to-back before it prices them.
Drop-in, pass and member in one class
The awkward part of studio pricing is that three people on the same 24 mats have paid in three different ways. One paid 180 kr at the door this morning. One is spending clip seven of ten. One pays 599 kr a month and has not thought about it since January.
CapFlow Booking handles this by separating who may book from what they pay. Membership status comes from Shopify customer tags, which is also how you already segment those customers for email. A pass holder booking a class takes a clip and does not pass through payment. A drop-in books the same class and goes through checkout at your normal price. Both bookings land on the same timeslot and count against the same 24.
The reserved pool is what stops the third group crowding out the first. If you sell an unlimited membership on the promise of “always a space in the 06:30”, you have to actually hold spaces. Holding them permanently wastes them. The auto-release window is the compromise: held until four hours before, then open to anyone.
Workshops and courses
A Saturday breathwork workshop is not part of the weekly rhythm, and forcing it into the timetable makes a mess. Events are separate: their own capacity, their own price, their own access rules, and they block the room so a workshop and a regular class cannot be sold into the same space at the same time.
That last part matters more than it sounds. The most common double-booking in a studio is not two students on one mat. It is a workshop and a regular class scheduled into the same room by two different people on two different afternoons.
Honest limits
Five things a studio owner will ask about on the demo call, answered before the call:
- No rescheduling, by anyone. Students can cancel themselves, but a booking cannot be moved to another class by them or by you. It has to be cancelled and rebooked.
- No waitlist. When a class is full, it is full. There is no queue that auto-promotes when someone drops out.
- No SMS. Email only, which is usually fine for a studio audience that already gets your newsletter.
- No Google Calendar sync. Your teachers will not see the timetable in their own calendar automatically.
- No custom intake questions. There is no field for injuries or pregnancy on the booking form.
- No deposits. The retreat day and the teacher-training weekend this page just recommended you run as Events are paid in full at checkout, or not at all. For a 6,000 kr training that is a real objection.
- No Shopify POS. The mat you sell at the desk and the drop-in someone pays for in cash stay outside CapFlow Booking, and a desk sale does not count against the class capacity.
- No multi-location. One installation covers one studio. A second site means a second setup.
A studio shopping specifically for a waitlist or a teacher calendar should stop reading here and go to the comparison pages, where we have written down which app to buy instead.
Questions from yoga & pilates studios
Can a customer buy a 10-class pass and then book with it?
Yes. Sell the pass as a normal Shopify product. CapFlow Booking reads the customer tag it applies, treats the holder as a member, and takes one clip per booking, rather than sending them back through a checkout they have already paid at.
Can I cap a class at the number of reformers I own?
That is the core of it. Each resource, such as a reformer studio, carries its own capacity. Every timeslot generated for that resource inherits it, and the booking widget will not sell past it. Holds are atomic, so two people hitting checkout for the last bed cannot both succeed.
Can a student move themselves to a different class?
No, and nor can your staff. There is no reschedule function in CapFlow Booking at all: a booking cannot be moved to another class, it has to be cancelled and rebooked. Students can cancel their own booking from the link in the confirmation email, under whatever cancellation window you set. If moving a booking matters to you, several other Shopify booking apps do offer it.
Do you send an SMS reminder before class?
No. Reminders, confirmations and cancellation notices go out by email from your own sender address. There is no SMS channel.
How do teacher substitutions work?
CapFlow Booking schedules the room, not the teacher. Classes are attached to a resource and a service, so swapping who is teaching is a change you make in your own timetable rather than in the booking data. Studios that need to book a named instructor with their own calendar are better served by an appointment-style booking app.
Does it work on a Shopify theme I have already customised?
Yes. The booking widget is a theme app extension, so you add it as a block from the theme customiser. No theme code is edited and it survives theme updates.
Try it on your own schedule
Free plan, no time limit. Billing runs through Shopify if you upgrade.
Install free on Shopify