Naar inhoud

Bookings

Bookings, grouping the calendar events, invoices and payments of a guest's stay

The booking object

Attributes

iduuid

Unique identifier

creator_iduuid | null

Identifier of the user that created the booking

organization_iduuid
organizations.id

Identifier of the organization this booking is defined in

site_iduuid | null
sites.id

Identifier of the site the booking was made on

widget_iduuid | null
widgets.id

Identifier of the widget the booking was made in

created_atread-onlytimestamp with time zone

Creation timestamp

updated_atread-onlytimestamp with time zone

Last modification timestamp

confirmed_attimestamp with time zone | null

Timestamp at which the booking was confirmed

currencyCurrency

Base currency of the booking

display_currencyCurrency

Currency used to display prices to the guest

exchange_ratereal

Exchange rate used to convert the booking currency to the display currency

ftsread-onlytsvector
methodBookingMethod

Method used to make the booking: request or book

referencetext

Publicly visible reference of the booking

secrettext

Secret reference of the booking

silentboolean

Whether the booking was made without automatically sending a confirmation email

Related resources

Embed related resources in the response with the select parameter, for example select=*,organizations!organization_id(*). Resources related through more than one column need the column as a hint, like table!column(*).

organizations!organization_id(*)object | null
organizations

The organization referenced by organization_id.

sites(*)object | null
sites

The site referenced by site_id.

widgets(*)object | null
widgets

The widget referenced by widget_id.

booking_details(*)array
booking_details

The booking details referencing this booking through booking_details.booking_id.

booking_updates(*)array
booking_updates

The booking updates referencing this booking through booking_updates.booking_id.

calendar_events!booking_id(*)array
calendar_events

The calendar events referencing this booking through calendar_events.booking_id.

contact_bookings(*)array
contact_bookings

The contact bookings referencing this booking through contact_bookings.booking_id.

coupon_uses(*)array
coupon_uses

The coupon uses referencing this booking through coupon_uses.booking_id.

invoices!booking_id(*)array
invoices

The invoices referencing this booking through invoices.booking_id.

line_items(*)array
line_items

The line items referencing this booking through line_items.booking_id.

messages(*)array
messages

The messages referencing this booking through messages.booking_id.

payments(*)array
payments

The payments referencing this booking through payments.booking_id.

refunds(*)array
refunds

The refunds referencing this booking through refunds.booking_id.

reviews(*)array
reviews

The reviews referencing this booking through reviews.booking_id.

The booking object
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "creator_id": "00000000-0000-0000-0000-000000000000",
  "organization_id": "00000000-0000-0000-0000-000000000000",
  "site_id": "00000000-0000-0000-0000-000000000000",
  "widget_id": "00000000-0000-0000-0000-000000000000",
  "created_at": "2026-10-30T22:27:57.051Z",
  "updated_at": "2026-10-30T22:27:57.051Z",
  "confirmed_at": "2026-10-30T22:27:57.051Z",
  "currency": "ARS",
  "display_currency": "ARS",
  "exchange_rate": 0,
  "method": "request",
  "reference": "ABC123",
  "secret": "",
  "silent": false
}
Including related resources
curl -X GET "https://api.bookingmood.com/v1/bookings?limit=10&select=*,organizations!organization_id(*),sites(*)" \
  -H "Authorization: Bearer YOUR_API_KEY"

List bookings

Filters

idFilter<uuid>

Unique identifier

creator_idFilter<uuid | null>

Identifier of the user that created the booking

organization_idFilter<uuid>
organizations.id

Identifier of the organization this booking is defined in

site_idFilter<uuid | null>
sites.id

Identifier of the site the booking was made on

widget_idFilter<uuid | null>
widgets.id

Identifier of the widget the booking was made in

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

confirmed_atFilter<timestamp with time zone | null>

Timestamp at which the booking was confirmed

currencyFilter<Currency>

Base currency of the booking

display_currencyFilter<Currency>

Currency used to display prices to the guest

exchange_rateFilter<real>

Exchange rate used to convert the booking currency to the display currency

ftsFilter<tsvector>
methodFilter<BookingMethod>

Method used to make the booking: request or book

referenceFilter<text>

Publicly visible reference of the booking

secretFilter<text>

Secret reference of the booking

silentFilter<boolean>

Whether the booking was made without automatically sending a confirmation email

Responses

200

A list of bookings with the selected columns

206

Partial Content

400

The request is malformed, for example an unknown column or an invalid filter.

401

The API key is missing or invalid.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
GET /bookings
curl -X GET "https://api.bookingmood.com/v1/bookings?select=*&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "creator_id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "site_id": "00000000-0000-0000-0000-000000000000",
    "widget_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:27:57.051Z",
    "updated_at": "2026-10-30T22:27:57.051Z",
    "confirmed_at": "2026-10-30T22:27:57.051Z",
    "currency": "ARS",
    "display_currency": "ARS",
    "exchange_rate": 0,
    "method": "request",
    "reference": "ABC123",
    "secret": "",
    "silent": false
  }
]

Delete bookings

Filters

Without filters, this request deletes all bookings you have access to. Always filter on at least one column, e.g. id=eq.{id}.

idFilter<uuid>

Unique identifier

creator_idFilter<uuid | null>

Identifier of the user that created the booking

organization_idFilter<uuid>
organizations.id

Identifier of the organization this booking is defined in

site_idFilter<uuid | null>
sites.id

Identifier of the site the booking was made on

widget_idFilter<uuid | null>
widgets.id

Identifier of the widget the booking was made in

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

confirmed_atFilter<timestamp with time zone | null>

Timestamp at which the booking was confirmed

currencyFilter<Currency>

Base currency of the booking

display_currencyFilter<Currency>

Currency used to display prices to the guest

exchange_rateFilter<real>

Exchange rate used to convert the booking currency to the display currency

ftsFilter<tsvector>
methodFilter<BookingMethod>

Method used to make the booking: request or book

referenceFilter<text>

Publicly visible reference of the booking

secretFilter<text>

Secret reference of the booking

silentFilter<boolean>

Whether the booking was made without automatically sending a confirmation email

Responses

200

The deleted bookings with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.

400

The request is malformed, for example an unknown column or an invalid filter.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
DELETE /bookings
curl -X DELETE "https://api.bookingmood.com/v1/bookings?id=eq.00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "creator_id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "site_id": "00000000-0000-0000-0000-000000000000",
    "widget_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:27:57.051Z",
    "updated_at": "2026-10-30T22:27:57.051Z",
    "confirmed_at": "2026-10-30T22:27:57.051Z",
    "currency": "ARS",
    "display_currency": "ARS",
    "exchange_rate": 0,
    "method": "request",
    "reference": "ABC123",
    "secret": "",
    "silent": false
  }
]

Update bookings

Filters

Without filters, this request updates all bookings you have access to. Always filter on at least one column, e.g. id=eq.{id}.

idFilter<uuid>

Unique identifier

creator_idFilter<uuid | null>

Identifier of the user that created the booking

organization_idFilter<uuid>
organizations.id

Identifier of the organization this booking is defined in

site_idFilter<uuid | null>
sites.id

Identifier of the site the booking was made on

widget_idFilter<uuid | null>
widgets.id

Identifier of the widget the booking was made in

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

confirmed_atFilter<timestamp with time zone | null>

Timestamp at which the booking was confirmed

currencyFilter<Currency>

Base currency of the booking

display_currencyFilter<Currency>

Currency used to display prices to the guest

exchange_rateFilter<real>

Exchange rate used to convert the booking currency to the display currency

ftsFilter<tsvector>
methodFilter<BookingMethod>

Method used to make the booking: request or book

referenceFilter<text>

Publicly visible reference of the booking

secretFilter<text>

Secret reference of the booking

silentFilter<boolean>

Whether the booking was made without automatically sending a confirmation email

Body

Partial<Booking>

Read-only attributes are set by the database and can't be written.

Responses

200

The updated bookings with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.

400

The request is malformed, for example an unknown column, an invalid filter or an invalid body.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

409

The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
PATCH /bookings
curl -X PATCH "https://api.bookingmood.com/v1/bookings?id=eq.00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "ARS"
  }'
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "creator_id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "site_id": "00000000-0000-0000-0000-000000000000",
    "widget_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:27:57.051Z",
    "updated_at": "2026-10-30T22:27:57.051Z",
    "confirmed_at": "2026-10-30T22:27:57.051Z",
    "currency": "ARS",
    "display_currency": "ARS",
    "exchange_rate": 0,
    "method": "request",
    "reference": "ABC123",
    "secret": "",
    "silent": false
  }
]

Neem de controle over je boekingen. Bouw een bedrijf dat van jou is.

Sluit je aan bij 1200+ onafhankelijke vakantieverhuurbedrijven die Bookingmood gebruiken om hun directe boekingen te vergroten en een sterkere band met hun gasten op te bouwen.

Start je gratis 14-daagse proefperiode