1. Bookings
Bardge API (V3)
  • Introduction
  • Authentication
  • Errors
  • Idempotent Requests
  • Pagination
  • Passes
    • Introduction
    • Get All Reseller Passes
      GET
    • Issue a pass
      POST
    • Update user's pass
      POST
    • Update user's pass expiry
      POST
    • Renew a prepaid pass
      POST
    • Get User Pass Details
      GET
  • Providers
    • Introduction
    • Get providers
      GET
    • Get providers for a pass
      GET
  • Access Codes
    • Introduction
    • Generate dynamic access code
      POST
  • Bookings
    • Introduction
    • Get class categories
      GET
    • Get classes
      GET
    • Get class with instances
      GET
    • Initiate a class booking
      POST
    • Confirm a class booking
      POST
    • Initiate a spa booking
      POST
    • Confirm a spa booking
      POST
    • Get client bookings
      GET
    • Get booking status
      GET
    • Cancel a booking
      POST
  • Credits
    • Introduction
    • Purchase credits
    • Get credit packages
  • Lookup
    • Introduction
    • Get issuers
    • Initiate a lookup
    • Verify a lookup
    • Get a user
    • Get a user's credits
  • Webhooks
    • Introduction
    • List Webhook Endpoints
    • Register Webhook Endpoint
    • Delete Webhook Endpoint
  • Hosted Sessions
    • Introduction
    • Create a hosted session
  • Schemas
    • RegisterWebhookV3Request
    • PasscodeV3Request
    • PurchaseSpaCoPayV3Request
    • RegisterWebhookEndpointRequest
    • WebviewSessionExchangeRequest
    • ErrorDetail
    • ResellerV3PasscodeResponse
    • ResellerV3ErrorResponse
    • ResellerV3WebhookEndpointResponse
    • ResellerV3WebhookResponse
    • LookupInitiateV3Request
    • ResellerV3SpaCoPayPurchaseResponse
    • LookupV3Response
    • SpaCoPayQuoteV3Request
    • PassRef
    • LookupVerifyV3Request
    • ResellerV3SpaCoPayQuoteResponse
    • CategoryDetails
    • IssuePassV3Request
    • RenewPrepaidPassV3Request
    • UpdateLookupEnabledRequest
    • ResellerV3IssuedPassResponse
    • UpdateIssuedPassExpiryV3Request
    • PurchaseCoPayPackageV3Request
    • PurchaseGymCoPayV3Request
    • ResellerV3IssuedPassMessageResponse
    • ResellerV3PassRenewalResponse
    • ResellerV3GymCoPayPurchaseResponse
    • ResellerV3CoPayPurchaseResponse
    • UpdateIssuedPassV3Request
    • RescheduleBookingV3Request
    • PurchaseCreditsV3Request
    • PasscodeInfo
    • WebviewSessionMintRequest
    • RefundInfo
    • BookSpaV3Request
    • ResellerV3CreditPurchaseResponse
    • UpdateClientDetailsV3Request
    • ResellerV3SpaBookingInitiateResponse
    • ResellerV3ProviderResponse
    • ResellerV3ClientResponse
    • BookClassV3Request
    • ResellerV3ServiceResponse
    • SetClientIdV3Request
    • CopayOption
    • ResellerV3SpaResponse
    • ServicePreview
    • ResellerV3ClassBookingInitiateResponse
    • ResellerV3AvailabilityResponse
    • ConfirmClassBookingV3Request
    • ResellerV3AccessCodeSessionResponse
    • ResellerV3BookingResponse
    • ConfirmAccessCodeV3Request
    • CategoryDetail
    • AccessCodeV3Request
    • ResellerV3PassResponse
    • ResellerV3ListResponse
    • ResellerV3CreditsResponse
    • ResellerV3AccessCodeResponse
    • ResellerV3BookingStatusResponse
    • ResellerV3ClassInstanceResponse
    • ResellerV3ClassResponse
  1. Bookings

Introduction

Bookings represent appointments and class reservations made on behalf of a client at a provider. The API supports two distinct booking flows — spa appointments and gym classes — each with its own request shape and scheduling rules.

What you can do#

List class categories
List classes
Book spa services for a client
Book a class appointment for a client
Cancel a booking
List bookings for a client
Retrieve the status of a single booking

Key concepts#

Spa vs class bookings
Spa and class bookings are separate flows with separate endpoints and required fields. Do not attempt to mix them.
FlowEndpointWhat you provide
Spa appointmentPOST /bookings/spaProvider, service, slot, client details
Class bookingPOST /bookings/classProvider, class instance ID, client details
Spa bookings require a specific time slot obtained from the provider's availability endpoint. Class bookings require a class instance ID obtained from the provider's class schedule.
Booking lifecycle
StatusMeaning
pendingThe booking was created and is awaiting provider confirmation
confirmedThe booking is active and the slot or class instance is reserved
cancelledThe booking has been cancelled; the slot is released
completedThe visit took place
rescheduledThe booking was moved; the original is closed and a new booking was created
Cancellation
Cancellation is irreversible. Once a booking is cancelled, the slot is released back to the provider and cannot be reclaimed via the API. If the client wants to visit at the same time, create a new booking — availability is not guaranteed.
The cancel endpoint is idempotent by design: cancelling an already-cancelled booking returns a permission_denied error with no side effects.
Idempotency
Always include an Idempotency-Key header on booking creation and rescheduling requests. Network timeouts on these endpoints can leave the booking state ambiguous — an idempotency key lets you retry safely and receive the original response if the request already succeeded.

Related sections#

Providers — retrieve available class instances before creating a booking
Co-pay — purchase a co-pay package if the users pass or credits don't cover a class appointment or spa service
Lookup — generate a lookup token to book a class or spa service
Modified at 2026-08-18 01:56:37
Previous
Generate dynamic access code
Next
Get class categories
Built with