Resources
How resource allocation works
How Soul turns your staff, rooms and add-ons into bookable times, who it assigns, when resources are held or released, and what happens on reschedules, cancellations and deletions.
An allocation is a reservation of one resource for one booking: Ana, Tuesday 10:00–11:00, or 3 yoga mats, Saturday 09:00–10:15. This page explains the rules Soul follows, so you can predict which times clients will see and who they'll get.
1. What a session needs
Each session type has a list of requirements, one per row:
| Row | How many get reserved per booking | Applies to |
|---|---|---|
| Staff | One person from the session's staff list | Every booking |
| Room | One room from the session's room list | In-person bookings only |
| Add-ons | Each add-on separately: one unit, or one per seat with Per attendee on | In-person bookings only |
A client who picks Online in a hybrid session only needs a host.
2. How Soul finds open times
For each day, Soul starts from the session's hours and removes everything that doesn't work:
- The session's weekly hours and date-specific changes (for that session and for all sessions).
- Minimum Notice Time.
- For each possible host and room: their own weekly hours and date overrides, their existing allocations from any session type or event, plus your Booking Buffer Time around them, and, for linked staff, busy times in their connected Google Calendar.
- For add-ons: whether enough units are free for the seats being booked.
A time is offered when the whole session length fits, and at least one host (and one room, and enough of each required add-on) is free for all of it. With several hosts free at once, you can take several bookings at the same time, one per host.
Resource hours never add time. If a staff member works until 20:00 but the session closes at 18:00, nothing after 18:00 is offered.
3. Who gets assigned
| Setting on the session | What happens |
|---|---|
| Auto-assign | Soul goes down the session's list and assigns the first host (or room) who is free at that time. Clients don't see a choice. |
| Customer picks during booking | The client chooses above the calendar, starting from the first option. The calendar only shows times when their choice is free. |
Auto-assign is not a round robin and doesn't balance workload. Whoever is first in the list and free gets the booking, so earlier people fill up first. To share bookings evenly, give each person their own hours, or let clients pick.
There's no "any available" option for clients. If you want clients to be able to skip choosing, use Auto-assign. With Customer picks during booking, the first option is selected until they choose another.
4. Reserved, confirmed, released
Every allocation has a status, shown on the resource's Allocations tab and on the booking.
| Status | When | Blocks the time? |
|---|---|---|
| Reserved | A client has started checkout, or a booking is waiting for your approval (Pending). Also resources you assign by hand. | Yes |
| Confirmed | The booking is confirmed (paid or free, and approved if you approve manually) | Yes |
| Released | Checkout wasn't completed in time, the booking was cancelled, or you removed the resource from the booking | No |
An unpaid checkout holds its resources for about 15 minutes (longer while a payment is still settling). If the client doesn't finish, the hold is released and the time opens up again.
5. Group sessions
In a group session, the first booking for a slot picks the host and room. Later bookings for the same slot of the same session type join them: same host, same room, same format. If the first client chose in person, the slot stays in person. Per-attendee add-ons still count one unit per seat.
6. When two people book at once
Soul checks availability again at the moment of booking. If someone else took the last host, room or unit a moment earlier, the client sees "Selected time is no longer available, please select a different slot." and picks again.
7. Reschedules and cancellations
| Event | What happens to the resources |
|---|---|
| Booking rescheduled (by you or the client) | Same host, room and add-ons move to the new time. Soul checks they aren't already booked then. It doesn't pick someone new. |
| Booking cancelled | Its allocations are released and the calendar event is removed. In a group slot, the host and room stay reserved while others are still booked. |
| Booking left Pending | Resources stay reserved until you confirm or cancel. |
A reschedule only checks that the host and room aren't booked at the new time. It doesn't check their weekly hours, date overrides or Google Calendar. Clients can only reschedule into times the session is open, but double-check the host actually works then.
8. When you change resources
| Change | New bookings | Existing bookings |
|---|---|---|
| Remove a staff member or room from a session type | No longer offered for that session | Unchanged |
| Switch a resource to Inactive | Drops out of every session's times and pickers | Unchanged, still assigned |
| Delete a resource | Same as inactive, and it can't be brought back | Unchanged, still assigned. Replace it by hand. |
| Change hours or add a Block override | Times update straight away | Unchanged. Nothing is cancelled. |
| Lower an add-on's Capacity | Fewer units available | Unchanged |
| Remove a collaborator from your team | Their staff profile stays active, unlinked | Unchanged, but no new meeting links or calendar events |
If a resource you deleted or switched off was the only option for a required row, that session shows no times until you add another.
9. Events and sessions share resources
Resources reserved for an event are busy for the whole event, so 1:1 sessions can't use that host or room then. See Use resources in events.
Examples
| Setup | Result |
|---|---|
| Massage, staff Ana and Ben (Auto-assign), rooms 1 and 2 (Auto-assign). Ana is booked 10:00 in Room 1. | 10:00 is still offered: Ben in Room 2. |
| Same, but Room 2 is blocked for painting | 10:00 isn't offered: Ben is free but there's no room. |
| Yoga for 2–8 people, required per-attendee mats, capacity 12. 9 mats already in use at 09:00. | A booking for 3 more seats at 09:00 works (12 in use). A booking for 4 doesn't fit, so it isn't offered. |
| Coaching, staff Ana (Customer picks). Ana has a Block override on Friday. | A client who picks Ana sees no Friday times. |