Reservations progress from creation to completion through a series of phases. Each phase is represented by a status, which is stored as an enum in the status field of a reservation object.
This article explains the available statuses, and how a reservation can progress using the Reservations API.
Note: Reservations can be created and progress through phases as a result of actions on a Wix site or dashboard. For more information, see the Wix Restaurants Table Reservations articles.
The following statuses are listed roughly in order of their position in the reservation lifecycle:
HELD - The reservation is temporary and will expire in 10 minutes if its status isn’t changed. This phase temporarily reserves the required number of seats and tables for a given party size at a chosen time while a customer enters details and/or confirms their reservation request.REQUESTED - A customer finished requesting this reservation, meaning they have added all necessary details and confirmed the request. Restaurant staff can now either approve or decline the reservation request.DECLINED - The restaurant’s owner or staff declined the customer’s request to make the reservation.RESERVED - The reservation is confirmed.SEATED - The customer is currently occupying the table.CANCELED - The reservation is canceled.NO_SHOW - The customer didn't show up for their reservation.FINISHED - The reservation completed successfully.PAYMENT_INFORMATION_PENDING - The reservation is awaiting payment and will expire in 10 minutes if the customer doesn't provide payment information. This phase temporarily reserves the required number of seats and tables for the given party size at the chosen time. This status is set automatically when you call Reserve Reservation with a reservation in the HELD status that requires payment, or when you call Create Reservation and payment is required. After payment is completed, the status is automatically changed to RESERVED.This section explains how reservations can be created and progressed through their lifecycle.
This API provides 2 methods for creating reservations.
Create Held Reservation - This method creates a reservation with the HELD status. Reservations with the HELD status are only valid for 10 minutes. Trying to change a HELD reservation’s status after 10 minutes returns an error.
The Reservations page created by the Restaurants app on a Wix site creates held reservations to temporarily reserve time slots selected by customers while they enter further details.
After a customer completes the reservation process, call Reserve Reservation to change the reservation’s status to RESERVED or REQUESTED, depending on whether your project requires manual approval for online reservations.
You cannot call Update Reservation to change a reservation’s status from HELD. Trying to do so returns an error.
Create Reservation - This method creates a reservation with either the RESERVED status or the REQUESTED status if manual approval is required for confirmation (see manual approval below).
If you call Create Reservation with the MANAGE RESERVATIONS (FULL) permission scope, you can set more properties of the reservation in the request. This allows you to create the reservation with a status of your choice, and gives you the option to override the restaurant’s rules regarding online availability and table management.
To require manual approval for REQUESTED reservations at a location before they’re confirmed (RESERVED), set configuration.onlineReservations.approval.mode to MANUAL for that reservation location. Manual approval can also be set through a site’s Table Reservations app in the dashboard.
If manual approval is required for online reservations at a reservation location, reservations made using the reserveReservation() or Create Reservation methods or through the restaurant’s dashboard are automatically created with the REQUESTED status. This setting does not affect offline reservations.
To use the Reservations API to approve or decline a reservation, call Update Reservation and change the reservation’s status to RESERVED or DECLINED respectively.
Once customers have been seated (or the equivalent if the restaurant doesn’t have seats), change the status of the reservation to SEATED using Update Reservation.
A reservation can end as DECLINED, CANCELED, NO_SHOW, or FINISHED.
In each case, change the status using Update Reservation. Once any of the above statuses are set, the reservation is considered complete.
The following are examples of possible paths a reservation could take from creation to completion:
Finished
A customer selects a time slot for a reservation on the restaurant’s website. They proceed to enter their details and confirm their reservation request. The restaurant owner approves the reservation. The customer arrives and is seated. They finish their meal, pay, and leave.
This flow would be represented by:
HELD > REQUESTED > RESERVED > SEATED > FINISHED
Cancelation
A customer calls the restaurant and makes a reservation, but their car breaks down and they call again to cancel.
This flow would be represented by:
RESERVED > CANCELED
No Show
A customer makes a reservation using the restaurant’s app. The restaurant owner approves the reservation, but the customer never shows up.
This flow would be represented by:
REQUESTED > RESERVED > NO_SHOW