For cooking schools

Booking software for cooking schools on Shopify

A cooking class is capped by workstations, and every place you sell is a shopping list you have already bought. CapFlow Booking sells the real number through your existing Shopify checkout, takes the money up front, and enforces your cancellation window without you having to argue about it.

The way it actually goes wrong

A school runs one teaching kitchen with 12 workstations, four evening classes a week plus a Saturday morning. Fish is bought on the Thursday for the Friday class. On Shopify the obvious approach is a product per class with inventory set to 12.

Without capacity

Inventory sits on a variant rather than on a Friday at 18:00, so every class in the term is a variant somebody built by hand. The expensive failure is not the oversell, it is the week the oversell happens. Fourteen people pay for the Friday scallop class. Twelve stations exist. Two of them are told at the door, in front of the other twelve, and the school either refunds two covers it has already shopped for or runs a class where two people watch. Both cost money that was never in the price.

With CapFlow Booking

The number belongs to the kitchen. Set the teaching kitchen to 12 places, write one weekly rule, and CapFlow Booking generates the term from it. The 12th booking closes the class, and holds during checkout are atomic, so the last station cannot be sold twice to two people booking at the same moment. The shopping list and the booking system are finally counting the same thing.

Thai street food 18:00, teaching kitchen
Members
Public
2 reserved10 open12 workstations total

Two stations are held for class-pass holders working through a five-class card. Twenty-four hours before the class any station they have not claimed goes on public sale, because an unclaimed station on a Friday is a station you have already bought food for.

The cap is the kitchen

Twelve workstations is twelve places, and every class the weekly rule generates carries that number. A second kitchen or a demo room is a second resource with its own cap, scheduling independently on the same calendar.

Paid in full before you shop

Bookings go through the native Shopify checkout and are paid at the time of booking. That is most of the answer to no-shows for a school buying per head: somebody who does not turn up has already paid for the scallops. Where it matters who is not turning up, staff can mark a booking as a no-show and put a fee on that customer's account. Your payment providers, gift cards and discount codes work exactly as they do for a cookbook.

A cancellation window that enforces itself

Set a free cancellation window, a cut-off, and a per-person fee. Cancel before the free window and Shopify refunds them in full, automatically. Cancel between the free window and the cut-off and the refund goes out minus the fee. Cancel inside the cut-off and the app refuses, so the place stays sold. Nobody has to have the conversation.

Class passes that decrement

A five or ten class card is an ordinary Shopify product. CapFlow Booking recognises the holder at booking and takes a clip rather than sending them back through a checkout they already paid at. Cancel in time and the clip goes back on the card.

Masterclasses and supper clubs

A one-off with a visiting chef runs as an event with its own capacity, price and access rules, and it blocks the kitchen so an ordinary class cannot be sold into the same benches. Each event has its own signup link you can put in a newsletter.

Which classes actually fill

Occupancy by class time, cancellation rate and peak evenings, with CSV export. A school running the same eight classes on rotation usually finds two of them are carrying the other six, and it takes a term to see that without numbers.

Every place is a shopping list

Most booking problems are about disappointing somebody. In a cooking school they are also about food you have already bought.

That changes which features matter. A no-show at a yoga class is an empty mat. A no-show at a cooking class is a portion of turbot in the bin and a station standing empty next to eleven people who paid the same price. So the two things worth getting right are the cap, and what happens when somebody changes their mind.

The cap is straightforward. The kitchen is a resource, the weekly rule that fills it carries the number of workstations, and every class that rule generates carries it too. Twelve means twelve, and the widget will not sell a thirteenth even if two people are trying at once.

What happens when somebody changes their mind is the interesting part, because CapFlow Booking is opinionated about it in a way that suits a school buying per head.


What a school setup looks like

CapFlow concept In cooking school language
Resource The teaching kitchen, the demo room, the second kitchen
Service Three hour evening class, Saturday brunch class, kids’ session
Schedule The term timetable, as weekly rules, each carrying the kitchen’s cap
Timeslot One class on one evening
Membership Five or ten class card
Event A masterclass with a visiting chef, a supper club
Add-on One per-person extra per class, such as a wine flight
Fixed party size A two-person date-night class sold as a pair

A service can have a fixed party size, which is worth knowing about for anything sold as a pair or a table. Set it to two and the widget stops asking how many people are coming, takes two places out of the kitchen and prices two covers. The customer cannot accidentally book one seat at a class designed for couples.


The three settings, and why they do the arguing

Cancellation in CapFlow Booking is three numbers rather than a policy page. A free window, a cut-off, and a per-person fee. You choose them and the app applies them.

Before the free window closes, the customer cancels themselves from the link in their confirmation email and Shopify refunds them in full. Nothing lands on your desk.

Between the free window and the cut-off, the same self-service cancellation happens and the refund goes out with a per-person fee taken off it. If your fee is 20 and four people cancel, 80 stays with you, deducted from the refund rather than invoiced afterwards.

Inside the cut-off, the app declines the cancellation and tells the customer why. The place stays sold, which is the right answer for a class where the shopping is already done.

Class-pass holders sit on their own set of the same three settings, so you can be gentler with regulars than with a stag party who found you on Google. Their clips come back rather than money, and a late cancellation puts a fee on their account with an email about it, which they settle next time.


Honest limits

Where a cooking school will feel the edges:

  • No dietary or allergy capture. No custom fields at all. First name, last name, and that is the form.
  • No course object. Four Tuesdays is four bookings, whether the customer adds them to the cart or you enter them.
  • No waitlist. A sold-out Saturday has no queue and no automatic promotion.
  • Rescheduling keeps the class details fixed. Customers 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 deposits or invoicing. Full payment at checkout, or booked outside the app.
  • No per-participant details. One lead name and a party size, so a table of six is one name.
  • Single language. One language for the widget and the emails.

A school whose classes are mostly multi-week courses with a menu built around each booking will be doing a lot by hand. A school selling single evening classes into a fixed kitchen, where the pain is an oversold Friday and arguing about refunds, is exactly the shape this fits. The comparison pages say plainly what the alternatives do better.

Questions from cooking schools

Can customers tell me about allergies and dietary requirements at booking?

No, and for a cooking school this is the honest deal-breaker to weigh first. CapFlow Booking has no custom booking fields. The widget asks for a first name and a last name and nothing else, so there is no allergy box, no vegetarian option and no free-text note the customer can fill in. You will be asking separately, whether that is a reply-to line in your confirmation email, a form you send out or a phone call the week before. For a school where the menu changes per booking, that is real work the app is not doing, and it is worth deciding about before you install rather than after.

Can I sell a four-week course as one booking?

Not as one booking, no. Multi-slot booking exists, but it only takes consecutive slots with no gaps, so it will sell a customer two back-to-back hours and refuse four Tuesdays in a row. What the widget will do is let the customer add all four Tuesdays to the booking cart and pay for them in one Shopify checkout: four bookings, one payment, every week capacity checked. What you do not get is a course as an object. Four rows on the calendar, four confirmation emails, and if somebody drops out you cancel four bookings rather than one. Where you would rather sell the course as a single product, staff can enter each participant's four sessions from the admin instead.

Somebody cancels the day before. What actually happens?

Whatever your settings say. Before the free window closes the customer gets a full refund through Shopify without you touching it. Between the free window and your cut-off the refund is issued minus a per-person fee. Inside the cut-off the app refuses the cancellation and the place stays sold. Class-pass holders get clips back instead of money, on the same rules, and you can set a different set of windows for them than for the public.

Can somebody move to next week's class instead of cancelling?

Yes. Customers can move the same class booking to another available time from the manage link until your customer 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.

Is there a waitlist for a class that sells out?

No. A full class shows as full and nobody is promoted automatically when somebody drops out. A cancelled station goes back on general sale to whoever sees it first, which for a popular Saturday means an email to your list rather than an automatic offer.

Can I take a deposit on a private group booking?

No. There are no deposits, no partial payments and no invoicing. It is paid in full at the Shopify checkout or it is not booked through the app. For a corporate group you have agreed by email, staff can enter the booking directly so the places come out of the class, and the invoice stays wherever invoices live for you now.