Μετάβαση στο περιεχόμενο

Price calendar entries

Rate and availability configurations of units, each applying to one or more date ranges

The price calendar entry object

Attributes

iduuid

Unique identifier

product_iduuid
products.id

Identifier of the related unit

created_atread-onlytimestamp with time zone

Creation timestamp

updated_atread-onlytimestamp with time zone

Last 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

colortext

Color to distinguish the configuration from others

ftsread-onlytsvector

Full text search index

intervalsdatemultirange

Date ranges the entry applies to

max_advanceinteger

Maximum number of days between booking and arrival

max_durationinteger

Maximum duration of a booking in days

min_advanceinteger

Minimum number of days between booking and arrival

min_durationinteger

Minimum duration of a booking in days

nameMultiLanguageString

Localized name of the entry

orderinteger

Order 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(*).

products(*)object | null
products

The product referenced by product_id.

The price calendar entry object
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "product_id": "00000000-0000-0000-0000-000000000000",
  "created_at": "2026-10-30T22:27:57.301Z",
  "updated_at": "2026-10-30T22:27:57.301Z",
  "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
    }
  ]
}
Including related resources
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

product_idFilter<uuid>
products.id

Identifier of the related unit

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

200

A list of price calendar entries 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 /price_calendar_entries
curl -X GET "https://api.bookingmood.com/v1/price_calendar_entries?select=*&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "product_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:27:57.301Z",
    "updated_at": "2026-10-30T22:27:57.301Z",
    "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

201

The newly created price calendar entries with the selected columns

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.
POST /price_calendar_entries
curl -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
      }
    ]
  }'
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "product_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:27:57.301Z",
    "updated_at": "2026-10-30T22:27:57.301Z",
    "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

product_idFilter<uuid>
products.id

Identifier of the related unit

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

200

The deleted price calendar entries 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 /price_calendar_entries
curl -X DELETE "https://api.bookingmood.com/v1/price_calendar_entries?id=eq.00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "product_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:27:57.301Z",
    "updated_at": "2026-10-30T22:27:57.301Z",
    "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

product_idFilter<uuid>
products.id

Identifier of the related unit

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

200

The updated price calendar entries 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 /price_calendar_entries
curl -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
    ]
  }'
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "product_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:27:57.301Z",
    "updated_at": "2026-10-30T22:27:57.301Z",
    "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
      }
    ]
  }
]

Αναλάβετε τον έλεγχο των κρατήσεών σας. Δημιουργήστε τη δική σας επιχείρηση.

Γίνετε μέλος της κοινότητας των 1200+ ανεξάρτητων επιχειρήσεων ενοικίασης καταλυμάτων διακοπών που χρησιμοποιούν το Bookingmood για να αυξήσουν τις απευθείας κρατήσεις και να δημιουργήσουν ισχυρότερες σχέσεις με τους επισκέπτες.

Ξεκινήστε δωρεάν δοκιμή 14-ημέρας