IntroductionAuthenticationSelecting 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 availability
Search availabilityBook

Query Availability

Fetch the availability of multiple products over a long period of time.

Parameters

perform_syncboolean

Whether to sync external calendars before fetching availability. Defaults to false

product_idsArray<uuid>

The product IDs to fetch availability for.

show_booked_as"booked" | "unavailable"

How to interpret confirmed bookings. Defaults to unavailable

show_closed_as"closed" | "unavailable"

How to interpret blocked / closed periods. Defaults to unavailable

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

How to interpret pending events. Defaults to TENTATIVE

Responses

200
Availability intervals per product

TypeScript

Array<{
  product_id: uuid;
  intervals: Array<{
    start: string;
    end: string;
    status: "available" | "tentative" | "unavailable" | "booked" | "reserved";
  }>
}>
GET /availability
curl -X GET "https://api.bookingmood.com/v1/availability?product_id=00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response

JSON

[
  {
    "product_id": "00000000-0000-0000-0000-000000000000",
    "intervals": [
      {
        "start": "2026-03-12T07:10:20.148Z",
        "end": "2026-03-16T07:10:20.148Z",
        "status": "unavailable"
      },
      {
        "start": "2026-03-16T07:10:20.148Z",
        "end": "2026-06-20T07:10:20.148Z",
        "status": "available"
      }
    ]
  }
]