Sample Flows

This article presents a possible use case and corresponding sample flow that you can support. This can be a helpful jumping-off point as you plan your implementation.

Configure and enforce a cancellation fee

A restaurant owner wants to discourage late cancellations and no-shows by requiring a card guarantee or prepayment, and charging a fee when a guest cancels too close to their reservation time or doesn't show up.

Prerequisites

The Wix user must do the following:

  • Install the Table Reservations app.
  • Configure at least 1 reservation location.

Flow

  1. The restaurant owner configures a cancellation policy for their reservation location, either through the dashboard or by calling Update Reservation Location with configuration.cancellationPolicy set. Choose CARD_GUARANTEE if guests should provide a card that may be charged after the fact, or PREPAYMENT if guests should pay upfront. Both payment methods can define a cancellationFee with a free-cancellation window; see the card-guarantee and prepayment examples.
  2. When a guest books a reservation at that location, the Reservations API automatically copies the location's current cancellation policy onto the new reservation as cancellationPolicy. This snapshot is immutable — later changes to the location's policy don't affect reservations that were already made.
  3. If the guest cancels the reservation (using Cancel Reservation) inside the free-cancellation window, or the reservation is marked NO_SHOW, the reservation's cancellationFeeState.applicable is set to true.
  4. Retrieve the reservation with Get Reservation and check cancellationFeeState.applicable. When it's true, surface a "Charge fee" action to the restaurant owner using the fee terms from the reservation's cancellationPolicy snapshot.
  5. Charge the guest through your own payment integration (for example, an eCom or Payments API) using the payment method the guest provided when they booked. Charging the fee isn't performed by the Reservation Locations or Reservations APIs.

Last updated: 17 July 2026

Did this help?