Price calendar entries
Rate and availability configurations of units, each applying to one or more date ranges
The price calendar entry object
Attributes
iduuidUnique identifier
created_atread-onlytimestamp with time zoneCreation timestamp
updated_atread-onlytimestamp with time zoneLast modification timestamp
check_in_days[boolean, boolean, boolean, boolean, boolean, boolean, boolean]List of days of the week on which check-in is possible
checkout_days[boolean, boolean, boolean, boolean, boolean, boolean, boolean]List of days of the week on which check-out is possible
colortextColor to distinguish the configuration from others
ftsread-onlytsvectorFull text search index
intervalsdatemultirangeDate ranges the entry applies to
max_advanceintegerMaximum number of days between booking and arrival
max_durationintegerMaximum duration of a booking in days
min_advanceintegerMinimum number of days between booking and arrival
min_durationintegerMinimum duration of a booking in days
nameMultiLanguageStringLocalized name of the entry
orderintegerOrder in which the entry is shown in the price calendar editor
ratesArray<{ duration: integer, occupancy: integer, rate: number }>Rate per night on day X of a booking given some occupancy
Related resources
Embed related resources in the response with the select parameter, for example select=*,products(*). Resources related through more than one column need the column as a hint, like table!column(*).
{
"id": "00000000-0000-0000-0000-000000000000",
"product_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-10-30T23:27:25.472Z",
"updated_at": "2026-10-30T23:27:25.472Z",
"check_in_days": [
false
],
"checkout_days": [
false
],
"color": "#FACC15",
"intervals": null,
"max_advance": 365,
"max_duration": 30,
"min_advance": 0,
"min_duration": 1,
"name": {},
"order": 0,
"rates": [
{
"duration": 1,
"occupancy": 1,
"rate": 1500
}
]
}curl -X GET "https://api.bookingmood.com/v1/price_calendar_entries?limit=10&select=*,products(*)" \
-H "Authorization: Bearer YOUR_API_KEY"List price calendar entries
Filters
idFilter<uuid>Unique identifier
created_atFilter<timestamp with time zone>Creation timestamp
updated_atFilter<timestamp with time zone>Last modification timestamp
check_in_daysFilter<[boolean, boolean, boolean, boolean, boolean, boolean, boolean]>List of days of the week on which check-in is possible
checkout_daysFilter<[boolean, boolean, boolean, boolean, boolean, boolean, boolean]>List of days of the week on which check-out is possible
colorFilter<text>Color to distinguish the configuration from others
ftsFilter<tsvector>Full text search index
intervalsFilter<datemultirange>Date ranges the entry applies to
max_advanceFilter<integer>Maximum number of days between booking and arrival
max_durationFilter<integer>Maximum duration of a booking in days
min_advanceFilter<integer>Minimum number of days between booking and arrival
min_durationFilter<integer>Minimum duration of a booking in days
nameFilter<MultiLanguageString>Localized name of the entry
orderFilter<integer>Order in which the entry is shown in the price calendar editor
ratesFilter<Array<{ duration: integer, occupancy: integer, rate: number }>>Rate per night on day X of a booking given some occupancy
Responses
200A list of price calendar entries with the selected columns
206Partial Content
400The request is malformed, for example an unknown column or an invalid filter.
401The API key is missing or invalid.
code, message, details and hint. See the introduction for more on errors.GET /price_calendar_entriescurl -X GET "https://api.bookingmood.com/v1/price_calendar_entries?select=*&limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"[
{
"id": "00000000-0000-0000-0000-000000000000",
"product_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-10-30T23:27:25.472Z",
"updated_at": "2026-10-30T23:27:25.472Z",
"check_in_days": [
false
],
"checkout_days": [
false
],
"color": "#FACC15",
"intervals": null,
"max_advance": 365,
"max_duration": 30,
"min_advance": 0,
"min_duration": 1,
"name": {},
"order": 0,
"rates": [
{
"duration": 1,
"occupancy": 1,
"rate": 1500
}
]
}
]Create price calendar entries
Body
Partial<PriceCalendarEntry> | Array<Partial<PriceCalendarEntry>>Read-only attributes are set by the database and can't be written.
Responses
201The newly created price calendar entries with the selected columns
400The request is malformed, for example an unknown column, an invalid filter or an invalid body.
401The API key is missing or invalid.
403The API key has no permission for this change, for example when writing rows of another organization.
409The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.
code, message, details and hint. See the introduction for more on errors.POST /price_calendar_entriescurl -X POST "https://api.bookingmood.com/v1/price_calendar_entries" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"check_in_days": [
false
],
"checkout_days": [
false
],
"color": "#FACC15",
"intervals": null,
"max_advance": 365,
"max_duration": 30,
"min_advance": 0,
"min_duration": 1,
"name": {},
"order": 0,
"product_id": "00000000-0000-0000-0000-000000000000",
"rates": [
{
"duration": 1,
"occupancy": 1,
"rate": 1500
}
]
}'[
{
"id": "00000000-0000-0000-0000-000000000000",
"product_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-10-30T23:27:25.472Z",
"updated_at": "2026-10-30T23:27:25.472Z",
"check_in_days": [
false
],
"checkout_days": [
false
],
"color": "#FACC15",
"intervals": null,
"max_advance": 365,
"max_duration": 30,
"min_advance": 0,
"min_duration": 1,
"name": {},
"order": 0,
"rates": [
{
"duration": 1,
"occupancy": 1,
"rate": 1500
}
]
}
]Delete price calendar entries
Filters
Without filters, this request deletes all price calendar entries you have access to. Always filter on at least one column, e.g. id=eq.{id}.
idFilter<uuid>Unique identifier
created_atFilter<timestamp with time zone>Creation timestamp
updated_atFilter<timestamp with time zone>Last modification timestamp
check_in_daysFilter<[boolean, boolean, boolean, boolean, boolean, boolean, boolean]>List of days of the week on which check-in is possible
checkout_daysFilter<[boolean, boolean, boolean, boolean, boolean, boolean, boolean]>List of days of the week on which check-out is possible
colorFilter<text>Color to distinguish the configuration from others
ftsFilter<tsvector>Full text search index
intervalsFilter<datemultirange>Date ranges the entry applies to
max_advanceFilter<integer>Maximum number of days between booking and arrival
max_durationFilter<integer>Maximum duration of a booking in days
min_advanceFilter<integer>Minimum number of days between booking and arrival
min_durationFilter<integer>Minimum duration of a booking in days
nameFilter<MultiLanguageString>Localized name of the entry
orderFilter<integer>Order in which the entry is shown in the price calendar editor
ratesFilter<Array<{ duration: integer, occupancy: integer, rate: number }>>Rate per night on day X of a booking given some occupancy
Responses
200The deleted price calendar entries with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.
400The request is malformed, for example an unknown column or an invalid filter.
401The API key is missing or invalid.
403The API key has no permission for this change, for example when writing rows of another organization.
code, message, details and hint. See the introduction for more on errors.DELETE /price_calendar_entriescurl -X DELETE "https://api.bookingmood.com/v1/price_calendar_entries?id=eq.00000000-0000-0000-0000-000000000000" \
-H "Authorization: Bearer YOUR_API_KEY"[
{
"id": "00000000-0000-0000-0000-000000000000",
"product_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-10-30T23:27:25.472Z",
"updated_at": "2026-10-30T23:27:25.472Z",
"check_in_days": [
false
],
"checkout_days": [
false
],
"color": "#FACC15",
"intervals": null,
"max_advance": 365,
"max_duration": 30,
"min_advance": 0,
"min_duration": 1,
"name": {},
"order": 0,
"rates": [
{
"duration": 1,
"occupancy": 1,
"rate": 1500
}
]
}
]Update price calendar entries
Filters
Without filters, this request updates all price calendar entries you have access to. Always filter on at least one column, e.g. id=eq.{id}.
idFilter<uuid>Unique identifier
created_atFilter<timestamp with time zone>Creation timestamp
updated_atFilter<timestamp with time zone>Last modification timestamp
check_in_daysFilter<[boolean, boolean, boolean, boolean, boolean, boolean, boolean]>List of days of the week on which check-in is possible
checkout_daysFilter<[boolean, boolean, boolean, boolean, boolean, boolean, boolean]>List of days of the week on which check-out is possible
colorFilter<text>Color to distinguish the configuration from others
ftsFilter<tsvector>Full text search index
intervalsFilter<datemultirange>Date ranges the entry applies to
max_advanceFilter<integer>Maximum number of days between booking and arrival
max_durationFilter<integer>Maximum duration of a booking in days
min_advanceFilter<integer>Minimum number of days between booking and arrival
min_durationFilter<integer>Minimum duration of a booking in days
nameFilter<MultiLanguageString>Localized name of the entry
orderFilter<integer>Order in which the entry is shown in the price calendar editor
ratesFilter<Array<{ duration: integer, occupancy: integer, rate: number }>>Rate per night on day X of a booking given some occupancy
Body
Partial<PriceCalendarEntry>Read-only attributes are set by the database and can't be written.
Responses
200The updated price calendar entries with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.
400The request is malformed, for example an unknown column, an invalid filter or an invalid body.
401The API key is missing or invalid.
403The API key has no permission for this change, for example when writing rows of another organization.
409The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.
code, message, details and hint. See the introduction for more on errors.PATCH /price_calendar_entriescurl -X PATCH "https://api.bookingmood.com/v1/price_calendar_entries?id=eq.00000000-0000-0000-0000-000000000000" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"check_in_days": [
false
]
}'[
{
"id": "00000000-0000-0000-0000-000000000000",
"product_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-10-30T23:27:25.472Z",
"updated_at": "2026-10-30T23:27:25.472Z",
"check_in_days": [
false
],
"checkout_days": [
false
],
"color": "#FACC15",
"intervals": null,
"max_advance": 365,
"max_duration": 30,
"min_advance": 0,
"min_duration": 1,
"name": {},
"order": 0,
"rates": [
{
"duration": 1,
"occupancy": 1,
"rate": 1500
}
]
}
]