Open Waitlist Analysis
Open a Harbor Soho service occurrence that is already in `waiting_list` mode, review pending waitlist reservations such as Sara Molina, and inspect suggested times, tables and optimisation metrics before any promotion action is taken.
In this article
The waitlist analysis panel helps front-of-house teams decide whether a pending guest can be seated from a live service occurrence without confirming anything immediately.
For the GB demo, this guide uses Harbor Demo Group, Harbor Soho, `BOOKING_WAITLIST_OCCURRENCE_ID` and the waitlist guest label `OPTIMIZATION_WAITLIST_RESERVATION_LABEL` for Sara Molina.
Before you start
- Sign in to Harbor Demo Group and work in the Harbor Soho location.
- The user can view or manage reservations for the location. The backend analysis also requires `reservation-automatic:use` and at least one of `reservation:view`, `reservation:manage` or `optimization:view`.
- Open a valid Harbor Soho service occurrence with `booking_mode=waiting_list`; in the GB runtime, use `BOOKING_WAITLIST_OCCURRENCE_ID`.
- The service occurrence must have a floor plan and optimisation configuration for the same location.
- For a useful walkthrough, the occurrence should include at least one `waitlist` reservation, expected as Sara Molina in the GB runtime.
Instructions
- 1.
Open the waitlist service occurrence
From the reservations calendar, open the Harbor Soho occurrence in waitlist mode, or use the direct route. The primary action should read `Lista de espera` instead of `Nueva reserva`.
- 2.
Open the Waitlist panel
Select `Lista de espera`. The app opens the waitlist analysis panel for the current occurrence and clears any previous row selection or expansion.
- 3.
Let the analysis load
On first open, the app requests the waitlist analysis for the occurrence. Reopening the same occurrence can reuse the local result unless the panel is refreshed.
- 4.
Review pending reservations
Check the waitlist rows. Sara Molina should appear with the waitlist state, party details and a summary of suggested slots or a no-slots state.
- 5.
Expand the reservation
Open Sara Molina's row to inspect the optimiser suggestions, including start time, table names, split context when present, and metric badges for risk, saturation, preference fit and score.
- 6.
Refresh stale suggestions
Use Refresh only when the current suggestions need recomputing. The panel sends `force=true` to the same waitlist-analysis endpoint.
- 7.
Stop before promotion
Treat this action as review-only. Choosing a suggested slot and confirming the reservation belongs to the separate waitlist promotion action.
Validations and limits
- If the occurrence is not in `waiting_list` mode, the primary action remains `Nueva reserva` and the waitlist panel is not the intended path.
- If `occurrenceId` is missing, opening the panel is a no-op.
- Only reservations with `status=waitlist` appear in the analysis; booked, seated, hold, no-show and cancelled reservations are not shown as waitlist rows.
- The backend checks permissions, `reservation-automatic:use`, service event kind, layout, optimisation configuration and `booking_mode=waiting_list`.
- The endpoint only accepts `GET`; Refresh sends `force=true`, and the backend treats it as true only when the trimmed query value equals `true` case-insensitively.
- If the optimiser cannot find a viable slot, the reservation remains visible and the expanded state explains that no viable slot is currently available.
- Opening or refreshing this panel does not confirm a reservation, change reservation status, assign tables or create `service_occurrence_optimization_runs`.
Expected result
The supervisor has reviewed the live waitlist analysis for the Harbor Soho occurrence and can decide whether to move into the separate promotion flow, without changing the reservation during this guide.