Key Concepts & Glossary
Core concepts and terminology explained
Before diving into the details, here’s a quick reference for the core concepts in CapFlow.
Core Concepts
Resource
A physical capacity unit at your venue. Examples: “Studio A”, “Main Wall”, “Court 1”, “Pool Lane 1”.
Resources are the foundation of scheduling — each timeslot belongs to one resource. If two activities share the same physical space and capacity limit, they should be the same resource.
Service
A bookable offering that customers see on your storefront. Each service is linked to:
- A Resource (where the activity happens)
- A Shopify Product (for pricing and checkout)
Example: “Group Yoga” is a service linked to the “Studio A” resource and a Shopify product with price variants.
Timeslot
A specific time block when customers can book. Timeslots have:
- A start and end time
- A resource they belong to
- Capacity limits (how many people can book)
Timeslots are usually auto-generated by Schedules, not created manually.
Schedule
A date range with weekly schedule rules that auto-generate timeslots. Instead of creating hundreds of timeslots by hand, you define “every Monday–Friday, 10:00–18:00, hourly sessions” and CapFlow creates all the timeslots for you.
Booking
A confirmed customer reservation for one or more timeslots. Bookings track:
- Customer info (from Shopify)
- Party size (number of people)
- Check-in status
- Which capacity pool was used (member or public)
Booking Hold
A temporary reservation (10-minute TTL) created when a customer starts the checkout process. Holds prevent double-booking while the customer completes payment. If the hold expires without confirmation, the capacity is released.
Block Booking
A staff-created booking that blocks capacity without a customer. Used for maintenance, private events, staff training, or any time you need to reduce available capacity.
Capacity Concepts
Capacity Pool
Each timeslot has parallel capacity buckets:
| Pool | Who can book | Example |
|---|---|---|
| Total | Hard maximum for the timeslot | 12 people |
| Members | Reserved for members (Annual Pass, Clip Card) | 4 people |
| Public | Available for anyone (public/walk-in) | 8 people |
Total is usually the sum of Members + Public, but doesn’t have to be.
Pool Release
A mechanism that opens unused member capacity to the public as the timeslot approaches. If member slots haven’t been booked X hours before the session, they become available to everyone.
Example: “Release 24 hours before” — if 2 of 4 member slots are unused 24 hours before the session, those 2 slots become available to public customers.
Occupancy
The percentage of total capacity that’s been booked. Shown throughout the app as colour-coded indicators:
- Green: Low occupancy (plenty of availability)
- Yellow/Orange: Medium occupancy
- Red: Near or at capacity
Membership Concepts
Entitlement
A customer’s membership rights. Types include:
- Annual Pass — Full access for a year (or configured duration)
- Monthly Pass — Full access for a month
- Clip Card — Pre-paid credits (clips) for individual sessions
Entitlements are created automatically when a customer purchases the corresponding Shopify product.
Clip
A pre-paid credit unit. Customers buy a clip card (e.g., 10 clips) and spend clips to book sessions. Clips are refunded if a booking is cancelled within the free cancellation window.
Fee Account
A running balance of fees owed by a customer. Fees are added for:
- Late cancellations (within the fee window)
- No-shows (checked by staff)
Fees are tracked but not auto-charged — you collect them separately.
Booking Flow
Here’s how a customer booking works end-to-end:
Customer visits your product page
↓
Booking widget loads and shows available dates/times
↓
Customer selects service, date, time, and party size
↓
Widget creates a HOLD (10-min reservation)
↓
Customer confirms details (adults/children)
↓
Hold converts to a BOOKING
↓
Shopify cart is created with the right product variants
↓
Customer is redirected to Shopify checkout
↓
Customer pays via your Shopify payment provider
↓
Confirmation email is sent automatically
Status Reference
Booking Statuses
| Status | Meaning |
|---|---|
| CONFIRMED | Active booking |
| CANCELLED | Cancelled by customer or staff |
| NO_SHOW | Customer didn’t arrive (marked by staff) |
Booking Kinds
| Kind | Meaning |
|---|---|
| CUSTOMER | Regular customer booking |
| BLOCK | Staff-created capacity block |
Hold States
| State | Meaning |
|---|---|
| PENDING | Active hold, waiting for confirmation |
| CONFIRMED | Converted to a booking |
| EXPIRED | Timed out without confirmation |
| CANCELLED | Manually cancelled |