RoomDB API Documentation (2.0)

Download OpenAPI specification:

RoomDB API Documentation provides everything you need to integrate, distribute, and manage global accommodation inventory through a single, unified interface.

It is designed for both suppliers and distributors, enabling accommodation providers to sell their inventory through multiple distributors and allowing PMS systems to connect seamlessly to distribution channels. It also supports distributors in managing direct contracts, accessing full guest data, and automating commission handling.

This documentation explains how to authenticate, retrieve availability, manage bookings, connect inventory, and handle pricing structures across different rooms, rate plans and product.

All endpoints are AI Verified, ensuring high-quality standards for clarity, completeness, and usability. So you can build and scale integrations with confidence.

Authentication

The Authentication API provides secure access to the RoomDB Distributor platform using JWT Bearer authentication.

A valid access token must be obtained before accessing protected distributor endpoints, and each secured request must include the token in the Authorization header.

These endpoints support token generation, token refresh, distributor account retrieval, and password encoding operations.

Key FunctionalityEndpointMethodPurpose
Generate Access Token/api/v1/distributors/get-tokenPOSTGenerates a JWT access token using distributor credentials.
Refresh Token/api/v1/distributors/refresh-tokenGETRegenerates or refreshes an authentication token before expiration.
Get Distributor Information (Distributor)/api/v1/distributors/get-infoGETRetrieves distributor account information and configuration details.
Get Distributor Information (Admin)/api/v1/distributors/get-info/{name}GETRetrieves distributor account information for administrative-level access.
Generate Encoded Password/api/v1/distributors/encode-passwordGETGenerates an encoded version of the provided password for secure authentication and transmission.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Generate Access Token

AI Evaluation Score: 92.6/100

Generate a JWT access token using your distributorId and distributorSecret to authenticate requests to the RoomDB Distributor API.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

query Parameters
distributorId
required
string

Unique identifier assigned to the distributor during onboarding. This value is used by the system to identify the requesting distributor account and must match the credentials registered in the RoomDB system.

distributorSecret
required
string

Secret key assigned to the distributor. Used along with distributorId to generate the access token.

Responses

Response samples

Content type
application/json
{
  • "tokenType": "Bearer",
  • "expiresIn": 3600,
  • "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  • "executionTime": 15
}

Refresh Token

AI Evaluation Score: 95/100

Generate a new JWT access token using an existing valid access token. This endpoint is used to obtain a fresh token before the current one expires, ensuring uninterrupted access to protected API operations. A valid Bearer token must be included in the Authorization header when making this request.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint: GET /api/v1/distributors/refresh-token

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "tokenType": "Bearer",
  • "expiresIn": 3600,
  • "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  • "executionTime": 15
}

Get Distributor Information (Distributor)

AI Evaluation Score: 93/100

Retrieve complete account details of the authenticated distributor based on the provided Bearer token.This endpoint returns all account-related configuration and metadata linked to the distributor account and is accessible only to authenticated distributor users.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint: GET /api/v1/distributors/get-info

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": {},
  • "status": "success",
  • "message": "Distributor information retrieved successfully.",
  • "executionTime": 12
}

Get Distributor Information (Admin)

AI Evaluation Score: 91/100

This endpoint allows administrators to retrieve complete information about a specific distributor account by providing the distributor name as a path parameter. It is accessible only to admin users and requires authentication with admin privileges. Distributors must use the distributor-specific endpoint to retrieve their own account details.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint: GET /api/v1/distributors/get-info/{name}

Authorizations:
bearerAuth
path Parameters
name
required
string [ 1 .. 255 ] characters
Example: GlobalTravelLtd

Specifies the distributor name for which account information should be retrieved. The value must be between 1 and 255 characters. When a valid distributor name is provided, the system returns the corresponding distributor account details.

Responses

Response samples

Content type
application/json
{
  • "result": {},
  • "status": "success",
  • "message": "Distributor information retrieved successfully.",
  • "executionTime": 12
}

Generate Encoded Password

AI Evaluation Score: 91/100

This endpoint encodes a plain text password and returns the encoded value. The password must be provided as a query parameter, and this endpoint does not accept a request body. The response contains the encoded password string, typically used for secure configuration or authentication purposes.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint: GET /api/v1/distributors/encode-password

query Parameters
password
required
string
Example: password=MySecurePass123

The plain text password that needs to be encoded. This value must be provided as a query parameter in the request. The system will process this value and return the encoded version in the response.

Responses

Response samples

Content type
application/json
{
  • "result": "$2a$12$1XgW3aI4p8R12hat1oCzqOOwx4",
  • "status": "success",
  • "message": "Success password encode.",
  • "executionTime": 361
}

Properties

The Properties API provides endpoints for retrieving and managing property records within the RoomDB Distributor platform. It allows distributors to access detailed property information, search properties using filters, and retrieve associated assets such as property logos and media files.

These endpoints support property discovery, detailed property data retrieval, and asset access, enabling distributors to integrate property information into external systems or internal workflows.

Key Functionality Endpoint Method Purpose
Search Properties by Geocode with Optional Filters /api/v1/property/search-v4 POST Retrieves properties based on the provided geocode (location coordinates) with optional filters such as property IDs and ratings.
Search Properties by List ID with Optional Facility Filters /api/v1/property/search-list-id-v4 POST Retrieves properties using a list of property IDs (listId) with optional facility ID filters.
Api to get List of Property by ids /api/v1/property/ids POST Returns property details for the specified property IDs provided in the request body.
Api to get all filters count based on geocode /api/v1/property/filters-count-by-geocode/v2 POST Returns the count of available property filters for properties located within the specified geocode.
Api to get all filters count based on list id /api/v1/property/filter-count-by-listId/v2 POST Returns the count of available property filters associated with a specific property list.
Api to get List id by Domain Name /api/v1/property/list-id-by-domain-name/{domainName} GET Retrieves the property ListId associated with the provided domain name. The returned ListId can be used in other property APIs to retrieve or filter properties linked to that domain.
Api to get all property ids connected to a channel /api/v1/property/properties-by-channel/{channelId} GET Retrieves all property IDs connected to a specific distribution channel.
Api to get Properties count /api/v1/property/count GET Returns the total number of properties in the system.
Api to get Properties count for given list id /api/v1/property/count-list/{listId} GET Returns the total number of properties associated with a specific property list.
Get All Property Facility Filter /api/v1/property-facility/filter GET Retrieves all available property facility filters used to categorize property facilities.
Get Property Facility Filter by id /api/v1/property-facility/filter/{id} GET Retrieves details of a specific property facility filter along with its facilities.
Get Property data by id /api/v1/properties/{id} GET Retrieves property data for the specified property ID based on supplier access permissions.
Get Property Details with Main Media by id /api/v1/properties/with-main-media/{id} GET Retrieves property details along with its main media where the isMain flag is true.
Get property data with facility data by id. /api/v1/properties/with-facility-data/{id} GET Retrieves property details together with facility information for that property.
Get Specific Property Fields For AI Sitemap /api/v1/properties/sitemap/{fileName} GET Retrieves specific property fields used for generating the AI sitemap.
Get Property with Info and Google Reviews /api/v1/properties/property-with-property-info-and-google-reviews/{id} GET Retrieves property details along with associated Google reviews.
Get property info by property id. /api/v1/properties/info/{id} GET Retrieves detailed information about a property.
Get property identifiers by property id /api/v1/properties/identifier/{propertyId} GET Returns all identifiers associated with a specific property.
Get property facility data by property id /api/v1/properties/facility-data/{id} GET Retrieves facility information associated with the specified property.
Get property facility data by property id and identifier Source Id. /api/v1/properties/facility-data-by-id-and-identifier-source-id/{id}/{identifierSourceId} GET Retrieves facility data using the property ID and identifier source ID.
Get Specific Property Fields for AI /api/v1/properties/details/{fileName} GET Retrieves selected property fields used for AI processing.
Get Property data by CultSwitch id /api/v1/properties/cultswitch-property-id/{id} GET Retrieves property details using the CultSwitch property identifier.
Get list of all logo(s), by property id. /api/v1/logo/{propertyId} GET Retrieves all logos associated with the specified property.
Add Property. /api/v1/properties POST Creates a new property in the system using the provided details.
Update Property. /api/v1/properties/{id} PUT Updates the details of an existing property, including its information, contact details, and billing data.
Add property info. /api/v1/properties/info POST Adds or updates detailed information for a property, including its basic details, location, brand, capacity, languages, and address information.
Update property info. Request field PropertyId will be used to find Property Info that need to be updated. /api/v1/properties/info PUT Updates existing property information by using the provided propertyId to locate the correct property record and apply the necessary updates.
Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Search Properties by Geocode with Optional Filters

AI Evaluation Score: 92.4/100

This endpoint retrieves properties based on the provided geocode (location coordinates), with optional filters such as property IDs and ratings to refine the results. If no filters are provided, the API returns all properties available for the specified geocode.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:POST /api/v1/property/search-v4

Authorizations:
bearerAuth
Request Body schema: application/json
required
latitude
required
string

The latitude of the location used to search for nearby properties. This value defines the north-south position of the search area on the map.

longitude
required
string

The longitude of the location used to search for nearby properties. This value defines the east-west position of the search area on the map.

radius
integer <int32> >= 0

The search distance from the provided latitude and longitude. Only properties located within this radius will be included in the results.

distributorType
Array of strings

Specifies the distributor channel types used to filter properties available to the requesting distributor.

propertyTypeIds
Array of integers <int32> unique [ items <int32 > ]

A list of property type IDs used to filter the search results. Only properties that match the specified property types (such as hotels, apartments, or resorts) will be returned.

hotelFacilitiesFiltered
Array of integers <int32> unique [ items <int32 > ]

A list of facility IDs used to filter properties based on available amenities such as Wi-Fi, parking, swimming pool, or restaurant.

pageNumber
integer <int32>

Specifies the page number of the results to retrieve when the property list is paginated. Use this parameter to navigate through different pages of the search results.

pageSize
integer <int32>

Specifies the maximum number of property records to return in a single page of results.

checkInDate
string

The desired check-in date for the stay. This helps the system return properties that have available rooms for that date.

checkOutDate
string

The desired check-out date for the stay. Together with the check-in date, it determines the duration of the booking search.

ratings
Array of strings

A list of rating values used to filter properties based on their star rating or review rating.

Array of objects (SortRequest)

Defines how the results should be sorted, such as by price, rating, or distance, along with the sorting order.

Responses

Request samples

Content type
application/json
{
  • "latitude": "41.04984",
  • "longitude": "8.94651",
  • "radius": 20,
  • "distributorType": "[A/B/C]",
  • "propertyTypeIds": "propertyTypeIds: [1, 2, 3]",
  • "hotelFacilitiesFiltered": "hotelFacilitiesFiltered: [101, 205, 309]",
  • "pageNumber": "pageNumber: 1",
  • "pageSize": 10,
  • "checkInDate": "2024-08-18",
  • "checkOutDate": "2024-08-19",
  • "ratings": "[noRating/1/2/3/4/5]",
  • "sortRequests": "sortRequests: field: price, direction: ASC"
}

Response samples

Content type
application/json
{
  • "result": "content:id: 1002456, name: Golden Tulip, pageNumber: 1, totalElements: 50",
  • "status": "success",
  • "message": "Properties retrieved successfully.",
  • "executionTime": 110
}

Search Properties by List ID with Optional Facility Filters

AI Evaluation Score: 91/100

Retrieves property records for the provided list of property IDs (listId). The results can be optionally filtered using facilityIds, returning only properties that include all specified facilities. The response is paginated and wrapped in a standard response structure.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:POST /api/v1/property/search-list-id-v4

Authorizations:
bearerAuth
Request Body schema: application/json
required
listId
required
integer <int32> >= 0

The ID of the property list used to retrieve properties. This value identifies the specific list from which properties will be returned.

latitude
string

Specifies the latitude coordinate of the location used to search for nearby properties.

longitude
string

Specifies the longitude coordinate of the location used to search for nearby properties.

radius
integer <int32> >= 0

Defines the search radius around the provided latitude and longitude. Properties located within this radius will be included in the search results.

distributorType
Array of strings

Specifies the types of distributors used to filter properties. Only properties associated with the provided distributor types will be returned.

propertyTypeIds
Array of integers <int32> unique [ items <int32 > ]

A list of property type IDs used to filter properties by category, such as hotels, apartments, or resorts.

hotelFacilitiesFiltered
Array of integers <int32> unique [ items <int32 > ]

A list of facility IDs used to filter properties based on available amenities, such as Wi-Fi, parking, or swimming pool.

pageNumber
integer <int32>

Specifies the page number of the results to retrieve when the property list is returned in a paginated format.

pageSize
integer <int32>

Specifies the maximum number of records returned in each page of results when the response is paginated.

checkInDate
string

Specifies the check-in date used to search for property availability.

checkOutDate
string

Specifies the check-out date used to search for property availability

ratings
Array of strings

A list of rating values used to filter properties by rating. Only properties matching the specified ratings will be returned.

Array of objects (SortRequest)

Specifies how the search results should be sorted. Each object in the array defines the field used for sorting and the sorting order.

Responses

Request samples

Content type
application/json
{
  • "listId": 1,
  • "latitude": "41.04984",
  • "longitude": "8.94651",
  • "radius": 20,
  • "distributorType": "[A/B/C]",
  • "propertyTypeIds": [
    ],
  • "hotelFacilitiesFiltered": [
    ],
  • "pageNumber": "pageNumber: 1",
  • "pageSize": 10,
  • "checkInDate": "2024-08-18",
  • "checkOutDate": "2024-08-19",
  • "ratings": "[noRating/1/2/3/4/5]",
  • "sortRequests": "sortRequests: field: rating, order: DESC, priority: 1"
}

Response samples

Content type
application/json
{
  • "result": "content:id: 1002456, name: Golden Tulip, pageNumber: 1, totalElements: 50",
  • "status": "success",
  • "message": "Properties retrieved successfully.",
  • "executionTime": 110
}

Api to get List of Property by ids

AI Evaluation Score: 92/100

Returns details for the exact properties specified by their IDs. The request must include a list of property IDs in the request body, and only matching properties are returned. This endpoint is used when property IDs are already known and a targeted fetch is required instead of retrieving the full property dataset.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:Post /api/v1/property/ids

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyIds
required
Array of integers <int32> unique [ items <int32 > ]

List of property IDs used to specify which properties should be included in the request. Each value in the array represents a unique property identifier from the system. Duplicate property IDs are not allowed.

Responses

Request samples

Content type
application/json
{
  • "propertyIds": [
    ]
}

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "OK",
  • "message": "Property search results retrieved successfully",
  • "executionTime": 128
}

Api to get all filters count based on geocode

AI Evaluation Score: 91.4/100

Returns a structured count of all available property filters for a specific geographic area. The request requires a valid geocode, which identifies the target location. Based on this input, the API calculates and returns the number of properties available for each filter category (such as property types or attributes) within that area. This enables accurate, location-based filter previews before executing a property search.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:Post /api/v1/property/filters-count-by-geocode/v2

Authorizations:
bearerAuth
Request Body schema: application/json
required
latitude
required
string

Latitude coordinate used to identify the geographic location for property filtering. This value works together with longitude and radius to determine which nearby properties should be included in the filter calculation.

longitude
required
string

Longitude coordinate used along with latitude to define the geographic location of the search. Properties near this location will be considered when applying filters.

radius
integer <int32> >= 0

Distance from the specified latitude and longitude within which properties should be considered. The value represents the search radius used to filter nearby properties.

distributorType
Array of strings

List of distributor types used to filter properties. Only properties belonging to the specified distributor categories will be included in the filter results.

ratings
Array of strings

List of property type IDs used to filter properties. Only properties matching the specified property types will be included in the search results.

propertyTypeIds
Array of integers <int32> unique [ items <int32 > ]

List of property type IDs used to filter properties. Only properties matching the specified property types will be included in the search results.

hotelFacilitiesFiltered
Array of integers <int32> unique [ items <int32 > ]

List of hotel facility IDs used to filter properties based on available facilities. Only properties that include the specified facilities will be returned.

Responses

Request samples

Content type
application/json
{
  • "latitude": "41.04984",
  • "longitude": "8.94651",
  • "radius": 20,
  • "distributorType": "[A/B/C]",
  • "ratings": "[noRating/1/2/3/4/5]",
  • "propertyTypeIds": [
    ],
  • "hotelFacilitiesFiltered": [
    ]
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "OK",
  • "message": "Property count retrieved successfully.",
  • "executionTime": 125
}

Api to get all filters count based on list id

AI Evaluation Score: 93/100

Returns a structured count of all available property filters for a specific property list identified by listId. The request requires a valid listId, which represents the target property list. Based on this input, the API calculates and returns the number of properties available for each filter category (such as property type, status, or other applicable attributes) within that list. The response contains a key-value mapping where each key represents a filter name and the value represents the total number of properties matching that filter. This allows clients to dynamically display filter options along with their counts before executing a filtered property search. This endpoint is typically used to populate filter panels, refine search experiences, and provide visibility into available filtering options for a selected property list.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

EndPoint:Post /api/v1/property/filter-count-by-listId/v2

Authorizations:
bearerAuth
Request Body schema: application/json
required
listId
required
integer <int32>

Unique identifier of the property list for which filter counts need to be calculated. The API uses this ID to locate the specific list and return filter counts based on the properties available in that list.

latitude
string

Latitude coordinate used to filter properties based on geographic location. When provided together with longitude and radius, the API calculates filter counts only for properties within the specified area.

longitude
string

Longitude coordinate used along with latitude to define the geographic location for filtering properties. This helps limit the filter count calculation to properties near the specified coordinates.

radius
integer <int32> >= 0

Distance from the provided latitude and longitude within which properties should be considered when calculating filter counts. The value is typically measured in kilometers.

distributorType
Array of strings

List of distributor types used to filter properties. Only properties belonging to the specified distributor types will be considered when calculating filter counts.

ratings
Array of strings

List of property rating values used to filter the results. Only properties with the specified ratings will be considered when calculating filter counts. The value 'noRating' represents properties that do not have a rating.

hotelFacilitiesFiltered
Array of integers <int32> unique [ items <int32 > ]

List of hotel facility IDs used to filter properties. Only properties that include the specified facilities will be considered when calculating filter counts.

propertyTypeIds
Array of integers <int32> unique [ items <int32 > ]

List of property type IDs used to filter the results. Only properties matching the specified property types will be included when calculating filter counts.

Responses

Request samples

Content type
application/json
{
  • "listId": 2,
  • "latitude": "41.04984",
  • "longitude": "8.94651",
  • "radius": 20,
  • "distributorType": "[A/B/C]",
  • "ratings": "[noRating/1/2/3/4/5]",
  • "hotelFacilitiesFiltered": [
    ],
  • "propertyTypeIds": [
    ]
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "OK",
  • "message": "Property count retrieved successfully.",
  • "executionTime": 125
}

Api to get List id by Domain Name

AI Evaluation Score: 93/100

Retrieves the property ListId associated with a specific domain name.

Provide a valid domainName as a path parameter to identify the domain. The API returns the corresponding ListId, which can be used in downstream property APIs for searching, filtering, and retrieving properties linked to that domain.

This endpoint is typically used as a lookup step before calling property search or filter APIs.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/property/list-id-by-domain-name/{domainName}

Authorizations:
bearerAuth
path Parameters
domainName
required
string
Example: example.com

The domain name used to identify the property source. Must be a valid, fully qualified domain name (FQDN) such as example.com. Subdomains are supported (e.g., listings.example.com). Invalid or malformed domain values may result in request failure.

Responses

Response samples

Content type
application/json
{
  • "result": 1001,
  • "status": "OK",
  • "message": "Request processed successfully",
  • "executionTime": 120
}

Api to get all property ids connected to a channel

AI Evaluation Score: 91/100

Retrieves all property IDs that are connected to a specific channel. The channelId path parameter is used to identify the channel for which the property IDs should be fetched. When a valid channelId is provided, the API returns a list of property identifiers that are currently linked to that channel. This endpoint is useful for retrieving all properties associated with a particular distribution channel so that they can be managed, queried, or processed further in the system.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint: GET /api/v1/property/properties-by-channel/{channelId}

Authorizations:
bearerAuth
path Parameters
channelId
required
integer <int32>
Example: 101

Unique identifier of the channel. This value is used to retrieve all property IDs that are connected to the specified channel.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "OK",
  • "message": "Request processed successfully",
  • "executionTime": 120
}

Api to get Properties count

AI Evaluation Score: 93/100

Returns the total number of properties in the system. By default, the API counts only properties that have a non-null distributor type. To retrieve the count of all properties, including those without a distributor type, set the allPropertiesCount query parameter to true.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/property/count

Authorizations:
bearerAuth
query Parameters
allPropertiesCount
boolean
Default: false

By default this will return only count of properties with not null distributor types, for count of all properties pass flag as true

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "status": "OK",
  • "message": "Request processed successfully.",
  • "executionTime": 125
}

Api to get Properties count for given list id

AI Evaluation Score: 93/100

Returns the total number of properties associated with a specific property list identified by listId. The listId must be provided in the request path. The API returns a numeric value representing the total number of properties linked to that list, without returning the full property data. The total property count is returned in the result field of the response.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/property/count-list/{listId}

Authorizations:
bearerAuth
path Parameters
listId
required
integer <int32>
Example: 1025

Unique identifier of the property list. The API uses this value to calculate and return the total number of properties associated with the specified list. For example, listId = 1025 returns the count of properties in list 1025.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "status": "OK",
  • "message": "Request processed successfully.",
  • "executionTime": 125
}

Get All Property Facility Filter.

AI Evaluation Score: 93/100

This endpoint retrieves all available property facility filters. The response includes the list of facility filter options that can be used to filter or categorize property facilities.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/property-facility/filter

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": "id: 1, name: WiFi",
  • "status": "status: success",
  • "message": "message: Property facility filters retrieved successfully.",
  • "executionTime": "executionTime: 95"
}

Get Property Facility Filter by id.

AI Evaluation Score: 91.6/100

Retrieves a property facility filter by its unique ID. The response returns the filter details along with the associated facility metadata IDs.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/property-facility/filter/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1
Example: 1

The unique identifier of the property facility filter. This ID is passed as a path parameter to retrieve the corresponding filter and its associated facility metadata IDs.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Property facility filter retrieved successfully.",
  • "executionTime": "85"
}

Get Property data by id.

AI Evaluation Score: 92.9/100

Retrieves complete details of a specific property using its unique property ID.

The response includes the property data along with its address and geographical coordinates, as well as metadata such as request status, message, and execution time.

Access control is enforced based on supplier permissions:

  • Suppliers with permission to read all properties can access any property.
  • Suppliers without this permission can only access properties that belong to their supplier account.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint: GET /api/v1/properties/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1000000
Example: 1000001

Unique identifier of the property in the RoomDB system. This value is required to specify which property's details should be retrieved.

Constraints:

  • Must be a valid integer
  • Minimum value: 1000000

If an invalid or non-existent ID is provided, the API may return an error response.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "OK",
  • "message": "Request processed successfully",
  • "executionTime": 120
}

Update Property.

AI Evaluation Score: 92.6/100

This endpoint updates an existing property identified by its unique ID. The request body must follow the UpdatePropertyDto schema and can include partial or complete property data such as core details, contact information, billing data, and operational flags. Only the fields provided in the request are updated; all unspecified fields remain unchanged.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint: PUT /api/v1/properties/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1000000
Example: 1000001

Unique identifier of the property in the RoomDB system. This value is required to specify which property's details should be retrieved.

Constraints:

  • Must be a valid integer
  • Minimum value: 1000000

If an invalid or non-existent ID is provided, the API may return an error response.

Request Body schema: application/json
required
cultSwitchId
string

Unique identifier of the property from the CultSwitch system. This is mainly used to recognize and match the same property when data is coming from external integrations.

status
string

Shows the current state of the property, such as whether it is active or inactive. This helps determine if the property is available for use in the system.

code
string

A short internal code assigned to the property. It is commonly used for quick identification, searching, and managing properties within the system.

name
string

The main name of the property. This is the name that appears across the platform and is used in all standard displays.

alternativeName
string

An additional name for the property, such as a local or commonly used name. This helps in identifying the property when it is known by different names.

isDeletedBySupplier
boolean

Indicates if the property has been marked as deleted by the supplier. When set to true, the property is generally considered no longer valid or usable.

forTesting
boolean

Indicates whether the property is created for testing purposes. When true, the property is intended for testing only and should not be used in live or production scenarios.

isMaster
boolean

Indicates whether the property is set as a master property. A master property typically acts as the main or parent property in cases where multiple related properties are grouped together.

isPermanentlyClosed
boolean

Indicates whether the property is permanently closed. When set to true, the property is no longer operational and should not be considered for bookings or active use.

icalExportActivated
boolean

Indicates whether iCal export is enabled for the property. When enabled, the property’s availability or booking data can be shared or synced with external calendar systems.

autoReplenishment
boolean

Indicates whether automatic inventory replenishment is enabled. When set to true, the system automatically updates or refills availability based on predefined rules.

showCultSwitchDefaultCancellationRules
boolean

Indicates whether the default cancellation rules provided by CultSwitch are applied to the property. When enabled, these standard rules are used instead of custom configurations.

emailAddressComment
string

Additional information or note associated with the email address. This can be used to describe the purpose of the email, such as primary contact or support email.

emailAddressUnsubscribe
boolean

Indicates whether the email address is unsubscribed from communications. When set to true, no notifications or emails should be sent to this address.

createdBy
string

Represents the identifier of the user who created the property. This helps track who originally added or registered the property in the system.

initialParentId
integer <int32>

Identifier of the parent entity associated with the property. This is used when the property is linked under a parent structure, such as a group or master property.

vatNumber
string

Specifies the VAT (Value Added Tax) number associated with the property or its owning company. This is typically used for taxation and legal identification purposes.

legalCompanyName
string

Defines the registered legal name of the company that owns or operates the property. This is the official name used in legal and business documents.

commercialRegistrationNumber
string

Represents the official registration number assigned to the company for commercial or business registration. This is used for regulatory and legal verification.

managingDirector
string

Name of the managing director or primary person responsible for overseeing the company or property operations"

companyOrganizationNumber
string

Specifies the organization or company identification number. This is typically used for official records and administrative purposes.

fax
string

Represents the fax number associated with the property or company. This can be used as an additional communication channel where applicable.

object

Contains the complete billing information associated with the property. This includes invoice recipient details, billing address, and email contacts used for sending invoices and billing-related communication.

Array of objects

Represents a list of email addresses associated with the property. Each object defines the email type, the email address itself, and its current status.

Array of objects

Represents a list of phone numbers associated with the property. Each entry includes the phone type, number, and additional details used for communication.

homeCurrencyId
integer

Represents the system-defined identifier for the default currency used by the property. This value is typically mapped to a predefined list of supported currencies in the system.

homeCurrencyCode
string

Specifies the standard currency code used by the property, such as USD or EUR. This is the currency in which pricing, transactions, and financial data are primarily handled.

Array of objects

Represents a list of names associated with the property or entity. This allows storing the same name in different languages for better localization and display.

availabilityUpdateCount
integer

Represents the number of times the availability for the property has been updated. This can be used to track how frequently availability changes occur.

lastAvailabilityUpdate
string <date-time>

Indicates the date and time when the property’s availability was last updated. This helps in understanding how recent the availability data is.

roundingRuleId
integer

Specifies the identifier of the rounding rule applied to the property. This is typically used in pricing calculations to control how values are rounded.

businessUnitId
integer

Represents the identifier of the business unit associated with the property. This is used to group or manage properties under specific organizational units.

Responses

Request samples

Content type
application/json
{
  • "cultSwitchId": "1232",
  • "status": "ACTIVE",
  • "code": "GT-01",
  • "name": "Golden Tulip",
  • "alternativeName": "Local name for Golden Tulip",
  • "isDeletedBySupplier": false,
  • "forTesting": false,
  • "isMaster": false,
  • "isPermanentlyClosed": false,
  • "icalExportActivated": true,
  • "autoReplenishment": false,
  • "showCultSwitchDefaultCancellationRules": true,
  • "emailAddressComment": "Primary contact email",
  • "emailAddressUnsubscribe": false,
  • "createdBy": "user@email",
  • "initialParentId": 1000000,
  • "vatNumber": "123456",
  • "legalCompanyName": "Golden Tulip",
  • "commercialRegistrationNumber": "AR4305",
  • "managingDirector": "Mr X Y",
  • "companyOrganizationNumber": "425ERQ",
  • "fax": "425ERQ",
  • "billingAddress": {
    },
  • "emails": "emailTypeId: 0, email: info@gmail.com, status: ACTIVE",
  • "phones": "phoneTypeId: 0,phoneNumber: 123-23-23,extension: #43,isValidated: false,name: Front Desk",
  • "homeCurrencyId": 12,
  • "homeCurrencyCode": "USD",
  • "names": [
    ],
  • "availabilityUpdateCount": 0,
  • "lastAvailabilityUpdate": "2026-04-01T08:07:54.451Z",
  • "roundingRuleId": 0,
  • "businessUnitId": 0
}

Response samples

Content type
application/json
{
  • "result": "id: 0, cultSwitchId: 1232, code: GT-01, name: Golden Tulip, status: ACTIVE",
  • "status": "SUCCESS",
  • "message": "Property updated successfully",
  • "executionTime": 120
}

Get Property Details with Main Media by id

AI Evaluation Score: 91/100

Retrieves a single property using the provided property ID, returning its complete details including address, geographical coordinates, and associated main media assets in a single response. The endpoint returns exactly one property object per request and does not support bulk retrieval operations. Access is controlled based on supplier permissions: suppliers with permission to read all properties can access any property, while others are restricted to properties assigned to them. The property ID must be a valid existing identifier; otherwise, the request cannot be processed successfully. Typically used after retrieving property IDs from listing or search endpoints to fetch detailed property information, including media, for display, synchronization, or downstream processing.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/properties/with-main-media/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1000000
Example: 1002456

The unique numeric property ID used in RoomDB to identify a specific property. This value must be a valid integer greater than or equal to 1000000. This value must correspond to an existing property ID; otherwise, the request will not return a successful result.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "OK",
  • "message": "Request processed successfully",
  • "executionTime": 120
}

Get property data with facility data by id.

AI Evaluation Score: 93/100

This endpoint retrieves the complete details of a single property along with all associated facility data using the provided property ID. It always returns exactly one property object and does not support bulk retrieval. The response includes structured property information, facility mappings, request status, message, and execution time in milliseconds. The request is successfully processed only when a valid property ID and authentication token are provided.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/properties/with-facility-data/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1000000
Example: 1002456

Unique numeric identifier of the property. Must be a valid integer greater than or equal to 1000000. The request is processed successfully only if the property ID exists and is accessible to the authenticated user. Used to retrieve a single property’s details along with its facility data.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Property facility data retrieved successfully.",
  • "executionTime": "120"
}

Get Specific Property Fields For AI Sitemap

AI Evaluation Score: 92/100

This endpoint retrieves structured property field data associated with a specific sitemap file, used by the AI system to generate or update the sitemap. It returns only the necessary property attributes (such as addresses, emails, and images) in a grouped format, avoiding full property payload retrieval and ensuring lightweight, efficient data transfer. The response structure is optimized for direct consumption by AI sitemap generation systems without requiring additional transformation.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/properties/sitemap/{fileName}

Authorizations:
bearerAuth
path Parameters
fileName
required
string
Example: sitemap-properties.xml

The name of the sitemap file used to retrieve its associated structured property field data. This parameter uniquely and deterministically identifies the sitemap resource and controls which grouped property field data (such as addresses, emails, and images) is returned in the response.

Responses

Response samples

Content type
application/json
{}

Get Property with Info and Google Reviews

AI Evaluation Score: 90/100

Retrieves a single property using its unique property ID and returns a combined response containing core property details, extended property information, and associated Google review data in a single request.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/properties/property-with-property-info-and-google-reviews/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1000000
Example: 1002456

Unique internal property ID. Must be a 32-bit integer greater than or equal to 1,000,000. This value is required to identify and retrieve the property.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Property data retrieved successfully.",
  • "executionTime": "1234"
}

Get property info by property id.

AI Evaluation Score: 93/100

Retrieves detailed information for a specific property using the provided property ID. Access depends on supplier permissions suppliers with full access can retrieve any property, while others can only retrieve properties assigned to them.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/properties/info/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1000000
Example: 1002456

The unique RoomDB internal property ID used to identify the property. This parameter is required and must be an integer greater than or equal to 1000000.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Property information retrieved successfully.",
  • "executionTime": "120"
}

Add property info.

AI Evaluation Score: 93/100

This endpoint allows you to create or update (upsert) detailed information for a property, including its basic details, location, brand, capacity, languages, and address information, used for managing the property within the system. If the provided propertyId already exists, the existing record is updated; otherwise, a new property is created.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:POST /api/v1/properties/info

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
integer <int32>

Represents the unique identifier of the property for which information is being added or updated. This value is used to link the request to the correct property in the system.

website
string

Specifies the official website of the property. This is used as a reference for the property and may also be used for communication or validation purposes.

object

Contains the geographical coordinates of the property location. These values are used to accurately identify the property’s position for mapping and location-based services.

brandId
integer <int32>

Represents the identifier of the brand associated with the property. This value is used to link the property to a specific brand within the system and helps in categorizing and managing properties under different brands.

timezone
string

Specifies the timezone of the property location. This is used for handling scheduling, availability updates, bookings, and other time-based operations accurately based on the property's location.

taxpayerId
string

Represents the tax identification number associated with the property or its owning entity. This is used for billing, invoicing, and legal compliance purposes.

capacity
integer

Defines the total capacity of the property based on the specified capacity type. This helps in understanding how many units, rooms, or guests the property can accommodate.

capacityType
string

Specifies how the property capacity is measured, such as rooms, units, or beds. This provides context to the capacity value.

isExist
boolean

Indicates whether the property already exists in the system before this request was processed.This helps determine whether the request is updating an existing property or adding new information to an existing record.

propertyTypeId
integer <int32>

Represents the identifier of the property type, such as hotel, apartment, or villa. This helps classify the property within the system.

websiteUrlReachable
boolean

Indicates whether the provided website URL is reachable. This is typically used to verify that the property’s website is valid and accessible.

websiteUrlReachabilityLastUpdate
string <date-time>

Timestamp of the last check performed to verify website reachability.

Array of objects

Represents the list of languages supported by the property. Each entry defines a language in which the property information is available and indicates which one is used as the primary language.

Array of objects

Represents the list of addresses associated with the property. Each entry contains detailed location information such as address lines, city, postal code, and region identifiers used to define and locate the property.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000040,
  • "website": "marriott.com",
  • "geoCode": "latitude: 38.8951,longitude: -77.0364",
  • "brandId": 12,
  • "timezone": "Asia/Kolkata",
  • "taxpayerId": "1232 1233",
  • "capacity": 40,
  • "capacityType": "room",
  • "isExist": true,
  • "propertyTypeId": 17,
  • "websiteUrlReachable": true,
  • "websiteUrlReachabilityLastUpdate": "2026-04-02T07:25:26.877Z",
  • "languages": "languageId: 1,isMain: true",
  • "addresses": "addressType: GEOCODE,addressLine: 221b Baker St,cityName: London,postalCode: NW1 6XE"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "SUCCESS",
  • "message": "Property information created or updated successfully",
  • "executionTime": 0
}

Update property info. Request field Propertyid will be used to find Property Info that need to be updated.

AI Evaluation Score: 91/100

This endpoint updates an existing property by using the required propertyId to locate the correct record and apply only the provided field updates. Fields not included in the request remain unchanged, ensuring safe partial updates without overwriting existing data.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint: PUT /api/v1/properties/info

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
integer <int32>

Unique identifier of the property. This ensures the request is mapped to the correct property record in the system.

website
string

The official website of the property, used to validate the property’s identity and provide a reliable reference for linking or verifying the property online.

object

Defines the exact physical location of the property using latitude and longitude coordinates, allowing the system to support map integrations, location-based searches, and accurate distance calculations.

brandId
integer <int32>

An identifier that links the property to a specific brand, allowing multiple properties to be grouped and managed under the same brand.

timezone
string

The timezone in which the property operates, ensuring that all time-based data such as bookings and schedules align with the property’s local time.

taxpayerId
string

Tax identification number associated with the property or its owner. Used for billing and compliance purposes.

capacity
integer

Represents the total capacity of the property based on how it is defined, such as the number of rooms, units, or beds, allowing the system to understand how many occupants or spaces the property can accommodate.

capacityType
string

Defines the unit used to measure the property’s capacity, such as rooms, units, or beds, ensuring the capacity value is interpreted correctly within the system.

isExist
boolean

Indicates whether the property already exists in the system, helping determine if the request is related to creating a new property or updating an existing one.

propertyTypeId
integer <int32>

An identifier that represents the type of property, such as a hotel, apartment, or villa, allowing the system to categorize and manage properties based on their type.

websiteUrlReachable
boolean

Indicates whether the provided website URL is valid and accessible, helping ensure that the property’s online reference is active and reachable.

websiteUrlReachabilityLastUpdate
string <date-time>

Represents the timestamp of when the website’s reachability was last checked, providing context on how recent the validation status is.

Array of objects

A collection of languages supported by the property, where each entry defines a specific language and whether it is the primary language used, allowing the system to understand communication preferences for the property.

Array of objects

List of addresses associated with the property, including detailed location and regional identifiers.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000040,
  • "website": "marriott.com",
  • "geoCode": "latitude: 38.8951, longitude: -77.0364",
  • "brandId": 12,
  • "timezone": "Asia/Kolkata",
  • "taxpayerId": "1232 1233",
  • "capacity": 40,
  • "capacityType": "room",
  • "isExist": true,
  • "propertyTypeId": 17,
  • "websiteUrlReachable": true,
  • "websiteUrlReachabilityLastUpdate": "2026-04-03T04:51:06.125Z",
  • "languages": "languageId: 1, isMain: true",
  • "addresses": "addressType: GEOCODE, addressLine: 221b Baker St, cityName: London, postalCode: NW1 6XE"
}

Response samples

Content type
application/json
{
  • "result": "id: 0, propertyId: 1000040, website: marriott.com",
  • "status": "SUCCESS",
  • "message": "Property info processed successfully",
  • "executionTime": 0
}

Get property identifiers by property id.

AI Evaluation Score: 92/100

Returns all identifiers associated with a specific property using the provided property ID. The identifiers are returned only if the authenticated supplier has access to the requested property.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/properties/identifier/{propertyId}

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000
Example: `propertyId: 1002456`

The unique internal ID of the property in RoomDB used to identify which property’s identifiers should be returned. The value must be an integer greater than or equal to 1000000.

Responses

Response samples

Content type
application/json
{
  • "result": [],
  • "status": "status: success",
  • "message": "message: Property identifiers retrieved successfully.",
  • "executionTime": "executionTime: 125"
}

Get property facility data by property id.

AI Evaluation Score: 92/100

Retrieves the facility information associated with a specific property using the provided property ID. The response includes the list of facilities configured for the property along with request status and execution metadata.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

EndPoint:GET /api/v1/properties/facility-data/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1000000
Example: 1023456

Unique RoomDB property ID used to identify the property for which facility data is requested. Must be an integer greater than or equal to 1000000.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Property facility data retrieved successfully.",
  • "executionTime": 120
}

Get property facility data by property id and identifier Source id.

AI Evaluation Score: 93/100

Retrieves property facility data for a specific property using the provided property ID and identifier source ID. The response includes all facility-related information mapped to the property based on the selected identifier source.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/properties/facility-data-by-id-and-identifier-source-id/{id}/{identifierSourceId}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1000000
Example: 1023456

The unique RoomDB internal property ID used to identify the target property. Must be an integer greater than or equal to 1000000.

identifierSourceId
required
integer <int32> >= 1
Example: 2

Specifies the source system of the property identifier. This determines which identifier mapping is used to retrieve the property’s facility data.

Responses

Response samples

Content type
application/json
{
  • "result": "propertyId: 1023456",
  • "status": "success",
  • "message": "Property facility data retrieved successfully.",
  • "executionTime": 120
}

Get Specific Property Fields For AI

AI Evaluation Score: 91/100

Retrieves structured property data fields from a specified file and returns them in a machine-readable format optimized for AI processing, automation workflows, and downstream analytics systems. The response represents the decoded content of the requested property data file.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/properties/details/{fileName}

Authorizations:
bearerAuth
path Parameters
fileName
required
string
Example: property_data.json

Specifies the exact file name of the property data file to be retrieved. The value must match an existing file stored in the system. The API uses this identifier to locate, read, and return the corresponding property data content.

Responses

Response samples

Content type
application/json
{
  • "fileName": "property_data.json",
  • "data": true,
  • "executionTime": 15
}

Get property data by CultSwitch id.

AI Evaluation Score: 92.6/100

This endpoint retrieves property details using the CultSwitch property ID. If the supplier has permission to read all properties, the API can return any property in the system. If the supplier does not have this permission, the API will return the property only if it belongs to that supplier.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/properties/cultswitch-property-id/{id}

Authorizations:
bearerAuth
path Parameters
id
required
string [ 1 .. 255 ] characters
Example: 5f8d0d55b54764421b7156c3

Unique CultSwitch property ID used to identify a specific property in the system. This ID is also known as the ObjectId and must be provided to retrieve the corresponding property details.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "OK",
  • "message": "Request processed successfully",
  • "executionTime": 120
}

Get list of all logo(s), by property id.

AI Evaluation Score: 91/100

This endpoint retrieves all logos associated with a specific property using the property ID. The response includes all available logo records for the property, and a property may have **more than one logo.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/logo/{propertyId}

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000
Example: propertyId: 1002456

The unique property ID used in RoomDB to identify a specific property. This ID is required to retrieve all logos associated with that property.

Responses

Response samples

Content type
application/json
{
  • "result": "id: 101, url: https://example.com/logo.png",
  • "status": "status: success",
  • "message": "message: Logos retrieved successfully.",
  • "executionTime": "executionTime: 120"
}

Add Property

AI Evaluation Score: 91/100

Creates a new property using the provided details; the request must include all required fields (cultSwitchId, status, code, name), otherwise the API rejects the request with a validation error.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

EndPoint: POST /api/v1/properties

Authorizations:
bearerAuth
Request Body schema: application/json
required
cultSwitchId
required
string

The ID of the property in the external system (CultSwitch). This tells the API which property you are referring to when sending or retrieving data.

status
required
string

The current state of the property. This value indicates whether the property is active, inactive, or in any other defined state in the system.

code
required
string

The internal code used to identify the property within your system. This helps distinguish the property from others in your records.

name
required
string

The primary name of the property. This value is used as the main display name across the system and should match the official property name.

alternativeName
string

An additional or local name of the property. This can be used when the property is known by a different name in certain regions or systems.

isDeletedBySupplier
boolean

Indicates whether the property has been marked as deleted by the supplier. Deleted properties are typically excluded from active operations.

forTesting
boolean

Indicates whether the property is created for testing purposes. Test properties are not intended for production use.

isMaster
boolean

Indicates whether the property is a master property. Master properties are used as the primary reference for grouping or mapping related properties.

isPermanentlyClosed
boolean

Indicates whether the property is permanently closed and no longer operational.

icalExportActivated
boolean

Indicates whether iCal export is enabled for the property, allowing availability or booking data to be shared with external systems.

autoReplenishment
boolean

Indicates whether automatic inventory replenishment is enabled for the property.

showCultSwitchDefaultCancellationRules
boolean

Indicates whether the default cancellation rules defined in CultSwitch are applied to this property. When enabled, the system uses the standard cancellation rules instead of custom ones.

emailAddress
string

The primary contact email address for the property. This email is used for receiving system notifications, updates, and communication related to the property.

emailAddressUnsubscribe
boolean

Indicates whether the provided email address has been unsubscribed from receiving system communications or notifications.

createdBy
string

Identifier of the user who created the property record. This is typically a user email or a unique system identifier used for tracking and auditing.

initialParentId
integer <int32>

The identifier of the parent entity associated with the property. This is used to define hierarchical relationships, such as linking the property to a parent organization or group.

vatNumber
string

The VAT (Value Added Tax) registration number associated with the property or its owning company. This is used for tax and legal purposes.

legalCompanyName
string

The official legal name of the company that owns or manages the property. This name is used in legal, contractual, and billing contexts.

commercialRegistrationNumber
string

The official commercial registration number of the company. This is a government-issued identifier used for legal and business verification.

managingDirector
string

The name of the managing director or primary person responsible for overseeing the property or company operations.

fax
string

The fax number associated with the property or company. This can be used as an additional communication channel where applicable.

companyOrganisationNumber
string

The official organization or registration number assigned to the company. This is typically used for legal, administrative, or business identification purposes.

Array of objects

A list of email contacts for the property. Each object includes the email address, its type, and its current status.

Array of objects

A list of phone contact details associated with the property. Each object represents a phone entry, including its type, number, and additional details.

object

Billing address details associated with the property. This information is used for invoicing, billing communication, and official records.

isTaxRegistered
boolean

Indicates whether the property or associated company is registered for tax. When enabled, tax-related fields such as tax ID and type are expected to be applicable.

taxId
string

The tax identification number assigned to the property or company. This is used for tax reporting and legal purposes.

taxIdType
string

Specifies the type of tax identification used (for example, VAT, GST, etc.), depending on the country and tax system.

languageId
integer

Specifies the type of tax identification used (for example, VAT, GST, etc.), depending on the country and tax system.

countryId
integer

Identifier of the country where the property is located. This value is typically mapped to a predefined list of countries in the system.

stateId
integer

Identifier of the state or region associated with the property. Used in combination with the country to define location details.

homeCurrencyId
integer

Identifier of the primary currency used by the property for transactions and financial operations.

homeCurrencyCode
string

The currency code corresponding to the home currency (for example, USD, EUR). This follows standard currency formats.

Array of objects

A list of localized names for the property. Each object represents the property name in a specific language.

availabilityUpdateCount
integer

Represents the number of times the property's availability has been updated. This can be used for tracking update frequency or synchronization.

lastAvailabilityUpdate
string <date-time>

The timestamp of the most recent availability update. The value follows a standard date-time format.

roundingRuleId
integer

Identifier of the rounding rule applied to pricing or calculations for the property. The exact behavior depends on system configuration.

businessUnitId
integer

Identifier of the business unit associated with the property. This is used to group or organize properties within the system.

Responses

Request samples

Content type
application/json
{
  • "cultSwitchId": "1232",
  • "status": "ACTIVE",
  • "code": "GT_01",
  • "name": "Golden Tulip",
  • "alternativeName": "Local name for Golden Tulip",
  • "isDeletedBySupplier": false,
  • "forTesting": false,
  • "isMaster": false,
  • "isPermanentlyClosed": false,
  • "icalExportActivated": true,
  • "autoReplenishment": false,
  • "showCultSwitchDefaultCancellationRules": true,
  • "emailAddress": "info@gmail.com",
  • "emailAddressUnsubscribe": false,
  • "createdBy": "user@email",
  • "initialParentId": 100000,
  • "vatNumber": "123456",
  • "legalCompanyName": "Golden Tulip",
  • "commercialRegistrationNumber": "AR4305",
  • "managingDirector": "Mr X Y",
  • "fax": "425ERQ",
  • "companyOrganisationNumber": "425ERQ",
  • "emails": "emailTypeId: 0,email: info@gmail.com, status: ACTIVE",
  • "phones": "phoneTypeId: 0, phoneNumber: 123-23-23, extension: 43, isValidated: false, name: Front Desk",
  • "billingAddress": "street1: Street 1,street2:Street 2, city: City, postCode: 123456, billingEmailAddress: billing@email.com.",
  • "isTaxRegistered": true,
  • "taxId": "12345",
  • "taxIdType": "VAT",
  • "languageId": 0,
  • "countryId": 0,
  • "stateId": 0,
  • "homeCurrencyId": 12,
  • "homeCurrencyCode": "USD",
  • "names": "text: Room with single bed, languageId: 0",
  • "availabilityUpdateCount": 0,
  • "lastAvailabilityUpdate": "2026-03-31T11:29:51.096Z",
  • "roundingRuleId": 0,
  • "businessUnitId": 0
}

Response samples

Content type
application/json
{
  • "result": "id: 0, cultSwitchId: 1232, code: GT_01,name: Golden Tulip, status: ACTIVE",
  • "status": "success",
  • "message": "Property created successfully.",
  • "executionTime": 361
}

Rooms / Meals / Extras

The Rooms, Meals, and Extras API provides access to all sellable units within a property, including rooms, meal options, and additional services.

These endpoints allow you to retrieve unit details, filter and paginate results, access unit types and payment options, and fetch data using internal or external identifiers.

All endpoints require a valid access token and must include the Authorization header for secure access.

Key Functionality Endpoint Method Purpose
Get sellable unit data by id /api/v1/sellable-unit/{id} GET Retrieves detailed information for a specific sellable unit, including configuration and availability data.
Get paginated sellable units by property ID and unit type code /api/v1/sellable-unit/page/by-property-and-type GET Returns a filtered and paginated list of sellable units based on property ID and unit type code.
Get pagination of all sellable units, by property id /api/v1/sellable-unit/paging/by-property GET Retrieves a paginated list of all sellable units for a specific property.
Get list of all available sellable unit payment types /api/v1/sellable-unit/payment-types GET Returns all available payment types applicable to sellable units.
Get list of all sellable unit types /api/v1/sellable-unit/sellable-unit-types GET Retrieves all predefined sellable unit types (e.g., room, villa, office).
Get sellable unit identifiers by sellable unit id /api/v1/sellable-unit/identifier/{sellableUnitId} GET Fetches identifiers and reference attributes linked to a specific sellable unit.
Get sellable unit data by External System Id /api/v1/sellable-unit/by-external-id/{source}/{id} GET Retrieves sellable unit data using an external system identifier for integration purposes.
Update sellable unit /api/v1/sellable-unit/{id} PUT Retrieves and updates an existing sellable unit by its ID, allowing modification of its configuration, pricing, and availability details.
Add sellable unit /api/v1/sellable-unit/ POST Creates a new sellable unit by allowing you to define its configuration, pricing, and availability details within the system.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Add sellable unit

AI Evaluation Score: 92/100

This endpoint creates a new sellable unit within a property by defining its name, pricing, availability rules, capacity configuration, and associated mappings. A sellable unit represents any bookable or chargeable entity such as a room, meal, or extra. The request must follow the AddSellableUnit schema, and on success, the system returns the complete created unit with all configuration details and system-generated identifiers.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

EndPoint:POST /api/v1/sellable-unit

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
integer

Unique identifier of the property where the sellable unit will be created. This ensures the unit is correctly linked to the intended property.

supplierUnitId
integer

Identifier provided by the supplier to uniquely represent the unit. This is mainly used for mapping and syncing data across systems.

Array of objects

List of localized names for the sellable unit. This allows the unit name to be displayed in different languages.

limited
boolean

Indicates whether the availability of the unit is limited. Set to true if there are restrictions on how many units can be booked.

isExtra
boolean

Specifies whether the unit is an add-on rather than a primary offering. Use true for extras like meals or additional services.

soldOverTime
boolean

Defines whether the unit is sold based on a time duration (e.g., hourly or daily).

isCityTax
boolean

Indicates whether city tax is applicable to this unit. If enabled, additional tax may be applied during booking.

displayOccupancyPricesOnCalendar
boolean

Controls whether pricing based on occupancy (number of guests) is shown on the calendar view.

basePrice
number

Defines the base price of the sellable unit before applying any pricing rules, taxes, or adjustments. This acts as the default price for the unit.

basePriceBeforeTax
number

Represents the price of the unit before any taxes are applied. This helps separate the base cost from tax calculations.

sellableUnitTypeId
integer

Identifier of the sellable unit type. This defines how the unit is categorized in the system (e.g., room, service, add-on).

roomTypeId
integer

Identifier of the room type associated with the unit. This links the unit to a specific room category.

timeType
string

Defines the time unit used for booking the unit, such as per day or per hour. This determines how booking duration is calculated.

paymentType
string

Specifies how the pricing for the unit is calculated. Accepted values depend on system configuration (e.g., per_stay, per_night). The provided value must match a supported enum value.

paymentMode
string

Defines how the payment value is applied. Supported values (e.g., AMOUNT) must match the system-defined enum values.

roomType
string

Describes the category or type of room associated with the unit. This helps users understand the kind of accommodation offered.

mealType
string

Specifies the meal plans included or available with the unit. Multiple meal options can be combined in a single value.

noOfSellableUnits
integer

Represents the total number of units available for booking. This defines how many units can be sold at a time.

Array of objects

Defines the occupancy and availability rules for the sellable unit. Each entry allows you to configure how many guests can stay and apply specific rules based on conditions like dates.

Array of objects

Contains a list of descriptions for the sellable unit. Each entry provides additional information such as details, highlights, or important notes. Providing this field will replace any existing descriptions.

isMandatory
boolean

Indicates whether the sellable unit is mandatory during booking. If set to true, the unit must be included and cannot be skipped.

inventoryType
string

Defines the type of inventory used for the unit. This determines how availability is managed (e.g., internal or external inventory).

cultSwitchImportLink
string

URL used to import or synchronize data related to the sellable unit from an external source.

translationKey
string

Key used for managing translations of the unit across different languages in the system.

channelIds
Array of integers

List of channel identifiers where the sellable unit is available or mapped. This helps control distribution across different platforms.

mapProduct
boolean

Indicates whether the sellable unit should be mapped to an existing product in the system.

cancellationPolicies
Array of integers

List of cancellation policy identifiers applied to the sellable unit. These IDs define the rules for cancellations, such as refund conditions and time limits.

minLengthOfStay
integer

Specifies the minimum number of days a guest must stay when booking the unit. Bookings shorter than this value will not be allowed.

maxLengthOfStay
integer

Specifies the maximum number of days a guest can stay when booking the unit. Bookings exceeding this value will not be allowed.

arrivalDays
object

Defines the days of the week when check-in (arrival) is allowed. Each day is represented as a boolean value indicating whether arrivals are permitted.

bookableDays
object

Specifies the days of the week when bookings can be made. This controls on which days users are allowed to create bookings.

departureDays
object

Defines the days of the week when check-out (departure) is allowed. Each day is represented as a boolean value indicating whether departures are permitted.

object

Defines the pricing configuration for the sellable unit. It specifies how the price is structured and the value to be applied during booking.

iCalLink
string

Specifies the iCal URL used to sync availability from an external calendar, updating bookings based on events like reservations or blocked dates.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000040,
  • "supplierUnitId": 12321,
  • "names": [
    ],
  • "limited": false,
  • "isExtra": true,
  • "soldOverTime": true,
  • "isCityTax": true,
  • "displayOccupancyPricesOnCalendar": true,
  • "basePrice": 55.9,
  • "basePriceBeforeTax": 45,
  • "sellableUnitTypeId": 3,
  • "roomTypeId": 3,
  • "timeType": "day",
  • "paymentType": "per_stay",
  • "paymentMode": "AMOUNT",
  • "roomType": "Apartment/Cottage/Double BedRoom",
  • "mealType": "Breakfast/Dinner/Lunch",
  • "noOfSellableUnits": 3,
  • "capacities": [
    ],
  • "descriptions": [
    ],
  • "isMandatory": true,
  • "inventoryType": "internal",
  • "cultSwitchImportLink": "https://example.com/import",
  • "translationKey": "room.single",
  • "channelIds": [
    ],
  • "mapProduct": true,
  • "cancellationPolicies": [
    ],
  • "minLengthOfStay": 0,
  • "maxLengthOfStay": 0,
  • "arrivalDays": {
    },
  • "bookableDays": {
    },
  • "departureDays": {
    },
  • "price": {
    },
}

Response samples

Content type
application/json
{
  • "result": "id: 1, propertyId: 1000040",
  • "status": "SUCCESS",
  • "message": "Sellable unit created successfully",
  • "executionTime": 120
}

Get sellable unit data by id.

AI Evaluation Score: 91/100

This endpoint retrieves the details of a sellable unit using its unique ID, returning the unit’s information along with its configuration and availability data associated with the provided identifier.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/sellable-unit/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1
Example: id: 125

The id parameter is the unique identifier of the sellable unit. It represents the internal RoomDB Sellable Unit ID used to retrieve the unit’s details.

Responses

Response samples

Content type
application/json
{
  • "result": "id: 125, name: Deluxe Room, status: active",
  • "status": "status: success",
  • "message": "message: Sellable unit retrieved successfully",
  • "executionTime": "executionTime: 125"
}

Update sellable unit.

AI Evaluation Score: 91/100

This endpoint updates an existing sellable unit using its unique ID. It supports partial updates, meaning only the fields provided in the request body are modified while all other fields remain unchanged. The request must follow the UpdateSellableUnit schema and can include updates to pricing, capacity rules, localized names, media, booking configurations, and product mappings.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:PUT /api/v1/sellable-unit/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32>
Example: 125

Unique identifier of the sellable unit to be updated. This must be a valid existing RoomDB Sellable Unit ID. If the provided ID does not exist, the request cannot be processed.

Request Body schema: application/json
required

Request body for updating a sellable unit. Only the fields provided will be updated. The request must include at least one field to modify. Field validation rules depend on the sellable unit configuration.

propertyId
integer

Unique identifier of the property where this sellable unit belongs. This ensures the unit is correctly linked to the right property in the system.

supplierUnitId
integer

Identifier provided from your side to uniquely represent this unit. It is mainly used for mapping and keeping data in sync between systems.

Array of objects

List of names for the sellable unit in different languages. When this field is provided, it will replace any existing names for the unit.

limited
boolean

Indicates whether the unit has limited availability. Set to true if there are restrictions on how many units can be booked.

isExtra
boolean

Specifies whether this unit is an add-on service. Set to true for extras like meals or additional services, and false for main units.

soldOverTime
boolean

Indicates if the unit is sold based on time duration. Set to true for time-based bookings such as hourly or daily usage.

isCityTax
boolean

Indicates whether city tax is applicable to this unit. Set to true if an additional city tax should be applied during booking.

displayOccupancyPricesOnCalendar
boolean

Controls whether pricing based on occupancy (e.g., number of guests) is shown on the calendar. Set to true to display these prices.

basePrice
number

Defines the base price of the unit before applying any pricing rules, discounts, or adjustments. This acts as the default starting price.

sellableUnitTypeId
integer

Identifier that defines the type of sellable unit (e.g., room, service, add-on). This helps categorize the unit in the system.

roomTypeId
integer

Identifier of the room type associated with this unit. Used when the unit is linked to a specific room category.

timeType
string

Defines the time unit used for booking the unit, such as per day or per hour. This determines how the duration of the booking is calculated.

paymentType
string

Specifies how the pricing is calculated for the unit, such as per stay or per night. This controls how the total cost is derived.

paymentMode
string

Defines how the payment value is applied, such as a fixed amount or other calculation methods supported by the system.

roomType
string

Defines the category or type of room associated with the unit. This helps describe the kind of accommodation being offered.

mealType
string

Specifies the meal plans included or available with the unit. Multiple meal options can be provided as a combined value.

noOfSellableUnits
integer

Represents the total number of units available for booking. This defines how many units can be sold at a given time.

Array of objects

Defines the occupancy rules and limits for the unit. Providing this field will replace any existing capacity configurations.

Array of objects

List of descriptions. Providing this will replace existing descriptions.

isMandatory
boolean

Indicates whether this unit is mandatory and must be included during booking. Set to true if it cannot be skipped.

inventoryType
string

Defines the source or type of inventory used for the unit, such as internal or external.

cultSwitchImportLink
string

Specifies a URL used to import or sync data related to this unit from an external source.

translationKey
string

Key used to manage translations for the unit across different languages. Helps map text to translation systems.

channelIds
Array of integers

List of channel identifiers where this unit is available or mapped. Used to control distribution across different channels.

mapProduct
boolean

Indicates whether this unit should be mapped to an existing product in the system. Set to true to enable mapping.

cancellationPolicies
Array of integers

List of cancellation policy identifiers applied to the unit. These IDs define the rules for cancellations such as refund eligibility and time limits.

minLengthOfStay
integer

Defines the minimum number of days a guest must stay when booking this unit. Bookings shorter than this value will not be allowed.

maxLengthOfStay
integer

Defines the maximum number of days a guest can stay when booking this unit. Bookings exceeding this value will not be allowed.

arrivalDays
object

Specifies the days of the week when check-in (arrival) is allowed. Set true for allowed days and false for restricted days.

bookableDays
object

Defines the days of the week when bookings can be made. This controls on which days users are allowed to create bookings.

departureDays
object

Specifies the days of the week when check-out (departure) is allowed. Set true for allowed days and false for restricted days.

object

Defines the pricing configuration for the unit, including how the price is calculated.

iCalLink
string

Specifies the iCal URL used to sync availability from an external calendar. This helps keep booking availability updated by importing events such as reservations or blocked dates.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000040,
  • "supplierUnitId": 12321,
  • "names": "text: Room with single bed, languageId: 0",
  • "limited": false,
  • "isExtra": true,
  • "soldOverTime": true,
  • "isCityTax": true,
  • "displayOccupancyPricesOnCalendar": true,
  • "basePrice": 55.9,
  • "sellableUnitTypeId": 3,
  • "roomTypeId": 3,
  • "timeType": "day",
  • "paymentType": "per_stay",
  • "paymentMode": "AMOUNT",
  • "roomType": "Apartment/Cottage/Double BedRoom",
  • "mealType": "Breakfast/Dinner/Lunch",
  • "noOfSellableUnits": 3,
  • "capacities": [
    ],
  • "descriptions": [
    ],
  • "isMandatory": true,
  • "inventoryType": "internal",
  • "cultSwitchImportLink": "https://example.com/import",
  • "translationKey": "room.single",
  • "channelIds": [
    ],
  • "mapProduct": true,
  • "cancellationPolicies": [
    ],
  • "minLengthOfStay": 0,
  • "maxLengthOfStay": 0,
  • "arrivalDays": {
    },
  • "bookableDays": {
    },
  • "departureDays": {
    },
  • "price": {
    },
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "SUCCESS",
  • "message": "Sellable unit created successfully",
  • "executionTime": 120
}

Get list of all sellable unit types.

AI Evaluation Score: 92/100

This endpoint retrieves all sellable unit types available in the system. It allows you to view and use the predefined unit types (such as apartment, villa, office, etc.) when creating, filtering, or managing sellable units.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/sellable-unit/sellable-unit-types

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "status: SUCCESS",
  • "message": "message: Sellable units retrieved successfully",
  • "executionTime": "executionTime: 120"
}

Get list of all available sellable unit payment types.

AI Evaluation Score: 92.6/100

This endpoint allows you to retrieve a list of all available sellable unit payment types. It returns the different payment options that can be used for sellable units.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/sellable-unit/payment-types

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": "result: FULL_PAYMENT, INSTALLMENT",
  • "status": "status: SUCCESS",
  • "message": "message: Payment types retrieved successfully",
  • "executionTime": "executionTime: 120"
}

Get pagination of all sellable units, by property id

AI Evaluation Score: 96/100

This endpoint allows you to retrieve a paginated list of all sellable units for a specific property using the provided property ID. It returns the data in pages, making it easier to handle large numbers of units efficiently.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/sellable-unit/paging/by-property

Authorizations:
bearerAuth
query Parameters
page
integer <int32> >= 0
Default: 0

Specifies the page number of the results to retrieve. Pagination starts from 0, so 0 represents the first page.

size
integer <int32> >= 1
Default: 10

Defines how many records are returned in each page. This helps control the amount of data fetched in a single request.

propertyId
required
integer <int32> >= 1000000
Example: propertyId=1000456

Represents the unique internal ID of the property. Required to fetch sellable units for a specific property.

Responses

Response samples

Content type
application/json
{
  • "result": "id: 101, type: DELUXE_ROOM page: 0, size: 10",
  • "status": "status : SUCCESS",
  • "message": "message: Sellable units retrieved successfully",
  • "executionTime": "executionTime: 120"
}

Get paginated sellable units by property ID and unit type code

AI Evaluation Score: 92/100

This endpoint allows you to retrieve a paginated list of sellable units filtered by property ID and sellable unit type code, making it easier to access only the relevant units while efficiently handling large datasets.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/sellable-unit/page/by-property-and-type

Authorizations:
bearerAuth
query Parameters
page
integer <int32> >= 0
Default: 0

Specifies the page number of the results to retrieve in a paginated response. Pagination starts from 0, which represents the first page.

size
integer <int32> >= 1
Default: 10

Defines the number of records returned in a single response. Useful for controlling how much data is fetched per request, especially for large datasets.

propertyId
required
integer <int32> >= 1000000
Example: propertyId=propertyID=1000456

Represents the unique identifier of the property. Required to ensure that only sellable units associated with the specified property are returned.

type
required
string [ 1 .. 255 ] characters
Example: type=type=DELUXE_ROOM

Specifies the sellable unit type code, such as a room category or unit classification. Used to filter results so that only units of the given type are returned.

Responses

Response samples

Content type
application/json
{
  • "result": "id: 101, type: DELUXE_ROOM page: 0, size: 10",
  • "status": "status : SUCCESS",
  • "message": "message: Sellable units retrieved successfully",
  • "executionTime": "executionTime: 120"
}

Get sellable unit identifiers by sellable unit id.

AI Evaluation Score: 92/100

Retrieves all identifiers linked to a specific sellable unit using its unique internal ID. These identifiers represent reference attributes such as unit numbers, labels, or mapping values that are required for validation, integration, and downstream processing.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/sellable-unit/identifier/{sellableUnitId}

Authorizations:
bearerAuth
path Parameters
sellableUnitId
required
integer <int32> >= 1
Example: 23

The unique internal identifier of the sellable unit (RoomDB ID). This value must be a positive integer (≥ 1) and is used to fetch all identifiers associated with the specified unit.

Responses

Response samples

Content type
application/json
{
  • "result": "id: 1, name: Unit Number, value: A-101",
  • "status": "status: success",
  • "message": "message: Sellable unit identifiers retrieved successfully",
  • "executionTime": "executionTime: 120"
}

Get sellable unit data by External System Id.

AI Evaluation Score: 92.1/100

This endpoint retrieves sellable unit details using an external system ID. To make the request, you need to provide the external system abbreviation and the external system ID, which helps map and fetch the correct unit from the system.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/sellable-unit/by-external-id/{source}/{id}

Authorizations:
bearerAuth
path Parameters
source
required
string [ 1 .. 255 ] characters
Example: CRM

The abbreviation of the external system used to identify the source of the sellable unit. This value helps the system understand which external system the provided ID belongs to.

id
required
string [ 1 .. 255 ] characters
Example: 12345

The unique identifier of the sellable unit in the external system. This ID is used along with the source to fetch the corresponding unit data.

Responses

Response samples

Content type
application/json
{
  • "result": "id: 125, name: Deluxe Room, status: active",
  • "status": "status: success",
  • "message": "message: Sellable unit retrieved successfully",
  • "executionTime": "executionTime: 125"
}

Media

The Media API provides endpoints to manage and retrieve media data such as images, logos, and related metadata from the RoomDB platform.

These endpoints allow you to fetch media details by ID, retrieve media lists for a property with filtering and pagination, and access supporting data like media types, attribute types, predefined tags, and license types.

A valid access token is required to access these endpoints.

Key Functionality Endpoint Method Purpose
Get media data by id /api/v1/media/{id} GET Retrieves detailed information for a specific media file using its unique ID.
Get list of all media, by property id paginated with various filters /api/v1/media/v2/by-property/paging/{propertyId} GET Retrieves a paginated list of media for a property with support for filters like type, status, or date.
Get list of all Predefined Tags /api/v1/media/predefined-tag GET Returns all predefined tags available for media classification and usage.
Get list of all media types /api/v1/media/media-types GET Returns all available media types used for validation and selection.
Get list of all media attribute types /api/v1/media/media-attribute-types GET Returns all media attribute types and their details.
Get list of all License Types /api/v1/media/license-types GET Retrieves all license types available for media usage and compliance.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Get media data by id.

AI Evaluation Score: 92/100

Retrieves the complete metadata of a media file using its unique ID. The response includes structured media information such as file URL, type, size, and associated metadata required for display, download, or management operations.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/media/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1
Example: 123

The unique identifier of the media file in RoomDB. This ID is used to specify exactly which media record should be retrieved, and each ID corresponds to a single media file.

Responses

Response samples

Content type
application/json
{
  • "result": "id: 123, type: image, url: https://example.com/media/123.jpg, name: sample-image.jpg",
  • "status": "success",
  • "message": "Media data retrieved successfully",
  • "executionTime": 45
}

Get list of all media, by property id paginated with various filters

AI Evaluation Score: 91/100

Returns a paginated list of media records associated with a given property. Supports filtering by unit, media type, and media flags (e.g., main image, logo, screenshots), along with pagination and sorting.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/media/v2/by-property/paging/{propertyId}

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000
Example: 1002345

Unique RoomDB property identifier. Must be a valid ID greater than or equal to 1000000.

query Parameters
sellableUnitId
integer <int32> >= 0
Example: sellableUnitId=25

The identifier of the sellable unit associated with the property. Use this parameter to filter media results for a specific unit within the property.

page
integer <int32> >= 0
Default: 0

Specifies the page number to retrieve in the paginated response. It is used to navigate through result sets, where 0 represents the first page.

size
integer <int32> [ 1 .. 100 ]
Example: size=20

Defines the number of records to return per page in the paginated response. This helps control the amount of data returned in each request.

sortBy
string
Example: sortBy=createdDate

Specifies the field name used to sort the results in the paginated response. If not provided, the results are sorted by sortOrder by default.

sortDesc
boolean
Default: false
Example: sortDesc=true

Indicates whether the sorting should be applied in descending order. Set to true for descending order or false for ascending order.

mediaTypeId
string
Example: mediaTypeId=1

Specifies the media type identifier used to filter the results for a specific type of media associated with the property.

isMain
string
Example: isMain=false

Indicates whether to filter results based on main media. Set to true to return only main media or false to exclude them.

isLogo
string
Example: isLogo=false

Indicates whether to filter the results to include only logo media associated with the property. Set to true to return only logo media, or false to exclude them from the results.

isScreenshot
string
Example: isScreenshot=false

Indicates whether to filter results to include only screenshot media associated with the property. Set to true to return only screenshots, or false to exclude them.

isUnassigned
string
Example: isUnassigned=false

Indicates whether to filter results for media that are not assigned to any specific unit. Set to true to return only unassigned media, or false to exclude them.

isMemo
string
Example: isMemo=false

Indicates whether to filter the results for media marked as memo content. Set to true to return only memo media, or false to exclude them from the results.

isFullBackgroundImage
string
Example: isFullBackgroundImage=false

Indicates whether to filter results for media used as full background images. Set to true to return only full background images, or false to exclude them.

Responses

Response samples

Content type
application/json
{
  • "result": "mediaId: 101 page: 0,size: 10",
  • "status": "status=SUCCESS",
  • "message": "message=Media fetched successfully",
  • "executionTime": "executionTime=120"
}

Get list of all Predefined Tags.

AI Evaluation Score: 90/100

This endpoint retrieves all predefined tags available in the system, including key details like tag name and unique identifier for easy use and integration.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/media/predefined-tag

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": "id: 1, text: Landscape, parentId: 0",
  • "status": "status: success",
  • "message": "message: Tags retrieved successfully",
  • "executionTime": "executionTime: 120"
}

Get list of all media types.

AI Evaluation Score: 93/100

Returns all available media types configured in the system, allowing you to populate selection options or validate media-related inputs in your application.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/media/media-types

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "success",
  • "message": "Media types retrieved successfully",
  • "executionTime": 95
}

Get list of all media attribute types.

AI Evaluation Score: 91/100

This endpoint returns all available media attribute types, allowing you to view and understand the different attributes that can be associated with media in the system.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/media/media-attribute-types

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": "id: 1, name: Main Image",
  • "status": "status=SUCCESS",
  • "message": "message=Media attribute types fetched successfully",
  • "executionTime": "executionTime=95"
}

Get list of all License types.

AI Evaluation Score: 90/100

This endpoint retrieves a complete list of all available license types configured in the system. It is commonly used to populate selection fields, validate license inputs, or provide reference data for license-related workflows across applications.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Endpoint:GET /api/v1/media/license-types

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": " id: 1, Code: OP, name: Standard",
  • "status": "success",
  • "message": "License types retrieved successfully",
  • "executionTime": "executionTime: 120"
}

Reference Data

The Reference Data API provides endpoints to retrieve reference and static data used across the RoomDB platform.

These endpoints allow you to access standardized data such as continents, countries, states, and currencies. This data is commonly used for form population, filtering, validation, and mapping purposes across different modules.

A valid access token is required to access these endpoints.

Key Functionality Endpoint Method Purpose
Get list of all continents /api/v1/continents GET Retrieves a list of all continents.
Get continent data by Alpha-2 code. /api/v1/continents/code/{code} GET Retrieves continent details using Alpha-2 code.
Get list of all countries with ISO 3166 Alpha-2 code. /api/v1/countries GET Retrieves all countries with ISO 3166 Alpha-2 codes.
Get country data by id. Name, full name and codes will be included. /api/v1/countries/{countryId} GET Retrieves country details using its unique ID.
Get list of countries with specified code(s). /api/v1/countries/all/{codeFormat} GET Retrieves countries based on specified code format.
Get country data by Alpha-2 code. Name, full name and codes will be included. /api/v1/countries/alpha-2-code/{code} GET Retrieves country details using Alpha-2 code.
Get list of all states /api/v1/states GET Retrieves all states or subdivisions.
Get state data by ID /api/v1/states/{stateId} GET Retrieves state details using its unique ID.
Get state data by its code (ISO 3166-2). /api/v1/states/by-code/{code} GET Retrieves state details using ISO 3166-2 code.
Get list of all states for country. Country code should be in ISO 3166 Alpha-2 format. /api/v1/states/by-country-code/{countryCode} GET Retrieves all states for a specific country.
Get list of all currencies /api/v1/currencies GET Retrieves all currencies.
Get currency data by id. /api/v1/currencies/{id} GET Retrieves currency details using its unique ID.
Get currency data by ISO 4217 three-letter code. /api/v1/currencies/letters-code/{code} GET Retrieves currency using ISO 4217 three-letter code.
Get currency data by ISO 4217 numeric code. /api/v1/currencies/numeric-code/{code} GET Retrieves currency using ISO 4217 numeric code.

Get list of all States.

Retrieves a list of all states and subdivisions.

Each state includes identifiers, country mapping, ISO 3166-2 subdivision code, localized name, language code, and subdivision category.

Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/states

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "success",
  • "message": "States retrieved successfully.",
  • "executionTime": 12
}

Get state data by id.

Retrieves state or subdivision details using the internal state identifier.

The response includes country mapping, ISO 3166-2 subdivision code, name, localized name, language code, and subdivision category.

Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/states/{stateId}

Authorizations:
bearerAuth
path Parameters
stateId
required
integer <int32> >= 1
Example: 4567

Unique internal identifier of the state or subdivision.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "State retrieved successfully.",
  • "executionTime": 9
}

Get list of all states for country. Country code should be in ISO 3166 Alpha-2 format.

Retrieves a list of states and subdivisions for a specific country.

The countryCode must be provided in ISO 3166-1 Alpha-2 format.

Each state includes identifiers, subdivision code, name, localized name, language code, and subdivision category.

Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/states/by-country-code/{countryCode}

Authorizations:
bearerAuth
path Parameters
countryCode
required
string = 2 characters
Example: US

Two-letter ISO 3166-1 Alpha-2 country code.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "success",
  • "message": "States retrieved successfully.",
  • "executionTime": 12
}

Get state data by its code (ISO 3166-2).

Retrieves state or subdivision details using the ISO 3166-2 subdivision code.

The response includes country mapping, subdivision code, name, localized name, language code, and subdivision category.

Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/states/by-code/{code}

Authorizations:
bearerAuth
path Parameters
code
required
string [ 2 .. 8 ] characters
Example: US-CA

ISO 3166-2 subdivision code identifying the state or subdivision.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "State retrieved successfully.",
  • "executionTime": 9
}

Get list of all currencies.

Retrieves a list of all currencies. Each currency includes ISO 4217 codes, name, numeric code, minor unit, localized name, and symbol. An optional language code can be provided to return localized currency names. Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/currencies

Authorizations:
bearerAuth
query Parameters
langCode
string = 2 characters
Example: langCode=en

Two-letter ISO 639-1 language code used for localization. Default is English.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "success",
  • "message": "Currencies retrieved successfully.",
  • "executionTime": 11
}

Get currency data by id.

Retrieves currency details using the internal currency identifier. The response includes ISO 4217 currency code, name, numeric code, minor unit, localized name, and symbol.An optional language code can be provided to return localized currency names. Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/currencies/{id}

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1
Example: 34

Unique internal identifier of the currency.

query Parameters
langCode
string = 2 characters
Example: langCode=en

Two-letter ISO 639-1 language code used for localization. Default is English.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Currency retrieved successfully.",
  • "executionTime": "8"
}

Get currency data by ISO 4217 numeric code.

Retrieves currency details using the ISO 4217 numeric currency code. The response includes ISO 4217 currency code, name, numeric code, minor unit, localized name, and symbol. An optional language code can be provided to return localized currency names. Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/currencies/numeric-code/{code}

Authorizations:
bearerAuth
path Parameters
code
required
integer <int32> [ 1 .. 999 ]
Example: 840

ISO 4217 numeric currency code.

query Parameters
langCode
string = 2 characters
Example: langCode=en

Two-letter ISO 639-1 language code used for localization. Default is English.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Currency retrieved successfully.",
  • "executionTime": "8"
}

Get currency data by ISO 4217 three-letter code.

Retrieves currency details using the ISO 4217 three-letter currency code. The response includes ISO 4217 currency code, name, numeric code, minor unit, localized name, and symbol. An optional language code can be provided to return localized currency names. Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/currencies/letters-code/{code}

Authorizations:
bearerAuth
path Parameters
code
required
string = 3 characters
Example: USD

ISO 4217 three-letter currency code.

query Parameters
langCode
string = 2 characters
Example: langCode=en

Two-letter ISO 639-1 language code used for localization. Default is English.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Currency retrieved successfully.",
  • "executionTime": "8"
}

Get list of all countries with ISO 3166 Alpha-2 code.

Retrieves a complete list of countries with standardized ISO codes and related metadata. The response includes country identifiers, names, ISO Alpha-2 and Alpha-3 codes, numeric codes, geographic coordinates, continent mapping, and property-related statistics.

The optional langCode parameter allows localization of country names and full names based on ISO 639-1 language codes. If not provided, the default language is English.

Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/countries

Authorizations:
bearerAuth
query Parameters
langCode
string = 2 characters
Example: langCode=en

Two-letter ISO 639-1 language code used to localize the country name and full name. Defaults to en if not provided.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Countries retrieved successfully.",
  • "executionTime": 18
}

Get country data by id. Name, full name and codes will be included.

Retrieves country details using the internal country identifier.

The response includes country name, full name, ISO Alpha-2, Alpha-3, and numeric codes, geographic coordinates, continent mapping, and property-related statistics.

The optional langCode parameter allows localization of country name and full name using ISO 639-1 language codes. If not provided, the default language is English.

Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/countries/{countryId}

Authorizations:
bearerAuth
path Parameters
countryId
required
integer <int32> >= 1
Example: 21

Unique internal identifier of the country.

query Parameters
langCode
string = 2 characters
Example: langCode=en

Two-letter ISO 639-1 language code used to localize the country name and full name. Defaults to en if not provided.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Country retrieved successfully",
  • "executionTime": "11"
}

Get country data by Alpha-2 code. Name, full name and codes will be included.

Retrieves country details using the ISO 3166-1 Alpha-2 country code.

The response includes country name, full name, ISO Alpha-2, Alpha-3, and numeric codes, geographic coordinates, continent mapping, and property-related statistics.

The optional langCode parameter allows localization of country name and full name using ISO 639-1 language codes. If not provided, the default language is English.

Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/countries/alpha-2-code/{code}

Authorizations:
bearerAuth
path Parameters
code
required
string = 2 characters
Example: DE

Two-letter ISO 3166-1 Alpha-2 country code.

query Parameters
langCode
string = 2 characters
Example: langCode=en

Two-letter ISO 639-1 language code used to localize the country name and full name. Defaults to en if not provided.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Country retrieved successfully",
  • "executionTime": "11"
}

Get list of countries with specified code(s).

Retrieves a list of countries with codes filtered by the specified format.

The codeFormat parameter controls which ISO codes are included in the response. Supported values include Alpha-2, Alpha-3, numeric, or all formats.

Each country includes identifiers, localized names, selected ISO codes, geographic coordinates, continent mapping, and property-related statistics.

The optional langCode parameter allows localization of country name and full name using ISO 639-1 language codes. If not provided, the default language is English.

Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/countries/all/{codeFormat}

Authorizations:
bearerAuth
path Parameters
codeFormat
required
string
Enum: "ALL" "ALPHA2" "ALPHA3" "NUMERIC"
Example: ALPHA2

Specifies which ISO code format(s) to include in the response.

query Parameters
langCode
string = 2 characters
Default: "en"
Example: langCode=en

Two-letter ISO 639-1 language code used to localize the country name and full name. Defaults to en if not provided.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Countries retrieved successfully.",
  • "executionTime": 18
}

Get list of all continents.

This endpoint retrieves a complete list of all continents available in the system along with their associated metadata. The response includes continent codes, names, geographical coordinates, and related property statistics.

This endpoint is commonly used for populating dropdowns, filtering data, and mapping geographical information across the platform.

Endpoint: GET /api/v1/continents

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "success",
  • "message": "Continents retrieved successfully.",
  • "executionTime": 15
}

Get continent data by Alpha-2 code.

Retrieves continent details using a two-letter Alpha-2 continent code. The response includes continent name, geographic coordinates, and associated property statistics.

This endpoint is used when a specific continent needs to be resolved from its standardized code.

Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/continents/code/{code}

Authorizations:
bearerAuth
path Parameters
code
required
string = 2 characters
Example: EU

Two-letter continent code in ISO Alpha-2 format used to identify the continent.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Continent retrieved successfully.",
  • "executionTime": "12"
}

Reservations

The Reservations API provides endpoints to create, update, and confirm bookings.

These endpoints support the complete reservation workflow, including creating a reservation, confirming it, and updating payment details when required. The APIs handle guest information, room allocation, and booking transactions in a structured and secure manner.

A valid access token is required to access these endpoints.

Key Functionality Endpoint Method Purpose
Create a pending reservation (Phase 1 booking). /api/v1/cultswitch/reservations/create POST Creates a new reservation with guest, room, and booking details in a pending state.
Confirm a pending reservation (Phase 2 booking) /api/v1/cultswitch/reservations/confirm POST Confirms an existing reservation and finalizes the booking.
Update CC Data for a reservation. /api/v1/cultswitch/reservations/cc-update POST Updates or adds credit card information associated with a reservation.
Get Reservation Information by Booking Id. /api/v1/cultswitch/reservations/v2 GET Retrieves reservation details using booking or channel ID.

Create a pending reservation (Phase 1 booking).

Creates a pending reservation for a property including room allocation, guest details, and optional payment information. This endpoint is used in Phase 1 of the booking flow where the reservation is created but not yet confirmed or finalized.

Endpoint:GET /api/v1/cultswitch/reservations/create

Authorizations:
bearerAuth
header Parameters
pci-token
string
Example: abc123securetoken

Token used for securely transmitting PCI-sensitive data such as credit card details. Required only when ccData is provided in the request.

Request Body schema: application/json
required
propertyId
required
integer <int32>

Unique identifier of the property where the reservation is being created.

arrival
required
string

Check-in date of the reservation in YYYY-MM-DD format.

departure
required
string

Check-out date of the reservation in YYYY-MM-DD format.

distributorId
required
string

Unique identifier of the distributor initiating the reservation request.

distributorCode
required
string

Authentication or identification code associated with the distributor.

language
string
Default: "en"

Language code used for localization of the reservation (e.g., 'en' for English). Defaults to 'en' if not provided.

required
Array of objects (CreateReservationRoomRate)

Language code used for localization of the reservation (e.g., 'en' for English). Defaults to 'en' if not provided.

required
object (CreateReservationGuestCount)

Represents the total number of guests included in the reservation, categorized by adults and children.

comments
Array of strings

Optional list of notes or special requests associated with the reservation (e.g., late check-in, preferences).

required
object (CreateReservationBooker)

Contains details of the primary person responsible for making the reservation, including contact and address information used for communication and billing purposes.

Array of objects (CreateReservationGuest)
object (CreateReservationOtaDetails)

Contains details related to reservations made through an Online Travel Agency (OTA), including external booking references and transaction identifiers.

object (CreateReservationCreditCardDetails)

Contains credit card details used to guarantee or process the reservation. This data is sensitive and must be transmitted securely using the pci-token header.

isCreditCardBooking
boolean

Indicates whether the reservation involves a credit card. Set to true when ccData is provided.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "arrival": "2024-08-18",
  • "departure": "2024-08-19",
  • "distributorId": "58078",
  • "distributorCode": "14253cds3bc244e",
  • "language": "en",
  • "roomRates": [
    ],
  • "totalGuestCounts": {
    },
  • "comments": [
    ],
  • "booker": {
    },
  • "guests": [
    ],
  • "otaDetails": {
    },
  • "ccData": {
    },
  • "isCreditCardBooking": true
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "OK",
  • "message": "Reservation created successfully",
  • "executionTime": 120
}

Confirm a pending reservation (Phase 2 booking).

This endpoint confirms a pending reservation and completes the booking process, making the reservation active in the system.

Endpoint:GET /api/v1/cultswitch/reservations/confirm

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
required
integer <int32>

Unique identifier of the property associated with the reservation.

distributorId
required
string

Unique identifier of the distributor initiating the confirmation request.

distributorCode
required
string

Authentication or identification code associated with the distributor.

reservationId
required
string

Unique identifier of the reservation that needs to be confirmed.

language
string
Default: "en"

Language code used for localization of the response (e.g., 'en' for English). Defaults to 'en' if not provided.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "distributorId": "58078",
  • "distributorCode": "14253cds3bc244e",
  • "reservationId": "14253cds3bc244e",
  • "language": "en"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "OK",
  • "message": "Reservation confirmed successfully",
  • "executionTime": 110
}

Update CC Data for a reservation.

This endpoint updates or adds credit card details associated with an existing reservation. It is typically used when payment information needs to be provided or modified after the reservation is created.

Endpoint:POST /api/v1/cultswitch/reservations/confirm

Authorizations:
bearerAuth
header Parameters
pci-token
string
Example: abc123securetoken

Token used for securely transmitting PCI-sensitive data such as credit card details. Required when sending card information in the request.

Request Body schema: application/json
required
propertyId
required
integer <int32>

Unique identifier of the property associated with the reservation.

distributorId
required
string

Unique identifier of the distributor initiating the request.

distributorCode
required
string

Authentication or identification code associated with the distributor.

reservationId
required
string

Unique identifier of the reservation for which credit card details need to be updated.

object (CreateReservationCreditCardDetails)

Contains credit card details used to guarantee or process the reservation. This data is sensitive and must be transmitted securely using the pci-token header.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "distributorId": "58078",
  • "distributorCode": "14253cds3bc244e",
  • "reservationId": "14253cds3bc244e",
  • "ccData": {
    }
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "OK",
  • "message": "Reservation confirmed successfully",
  • "executionTime": 110
}

Get Reservation Information by Booking Id.

Retrieves reservation details using the internal booking ID or external channel booking ID. Additional filters such as property ID and date range can be applied to refine the results. Authentication is required using a valid Bearer token.

Endpoint: GET /api/v1/cultswitch/reservations/v2

Authorizations:
bearerAuth
query Parameters
distributorId
required
integer <int32>
Example: distributorId=101

Unique identifier assigned to the distributor making the request.

distributorCode
required
string
Example: distributorCode=ABC123

Authentication code associated with the distributor.

bookingId
integer <int32>
Example: bookingId=56789

Internal booking ID used to retrieve a specific reservation.

propertyId
integer <int32>
Example: propertyId=345

Filters the reservation results for a specific property.

channelBookingId
string
Example: channelBookingId=CH-998877

External booking reference ID provided by third-party channels (e.g., OTA platforms).

start
string
Example: start=2026-06-01

Start date for filtering reservations. Format: YYYY-MM-DD.

end
string
Example: end=2026-06-30

End date for filtering reservations. Format: YYYY-MM-DD.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Reservation retrieved successfully.",
  • "executionTime": 120
}

Products

The Products API provides endpoints to retrieve available products, including room types, rate plans, packages, and promotional offerings for Type A (instant booking, real-time) properties.

These endpoints allow you to fetch real-time availability, pricing details, and booking-related information required to proceed with reservation creation. The API supports availability search based on property, stay dates, guest configuration, and distributor credentials.

A valid bearer token is required to access these endpoints.

Key Functionality Endpoint Method Purpose
Get list of Products /api/v1/cultswitch/products POST Retrieves real-time product availability including room types, rate plans, pricing, and policies based on the provided search criteria.

Get List of Products.

Retrieves a list of available products (room types or sellable units) for Type A properties based on the provided availability criteria. This API returns real-time availability, pricing details, and rate plan information required for booking. A valid bearer token is required.

EndPoint: POST /api/v1/clutswitch/products

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
required
integer <int32>

Unique identifier of the property for which availability is requested.

checkInDate
required
string

Start date of the stay (arrival date) in YYYY-MM-DD format.

checkOutDate
required
string

End date of the stay (departure date) in YYYY-MM-DD format.

distributorId
required
string

Unique identifier assigned to the distributor or partner making the request.

distributorCode
required
string

Authentication or mapping code associated with the distributor. Used for request validation and routing.

language
string
Default: "en"

Preferred language for the response content such as product names and descriptions. Defaults to 'en' if not provided.

promoCode
string

Optional promotional or discount code applied to the availability search.

object (CreateReservationGuestCount)

Represents the total number of guests included in the reservation, categorized by adults and children.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "checkInDate": "2024-08-18",
  • "checkOutDate": "2024-08-19",
  • "distributorId": "58078",
  • "distributorCode": "14253cds3bc244e",
  • "language": "en",
  • "promoCode": "promo123",
  • "totalGuestCounts": {
    }
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Products retrieved successfully.",
  • "executionTime": 125
}

Cancellations

The Cancellations API provides endpoints to retrieve cancellation policies and cancel existing reservations.

These endpoints support the cancellation workflow, including fetching applicable cancellation rules and processing reservation cancellations. The APIs ensure that cancellation requests are handled according to defined policies, including applicable charges, deadlines, and refund conditions.

A valid access token is required to access these endpoints.

Key Functionality Endpoint Method Purpose
Get Cancellation Policy by Booking Id. /api/v1/cultswitch/cancellations/policy GET Retrieves detailed cancellation rules, including charges, deadlines, and refund conditions for a specific booking.
Cancel Reservation by Booking Id. /api/v1/cultswitch/cancellations/cancel POST Cancels an existing reservation and updates its status based on the applicable cancellation policy.

Cancel Reservation by Booking Id.

Cancels an existing reservation using the provided booking ID. This API updates the booking status to cancelled based on the property's cancellation policy and applicable rules. A valid bearer token is required.

Endpoint: POST /api/v1/cultswitch/cancellations/cancel

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
required
integer <int32>

Unique identifier of the property for which the reservation was made.

distributorId
required
string

Unique identifier assigned to the distributor initiating the cancellation request.

distributorCode
required
string

Authentication or reference code associated with the distributor.

reservationId
required
string

Unique reservation identifier generated by the system.

bookerReservationId
required
string

Reservation identifier from the distributor or booking source system.

language
string
Default: "en"

Preferred language for the response.

cancellationReasonLanguage
string
Default: "en"

Language in which the cancellation reason is provided.

cancellationReason
string

Reason provided for cancelling the reservation.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "distributorId": "58078",
  • "distributorCode": "14253cds3bc244e",
  • "reservationId": "14253cds3bc244e",
  • "bookerReservationId": "BOOKER987654321",
  • "language": "en",
  • "cancellationReasonLanguage": "en",
  • "cancellationReason": "Guest no longer wishes to proceed with the booking."
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "success",
  • "message": "Reservation cancelled successfully.",
  • "executionTime": 110
}

Get Cancellation Policy by Booking Id.

Retrieves the cancellation policy associated with a specific booking. This API returns detailed cancellation rules, including applicable charges, deadlines, and refund conditions based on the booking details. A valid bearer token is required.

Endpoint: GET /api/v1/cultswitch/cancellations/policy

Authorizations:
bearerAuth
query Parameters
bookingId
required
integer <int32>
Example: bookingId=123456

Unique identifier of the booking for which the cancellation policy is requested.

language
required
string
Example: language=en

Preferred language in which the cancellation policy details should be returned.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "success",
  • "message": "Cancellation policy retrieved successfully.",
  • "executionTime": 95
}

Calendar

The Calendar API provides endpoints to retrieve availability and calendar-related data across rooms, properties, and booking channels.

These endpoints allow you to access pre-generated JSON files and dynamic calendar data, including availability, pricing, and restrictions. This data is commonly used for syncing inventory across distribution channels, external integrations, and booking engines.

A valid access token may be required to access these endpoints.

Key Functionality Endpoint Method Purpose
downloadRoomJson /api/v1/distributor/calendar/v2/room-json/{fileName} GET Retrieves room availability data as a JSON file.
getPropertyCalendarForCultBookingChannel /api/v1/distributor/calendar/v2/properties/{fileName} GET Retrieves property calendar data for CultBooking channel.
getProductCalendarJson /api/v1/distributor/calendar/v2/product-json/{fileName} GET Retrieves product availability and pricing data.
getCalendarBySource /api/v1/distributor/calendar/v2/bySource GET Retrieves calendar data dynamically based on source integration.
getProductPropertiesWithDefaultRestrictions /api/v1/distributor/calendar/v2/bySource/defaultRestrictions GET Retrieves product/property data along with default restrictions.
getCalendarBySourceCultbooking /api/v1/distributor/calendar/v2/bySource/cultbooking GET Retrieves calendar data specific to CultBooking integration.
getCalendarIBEBySource /api/v1/distributor/calendar/v2/IBE/bySource GET Retrieves calendar data for IBE (Internet Booking Engine).

downloadRoomJson

Retrieves a room availability JSON file using the provided file name. This endpoint returns the file content as a Base64-encoded byte array, which can be decoded to obtain structured room inventory or calendar data.

Endpoint: GET /api/v1/distributor/calendar/v2/room-json/{fileName}

path Parameters
fileName
required
string

Name of the JSON file to download (e.g., room_data_20240601.json).

Responses

Response samples

Content type
application/json
[
  • "string"
]

getPropertyCalendarForCultBookingChannel

Retrieves property-level calendar data for the Cult Booking channel using the provided file name. The response contains a Base64-encoded JSON file representing property availability, pricing, or calendar-related data, which can be decoded for further processing.

Endpoint: GET /api/v1/distributor/calendar/v2/properties/{fileName}

path Parameters
fileName
required
string

Name of the property calendar JSON file to download (e.g., property_calendar_20240601.json).

Responses

Response samples

Content type
application/json
[
  • "string"
]

getProductCalendarJson

Retrieves product-level calendar data as a downloadable JSON file using the provided file name. The response is returned as a binary stream and may trigger a file download in the client. The file contains calendar details such as date, availability, pricing, and booking restrictions.

Endpoint: GET /api/v1/distributor/calendar/v2/product-json/{fileName}

path Parameters
fileName
required
string
Example: calendar_101_2026-06.json

Name of the JSON file containing product calendar data.

Responses

Response samples

Content type
application/json
"{ \"date\": \"2026-06-01\", \"availability\": 10 }"

getCalendarBySource

Returns calendar data by source for a given property, including availability, pricing, and booking restrictions. Supports filtering by date range, availability, channel, product, and room to help manage and analyze inventory distribution across multiple channels. Requires authentication using a Bearer token.

Endpoint: GET /api/v1/distributor/calendar/v2/bySource

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32> >= 1
Example: propertyId=101

Unique identifier of the property in RoomDB. This parameter is required to fetch calendar data.

startDate
string <date>
Example: startDate=2026-06-01

Start date to filter calendar data in 'yyyy-MM-dd' format. Returns data from this date onward.

endDate
string <date>
Example: endDate=2026-06-10

End date to filter calendar data in 'yyyy-MM-dd' format. Returns data up to this date.

availabilityGtThan
integer <int32> >= 0
Example: availabilityGtThan=2

Filters results to include only records where availability is greater than the specified value.

closedForSale
boolean

Specifies whether to include records that are marked as closed for sale.

channelId
integer <int32> >= 1
Example: channelId=5

Identifier of the distribution channel used to filter calendar data.

productId
Array of integers <int32> [ items <int32 > ]
Example: productId=12,15

Comma-separated list of product identifiers used to filter results.

roomId
Array of integers <int32> [ items <int32 > ]
Example: roomId=3,4

Comma-separated list of room identifiers used to filter results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get product properties with default restrictions

Retrieves calendar data for products and rooms based on default restriction conditions.

The API returns only those records where at least one of the following conditions is met:

  • Availability is greater than 0
  • Closed for sale is true
  • Closed to arrival is true
  • Closed to departure is true
  • Minimum length of stay (minLos) is greater than 1

This endpoint is commonly used to identify restricted or sellable inventory across channels.

A valid bearer token is required to access this endpoint.

Enpoint:GET /api/v1/distributor/calendar/v2/bySource/defaultRestrictions

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32> >= 1
Example: propertyId=101

Unique identifier of the property in RoomDB.

startDate
string <date>
Example: startDate=2024-06-01

Start date to filter calendar data in 'yyyy-MM-dd' format.

endDate
string <date>
Example: endDate=2024-06-10

End date to filter calendar data in 'yyyy-MM-dd' format.

channelId
integer <int32> >= 1
Example: channelId=5

Identifier of the distribution channel.

productId
Array of integers <int32> [ items <int32 > ]
Example: productId=201&productId=202

Comma-separated list of product IDs to filter results.

roomId
Array of integers <int32> [ items <int32 > ]
Example: roomId=301&roomId=302

Comma-separated list of room IDs to filter results.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getCalendarBySourceCultbooking

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32> >= 1

RoomDB PropertyId. Required.

startDate
string <date>

Start date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

endDate
string <date>

End date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

availabilityGtThan
integer <int32> >= 0

Availability filter number. Records with availability grater than provided number will be included in result. Optional.

closedForSale
boolean

Include in result closed for sale records. Optional.

channelId
integer <int32> >= 1

Channel identifier. Optional.

productId
Array of integers <int32> [ items <int32 > ]

CSV list of Product identifiers. Optional.

roomId
Array of integers <int32> [ items <int32 > ]

CSV list of Room identifiers. Optional.

Responses

Response samples

Content type
application/json
{
  • "prices": {
    },
  • "closeDepartureParams": {
    },
  • "closeArrivalParams": {
    },
  • "closeSaleParams": {
    },
  • "currency": [
    ],
  • "symbol": [
    ],
  • "min_stays": {
    },
  • "min_stays_only": {
    },
  • "MinLos": {
    },
  • "Cheapest": {
    }
}

getCalendarIBEBySource

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32> >= 1

RoomDB PropertyId. Required.

startDate
string <date>

Start date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

endDate
string <date>

End date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

06. Room Filters

API endpoints to access Room Filters

Get All Room Facility Meta.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Room Facility Meta by id.

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1

Room Facility Meta ID. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Room Facility Meta by facility id.

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1

Room Facility Meta Facility ID. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

07.02. Products for Type B (Instant Booking) properties

API endpoints to get products related data for Type B properties.

Get Rates for Nuitee properties

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
required
string

PropertyId.

checkInDate
required
string

arrivalDate

checkOutDate
required
string

departureDate

Array of objects (NuiteeRatesRoomsRequest)
currency
string
nationality
string
language
string
refundableRatesOnly
boolean

Responses

Request samples

Content type
application/json
{
  • "propertyId": "1000000",
  • "checkInDate": "2024-08-18",
  • "checkOutDate": "2024-08-19",
  • "rooms": [
    ],
  • "currency": "string",
  • "nationality": "string",
  • "language": "string",
  • "refundableRatesOnly": true
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Min Rates for Nuitee properties

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyIds
Array of integers <int32> [ items <int32 > ]
checkIn
required
string

arrivalDate

checkOut
required
string

departureDate

Responses

Request samples

Content type
application/json
{
  • "propertyIds": [
    ],
  • "checkIn": "2024-08-18",
  • "checkOut": "2024-08-19"
}

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Products for EHotel properties Deprecated

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32>

RoomDb Property Id

noOfRooms
required
string

Number of Rooms

noOfPersons
required
string

Number of Persons per room

checkInDate
required
string <date>

Check In Date in yyyy-MM-dd format

checkOutDate
required
string <date>

Check Out Date in yyyy-MM-dd format

isProduction
boolean
Default: true

Is Production, Default value true

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Products for EHotel properties

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32>

RoomDb Property Id

noOfRooms
required
string

Number of Rooms

noOfPersons
required
string

Number of Persons per room

checkInDate
required
string <date>

Check In Date in yyyy-MM-dd format

checkOutDate
required
string <date>

Check Out Date in yyyy-MM-dd format

isProduction
boolean
Default: true

Is Production, Default value true

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Products cache data for EHotel properties, this api may not return latest up to data

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32>

RoomDb Property Id

startDate
required
string <date>

Start Date in yyyy-MM-dd format

endDate
required
string <date>

End Date in yyyy-MM-dd format

noOfRooms
required
integer <int32>

Number Of Rooms

noOfPersons
required
integer <int32>

Number Of Persons

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Min Rates for EHotel properties

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyIds
Array of integers <int32> [ items <int32 > ]
checkIn
required
string

arrivalDate

checkOut
required
string

departureDate

Responses

Request samples

Content type
application/json
{
  • "propertyIds": [
    ],
  • "checkIn": "2024-08-18",
  • "checkOut": "2024-08-19"
}

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

10.02. Reservations for Type B (Instant Booking) properties

API endpoints for Reservations for Type B properties.

Create a pending reservation (Phase 1 booking).

Authorizations:
bearerAuth
Request Body schema: application/json
required
offerId
required
string
usePaymentSdk
boolean

Responses

Request samples

Content type
application/json
{
  • "offerId": "string",
  • "usePaymentSdk": true
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Confirm a pending reservation (Phase 2 booking).

Authorizations:
bearerAuth
Request Body schema: application/json
required
prebookId
required
string
object (NuiteeConfirmBookingHolderRequest)
Array of objects (NuiteeConfirmBookingGuestsRequest)
object (NuiteeConfirmBookingPaymentRequest)

Responses

Request samples

Content type
application/json
{
  • "prebookId": "string",
  • "holder": {
    },
  • "guests": [
    ],
  • "payment": {
    }
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

EHotel Reservation Deprecated

Authorizations:
bearerAuth
path Parameters
sellableUnitId
required
integer <int32>
supplierUnitId
required
string
roomTypeCode
required
string
availabilityId
required
integer <int32>
Request Body schema: application/json
required
checkInDate
required
string

arrivalDate

checkOutDate
required
string

departureDate

object (EHotelGuestDetailsRequest)
Array of objects (EHotelGuestDetailsRequest)
object (EHotelCompanyDetailsRequest)
cardToken
required
string

Card Token.

isProduction
required
boolean

Is Production.

specialRequests
Array of strings

Responses

Request samples

Content type
application/json
{
  • "checkInDate": "2024-08-18",
  • "checkOutDate": "2024-08-19",
  • "bookerDetails": {
    },
  • "guestDetails": [
    ],
  • "companyDetails": {
    },
  • "cardToken": "2357894646598718498",
  • "isProduction": true,
  • "specialRequests": [
    ]
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

EHotel Reservation V2

Authorizations:
bearerAuth
path Parameters
supplierUnitId
required
string
roomTypeCode
required
string
availabilityId
required
integer <int32>
noOfRooms
required
integer <int32>
noOfPersonsPerRoom
required
integer <int32>
Request Body schema: application/json
required
checkInDate
required
string

arrivalDate

checkOutDate
required
string

departureDate

object (EHotelGuestDetailsRequest)
Array of objects (EHotelGuestDetailsRequest)
object (EHotelCompanyDetailsRequest)
cardToken
required
string

Card Token.

isProduction
required
boolean

Is Production.

specialRequests
Array of strings

Responses

Request samples

Content type
application/json
{
  • "checkInDate": "2024-08-18",
  • "checkOutDate": "2024-08-19",
  • "bookerDetails": {
    },
  • "guestDetails": [
    ],
  • "companyDetails": {
    },
  • "cardToken": "2357894646598718498",
  • "isProduction": true,
  • "specialRequests": [
    ]
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get booking data by bookingId.

Authorizations:
bearerAuth
query Parameters
bookingId
required
string

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get EHotel Reservation Data By Id

Authorizations:
bearerAuth
query Parameters
reservationId
required
string

Reservation Id

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

11.01. Cancellations for Type A (Instant Booking, real time) properties

API endpoints for Cancellations for Type A properties.

11.02. Cancellations for Type B (Instant Booking) properties

API endpoints for Cancellations for Type B properties.

Cancel Booking

Authorizations:
bearerAuth
Request Body schema: application/json
required
bookingId
required
string
reason
string

Responses

Request samples

Content type
application/json
{
  • "bookingId": "string",
  • "reason": "string"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

EHotel Cancellations

Authorizations:
bearerAuth
query Parameters
supplierUnitId
required
string

Supplier Unit Id

reservationId
required
string

Reservation Id

reservationPin
required
string

Reservation Pin

isProduction
boolean
Default: true

Is Production, Default value true

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

13. Health and Safety

API endpoints to health check.

Helper method to check application availability.

Responses

Response samples

Content type
application/json
{
  • "result": "$2a$12$1XgW3aI4p8R12hat1oCzqOOwx4",
  • "status": "success",
  • "message": "Success password encode.",
  • "executionTime": 361
}

14.05. Lists > Room Types

API endpoints to access Room Type information.

Get list of all room types.

All fields of the Room Type entity will be included in result.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Room Type data by id.

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1

RoomDB internal room type Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": "id: 3, name: Deluxe Room",
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

15.01. Types > Property types

API endpoints to access Property Types.

Get list of all property types.

All fields of the Property Type entity will be included in result.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get property type data by id.

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1

RoomDB internal property type Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get property type data by code value.

Authorizations:
bearerAuth
path Parameters
code
required
string [ 1 .. 4 ] characters

Code (OTA, Booking, CultSwitch) for specific Property Type. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

15.02. Types > Meal types

API endpoints to access meal types

Get list of all meal types.

All fields of the Meal Type entity will be included in result.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get meal type by id.

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32> >= 1

RoomDB internal meal type Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

16. CultBooking APIs

API endpoints to get data from CultBooking end points.

Update Session Token by token

Authorizations:
bearerAuth
path Parameters
token
required
string

Token. Required.

Request Body schema: application/json
required
sessionData
string
userIp
string
userHostName
string
userMacAddress
string
userOs
string
userPhysicalLocation
string

Responses

Request samples

Content type
application/json
{
  • "sessionData": "string",
  • "userIp": "string",
  • "userHostName": "string",
  • "userMacAddress": "string",
  • "userOs": "string",
  • "userPhysicalLocation": "string"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Queue Entries by id

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32>

Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Update Queue Entries By Id

Authorizations:
bearerAuth
path Parameters
id
required
integer <int64>

Id. Required.

Request Body schema: application/json
required
emailData
string
ewsEmailId
string
sentAt
string

Responses

Request samples

Content type
application/json
{
  • "emailData": "string",
  • "ewsEmailId": "string",
  • "sentAt": "string"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Add Session Token

Authorizations:
bearerAuth
Request Body schema: application/json
required
sessionData
string
userIp
string
userHostName
string
userMacAddress
string
userOs
string
userPhysicalLocation
string

Responses

Request samples

Content type
application/json
{
  • "sessionData": "string",
  • "userIp": "string",
  • "userHostName": "string",
  • "userMacAddress": "string",
  • "userOs": "string",
  • "userPhysicalLocation": "string"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Add Reservation Logs

Authorizations:
bearerAuth
Request Body schema: application/json
required
reservationId
string
logMessage
string
hostName
string

Responses

Request samples

Content type
application/json
{
  • "reservationId": "string",
  • "logMessage": "string",
  • "hostName": "string"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Add Queue Log

Authorizations:
bearerAuth
Request Body schema: application/json
required
queueEntryId
integer <int64>
type
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "queueEntryId": 0,
  • "type": 0
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Add Ews Emails

Authorizations:
bearerAuth
Request Body schema: application/json
required
ewsEmailId
string

ewsEmail id

reservationId
string

reservation id

provider
string

provider

Responses

Request samples

Content type
application/json
{
  • "ewsEmailId": "5f008c72c61bb04",
  • "reservationId": "123456",
  • "provider": "ews1"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Add Booking Cancel Policies

Authorizations:
bearerAuth
Request Body schema: application/json
required
offsetDropTime
string
offsetTimeUnit
string
offsetUnitMultiplier
string
basisType
string
nights
integer <int32>
percentOrAmount
integer <int32>
isPercent
boolean
csCancelPolicyId
integer <int32>
cultBookingBookingId
string
cultSwitchBookingId
string
oldCancellationPolicyId
string

Responses

Request samples

Content type
application/json
{
  • "offsetDropTime": "string",
  • "offsetTimeUnit": "string",
  • "offsetUnitMultiplier": "string",
  • "basisType": "string",
  • "nights": 0,
  • "percentOrAmount": 0,
  • "isPercent": true,
  • "csCancelPolicyId": 0,
  • "cultBookingBookingId": "string",
  • "cultSwitchBookingId": "string",
  • "oldCancellationPolicyId": "string"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Set Token validity as false

Authorizations:
bearerAuth
path Parameters
token
required
string

Token. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Terms and Conditions for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Session Token by token

Authorizations:
bearerAuth
path Parameters
token
required
string

Session Token. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Reservations by CultSwitchBookingId

Authorizations:
bearerAuth
path Parameters
cultSwitchBookingId
required
string

CultSwitchBookingId. Required.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Reservations by CultBookingBookingId

Authorizations:
bearerAuth
path Parameters
cultBookingBookingId
required
string

CultBookingBookingId Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Reservation by Confirmation Time Less Than or Equal To Requested Time And By Email Checked

Authorizations:
bearerAuth
query Parameters
page
integer <int32> >= 0
Default: 0

Page number in paginated request. Default is 0.

size
integer <int32> [ 1 .. 1000 ]
Default: 10

Size of the page in paginated request. Default is 10.

sortDesc
boolean
Default: true

Is descending sort should be applied in sorting in paginated request(sort on id). Default is 'true'.

confirmationTime
required
string

Confirmation Time Less Than or Equal To Requested Time

emailChecked
boolean
Default: true

Email Checked, default value is true

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Privacy Policy for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Price Comparison Widget for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Payment Gateways for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Payment Gateways for property and payment provider

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

paymentProvider
required
string
Enum: "MOLLIE" "STRIPE"

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Number Format for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Guest by CultBookingBookingId

Authorizations:
bearerAuth
path Parameters
cultBookingBookingId
required
string

CultBookingBookingId. Required.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Guest Email template for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Fully Booked Template for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Ews Email by reservation id

Authorizations:
bearerAuth
path Parameters
reservationId
required
string

Reservation Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Currency Setting for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

query Parameters
langCode
string
Default: "en"

Language Code, Default value en

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Communication Credit Card template for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Color Customisations for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Cancellation Email template for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Cancellation Email template using propertyId and language code

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

languageCode
required
string = 2 characters

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Booking Cancel Policies By Id

Authorizations:
bearerAuth
path Parameters
id
required
integer <int32>

Booking Cancel Policies. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get All Settings for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get All Settings for a listId

Authorizations:
bearerAuth
path Parameters
listId
required
integer <int32>

List Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Additional Features for property

Authorizations:
bearerAuth
path Parameters
propertyId
required
integer <int32> >= 1000000

RoomDB internal property Id. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

CultSwitch APIs

API endpoints to get data from CultSwitch end points - [Deprecated]

Check Get List of Products XML. Deprecated

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
required
integer <int32>

Unique identifier of the property for which availability is requested.

checkInDate
required
string

Start date of the stay (arrival date) in YYYY-MM-DD format.

checkOutDate
required
string

End date of the stay (departure date) in YYYY-MM-DD format.

distributorId
required
string

Unique identifier assigned to the distributor or partner making the request.

distributorCode
required
string

Authentication or mapping code associated with the distributor. Used for request validation and routing.

language
string
Default: "en"

Preferred language for the response content such as product names and descriptions. Defaults to 'en' if not provided.

promoCode
string

Optional promotional or discount code applied to the availability search.

object (CreateReservationGuestCount)

Represents the total number of guests included in the reservation, categorized by adults and children.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "checkInDate": "2024-08-18",
  • "checkOutDate": "2024-08-19",
  • "distributorId": "58078",
  • "distributorCode": "14253cds3bc244e",
  • "language": "en",
  • "promoCode": "promo123",
  • "totalGuestCounts": {
    }
}

Get Product Ids for given list of roomIds. Deprecated

Authorizations:
bearerAuth
Request Body schema: application/json
required
channel_id
integer <int32>
object_id
integer <int32>
room_ids
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "channel_id": 0,
  • "object_id": 0,
  • "room_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "OK",
  • "message": "Request processed successfully",
  • "executionTime": 120
}

Check Create a pending reservation (Phase 1 booking) XML. Deprecated

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
required
integer <int32>

Unique identifier of the property where the reservation is being created.

arrival
required
string

Check-in date of the reservation in YYYY-MM-DD format.

departure
required
string

Check-out date of the reservation in YYYY-MM-DD format.

distributorId
required
string

Unique identifier of the distributor initiating the reservation request.

distributorCode
required
string

Authentication or identification code associated with the distributor.

language
string
Default: "en"

Language code used for localization of the reservation (e.g., 'en' for English). Defaults to 'en' if not provided.

required
Array of objects (CreateReservationRoomRate)

Language code used for localization of the reservation (e.g., 'en' for English). Defaults to 'en' if not provided.

required
object (CreateReservationGuestCount)

Represents the total number of guests included in the reservation, categorized by adults and children.

comments
Array of strings

Optional list of notes or special requests associated with the reservation (e.g., late check-in, preferences).

required
object (CreateReservationBooker)

Contains details of the primary person responsible for making the reservation, including contact and address information used for communication and billing purposes.

Array of objects (CreateReservationGuest)
object (CreateReservationOtaDetails)

Contains details related to reservations made through an Online Travel Agency (OTA), including external booking references and transaction identifiers.

object (CreateReservationCreditCardDetails)

Contains credit card details used to guarantee or process the reservation. This data is sensitive and must be transmitted securely using the pci-token header.

isCreditCardBooking
boolean

Indicates whether the reservation involves a credit card. Set to true when ccData is provided.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "arrival": "2024-08-18",
  • "departure": "2024-08-19",
  • "distributorId": "58078",
  • "distributorCode": "14253cds3bc244e",
  • "language": "en",
  • "roomRates": [
    ],
  • "totalGuestCounts": {
    },
  • "comments": [
    ],
  • "booker": {
    },
  • "guests": [
    ],
  • "otaDetails": {
    },
  • "ccData": {
    },
  • "isCreditCardBooking": true
}

Check Confirm a pending reservation (Phase 2 booking) XML. Deprecated

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
required
integer <int32>

Unique identifier of the property associated with the reservation.

distributorId
required
string

Unique identifier of the distributor initiating the confirmation request.

distributorCode
required
string

Authentication or identification code associated with the distributor.

reservationId
required
string

Unique identifier of the reservation that needs to be confirmed.

language
string
Default: "en"

Language code used for localization of the response (e.g., 'en' for English). Defaults to 'en' if not provided.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "distributorId": "58078",
  • "distributorCode": "14253cds3bc244e",
  • "reservationId": "14253cds3bc244e",
  • "language": "en"
}

Check CC Update XML. Deprecated

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
required
integer <int32>

Unique identifier of the property associated with the reservation.

distributorId
required
string

Unique identifier of the distributor initiating the request.

distributorCode
required
string

Authentication or identification code associated with the distributor.

reservationId
required
string

Unique identifier of the reservation for which credit card details need to be updated.

object (CreateReservationCreditCardDetails)

Contains credit card details used to guarantee or process the reservation. This data is sensitive and must be transmitted securely using the pci-token header.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "distributorId": "58078",
  • "distributorCode": "14253cds3bc244e",
  • "reservationId": "14253cds3bc244e",
  • "ccData": {
    }
}

Check Cancel Reservation XML by Booking Id. Deprecated

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
required
integer <int32>

Unique identifier of the property for which the reservation was made.

distributorId
required
string

Unique identifier assigned to the distributor initiating the cancellation request.

distributorCode
required
string

Authentication or reference code associated with the distributor.

reservationId
required
string

Unique reservation identifier generated by the system.

bookerReservationId
required
string

Reservation identifier from the distributor or booking source system.

language
string
Default: "en"

Preferred language for the response.

cancellationReasonLanguage
string
Default: "en"

Language in which the cancellation reason is provided.

cancellationReason
string

Reason provided for cancelling the reservation.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "distributorId": "58078",
  • "distributorCode": "14253cds3bc244e",
  • "reservationId": "14253cds3bc244e",
  • "bookerReservationId": "BOOKER987654321",
  • "language": "en",
  • "cancellationReasonLanguage": "en",
  • "cancellationReason": "Guest no longer wishes to proceed with the booking."
}

Get Element and categories information. Deprecated

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Get Distribution information by id. Deprecated

Authorizations:
bearerAuth
query Parameters
distributorId
required
integer <int32>

DistributorId. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "string",
  • "message": "string",
  • "executionTime": 0
}

Rate Plans (Products)

The Rate Plans (Products) API enables the creation and management of rate plans associated with properties and sellable units.

A rate plan defines pricing, availability, restrictions, and policies that determine how rooms or products are sold across channels.

All endpoints require a valid authentication token. Each request must include the token in the Authorization header as 'Bearer '.

These endpoints support creating rate plans, configuring pricing models, applying restrictions, and associating policies and sellable units.

Key Functionality Endpoint Method Purpose
Add Product /api/v1/rate-plans-v3 POST Creates a new rate plan with pricing, restrictions, policies, and sellable unit mapping.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Add Product

AI Evaluation Score: 90/100

Creates a new rate plan with pricing, restrictions, sellable units, and policies for the specified property. Requires a valid authentication token.

Note: This endpoint has been validated with multiple AI systems for correct interpretation, request generation, and workflow usage. Learn how AI Verification works.

Authorizations:
bearerAuth
Request Body schema: application/json
required
propertyId
required
integer

Unique identifier of the property where the rate plan will be created.

baseName
required
string

Primary name of the rate plan used as a default identifier across systems.

Array of objects

Localized display names for the rate plan across supported languages.

Array of objects

Localized descriptions providing detailed information about the rate plan.

Array of objects

Defines the validity periods during which the rate plan is active.

Array of objects

List of sellable units (e.g., rooms) associated with the rate plan.

restrictions
object

Defines booking rules such as length of stay, booking windows, and allowed check-in/check-out days.

ratePlanPrice
object

Defines pricing model, base price, guest charges, and extra bed pricing.

commission
number <float>

Commission percentage applied to bookings.

supplierUnitId
string

External supplier-specific identifier for the unit.

isPackage
boolean

Indicates whether the rate plan is bundled with additional services.

displayOccupancyPricesOnCalendar
boolean

Controls whether occupancy-based pricing is displayed in calendar views.

roundingRuleId
integer

Identifier for rounding rules applied to pricing calculations.

translationKey
string

Key used for localization and translations.

Responses

Request samples

Content type
application/json
{
  • "propertyId": 1000003,
  • "baseName": "Rate Plan for single rooms.",
  • "names": [
    ],
  • "descriptions": [
    ],
  • "dateRanges": [
    ],
  • "sellableUnits": [
    ],
  • "restrictions": {
    },
  • "ratePlanPrice": {
    },
  • "commission": 55.9,
  • "supplierUnitId": "SUP-ROOM-001",
  • "isPackage": true,
  • "displayOccupancyPricesOnCalendar": true,
  • "roundingRuleId": 0,
  • "translationKey": "rate_plan_single_room"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "SUCCESS",
  • "message": "Rate plan created successfully.",
  • "executionTime": 120
}

Suppliers

Common call and get token base on clientId and clientSecret. Deprecated

API endpoint to generate new token.

query Parameters
supplierId
required
string
supplierSecret
required
string

Responses

Response samples

Content type
application/json
{
  • "tokenType": "Bearer",
  • "expiresIn": 3600,
  • "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  • "executionTime": 15
}

Refresh token. Deprecated

This API can be used by authorized users to get new token. Potentially could be used to avoid token expire, just need to refresh before expiration time.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "tokenType": "Bearer",
  • "expiresIn": 3600,
  • "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  • "executionTime": 15
}

Get supplier information. For supplier. Deprecated

This API can be used to get all information about supplier account. This endpoint available only for suppliers, administrators should use other endpoint and provide supplier name parameter.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "result": {},
  • "status": "success",
  • "message": "Distributor information retrieved successfully.",
  • "executionTime": 12
}

Get supplier information. For admin Deprecated

This API can be used to get all information about supplier account. This endpoint available only for admin, supplier should use other endpoint.

Authorizations:
bearerAuth
path Parameters
name
required
string [ 1 .. 255 ] characters

Supplier name. Required.

Responses

Response samples

Content type
application/json
{
  • "result": {},
  • "status": "success",
  • "message": "Distributor information retrieved successfully.",
  • "executionTime": 12
}

Helper method to get encoded password for a provided password Deprecated

query Parameters
password
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "$2a$12$1XgW3aI4p8R12hat1oCzqOOwx4",
  • "status": "success",
  • "message": "Success password encode.",
  • "executionTime": 361
}

Calendars

getCalendarBySource_1 Deprecated

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32> >= 1

Identifier of the property that is used in External system. Required.

startDate
string <date>

Start date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

endDate
string <date>

End date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

availabilityGtThan
integer <int32> >= 0

Availability filter number. Records with availability grater than provided number will be included in result. Optional.

closedForSale
boolean

Include in result closed for sale records. Optional.

channelId
integer <int32> >= 1

Channel identifier. Optional.

productId
Array of integers <int32> [ items <int32 > ]

CSV list of Product identifiers. Optional.

roomId
Array of integers <int32> [ items <int32 > ]

CSV list of Room identifiers. Optional.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get product properties with default restrictions Deprecated

This API fetches record based on default restrictions :
availability greater than zero Or closedForSale is true Or closedToArrival is true Or closedToDeparture is true Or minLos is greater than one

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32> >= 1

Identifier of the property that is used in External system. Required.

startDate
string <date>

Start date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

endDate
string <date>

End date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

channelId
integer <int32> >= 1

Channel identifier. Required.

productId
Array of integers <int32> [ items <int32 > ]

CSV list of Product identifiers. Optional.

roomId
Array of integers <int32> [ items <int32 > ]

CSV list of Room identifiers. Optional.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getCalendarBySourceCultbooking_1 Deprecated

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32> >= 1

Identifier of the property that is used in External system. Required.

startDate
string <date>

Start date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

endDate
string <date>

End date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

availabilityGtThan
integer <int32> >= 0

Availability filter number. Records with availability grater than provided number will be included in result. Optional.

closedForSale
boolean

Include in result closed for sale records. Optional.

channelId
integer <int32> >= 1

Channel identifier. Optional.

productId
Array of integers <int32> [ items <int32 > ]

CSV list of Product identifiers. Optional.

roomId
Array of integers <int32> [ items <int32 > ]

CSV list of Room identifiers. Optional.

Responses

Response samples

Content type
application/json
{
  • "prices": {
    },
  • "closeDepartureParams": {
    },
  • "closeArrivalParams": {
    },
  • "closeSaleParams": {
    },
  • "currency": [
    ],
  • "symbol": [
    ],
  • "min_stays": {
    },
  • "min_stays_only": {
    },
  • "MinLos": {
    },
  • "Cheapest": {
    }
}

getCalendarIBEBySource_1 Deprecated

Authorizations:
bearerAuth
query Parameters
propertyId
required
integer <int32> >= 1

Identifier of the property that is used in External system. Required.

startDate
string <date>

Start date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

endDate
string <date>

End date to filter calendar data. In 'yyyy-MM-dd' format. Optional.

Responses

Response samples

Content type
application/json
[
  • {
    }
]