Skip to main content
Manage bookings from the customer’s perspective — cancel, edit, personalize, and accept invitations. For creating bookings, see Order & Checkout Flow. For admin booking management, see Admin Booking Lifecycle. For general conventions, see JSON-API Conventions.

Prerequisites

  • A booking associated with the authenticated customer account, or
  • A booking number/code for unauthenticated lookup

Booking Statuses


Looking Up Bookings

Request path documentation:
  • paths/public/bookings.yaml for GET /api/v1/bookings/by-number

By Booking Number

Accepts an optional hash parameter for terminal/kiosk authentication.

Cancelling a Booking

Request path documentation:
  • paths/public/bookings.yaml for GET /api/v1/bookings/{booking_id}/cancel

Step 1 — Preview Cancellation Terms

Before cancelling, check the cancellation policy:
Returns the applicable cancellation fee based on how far in advance the cancellation is made. The response includes:
  • The fee percentage or amount
  • The refund amount
  • The deadline for the current fee tier

Step 2 — Cancel

The cancellation can apply to a single booking or an entire recurring series, depending on the booking type. Refunds and invoice adjustments are handled automatically.

Accepting or Rejecting Invitations

When a participant is invited to a booking (status: invited):

Accept

Updates the participant’s status to accepted.

Reject

Removes the participant from the booking.

Personalization

Submit custom form data for a booking (e.g. dietary preferences, t-shirt size):
The required fields are dynamic — they depend on the service’s CustomForm configuration. A CustomForm defines which fields are available and which are mandatory. Fetch the service’s custom form to discover the expected field UUIDs and types before submitting personalization data.

Editing an Accepted Booking

Edit Participants

Edit Service Options (Add-Ons)

Change add-on selections on an accepted booking:
Note: This endpoint is only available when the service has canEditServiceOptions enabled.

Edit Booking Date/Time (Rebooking)

Change the date, time, or resource of an accepted booking:
The new time is validated against availability. If the edit creates a price difference, the order is recalculated automatically. Each edit endpoint (edit-participants, edit-service-options, edit-booking-base-data) is self-contained — a successful response means the edit is applied. There is no separate “finish edit” endpoint.

Cancel an In-Progress Edit

If you started an edit but want to revert:
Reverts the booking to its original state before the edit was initiated.

Instant Booking

Request path documentation:
  • paths/public/bookings.yaml for POST /api/v1/bookings/instant
Create and complete a booking immediately in a single request:
This flow is documented in the customer API only. It requires an authenticated customer context and a service that supports instant bookings (controlled by the can_instant_book flag in the service’s meta configuration).

Common Errors