The Waitlist page gives front-desk staff a real-time view of everyone waiting in the salon, whether they walked in off the street or submitted an appointment request through the system. The page refreshes automatically every 30 seconds so you always see an up-to-date queue without having to manually reload. Use it to notify clients when a stylist is ready, seat walk-ins, or convert appointment requests into confirmed bookings.
Navigate to /waitlist from the main menu.
What you'll see: A page titled "Waitlist" with a subtitle "Manage walk-ins and appointment waitlist." At the top right are two buttons: "Refresh" (with a circular arrow icon) and "Add to Waitlist" (with a plus icon). Below the header, four summary cards show the current queue state.
The four metric cards at the top give you an instant overview:
| Card | What it shows |
|---|---|
| Total Active | Total number of entries currently waiting or pending |
| Walk-Ins Waiting | Walk-in entries with status "Waiting" |
| Appts Pending | Appointment requests not yet offered a slot |
| Avg Wait Time | Average wait time in minutes across active walk-ins |
These cards also refresh every 30 seconds.
Below the summary cards are three tab-style buttons: All Types, Walk-Ins, and Appointments. Click one to narrow the list to just that category.
What you'll see: The selected tab highlights in blue; others appear as white outlined buttons.
A row of status filter buttons sits below the entry type tabs:
| Status | Description |
|---|---|
| All | Shows every entry |
| Waiting | Walk-ins waiting for a stylist |
| Pending | Appointment requests awaiting an offer |
| Offered | Appointment requests that have been offered a time slot |
| Seated | Walk-ins who have been assigned to a stylist |
| Booked | Appointment requests that have been confirmed |
| Cancelled | Entries that were cancelled |
| No Show | Clients who did not arrive |
Each button shows the count of entries in that status in parentheses.
Each entry in the list appears as a card with:
Walk-in entries in "Waiting" status show the following action buttons:
| Action | What it does |
|---|---|
| Notify | Sends a notification to the client that a stylist will be ready soon; use this before seating. |
| Seat | Marks the client as seated and moves the status to "Seated"; use when you are handing them off to a stylist. |
| Convert to Appt | Converts the walk-in into a full appointment in the appointments system. |
| Cancel | Removes the entry from the active queue (status becomes "Cancelled"). |
| No Show | Marks the client as a no-show (status becomes "NO SHOW"). |
Appointment requests go through a two-step workflow:
When status is "Pending":
When status is "Offered":
Click Add to Waitlist to open the "Add to Waitlist" modal. First choose the entry type:
Walk-In tab (teal):
| Field | Required | Notes |
|---|---|---|
| Customer Name | Yes | Free text |
| Phone Number | No | Used for SMS notifications |
| No | Used for email notifications | |
| Party Size | No | Defaults to 1 |
| Preferred Stylist | No | Drop-down of all employees; "Any stylist" if left blank |
| Notes | No | Free text |
Appointment tab (indigo):
| Field | Required | Notes |
|---|---|---|
| Client ID | Yes | Numeric ID of an existing client record |
| Service | Yes | Drop-down of all available services |
| Preferred Date/Time | No | Date-time picker for the client's preferred slot |
| Preferred Stylist | No | Drop-down of all employees |
| Notes | No | Free text |
Click Add to Waitlist to save, or Cancel to close without saving.
If you want to force an immediate data reload without waiting for the 30-second auto-refresh, click the Refresh button in the page header.
| Issue | Solution |
|---|---|
| Entry type tabs show no results | The status filter may also be active — reset both to "All Types" and "All". |
| "Convert to Appt" does not appear | That button only shows for walk-in entries in "Waiting" status. |
| "Book" button is missing | The entry must be in "Offered" status first; click "Offer" to advance it. |
| Client not found when entering Client ID | Verify the client exists in the Clients section before adding an appointment-type entry. |
| Summary cards do not match the list count | Click "Refresh" — the cards and list may have loaded at slightly different poll intervals. |