For adventure centres
Booking software for adventure centres on Shopify
An adventure centre is not one venue, it is six of them on the same site, and each one runs out at a different number. CapFlow Booking gives every activity its own cap, puts them all on one calendar, and lets a family build a morning of two or three activities and pay for it once through your existing Shopify checkout.
The way it actually goes wrong
A centre runs high ropes, a climbing wall, kayaking on the lake and an archery range. High ropes takes 24 at the ratio the operating procedure sets, the wall takes 16, kayaking is capped at 12 boats, archery at 10 bays. Sessions run hourly from 10:00. On Shopify the obvious approach is a product per activity per hour with inventory set to the number.
That is four caps, ten hours a day, seven days a week, all living on variants that have to be rebuilt as the season shifts. The numbers drift apart from the site almost immediately. Two boats go in for repair and the kayak product still says 12. Somebody duplicates the high ropes product to make a school-holiday version and it inherits an old 30. The failure is not a spreadsheet problem, it is an instructor standing at the bottom of a tower with six more harnesses booked than exist in the sizes that turned up.
Each activity schedules on its own rule with its own cap, and every session that rule generates carries that number. Four activities, four caps, one calendar. Take two boats out of service and you edit the kayak rule, not every kayak session. The last place on the high ropes closes that session and nothing else, and because holds during checkout are atomic, two parents going for it at the same moment cannot both succeed.
One cap per activity, not one per site
High ropes, the wall, the lake and the range schedule separately, each rule carrying its own cap, and rules can differ by day. Drop the tower to 16 for the fortnight a ropes instructor is off and archery does not notice.
The whole site on one calendar
Every activity schedules against its own resource but shows in one view, so you can see the day rather than four products and a whiteboard. Staff can add a booking themselves for someone who rang up, in the same place.
A morning of two activities, one payment
The widget keeps a booking cart. A customer adds high ropes at 11:00, then kayaking at 12:00, then checks out once through Shopify. Each session is capacity checked on its own before payment, so a combination that does not fit is refused rather than half sold.
Longer sessions of the same thing
Where an activity runs longer than one slot, multi-slot booking takes consecutive slots in one go and prices them by session count. The server checks the slots really are back to back, with no gap, before it prices anything.
Groups taken out, not quietly reserved
A school visit or a corporate day blocks the places it uses, with a note. Blocked places leave public sale immediately, so what the website shows as available is what an instructor could actually take.
Kit hire taken with the booking
A service can carry one per-person add-on with its own adult and child prices, which is where kit hire goes, and it lands in the same Shopify cart as the session. Nobody is taking card payments at the boathouse. Where you rent several different things at several prices, that is still one add-on, so the rest stays on your own price list.
Six venues on one site
The thing that makes an adventure centre awkward to sell online is that there is no single capacity. High ropes runs out of harnesses. The lake runs out of boats. Archery runs out of bays, and the wall runs out of instructors long before it runs out of wall.
Those numbers move independently and for unrelated reasons. Two boats go in for a repair. A ropes instructor is off, so the ratio drops the tower from 24 to 16 for a fortnight. None of that should touch archery, and on a product-per-hour setup all of it becomes somebody’s Sunday evening.
CapFlow Booking puts the number on the schedule rather than on a product. Each activity is a resource, the weekly rule that fills its diary carries the cap, and every session that rule generates carries it too. Changing what the lake can take means editing the lake’s rules, and the tower does not notice.
What a centre setup looks like
| CapFlow concept | In centre language |
|---|---|
| Resource | High ropes tower, climbing wall, the lake, archery range |
| Service | Two hour ropes session, taster climb, kayak hour, group archery |
| Schedule | Season hours, as weekly rules, each carrying that activity’s cap |
| Timeslot | One session of one activity on one day |
| Multi-slot booking | A longer session of the same activity, back to back |
| Booking cart | A morning of ropes then kayaking, paid once |
| Add-on | One per-person extra per service, usually kit hire |
| Event | A holiday club day, a competition, a corporate away day |
| Block | The places a school group has taken |
A resource is a place and its kit, not a person. That is the right shape here, because a family booking the 13:00 high ropes is booking the tower and whoever is rostered on it. If your customers pick a named instructor and that instructor’s diary is the product, an appointment app fits better.
Two activities, one payment, and where the line is
Combining activities is what people actually want to buy, and it is worth being precise about how it works, because there are two different mechanisms and they solve different problems.
Multi-slot booking is for making one activity longer. Two consecutive hours on the wall, priced by session count, with the server checking that the slots genuinely touch. Gaps are refused, so it will not sell 10:00 and 12:00 as a block.
The booking cart is for combining different activities. The customer adds ropes at 11:00, adds kayaking at 12:00, and goes to the Shopify cart with two items. Each one is held and capacity checked separately, then paid for in one checkout. What that does not do is package them per combination. There is no ropes-and-kayak price as such. What there is is a shop-wide second-session price: set it, and any extra session a customer adds on the same day is billed at that rate instead of its own. That is useful for a discounted multi-activity morning and blunt if your activities are priced a long way apart, because it applies to whichever session comes second.
Groups, and why blocking beats reserving
School and corporate work is usually agreed on the phone, invoiced, and confirmed weeks out. What the booking system needs to do about it is simple: stop selling those places to the public without pretending they were sold.
That is a block. Fifteen places on the 13:00 tower go out of public sale with a note saying which school, and the website shows nine left because nine is what is left. When the group cancels, you release the block and the places come back.
What blocking does not do is take their money. The invoice stays where invoices live. If you want the group to pay in the checkout, staff can enter the booking directly and the group pays in full, because full payment at checkout is the only payment model here.
Honest limits
Where an adventure centre will feel the edges:
- No custom booking fields. No waiver, no height, no weight, no next of kin, no medical notes.
- No participant lists. One lead name and a party size, whether that is a family of four or a school of 24.
- No deposits or invoicing. Paid in full at the Shopify checkout, or booked outside the app.
- No bulk cancellation. A rained-off afternoon is cancelled booking by booking.
- No waitlist. A full session is full, with no queue.
- Rescheduling keeps the booking shape fixed. Customers and staff can move the same booking to another available time, but a different activity, duration, party size, or resource still means cancel and rebook.
- No OTA or channel manager. Direct sales through your own store only.
- Single language. One language for the widget and the emails.
An adventure centre whose bookings are mostly schools on invoice, with signed medical forms per child, will be working around this app more than with it. A centre selling public sessions across several activities, where the pain is four caps drifting away from the kit shed, is the case it fits. The comparison pages are honest about the alternatives.
Questions from adventure centres
Can I collect the waiver, and heights and weights for the harnesses?
No, and for a centre running height and weight limited activities this is the limit that matters most. CapFlow Booking has no custom booking fields at all. The widget asks for a first name and a last name, and that is the whole of it. There is no waiver, no date of birth, no weight, no next of kin. (Event signups are the one exception to the shape, and they ask for an email rather than a name.) All of that has to live in whatever you use today, and you will still be collecting it separately. If you are shopping specifically to get the waiver inside the booking, a purpose-built activity system is the better buy.
Can I get a name list for a group of 24 school children?
No. A booking has one lead name and a party size, so a group of 24 arrives as one booking for 24 places under the teacher's name. There is no per-participant list, no way to attach 24 names to it and nowhere to record which child is in which harness. The register your instructors carry is your own.
Can a school pay a deposit now and the balance later?
No. Session bookings go through the native Shopify checkout and are paid in full at the time of booking. There are no deposits and no partial payments, and no way to invoice a booking. Two things sit just outside that: a paid event is billed through a Shopify draft-order invoice link rather than the native checkout, with the seat held from signup rather than from payment, and an unpaid no-show or late-cancellation fee can be invoiced to a customer from the admin. Centres that take school and corporate work on 30 day terms usually keep booking those the way they do now, by email and invoice, and use CapFlow Booking for the public sessions where people pay on the spot. Staff can enter a phone booking directly, which covers a group you have agreed separately.
Lightning stops play. How do I cancel the whole afternoon?
One booking at a time, which is worth knowing before a bad August. A session that has confirmed bookings on it cannot be deleted or moved, on purpose, so there is no single action that clears a day and tells everybody. You cancel each booking from the admin, and each customer gets a cancellation email. For a centre with four activities running hourly, a washed-out afternoon is a real amount of clicking.
Does it hold a place for someone if a session is full?
No. There is no waitlist and nothing is promoted automatically when a booking drops out. A cancelled place goes straight back on general sale to whoever finds it first.
Does it connect to GetYourGuide, Viator or a channel manager?
No. There is no OTA integration and no webhook or Zapier layer to build one with. CapFlow Booking sells your own direct inventory through your own Shopify store. If channel bookings and direct bookings have to share one live pool of harnesses, this is not the right tool.
Try it on your own schedule
Free plan, no time limit. Billing runs through Shopify if you upgrade.
Install free on Shopify