Skip to content

Bookings — read

List reservations for a brand. Pass the brand slug as `brand` (call list_brands first if you don’t know it). Filters: `date` (YYYY-MM-DD, brand local), `status` (one of: booked, confirmed, pending_confirmation, arrived, seated, completed, cancelled, no-show), `search` (matches name/phone). Defaults to active statuses (booked, confirmed, pending_confirmation, arrived, seated) when no status is set. Paginated — pass `cursor` from a prior response to get the next page; `limit` defaults to 25, max 100.

Required scope: bookings.read

Parameter Type Required Description
brand string no Brand slug (e.g. ‘il-caminetto’). Optional in JWT mode (auto-resolved from session). Required in API-key mode when key grants multiple brands — call list_brands to see them.
date string no Filter to a single date (YYYY-MM-DD, brand local).
status enum no Single status filter. Omit to default to active statuses only.
search string no Substring match against guest name or phone.
cursor string no Opaque pagination cursor returned by a prior list_bookings call.
limit number no Max results, default 25, max 100.
include array no Optional enrichment slices. `guest` adds dietary/allergies/tags/birthday/anniversary/internalNotes per row. `history` adds visitCount/lastVisitMs/isFirstTime per row. Skip when you only need names + times — defaults stay light.

Fetch a single reservation by id. Pass the brand slug as `brand` (rejected if the reservation belongs to a different brand than this API key was granted access to).

Required scope: bookings.read

Parameter Type Required Description
brand string no Brand slug. Optional in JWT mode. In API-key mode pass the slug from list_brands. The reservation must belong to the resolved brand.
id string yes Reservation ID (24-character hex string).