Search and filter reservations
Narrow the reservations already loaded for a service occurrence by visible row text and reservation status. These filters only change the rows shown in the List tab; they do not update reservations or run a dedicated backend search.
In this article
Use this guide when the front-of-house team needs to find a reservation in an already loaded service, such as the Harbor Soho lunch service in the GB demo runtime.
Search and status filters are read-only. They affect the Reservations table on the List tab only, while statistics and the Timeline view continue to use the full reservation collection.
Before you start
- Harbor Demo Group and Harbor Soho are selected, or an equivalent location with a loaded reservation service is open.
- The operator has `reservation:view`, `reservation:manage`, or `system-admin` access for the location.
- The occurrence detail is open at `/:orgId/:locationId/reservations/:occurrenceId` with a non-empty occurrence id.
- The occurrence, reservations, customers, table assignments, and layout data have finished loading.
Instructions
- 1.
Open the occurrence list
Open the reservation occurrence for the service. The detail screen opens on the List tab by default; in current captures this tab may appear as `Lista`.
- 2.
Review the loaded reservations
Leave Search reservation empty and keep the status selector on All statuses to show every reservation already loaded for the occurrence. Rows are ordered by start time and show customer, phone, party size, assigned tables, time, and status.
- 3.
Search visible reservation details
Type a visible value in Search reservation, such as Liam Scott in the GB demo runtime. The table narrows immediately to rows whose visible details match the text.
- 4.
Filter by reservation status
Open the status selector and choose a reservation state such as Confirmed, Seated, Waitlist, No show, or Cancelled. Choose All statuses again to remove the status filter.
- 5.
Respect access limits
Operators with view-only access can still search and filter the list. Row actions such as editing, deleting, or reactivating remain hidden unless the operator also has `reservation:manage`.
Validations and limits
- If organisation, location, or `occurrenceId` is missing, the screen shows the not-found state.
- If the operator lacks reservation view or manage access, the screen shows the reservation permissions message.
- Search ignores leading and trailing spaces and matches without case sensitivity.
- Search compares visible row details: customer name, phone, party size, assigned tables, time, and status label.
- Search does not inspect notes, channel, ids, occurrence ids, or preferred and restricted table ids.
- The status selector is limited to `all`, `hold`, `booked`, `seated`, `waitlist`, `noshow`, and `cancelled`.
- When search and status are both active, both must match: status is applied first, then text search.
- Filters are not saved in the URL, deep link, backend, or user profile.
- Filtering does not change service statistics or the Timeline view.
Expected result
The operator gets a narrowed Reservations table for the current service without changing reservation data, customer data, table assignments, statistics, or backend search state.