Waitlist
Fully booked doesn't have to mean a lost customer. The waitlist is a simple queue for people who want a service but couldn't get a slot. Capture their name, contact, the service they want and (optionally) a preferred provider and date — then, when a matching booking is cancelled, everyone who fits the freed-up slot is emailed automatically that a spot opened. You can also add people by hand and nudge any waiting customer manually with a single click.
What the waitlist is
The waitlist answers the "we're fully booked" problem. Instead of turning a customer away, you hold their request in a queue. Each row is a waitlist entry: one customer waiting for one specific service, with an optional preferred provider and preferred date, and a status that moves through its life-cycle.
The whole area is purely a queue. It records who wants what and whether they were told a slot opened — it does not book anything. Removing an entry soft-deletes it (it is hidden, not destroyed), so your demand history is preserved.
The waitlist screen
Open Appointments → Waitlist. You get a single list with an Add to Waitlist button, per-row actions, and a status filter. The table shows five columns plus an actions column:
| Column | What it shows |
|---|---|
| Customer | The name of the person waiting. If there is no email, the phone number shows as a fallback under the name. This is also the default sort column (ascending). |
| Service | Which service they are waiting for. Shows - if that service was later deactivated or removed. |
| Provider | The preferred staff member, or Any available provider when they have no preference. |
| Preferred date | The date they'd ideally like, or Flexible when they left it blank. |
| Status | A coloured chip: Waiting, Notified, Booked, or Cancelled. |
| Actions | Per-row icons — bell (Notify), pencil (Edit), X (Delete). Which icons appear depends on your permissions and the row's status. |
Row action icons
How entries get created (manual & online)
Two kinds of people put rows on this list. Every entry — however it started — begins in the Waiting status. Each carries a hidden source tag recording where it came from.
Front desk or a manager adds a walk-in or phone enquiry directly from the waitlist screen with the Add to Waitlist button. These entries are tagged source staff and record who created them. See the SOP below.
A customer on the public booking page picks a service, finds no free times, and clicks Join the waitlist. These entries are tagged source online. The service and the date they were trying for are carried across automatically.
The Add / Edit form
The staff form (a modal popup) has these fields. Only Service and Customer name are required; everything else is optional but recommended.
| Field | Required | What it does |
|---|---|---|
| Customer | No | A Select2 dropdown of existing customer accounts, shown as Name (email). Picking one auto-fills the Customer name (only if it's still blank) by stripping the email in parentheses. Leave blank for an enquiry with no account. |
| Customer name | Yes | Free text — the name of the person waiting. Shown in the Customer column. Required even when you selected an account (the dropdown only fills it if it was empty). |
| No* | Where the "a slot opened" email is sent. Must be valid to actually receive one. *Recommended — see the warning below. | |
| Phone | No | Contact number, shown as a fallback under the name when there's no email. Display/contact only — no automated SMS. |
| Service | Yes | What they're waiting for. Lists active services only. This is what matching for auto-notify is based on. |
| Provider | No | A preferred staff member, or the default Any available provider. Leave it as Any for the widest matching. Lists active staff. |
| Preferred date | No | The date they'd ideally like. Leave blank if the customer is flexible — blank shows as Flexible and matches a freed slot on any date. |
| Status | Edit only | Waiting / Notified / Booked / Cancelled. Hidden when creating — new entries always start as Waiting. Only appears when editing. |
| Notes | No | Internal free-text (2 rows). Never shown to the customer — use it for why they're waiting or any special request. |
Customers joining online when no slots
On the public booking page (/appointments/book/{company-slug}), when a customer picks a service and date that returns "No available times for this date.", a prompt appears: "No times available? Join the waitlist and we'll email you if a spot opens." Clicking Join the waitlist reveals a mini-form.
| Field on the public mini-form | Required | Notes |
|---|---|---|
| Customer name | Yes | Free text. |
| Yes | Must be a valid email — this is where the notification goes. | |
| Phone | No | Optional here (unlike the main booking form, where phone is required). |
| Service & preferred date | — | Carried over automatically from the booking flow. An optional preferred provider may carry across too. |
On submit the customer sees "You're on the waitlist — we'll email you if a spot opens." and the row appears on your staff screen as Waiting with source online. The public join only works when public booking is enabled and the service is both Public and active.
Waitlist statuses
Every entry sits in one of four statuses. The chip colours are consistent with the rest of Appointments.
…with Cancelled as the off-ramp when the customer drops off or no longer needs the slot.
#f0ad4e.
#5bc0de.
#5cb85c.
#d9534f.
The status flow
A typical journey is Waiting → Notified → Booked. The move to Notified happens automatically (on a cancellation) or manually (the bell). The moves to Booked and Cancelled are always done by hand — nothing converts on its own. Use Booked when the customer actually re-booked, and Cancelled when they no longer need it.
The status filter
Checkboxes above the table control which statuses show. Multiple can be ticked at once. The list reloads to show only the checked statuses.
| Status | Shown by default? |
|---|---|
| Waiting | Yes |
| Notified | Yes |
| Booked | No — tick to reveal |
| Cancelled | No — tick to reveal |
Notifying a customer a slot opened (SOP)
"Notifying" means emailing a waiting customer the "a spot just opened — book now" message and moving them to Notified. The email is built from the slot-open email template and includes a link back to the public booking page. Notifying happens two ways.
Automatic — on a cancellation
This runs by itself with no button. When an appointment is cancelled on the calendar, the system reads that appointment's service, date, and provider, finds the matching Waiting entries, emails each the slot-open template, and flips each to Notified.
SOP — Manually alert a waiting customer a slot opened
Actor: Front desk / manager. Goal: tell one specific waiting customer that a slot just freed up.
-
Open the waitlist
Go to Appointments → Waitlist. Waiting entries show by default.
-
Find the waiting customer
Locate the person whose desired service/time just freed up. The bell only appears on Waiting rows.
-
(If needed) confirm they have an email
If the row shows a phone but no email, click the pencil (Edit) and add a valid email first — otherwise the notify silently sends nothing.
-
Click the bell — "Notify (slot open)"
The system emails them the slot-open template (with a booking-page link) and flips the entry to Notified. The table reloads and you'll see "Waitlist entry notified."
Converting a waitlist entry to a booking (SOP)
This is the payoff: a notified customer re-books, and you record that the waitlist entry converted. Remember — the waitlist never creates the appointment. The booking itself is made in the normal flow; this SOP only records the outcome so your Waiting list reflects real, live demand.
SOP — Convert a waitlist entry into an appointment
Actor: Front desk / manager. Goal: book the notified customer and mark the entry Booked.
-
Create the actual appointment
Book it the normal way — either the customer books themselves from the link in their slot-open email, or you create it at the front desk on the Calendar (pick service, provider, date, a real available time, attach the customer, Save).
-
Open the waitlist entry
Go to Appointments → Waitlist. A Notified entry shows by default; if it's still Waiting it also shows. Click the pencil (Edit) on the row.
-
Set the status to Booked
In the modal, change the Status dropdown to Booked (the dropdown only appears in edit mode).
-
Save
Click Save. The entry moves to Booked and drops out of the default view, keeping your Waiting list clean. You'll see the record-updated confirmation.
Add a customer to the waitlist (SOP)
Actor: Front desk / manager. Goal: put a walk-in or phone enquiry on the queue when you're fully booked.
-
Open the waitlist
Go to Appointments → Waitlist and click Add to Waitlist (top-right).
-
Attach or name the customer
Pick an existing Customer from the dropdown (this auto-fills the name if it's blank), or just type the Customer name for someone with no account.
-
Capture contact details
Enter the Email (strongly recommended — it's what the notify email needs) and Phone.
-
Choose the Service
Pick the Service they want (required; active services only). Matching for auto-notify is done on this service.
-
Set preferences (or leave them open)
Optionally pick a preferred Provider (or leave Any available provider) and a Preferred date (or leave blank for Flexible). Leaving both open maximises the chance of an auto-notify match.
-
Add notes & save
Jot any internal Notes, then click Save. The entry appears as Waiting (source
staff). The Status field is not shown when creating — new entries are always Waiting.
How auto-matching works
Matching is the rule the system uses to decide which Waiting entries get auto-emailed when an appointment is cancelled. An entry matches when all three are true:
| Condition | What it means |
|---|---|
| Same service | The entry's service equals the cancelled appointment's service. |
| Date matches | The entry's preferred date is blank (Flexible) OR equals the cancelled appointment's date. |
| Provider matches | The entry's preferred provider is Any available / unassigned OR equals the cancelled appointment's provider. |
Only entries still in Waiting are considered — anything already Notified, Booked, or Cancelled is skipped. The tighter a customer's preferences, the fewer cancellations will match them.
Tips & gotchas
Flexible vs preferred date
This is the single most impactful choice on a waitlist entry, so it's worth being deliberate about it.
| Preferred date set | Flexible (blank) | |
|---|---|---|
| Shows in list as | The chosen date | Flexible |
| Auto-notify matches | Only a cancellation on that same date | A freed slot on any date |
| Best for | Customers who can only make one specific day | Customers who'll take the first opening |
Quick tips
- Always fill in an email. It's what makes both automatic and manual "slot opened" alerts actually reach the customer.
- Keep the Waiting list honest. After a customer re-books, set the entry to Booked so your Waiting list reflects real, live demand.
- Use the filter to review conversions. Tick Booked to see how many waitlisted customers came back, and Cancelled for drop-offs.
- Link to an account when you can. Choosing an existing Customer keeps contact details consistent and auto-fills the name.
- Notes are internal only. Never shown to the customer — use them to record why they're waiting or any special request.
- After a busy cancellation, mop up manually. When auto-notify hits its 20-email cap, work down the remaining Waiting rows with the bell so everyone matching gets alerted.
Edge cases & FAQ
The Status dropdown is hidden on the create form — new entries are always created as Waiting. To set a different status, save first, then reopen the entry with the pencil (Edit) icon; the Status dropdown appears only in edit mode.
A customer says they never got the "slot opened" emailNotifying with no valid email silently flips the entry to Notified but sends no email. Check the entry's Email field is filled and valid. If it was missing, add it via Edit, set the status back to Waiting, then click the bell again.
The bell icon isn't showing on a rowThe manual Notify (slot open) bell only appears on Waiting rows. Once an entry is Notified, Booked, or Cancelled you can't re-notify from the bell — Edit it back to Waiting first if you need to alert them again.
I cancelled an appointment but nobody was auto-notifiedAutomatic notification fires when an appointment is cancelled on the calendar — not when a slot opens for any other reason (e.g. a reschedule). Check that Waiting entries actually match the cancelled service, date, and provider, and remember the 20-email cap.
Some matching customers weren't emailed on a cancellationAuto-notify is capped at 20 emails per cancellation. On a busy list, the rest won't be emailed automatically — use the manual bell to work down the remaining matching Waiting rows.
The Service column shows "-"The Service dropdown lists only active services. If a service is later deactivated or deleted, existing entries for it show - in the Service column. Edit the entry to point it at a current service if needed.
No. The waitlist is purely a queue. A notified customer must still book (online or at the front desk), and staff must manually set the entry to Booked. Nothing auto-converts — see Converting a waitlist entry to a booking.
I deleted an entry by mistake — is it gone?Delete only soft-deletes the entry: it's hidden from the list, but the history is retained rather than destroyed.
Customer name is required even after I picked an account?Yes. Selecting an existing Customer from the dropdown auto-fills the name field only if it's currently empty. Customer name is always required on both the staff form and the public join form.