Status transitions
The following flowcharts illustrate the allowed status transitions for bookings in Restoo, depending on whether they belong to the current, past, or future Work Day.Status groups highlighted in blue represent sets of statuses that can freely
transition among each other.
- Current work day
- Past work day
- Future work day
Who drives each transition
Your integration
Your integration drives status changes by calling Restoo API endpoints directly. The initial status returned when creating a booking depends on the venue configuration and, where applicable, the fallback option selected during the availability check — see Booking Creation Flow for the possible outcomes. Your integration can also cancel a booking fromCONFIRMED, REQUESTED, PENDING_MERCHANT_CONFIRMATION or PENDING_WAIT_LIST_BOOKING — see Cancellation Flow.
Restoo platform (you receive a webhook)
Many transitions are triggered by venue staff actions or automated platform logic — your integration does not initiate them. You are notified viabooking.created or booking.updated webhooks when they occur. Both event types are fired for all bookings, regardless of how or where they were created.
Common examples include venue staff accepting or declining a pending booking, marking a customer as arrived or a no-show, and platform-driven resolution of wait list and reconfirmation flows.
When a wait list slot opens, the customer is contacted — either automatically
by Restoo or manually by venue staff. The customer must actively accept or
decline the offer. Being on the wait list does not guarantee them the slot.
POS integration only
The POS integration drives additional transitions through dedicated endpoints: seating the table, tracking optional service stages, and closing the ticket. See Ticket Flow for details.Reconfirmation
Some venues require customers to confirm their attendance within a set time window before the reservation date. When this applies, Restoo handles the reconfirmation process automatically — it contacts the customer and updates the booking accordingly. No action is required from your integration. If you want to trigger reconfirmation manually from your integration, use theReconfirm Booking endpoint.