Introduction
AuthenticationSelecting dataFilteringSorting & pagination

Core resources

Api requestsAttribute optionsAttributesBooking detailsBooking updatesBookingsCalendar event notesCalendar event updatesCalendar eventsCapacitiesCapacity group dependenciesCapacity groupsContact bookingsContactsCoupon productsCoupon servicesCoupon usesCouponsExternal calendarsInvoicesLine item taxesLine itemsMembersMessage eventsMessage templatesMessagesOrganization calendar logsOrganizationsPaddle plansPaddle subscriptionsPaymentsPermissionsPrice calendar entriesPricelabs pricingPricing widgetsProduct attribute optionsProduct calendar logsProduct message templatesProduct reply to addressesProduct servicesProductsRefundsReply to addressesReview productsReview widget listingsReview widgetsReviewsSeasonsServicesSite listingsSite nav itemsSite pagesSite viewsSitesTask assigneesTask template assigneesTask templatesTasksTaxesUser profilesWebhook notificationsWebhooksWidget analyticsWidget listingsWidgets

Booking flow

Query availabilitySearch availabilityBookCart validateCart checkout

Cart checkout

Perform a booking of one or more items by providing a cart object. This endpoint accepts the same parameters as the /book endpoint, but instead of a single product, an array of items can be provided. Each item in the cart should have a product, interval, occupancy and form values. If the booking is successful, a reference and booking ID will be returned for each item in the cart. If a payment URL is included in the response, the user should be redirected to that URL to complete the booking.

Params

currencyCurrency

The currency to use for the booking. See the widget docs for the allowed values.

failure_urlstring

The URL to redirect the user to when a booking payment fails.

languageLanguage

The user's preferred language.

redirect_urlstring

The URL to redirect the user to after the booking is completed.

show_pending_as"CANCELLED" | "TENTATIVE" | "CONFIRMED"

How to interpret pending events when checking availability. Defaults to TENTATIVE

Body

cartCart

The cart with items to checkout.

Responses

201

Information identifying the booking. If a payment URL is set, the user should be redirected to that URL to complete the booking.

TypeScript

POST /cart-checkout
curl -X POST "https://api.bookingmood.com/v1/cart-checkout?currency=USD&failure_url=https://example.com/booking-failed&language=en-US&redirect_url=https://example.com/booking-success&show_pending_as=TENTATIVE" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "coupon_codes": [
      "SUMMER21"
    ],
    "items": [
      {
        "form_values": {
          "00000000-0000-0000-0000-000000000000": "value"
        },
        "interval": {
          "start": "2026-06-03",
          "end": "2026-06-07"
        },
        "id": "00000000-0000-0000-0000-000000000000",
        "occupancy": {
          "00000000-0000-0000-0000-000000000000": 1
        },
        "product_id": "00000000-0000-0000-0000-000000000000"
      }
    ]
  }'
Example response

JSON

{
  "booking_id": "00000000-0000-0000-0000-000000000000",
  "payment_url": null,
  "reference": "ABC123",
  "secret": "SECRET"
}