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 availabilitySearch availabilityBook

Widgets

Embeddable widgets

The widget object

Attributes

iduuid

Unique identifier

organization_iduuid
organizations.id

Identifier of the organization this widget is defined in

created_attimestamp with time zone

Creation timestamp

updated_attimestamp with time zone

Last modification timestamp

autocomplete_date_selectionboolean

Whether to autocomplete the date selection when only one date is available

currencyCurrency | null

Currency of the widget

date_visibility"all" | "hide-unavailable" | "hide-closed" | "custom"

Visible dates in the calendar. Either all or available

failure_urltext
fonttext | null

Font of the widget

ftstsvector | null

Full text search index

initial_date"today" | "next-open" | "next-available"

Initial date shown in the calendar

interaction"forward" | "book" | null

Interaction type, either "book", "forward" or null

languageLanguage

Language of the widget

redirect_urltext | null

URL to redirect to after submitting a booking

settingsWidgetSettings

Settings of the widget

show_booked_as"booked" | "unavailable"
show_bookingmood_brandingboolean

Whether to show the Bookingmood branding

show_closed_as"closed" | "unavailable"
show_pastboolean

Whether to show past dates in the calendar

show_pending_as"CANCELLED" | "TENTATIVE" | "CONFIRMED"
show_reviewsboolean
stay_expandedboolean

Whether the date-selection section should stay expanded after selecting dates

titletext

Title of the widget

type | "calendar" | "timeline" | "inventory" | "search"

Type of the widget, either calendar, timeline, inventory or search.

visible_monthsboolean[] | null

List of months that are visible in the calendar (deprecated).

The widget object

JSON

{
  "id": "00000000-0000-0000-0000-000000000000",
  "organization_id": "00000000-0000-0000-0000-000000000000",
  "created_at": "2026-03-12T04:00:21.475Z",
  "updated_at": "2026-03-12T04:00:21.475Z",
  "autocomplete_date_selection": false,
  "currency": "USD",
  "date_visibility": "all",
  "failure_url": "__BOOKING_PAGE__",
  "font": "",
  "initial_date": "today",
  "interaction": "",
  "language": "en-US",
  "redirect_url": "",
  "settings": {},
  "show_booked_as": "unavailable",
  "show_bookingmood_branding": true,
  "show_closed_as": "unavailable",
  "show_past": false,
  "show_pending_as": "TENTATIVE",
  "show_reviews": false,
  "stay_expanded": false,
  "title": "",
  "type": "calendar",
  "visible_months": [
    false
  ]
}

List widgets

Filters

idFilter<uuid>

Unique identifier

organization_idFilter<uuid>
organizations.id

Identifier of the organization this widget is defined in

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

autocomplete_date_selectionFilter<boolean>

Whether to autocomplete the date selection when only one date is available

currencyFilter<Currency | null>

Currency of the widget

date_visibilityFilter<"all" | "hide-unavailable" | "hide-closed" | "custom">

Visible dates in the calendar. Either all or available

failure_urlFilter<text>
fontFilter<text | null>

Font of the widget

ftsFilter<tsvector | null>

Full text search index

initial_dateFilter<"today" | "next-open" | "next-available">

Initial date shown in the calendar

interactionFilter<"forward" | "book" | null>

Interaction type, either "book", "forward" or null

languageFilter<Language>

Language of the widget

redirect_urlFilter<text | null>

URL to redirect to after submitting a booking

settingsFilter<WidgetSettings>

Settings of the widget

show_booked_asFilter<"booked" | "unavailable">
show_bookingmood_brandingFilter<boolean>

Whether to show the Bookingmood branding

show_closed_asFilter<"closed" | "unavailable">
show_pastFilter<boolean>

Whether to show past dates in the calendar

show_pending_asFilter<"CANCELLED" | "TENTATIVE" | "CONFIRMED">
show_reviewsFilter<boolean>
stay_expandedFilter<boolean>

Whether the date-selection section should stay expanded after selecting dates

titleFilter<text>

Title of the widget

typeFilter< | "calendar" | "timeline" | "inventory" | "search">

Type of the widget, either calendar, timeline, inventory or search.

visible_monthsFilter<boolean[] | null>

List of months that are visible in the calendar (deprecated).

Responses

200

A list of widgets with the selected columns

206

Partial Content

GET /widgets
curl -X GET "https://api.bookingmood.com/v1/widgets?select=*" \
  -H "Authorization: Bearer YOUR_API_KEY"

Create widgets

Body

Partial<Widget> | Array<Partial<Widget>>

Responses

201

The newly created widgets with the selected columns

POST /widgets
curl -X POST "https://api.bookingmood.com/v1/widgets" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '[]'

Delete widgets

Filters

idFilter<uuid>

Unique identifier

organization_idFilter<uuid>
organizations.id

Identifier of the organization this widget is defined in

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

autocomplete_date_selectionFilter<boolean>

Whether to autocomplete the date selection when only one date is available

currencyFilter<Currency | null>

Currency of the widget

date_visibilityFilter<"all" | "hide-unavailable" | "hide-closed" | "custom">

Visible dates in the calendar. Either all or available

failure_urlFilter<text>
fontFilter<text | null>

Font of the widget

ftsFilter<tsvector | null>

Full text search index

initial_dateFilter<"today" | "next-open" | "next-available">

Initial date shown in the calendar

interactionFilter<"forward" | "book" | null>

Interaction type, either "book", "forward" or null

languageFilter<Language>

Language of the widget

redirect_urlFilter<text | null>

URL to redirect to after submitting a booking

settingsFilter<WidgetSettings>

Settings of the widget

show_booked_asFilter<"booked" | "unavailable">
show_bookingmood_brandingFilter<boolean>

Whether to show the Bookingmood branding

show_closed_asFilter<"closed" | "unavailable">
show_pastFilter<boolean>

Whether to show past dates in the calendar

show_pending_asFilter<"CANCELLED" | "TENTATIVE" | "CONFIRMED">
show_reviewsFilter<boolean>
stay_expandedFilter<boolean>

Whether the date-selection section should stay expanded after selecting dates

titleFilter<text>

Title of the widget

typeFilter< | "calendar" | "timeline" | "inventory" | "search">

Type of the widget, either calendar, timeline, inventory or search.

visible_monthsFilter<boolean[] | null>

List of months that are visible in the calendar (deprecated).

Responses

204

The deleted widgets with the selected columns

DELETE /widgets
curl -X DELETE "https://api.bookingmood.com/v1/widgets" \
  -H "Authorization: Bearer YOUR_API_KEY"

Update widgets

Filters

idFilter<uuid>

Unique identifier

organization_idFilter<uuid>
organizations.id

Identifier of the organization this widget is defined in

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

autocomplete_date_selectionFilter<boolean>

Whether to autocomplete the date selection when only one date is available

currencyFilter<Currency | null>

Currency of the widget

date_visibilityFilter<"all" | "hide-unavailable" | "hide-closed" | "custom">

Visible dates in the calendar. Either all or available

failure_urlFilter<text>
fontFilter<text | null>

Font of the widget

ftsFilter<tsvector | null>

Full text search index

initial_dateFilter<"today" | "next-open" | "next-available">

Initial date shown in the calendar

interactionFilter<"forward" | "book" | null>

Interaction type, either "book", "forward" or null

languageFilter<Language>

Language of the widget

redirect_urlFilter<text | null>

URL to redirect to after submitting a booking

settingsFilter<WidgetSettings>

Settings of the widget

show_booked_asFilter<"booked" | "unavailable">
show_bookingmood_brandingFilter<boolean>

Whether to show the Bookingmood branding

show_closed_asFilter<"closed" | "unavailable">
show_pastFilter<boolean>

Whether to show past dates in the calendar

show_pending_asFilter<"CANCELLED" | "TENTATIVE" | "CONFIRMED">
show_reviewsFilter<boolean>
stay_expandedFilter<boolean>

Whether the date-selection section should stay expanded after selecting dates

titleFilter<text>

Title of the widget

typeFilter< | "calendar" | "timeline" | "inventory" | "search">

Type of the widget, either calendar, timeline, inventory or search.

visible_monthsFilter<boolean[] | null>

List of months that are visible in the calendar (deprecated).

Body

Partial<Widget>

Responses

204

The updated widgets with the selected columns

PATCH /widgets
curl -X PATCH "https://api.bookingmood.com/v1/widgets" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{}'