Resources are the people, places, and things that make your services possible — a massage therapist, a treatment room, a piece of equipment, or a vehicle. Each service is linked to one or more resources so the system knows what's needed to fulfil a booking.
Choose the type that best describes your resource:
| Type | Examples |
|---|---|
| Staff | A hairdresser, therapist, trainer, consultant — linked to a staff account |
| Room | A consultation room, treatment room, meeting room, studio |
| Equipment | A massage table, camera, projector, power tool |
| Vehicle | A car, van, boat, bike — available for rent |
| Facility | A gym, pool, event hall, workshop space |
| Asset | General reusable items like a tent, sound system, display stand |
Each type has its own set of specification fields — see Specifications by Type below.
Every resource behaves in one of two ways:
| Behaviour | Meaning | Example |
|---|---|---|
| Operational | The resource can only serve one booking at a time. Capacity is fixed at 1. | A staff member can only be in one appointment at a time. |
| Hub | The resource has capacity for multiple simultaneous bookings. | A yoga studio can host 20 people at once. A pool can have several swimmers. |
Some resource types have a suggested default behaviour:
You can change the behaviour when creating or editing a resource.
{info} The behaviour determines which overlap modes are available (see below). A hub without capacity is the same as operational — both allow one booking at a time.
Overlap mode controls how bookings interact when they overlap in time. This only applies to Hub resources — Operational resources are always Exclusive.
| Mode | How It Works | Best For |
|---|---|---|
| Exclusive | One booking locks the entire time slot. No other booking can overlap at all. | A treatment room where a patient occupies the whole space. |
| Shared Session | Multiple bookings can share the exact same time window, up to the resource's capacity. The start and end times must be identical. | A yoga class where 15 people book the same session. |
| Rolling | Bookings can overlap partially, as long as the total at any given moment doesn't exceed capacity. | A parking lot where cars come and go, or a gym where people arrive at different times. |
Capacity is the number of simultaneous bookings a Hub resource can handle. For example:
Operational resources always have capacity 1 — they cannot be double-booked.
Each resource has a status that controls its availability:
| Status | Meaning | Badge Colour |
|---|---|---|
| Available | Ready for booking | Green |
| Unavailable | Not currently bookable | Grey |
| Maintenance | Temporarily out of service (e.g., under repair) | Yellow |
You can change the status at any time. An unavailable resource won't appear as an option when customers book.
When you assign a resource to a service (in the Setup Wizard or when creating a service), it plays one of two roles:
| Role | Customer Sees It? | What It Means |
|---|---|---|
| Primary | Yes (depending on selection mode) | The main resource needed for the service. The customer can choose which primary resource they want (e.g., their preferred therapist). At least one primary is required. |
| Support ("relevant support resource") | No | A secondary resource that's hidden from customers but still required. The system automatically reserves it alongside the primary and checks its availability too. |
{info} Both roles affect availability equally. If a support resource is booked or unavailable, the slot is blocked — even if the primary resource is free.
Here's how this plays out in a real salon:
Service: "60-Minute Haircut & Style"
| Resource | Type | Role | Why |
|---|---|---|---|
| Ahmed (hairstylist) | Staff | Primary | Customer chooses their preferred stylist |
| Styling Chair 1 | Equipment | Support | Hidden from customer, needed for the service |
| Hair dryer station | Equipment | Support | Hidden from customer, shared equipment |
For a booking at 10:00 AM to work: Ahmed must be free, Styling Chair 1 must be free, AND the hair dryer station must be free. If any single one is occupied, the time slot is blocked.
When you have several identical support resources, you can group them into a pool. A pool tells the system: "these are the same thing — I only need ONE of them free, not all of them."
Without pools, every support resource must be individually free — which can cause unnecessary blocking. With pools, the system only needs a single member of the pool to be available.
Real-life example — Car Detailing Service:
Your shop has 3 wash bays (Bay 1, Bay 2, Bay 3) assigned as support resources for your detailing service.
| Setup | What Happens |
|---|---|
| No pool | All 3 bays are reserved on every booking. If Bay 1 is occupied, the slot is blocked — even though Bays 2 and 3 are empty. |
| "Wash bays" pool | Only 1 bay is reserved per booking. If Bay 1 is busy, the system tries Bay 2 — if it's free, the booking goes ahead. The slot is blocked only when ALL 3 bays are busy. |
{primary} Use pools when you own several identical interchangeable units (wash bays, salon chairs, treatment rooms, rental cars, machines). Don't use pools when the resource is unique (like a single X-ray machine) or the customer should choose it — that should be a primary resource.
Pools are configured when assigning resources to a service — they're not a property of the resource itself. You set a pool name in the Pool field that appears when a resource is marked as support. See Creating a Service for the full workflow.
The Resources page at /provider/resources shows all your resources in a table. Each row displays:
| Column | What It Shows |
|---|---|
| Name | Resource name with its internal code (if set) shown in smaller text |
| Type | The resource type label with behaviour underneath (e.g., "Hub · 10" for a room with capacity 10) |
| Linked Staff | The staff member's name (only for Staff-type resources) |
| Status | Availability status badge |
| Schedules | How many schedules are configured for this resource |
| Actions | Buttons to edit, copy, manage schedules, deactivate, or archive |
Type in the search box to filter by resource name, code, or description.
Click New Resource — a form appears at the top of the page so you can create without navigating away. The same form is used for editing and copying.
Fill in the following fields:
| Field | What to Enter |
|---|---|
| Name | A clear name (e.g., "Premium Treatment Room A", "Canon EOS R5") |
| Type | Staff, Room, Equipment, Vehicle, Facility, or Asset |
| Behaviour | Operational or Hub |
| Capacity | (Hub only) How many simultaneous bookings are allowed |
| Overlap Mode | (Hub only) Exclusive, Shared Session, or Rolling |
| Status | Available, Unavailable, or Maintenance |
| Description | Optional notes or description |
| Image | Optional photo |
When the type is Staff, you can link this resource to a staff member's account. The linked staff member will appear in the table row.
Each type has its own specification fields that appear when you select the type:
Staff:
Room:
Equipment:
Facility:
Vehicle:
Asset:
These specifications are for your reference and appear on the resource card.
Use the Copy button to duplicate an existing resource. The copy gets the same settings with " (Copy)" appended to the name. This is useful when you have multiple similar resources (e.g., several identical treatment rooms).
Schedules define when a resource is available for booking. Each resource can have multiple schedule rules — for example, "Open 9–5 on weekdays" plus "Closed on public holidays".
Click the Schedules button on any resource row to go to its schedule page. See Resource Scheduling for full details on setting up availability windows.
You can deactivate a resource temporarily (change its status to Unavailable) or archive it permanently.
Archived resources can be reactivated later if needed.