Check bookings, quote stays, read guest messages and reviews, and update calendars in Beds24.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a new booking in a room for given dates and guest details. It immediately blocks inventory and is synced to connected channels. Set checkAvailability=true to refuse the booking if the room is not free, and notifyGuest / notifyHost to send confirmation emails. Undo by setting status cancelled with beds24_update_booking. Requires a token with bookings write access. Beds24: POST /bookings.
Room (room type) id.
Arrival date, YYYY-MM-DD.
Departure (check-out) date, YYYY-MM-DD.
Guest language, 2-letter code, e.g. en.
Internal host notes.
Total booking price.
Guest title, e.g. Mr, Ms.
Booking status.
Specific unit within the room type.
Free text country.
Guest comments.
2-letter country code, e.g. DE.
Number of adults.
Number of children.
Flag colour, 6-character hex (e.g. ff0000) or empty string to clear.
Your own reference.
Email the host a booking confirmation.
Expected arrival time (free text).
Email the guest a booking confirmation.
Let Beds24 assign the first free unit / room using room dependency settings.
Do not save the booking if the room has no availability. Recommended.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Create a new booking in a room for given dates and guest details. It immediately blocks inventory and is synced to connected channels. Set checkAvailability=true to refuse the booking if the room is not free, and notifyGuest / notifyHost to send confirmation emails. Undo by setting status cancelled with beds24_update_booking. Requires a token with bookings write access. Beds24: POST /bookings.
| Argument | Type | Description |
|---|---|---|
| tax | number | |
| city | string | |
| lang | string | Guest language, 2-letter code, e.g. en. |
| string | ||
| notes | string | Internal host notes. |
| phone | string | |
| price | number | Total booking price. |
| state | string | |
| title | string | Guest title, e.g. Mr, Ms. |
| mobile | string | |
| roomId* | integer | Room (room type) id. |
| status | string | Booking status. |
| unitId | integer | Specific unit within the room type. |
| address | string | |
| arrival* | string | Arrival date, YYYY-MM-DD. |
| company | string | |
| country | string | Free text country. |
| deposit | number | |
| comments | string | Guest comments. |
| country2 | string | 2-letter country code, e.g. DE. |
| flagText | string | |
| lastName | string | |
| numAdult | integer | Number of adults. |
| numChild | integer | Number of children. |
| postcode | string | |
| departure* | string | Departure (check-out) date, YYYY-MM-DD. |
| firstName | string | |
| flagColor | string | Flag colour, 6-character hex (e.g. ff0000) or empty string to clear. |
| reference | string | Your own reference. |
| notifyHost | boolean | Email the host a booking confirmation. |
| arrivalTime | string | Expected arrival time (free text). |
| notifyGuest | boolean | Email the guest a booking confirmation. |
| assignBooking | boolean | Let Beds24 assign the first free unit / room using room dependency settings. |
| checkAvailability | boolean | Do not save the booking if the room has no availability. Recommended. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"roomId",
"arrival",
"departure"
],
"properties": {
"tax": {
"type": "number"
},
"city": {
"type": "string"
},
"lang": {
"type": "string",
"description": "Guest language, 2-letter code, e.g. en."
},
"email": {
"type": "string"
},
"notes": {
"type": "string",
"description": "Internal host notes."
},
"phone": {
"type": "string"
},
"price": {
"type": "number",
"description": "Total booking price."
},
"state": {
"type": "string"
},
"title": {
"type": "string",
"description": "Guest title, e.g. Mr, Ms."
},
"mobile": {
"type": "string"
},
"roomId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Room (room type) id.",
"exclusiveMinimum": 0
},
"status": {
"enum": [
"confirmed",
"request",
"new",
"cancelled",
"black",
"inquiry"
],
"type": "string",
"description": "Booking status."
},
"unitId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Specific unit within the room type.",
"exclusiveMinimum": 0
},
"address": {
"type": "string"
},
"arrival": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Arrival date, YYYY-MM-DD."
},
"company": {
"type": "string"
},
"country": {
"type": "string",
"description": "Free text country."
},
"deposit": {
"type": "number"
},
"comments": {
"type": "string",
"description": "Guest comments."
},
"country2": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "2-letter country code, e.g. DE."
},
"flagText": {
"type": "string"
},
"lastName": {
"type": "string"
},
"numAdult": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of adults."
},
"numChild": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of children."
},
"postcode": {
"type": "string"
},
"departure": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Departure (check-out) date, YYYY-MM-DD."
},
"firstName": {
"type": "string"
},
"flagColor": {
"type": "string",
"pattern": "^([0-9a-fA-F]{6})?$",
"description": "Flag colour, 6-character hex (e.g. ff0000) or empty string to clear."
},
"reference": {
"type": "string",
"maxLength": 100,
"description": "Your own reference."
},
"notifyHost": {
"type": "boolean",
"description": "Email the host a booking confirmation."
},
"arrivalTime": {
"type": "string",
"description": "Expected arrival time (free text)."
},
"notifyGuest": {
"type": "boolean",
"description": "Email the guest a booking confirmation."
},
"assignBooking": {
"type": "boolean",
"description": "Let Beds24 assign the first free unit / room using room dependency settings."
},
"checkAvailability": {
"type": "boolean",
"description": "Do not save the booking if the room has no availability. Recommended."
}
}
}Fetch one booking by id with its invoice items, info items and additional guests. Works for any status, including cancelled. Beds24: GET /bookings?id=<id>.
| Argument | Type | Description |
|---|---|---|
| bookingId* | integer | The booking id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bookingId"
],
"properties": {
"bookingId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The booking id.",
"exclusiveMinimum": 0
}
}
}Per-date availability (true/false) for rooms over a range of nights. endDate is the LAST NIGHT (the day before check-out). Beds24: GET /inventory/rooms/availability.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response. |
| endDate | string | Last night (day before check-out), YYYY-MM-DD. |
| roomIds | array | One or more room ids. |
| startDate | string | First night, YYYY-MM-DD. |
| propertyIds | array | One or more property ids. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response."
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last night (day before check-out), YYYY-MM-DD."
},
"roomIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more room ids."
},
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First night, YYYY-MM-DD."
},
"propertyIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more property ids."
}
}
}Per-day calendar values for rooms: units available, min/max stay, multiplier, override (blackout, no check-in, ...) and the price slots price1..price16, as date ranges. Choose fields with the include flags; if none are set this tool asks for numAvail, minStay, maxStay, override and prices. Beds24: GET /inventory/rooms/calendar.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response. |
| endDate* | string | Last date, YYYY-MM-DD. |
| roomIds | array | One or more room ids. |
| startDate* | string | First date, YYYY-MM-DD. |
| propertyIds | array | One or more property ids. |
| includePrices | boolean | |
| includeMaxStay | boolean | |
| includeMinStay | boolean | |
| includeChannels |
Quote a stay: bookable offers with total price and units available per room for given dates and guests. Use before creating a booking. Beds24: GET /inventory/rooms/offers.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response. |
| arrival* | string | Arrival date, YYYY-MM-DD. |
| roomIds | array | One or more room ids. |
| offerIds | array | One or more offer ids. |
| agentCode | string | |
| departure* | string | Departure date, YYYY-MM-DD. |
| numAdults* | integer | Number of adults. |
| numChildren | integer | |
| propertyIds | array | One or more property ids. |
Check the configured Beds24 token: whether it is valid, its scopes, owner id, expiry, and whether it is restricted to one property. A cheap way to confirm setup and see which scopes are granted. Note Beds24 answers HTTP 200 with validToken=false for a bad token. Beds24: GET /authentication/details.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Which units of each room type are booked on each date — an occupancy grid keyed by date. endDate is the last night. Beds24 marks this endpoint Beta. Beds24: GET /inventory/rooms/unitBookings.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response. |
| endDate | string | Last night, YYYY-MM-DD. |
| roomIds | array | One or more room ids. |
| startDate | string | First night, YYYY-MM-DD. |
| propertyIds | array | One or more property ids. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response."
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last night, YYYY-MM-DD."
},
"roomIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more room ids."
},
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First night, YYYY-MM-DD."
},
"propertyIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more property ids."
}
}
}Guest reviews from Airbnb for one room: overall and category ratings, public review, private feedback and the host response. At most 100 per call. Beds24 marks this endpoint Beta. Beds24: GET /channels/airbnb/reviews.
| Argument | Type | Description |
|---|---|---|
| roomId* | integer | The Beds24 room id linked to the Airbnb listing. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"roomId"
],
"properties": {
"roomId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The Beds24 room id linked to the Airbnb listing.",
"exclusiveMinimum": 0
}
}
}Guest reviews from Booking.com for one property, made on or after a date: scores, content, reviewer and any reply. At most 100 per call. Beds24 marks this endpoint Alpha. Beds24: GET /channels/booking/reviews.
| Argument | Type | Description |
|---|---|---|
| from* | string | Reviews made on or after this date, YYYY-MM-DD. |
| propertyId* | integer | The property id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"propertyId",
"from"
],
"properties": {
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Reviews made on or after this date, YYYY-MM-DD."
},
"propertyId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The property id.",
"exclusiveMinimum": 0
}
}
}List invoices and their line items (charges and payments) for bookings. Requires the bookings-financial scope. Beds24 marks this endpoint Alpha. Beds24: GET /bookings/invoices.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response. |
| bookingIds | array | One or more booking ids. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response."
},
"bookingIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more booking ids."
}
}
}Read the guest conversation on bookings — messages from guests, host replies, internal notes and system messages — across channels (Airbnb, Booking.com, Vrbo, direct). Filter by booking, property, room, read/unread, source and age. Beds24: GET /bookings/messages.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response. |
| filter | string | |
| maxAge | integer | Only messages from the last N days. |
| source | string | Only messages from one side. |
| roomIds | array | One or more room ids. |
| masterIds | array | One or more group master booking ids. |
| bookingIds | array | One or more booking ids. |
| messageIds | array | One or more message ids. |
| propertyIds | array | One or more property ids. |
Search bookings by arrival/departure date range, booking or modified time, property, room, channel, status, or a free-text search over guest name, email, booking id and API reference. With NO filters Beds24 returns only upcoming bookings. `filter` shortcuts: arrivals (arriving today), departures (departing today), new (created in the last 24h), current (in-house). Guest data needs the bookings-personal scope, invoice items bookings-financial. Beds24: GET /bookings.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response. |
| filter | string | |
| status | array | Statuses to include. Defaults to all except cancelled. |
| arrival | string | Exact arrival date. |
| channel | string | Only bookings from this channel. |
| roomIds | array | One or more room ids. |
| arrivalTo | string | Date, YYYY-MM-DD. |
| departure | string | Exact departure date. |
List fixed price rules (seasonal rates): date span, min/max nights, per-room and per-person prices, discounts, allowed arrival days and channel export. Beds24: GET /inventory/fixedPrices.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response. |
| roomIds | array | One or more room ids. |
| propertyIds | array | One or more property ids. |
| fixedPriceIds | array | One or more fixed price ids. |
| includeRateCodes | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response."
},
"roomIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more room ids."
},
"propertyIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more property ids."
},
"fixedPriceIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more fixed price ids."
},
"includeRateCodes": {
"type": "boolean"
}
}
}List the properties in the account with their address, currency, check-in times and room types (roomTypes). Optional flags include texts, pictures, offers, unit details and all rooms. Requires the properties scope. Beds24: GET /properties.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response. |
| roomIds | array | One or more room ids. |
| propertyIds | array | One or more property ids. |
| includeTexts | array | Which descriptive texts to include. |
| includeOffers | boolean | Include offers per room. |
| includeAllRooms | boolean | Include every room type of each property. |
| includePictures | boolean | |
| includeLanguages | array | Languages for texts, e.g. ["en"] or ["all"]. |
| includePriceRules |
Mark one or more booking messages as read (or unread with read=false). Beds24: POST /bookings/messages with [{ id, read }].
| Argument | Type | Description |
|---|---|---|
| read | boolean | true (default) = read, false = unread. |
| messageIds* | array | Message ids. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"messageIds"
],
"properties": {
"read": {
"type": "boolean",
"description": "true (default) = read, false = unread."
},
"messageIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "Message ids."
}
}
}Send a message on a booking's conversation. With source host (default) it is delivered to the GUEST through their channel (Airbnb, Booking.com, Vrbo, email) and cannot be unsent; with source internalNote it is a private host note. Beds24: POST /bookings/messages.
| Argument | Type | Description |
|---|---|---|
| source | string | host (to the guest, default) or internalNote (private). |
| message* | string | Message text. |
| bookingId* | integer | The booking id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bookingId",
"message"
],
"properties": {
"source": {
"enum": [
"host",
"internalNote"
],
"type": "string",
"description": "host (to the guest, default) or internalNote (private)."
},
"message": {
"type": "string",
"maxLength": 10000,
"minLength": 1,
"description": "Message text."
},
"bookingId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The booking id.",
"exclusiveMinimum": 0
}
}
}Change an existing booking: dates, room/unit, guest counts, guest details, notes, flag, price, or status (e.g. confirmed, or cancelled to cancel — reversible by setting it back). Only the fields you pass change. Optionally add info items (code/text pairs). Changes sync to channels where allowed. Beds24: POST /bookings with the booking id.
| Argument | Type | Description |
|---|---|---|
| tax | number | |
| city | string | |
| lang | string | Guest language, 2-letter code, e.g. en. |
| string | ||
| notes | string | Internal host notes. |
| phone | string | |
| price | number | Total booking price. |
| state | string | |
| title | string | Guest title, e.g. Mr, Ms. |
| mobile | string |
Set per-day calendar values for ONE room over a date range: units available (numAvail), minStay, maxStay, multiplier, override (none, blackout, exception, noCheckIn, noCheckOut, noCheckInOrCheckOut) and price slots price1..price16. Set a price to null to remove it. These values sync to channels. Read the current values first with beds24_get_room_calendar so you can restore them. Beds24: POST /inventory/rooms/calendar.
| Argument | Type | Description |
|---|---|---|
| to* | string | Last date, YYYY-MM-DD. |
| from* | string | First date, YYYY-MM-DD. |
| price1 | number | null | Calendar price1 for these dates. null removes it. |
| price2 | number | null | Calendar price2 for these dates. null removes it. |
| price3 | number | null | Calendar price3 for these dates. null removes it. |
| price4 | number | null | Calendar price4 for these dates. null removes it. |
| price5 | number | null | Calendar price5 for these dates. null removes it. |
| price6 | number | null |
| boolean |
| Include per-channel booking limits. |
| includeNumAvail | boolean |
| includeOverride | boolean |
| includeMultiplier | boolean |
| includeLinkedPrices | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"startDate",
"endDate"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response."
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last date, YYYY-MM-DD."
},
"roomIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more room ids."
},
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First date, YYYY-MM-DD."
},
"propertyIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more property ids."
},
"includePrices": {
"type": "boolean"
},
"includeMaxStay": {
"type": "boolean"
},
"includeMinStay": {
"type": "boolean"
},
"includeChannels": {
"type": "boolean",
"description": "Include per-channel booking limits."
},
"includeNumAvail": {
"type": "boolean"
},
"includeOverride": {
"type": "boolean"
},
"includeMultiplier": {
"type": "boolean"
},
"includeLinkedPrices": {
"type": "boolean"
}
}
}| includeTexts |
| array |
| Include descriptive texts in these 2-letter languages, e.g. ["en"]. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"arrival",
"departure",
"numAdults"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response."
},
"arrival": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Arrival date, YYYY-MM-DD."
},
"roomIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more room ids."
},
"offerIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more offer ids."
},
"agentCode": {
"type": "string"
},
"departure": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Departure date, YYYY-MM-DD."
},
"numAdults": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Number of adults."
},
"numChildren": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"propertyIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more property ids."
},
"includeTexts": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2,
"minLength": 2
},
"description": "Include descriptive texts in these 2-letter languages, e.g. [\"en\"]."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response."
},
"filter": {
"enum": [
"read",
"unread"
],
"type": "string"
},
"maxAge": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Only messages from the last N days."
},
"source": {
"enum": [
"host",
"guest",
"internalNote",
"system"
],
"type": "string",
"description": "Only messages from one side."
},
"roomIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more room ids."
},
"masterIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more group master booking ids."
},
"bookingIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more booking ids."
},
"messageIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more message ids."
},
"propertyIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more property ids."
}
}
}| masterIds |
| array |
| One or more group master booking ids. |
| bookingIds | array | One or more booking ids. |
| modifiedTo | string | Modified before this time. |
| arrivalFrom | string | Date, YYYY-MM-DD. |
| departureTo | string | Date, YYYY-MM-DD. |
| propertyIds | array | One or more property ids. |
| modifiedFrom | string | Modified after this time. |
| searchString | string | Matches guest name, email, apiReference or booking id. |
| apiReferences | array | Channel / API references. |
| bookingTimeTo | string | Booked before this time (UTC). |
| departureFrom | string | Date, YYYY-MM-DD. |
| includeGuests | boolean | Include additional guests (bookings-personal scope). |
| bookingTimeFrom | string | Booked after this time (UTC). |
| includeInfoItems | boolean |
| includeBookingGroup | boolean |
| includeInvoiceItems | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response."
},
"filter": {
"enum": [
"arrivals",
"departures",
"new",
"current"
],
"type": "string"
},
"status": {
"type": "array",
"items": {
"enum": [
"confirmed",
"request",
"new",
"cancelled",
"black",
"inquiry"
],
"type": "string"
},
"description": "Statuses to include. Defaults to all except cancelled."
},
"arrival": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Exact arrival date."
},
"channel": {
"enum": [
"agoda",
"airbnb",
"asiatravel",
"atraveode",
"booking",
"bookingpage",
"despegar",
"direct",
"edreamsodigeo",
"expedia",
"feratel",
"goibibo",
"hometogo",
"hostelworld",
"hotelbeds",
"hrs",
"jomres",
"marriott",
"ostrovokru",
"ota",
"tiket",
"tomastravel",
"traveloka",
"travia",
"traum",
"trip",
"tripadvisorrentals",
"vacationstay",
"vrbo",
"airbnbical",
"bedandbreakfasteu",
"bedandbreakfastnl",
"bookeasycomau",
"bookitconz",
"flipkey",
"googlecal",
"googleads",
"guestlinkcouk",
"holidaylettingscouk",
"hostelinternational",
"hostelsclub",
"housetripcom",
"icalimport1",
"icalimport2",
"icalimport3",
"lastminute",
"nzaa",
"reserva",
"rezintelnet",
"tablethotels",
"traumferienwohnungen",
"trivagocom",
"visitscotlandcom",
"vrboical",
"webroomsconz"
],
"type": "string",
"description": "Only bookings from this channel."
},
"roomIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more room ids."
},
"arrivalTo": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date, YYYY-MM-DD."
},
"departure": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Exact departure date."
},
"masterIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more group master booking ids."
},
"bookingIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more booking ids."
},
"modifiedTo": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$",
"description": "Modified before this time."
},
"arrivalFrom": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date, YYYY-MM-DD."
},
"departureTo": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date, YYYY-MM-DD."
},
"propertyIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more property ids."
},
"modifiedFrom": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$",
"description": "Modified after this time."
},
"searchString": {
"type": "string",
"description": "Matches guest name, email, apiReference or booking id."
},
"apiReferences": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Channel / API references."
},
"bookingTimeTo": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$",
"description": "Booked before this time (UTC)."
},
"departureFrom": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date, YYYY-MM-DD."
},
"includeGuests": {
"type": "boolean",
"description": "Include additional guests (bookings-personal scope)."
},
"bookingTimeFrom": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$",
"description": "Booked after this time (UTC)."
},
"includeInfoItems": {
"type": "boolean"
},
"includeBookingGroup": {
"type": "boolean"
},
"includeInvoiceItems": {
"type": "boolean"
}
}
}| boolean |
| includeUnitDetails | boolean | Include full unit details (by default only unit names). |
| includeUpsellItems | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number beyond the first (2, 3, ...). Check pages.nextPageExists in the previous response."
},
"roomIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more room ids."
},
"propertyIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"minItems": 1,
"description": "One or more property ids."
},
"includeTexts": {
"type": "array",
"items": {
"enum": [
"all",
"property",
"roomType"
],
"type": "string"
},
"description": "Which descriptive texts to include."
},
"includeOffers": {
"type": "boolean",
"description": "Include offers per room."
},
"includeAllRooms": {
"type": "boolean",
"description": "Include every room type of each property."
},
"includePictures": {
"type": "boolean"
},
"includeLanguages": {
"type": "array",
"items": {
"type": "string",
"maxLength": 3,
"minLength": 2
},
"description": "Languages for texts, e.g. [\"en\"] or [\"all\"]."
},
"includePriceRules": {
"type": "boolean"
},
"includeUnitDetails": {
"type": "boolean",
"description": "Include full unit details (by default only unit names)."
},
"includeUpsellItems": {
"type": "boolean"
}
}
}| roomId | integer | Room (room type) id. |
| status | string | Booking status. |
| unitId | integer | Specific unit within the room type. |
| address | string |
| arrival | string | Arrival date, YYYY-MM-DD. |
| company | string |
| country | string | Free text country. |
| deposit | number |
| comments | string | Guest comments. |
| country2 | string | 2-letter country code, e.g. DE. |
| flagText | string |
| lastName | string |
| numAdult | integer | Number of adults. |
| numChild | integer | Number of children. |
| postcode | string |
| bookingId* | integer | The booking id to change. |
| departure | string | Departure (check-out) date, YYYY-MM-DD. |
| firstName | string |
| flagColor | string | Flag colour, 6-character hex (e.g. ff0000) or empty string to clear. |
| reference | string | Your own reference. |
| arrivalTime | string | Expected arrival time (free text). |
| notifyGuest | boolean | Email the guest an updated confirmation. |
| addInfoItems | array | Info items to ADD to the booking (existing ones are untouched). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bookingId"
],
"properties": {
"tax": {
"type": "number"
},
"city": {
"type": "string"
},
"lang": {
"type": "string",
"description": "Guest language, 2-letter code, e.g. en."
},
"email": {
"type": "string"
},
"notes": {
"type": "string",
"description": "Internal host notes."
},
"phone": {
"type": "string"
},
"price": {
"type": "number",
"description": "Total booking price."
},
"state": {
"type": "string"
},
"title": {
"type": "string",
"description": "Guest title, e.g. Mr, Ms."
},
"mobile": {
"type": "string"
},
"roomId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Room (room type) id.",
"exclusiveMinimum": 0
},
"status": {
"enum": [
"confirmed",
"request",
"new",
"cancelled",
"black",
"inquiry"
],
"type": "string",
"description": "Booking status."
},
"unitId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Specific unit within the room type.",
"exclusiveMinimum": 0
},
"address": {
"type": "string"
},
"arrival": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Arrival date, YYYY-MM-DD."
},
"company": {
"type": "string"
},
"country": {
"type": "string",
"description": "Free text country."
},
"deposit": {
"type": "number"
},
"comments": {
"type": "string",
"description": "Guest comments."
},
"country2": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "2-letter country code, e.g. DE."
},
"flagText": {
"type": "string"
},
"lastName": {
"type": "string"
},
"numAdult": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of adults."
},
"numChild": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of children."
},
"postcode": {
"type": "string"
},
"bookingId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The booking id to change.",
"exclusiveMinimum": 0
},
"departure": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Departure (check-out) date, YYYY-MM-DD."
},
"firstName": {
"type": "string"
},
"flagColor": {
"type": "string",
"pattern": "^([0-9a-fA-F]{6})?$",
"description": "Flag colour, 6-character hex (e.g. ff0000) or empty string to clear."
},
"reference": {
"type": "string",
"maxLength": 100,
"description": "Your own reference."
},
"arrivalTime": {
"type": "string",
"description": "Expected arrival time (free text)."
},
"notifyGuest": {
"type": "boolean",
"description": "Email the guest an updated confirmation."
},
"addInfoItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"text"
],
"properties": {
"code": {
"type": "string",
"minLength": 1
},
"text": {
"type": "string"
}
}
},
"description": "Info items to ADD to the booking (existing ones are untouched)."
}
}
}| Calendar price6 for these dates. null removes it. |
| price7 | number | null | Calendar price7 for these dates. null removes it. |
| price8 | number | null | Calendar price8 for these dates. null removes it. |
| price9 | number | null | Calendar price9 for these dates. null removes it. |
| roomId* | integer | The room id. |
| maxStay | integer |
| minStay | integer |
| price10 | number | null | Calendar price10 for these dates. null removes it. |
| price11 | number | null | Calendar price11 for these dates. null removes it. |
| price12 | number | null | Calendar price12 for these dates. null removes it. |
| price13 | number | null | Calendar price13 for these dates. null removes it. |
| price14 | number | null | Calendar price14 for these dates. null removes it. |
| price15 | number | null | Calendar price15 for these dates. null removes it. |
| price16 | number | null | Calendar price16 for these dates. null removes it. |
| numAvail | integer | Units available per day. |
| override | string |
| multiplier | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"roomId",
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last date, YYYY-MM-DD."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First date, YYYY-MM-DD."
},
"price1": {
"type": [
"number",
"null"
],
"description": "Calendar price1 for these dates. null removes it."
},
"price2": {
"type": [
"number",
"null"
],
"description": "Calendar price2 for these dates. null removes it."
},
"price3": {
"type": [
"number",
"null"
],
"description": "Calendar price3 for these dates. null removes it."
},
"price4": {
"type": [
"number",
"null"
],
"description": "Calendar price4 for these dates. null removes it."
},
"price5": {
"type": [
"number",
"null"
],
"description": "Calendar price5 for these dates. null removes it."
},
"price6": {
"type": [
"number",
"null"
],
"description": "Calendar price6 for these dates. null removes it."
},
"price7": {
"type": [
"number",
"null"
],
"description": "Calendar price7 for these dates. null removes it."
},
"price8": {
"type": [
"number",
"null"
],
"description": "Calendar price8 for these dates. null removes it."
},
"price9": {
"type": [
"number",
"null"
],
"description": "Calendar price9 for these dates. null removes it."
},
"roomId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The room id.",
"exclusiveMinimum": 0
},
"maxStay": {
"type": "integer",
"maximum": 364,
"minimum": 1
},
"minStay": {
"type": "integer",
"maximum": 365,
"minimum": 1
},
"price10": {
"type": [
"number",
"null"
],
"description": "Calendar price10 for these dates. null removes it."
},
"price11": {
"type": [
"number",
"null"
],
"description": "Calendar price11 for these dates. null removes it."
},
"price12": {
"type": [
"number",
"null"
],
"description": "Calendar price12 for these dates. null removes it."
},
"price13": {
"type": [
"number",
"null"
],
"description": "Calendar price13 for these dates. null removes it."
},
"price14": {
"type": [
"number",
"null"
],
"description": "Calendar price14 for these dates. null removes it."
},
"price15": {
"type": [
"number",
"null"
],
"description": "Calendar price15 for these dates. null removes it."
},
"price16": {
"type": [
"number",
"null"
],
"description": "Calendar price16 for these dates. null removes it."
},
"numAvail": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Units available per day."
},
"override": {
"enum": [
"none",
"blackout",
"exception",
"noCheckIn",
"noCheckOut",
"noCheckInOrCheckOut"
],
"type": "string"
},
"multiplier": {
"type": "number",
"maximum": 100,
"minimum": 0.1
}
}
}