Help CenterGetting Started

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 with pool access 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

Membership Type

A configurable definition of a membership tier. Each type has a display label, a Shopify tag for customer syncing, and settings for pool access and weekday restrictions. You configure your membership types in Settings > Membership Types.

Entitlement

A customer’s membership rights. Common types include:

  • Annual Pass (Full) — Full access for a year (or configured duration)
  • Annual Pass (Weekday) — Weekday-only member access (Mon–Fri); weekends at regular pricing
  • Monthly Pass — Full access for a month
  • Clip Card — Pre-paid credits (clips) for individual sessions

You can create custom membership types beyond these defaults. 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