Appointments Reference Public

Waitlist

End-user documentation for the ERPat Appointments module (spa / salon / clinic booking).

Guide version: r1 Module version: 1.0.0 Updated: 2026-07-22 Estimated time: 15 min
Daily Operations

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.

Front desk Manager Customer
ℹ️
Where this fits The waitlist is a lead / demand tracker — it never creates the appointment itself. A notified customer still books normally (online via the Online Booking Portal, or at the front desk on the Calendar), and you mark the entry Booked to record that it converted. Open it from Appointments → Waitlist.

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:

ColumnWhat it shows
CustomerThe 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).
ServiceWhich service they are waiting for. Shows - if that service was later deactivated or removed.
ProviderThe preferred staff member, or Any available provider when they have no preference.
Preferred dateThe date they'd ideally like, or Flexible when they left it blank.
StatusA coloured chip: Waiting, Notified, Booked, or Cancelled.
ActionsPer-row icons — bell (Notify), pencil (Edit), X (Delete). Which icons appear depends on your permissions and the row's status.

Row action icons

???? Notify (slot open)The bell. Manually emails a waiting customer that a spot opened and flips them to Notified. Only appears on Waiting rows.
✏️ EditReopens the entry in the modal to change contact details, service, provider, preferred date, notes, or status.
✕ DeleteSoft-deletes the entry — hides it from the list but keeps the history.
????
Who can do what Buttons appear based on your permissions: Manage Waitlist to view the screen, Create Waitlist Entry for the Add button, Update Waitlist Entry for Edit / status changes / the bell, and Delete Waitlist Entry for the X. Admins bypass all checks.

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.

FieldRequiredWhat 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).
Email 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.
⚠️
Always capture an email The email is what makes both the automatic and manual "slot opened" alerts actually reach the customer. If it's blank or invalid, the entry can still be flipped to Notified but no email is sent. Fill in a valid email on every entry you want to be able to notify.
????
Status can't be set at creation The Status dropdown is hidden on the create form — new entries are always Waiting. To set a different status you must save first, then reopen the entry with Edit.

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-formRequiredNotes
Customer nameYesFree text.
EmailYesMust be a valid email — this is where the notification goes.
PhoneNoOptional here (unlike the main booking form, where phone is required).
Service & preferred dateCarried 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.

Waiting
Queued, not yet alerted
Notified
"Slot opened" email sent
Booked
They re-booked

…with Cancelled as the off-ramp when the customer drops off or no longer needs the slot.

Waiting WaitingCustomer is queued and has not been alerted yet. Only Waiting rows show the manual bell and are eligible for auto-notify on a cancellation. Shown by default. Orange #f0ad4e.
Notified NotifiedA "slot opened" email has been sent — manually via the bell or automatically on a cancellation — and the notified time was stamped. Shown by default. Light blue #5bc0de.
Booked BookedThe customer converted — they actually re-booked. Set manually by staff. Hidden by default (tick the Booked filter to see them). Green #5cb85c.
Cancelled CancelledEntry is no longer active / the customer dropped off. Set manually. Hidden by default (tick the Cancelled filter). Red #d9534f.

The status flow

A typical journey is WaitingNotifiedBooked. 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.

StatusShown by default?
WaitingYes
NotifiedYes
BookedNo — tick to reveal
CancelledNo — tick to reveal
ℹ️
"Where did my entry go?" By default the list only shows Waiting and Notified. Once you set an entry to Booked or Cancelled it drops out of the default view — it's not gone, just filtered out. Tick its filter checkbox to see it again.

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.

????
Capped at 20 emails per cancellation Auto-notify fires whenever an appointment is cancelled on the calendar (any prior status) — it is not triggered when a slot opens for any other reason, such as a reschedule. There is a hard cap of 20 emails per cancellation. On a busy list some matching customers won't be emailed automatically — work down the rest with the manual bell.

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.

  1. Open the waitlist

    Go to Appointments → Waitlist. Waiting entries show by default.

  2. Find the waiting customer

    Locate the person whose desired service/time just freed up. The bell only appears on Waiting rows.

  3. (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.

  4. 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."

⚠️
Notify with no email still flips the status If the entry has no valid email, clicking the bell still moves it to Notified but sends no email. If a customer says they weren't emailed, check their Email field is filled and valid. The bell also only appears on Waiting rows — once an entry is Notified/Booked/Cancelled you can't re-notify from the bell; Edit it back to Waiting first.

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.

  1. 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).

  2. 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.

  3. Set the status to Booked

    In the modal, change the Status dropdown to Booked (the dropdown only appears in edit mode).

  4. 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.

ℹ️
If they don't re-book When the customer no longer needs the slot (or never responds), Edit the entry and set its status to Cancelled instead of Booked. Either way the row leaves the default view but the history is retained.

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.

  1. Open the waitlist

    Go to Appointments → Waitlist and click Add to Waitlist (top-right).

  2. 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.

  3. Capture contact details

    Enter the Email (strongly recommended — it's what the notify email needs) and Phone.

  4. Choose the Service

    Pick the Service they want (required; active services only). Matching for auto-notify is done on this service.

  5. 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.

  6. 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:

ConditionWhat it means
Same serviceThe entry's service equals the cancelled appointment's service.
Date matchesThe entry's preferred date is blank (Flexible) OR equals the cancelled appointment's date.
Provider matchesThe 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.

????
Leave it open to catch more slots To maximise the chance a customer is auto-notified, set Provider = Any available provider and leave Preferred date blank (Flexible). A specific date only matches a cancellation on that exact date; a specific provider only matches that provider's (or an unassigned) slot.

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 setFlexible (blank)
Shows in list asThe chosen dateFlexible
Auto-notify matchesOnly a cancellation on that same dateA freed slot on any date
Best forCustomers who can only make one specific dayCustomers who'll take the first opening
⚠️
A preferred date narrows matching Setting a preferred date means the customer is only auto-notified when a slot opens on that exact date. If they're genuinely open, leave it blank (Flexible) so any cancellation for the service can match them — and you can always still nudge them by hand with the bell.

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

Why can't I set the status when adding an entry?

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" email

Notifying 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 row

The 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-notified

Automatic 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 cancellation

Auto-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.

Does notifying — or booking — create the appointment?

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.


????
Next steps See where cancellations happen on the Calendar & Appointments page, how customers self-join from the Online Booking Portal, and turning a booked visit into payment on Checkout & Payments. Full cross-module procedures live under End-to-End Workflows; term definitions are in the Glossary.
Was this guide helpful?

Report a content problem