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.
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 Functionality | Endpoint | Method | Purpose |
|---|---|---|---|
| Generate Access Token | /api/v1/distributors/get-token | POST | Generates a JWT access token using distributor credentials. |
| Refresh Token | /api/v1/distributors/refresh-token | GET | Regenerates or refreshes an authentication token before expiration. |
| Get Distributor Information (Distributor) | /api/v1/distributors/get-info | GET | Retrieves distributor account information and configuration details. |
| Get Distributor Information (Admin) | /api/v1/distributors/get-info/{name} | GET | Retrieves distributor account information for administrative-level access. |
| Generate Encoded Password | /api/v1/distributors/encode-password | GET | Generates 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 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.
| 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. |
{- "tokenType": "Bearer",
- "expiresIn": 3600,
- "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "executionTime": 15
}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
{- "tokenType": "Bearer",
- "expiresIn": 3600,
- "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "executionTime": 15
}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
{- "result": {
- "id": 201,
- "name": "GlobalTravelLtd",
- "isActive": true,
- "extranetPartnerId": 45
}, - "status": "success",
- "message": "Distributor information retrieved successfully.",
- "executionTime": 12
}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}
| 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. |
{- "result": {
- "id": 201,
- "name": "GlobalTravelLtd",
- "isActive": true,
- "extranetPartnerId": 45
}, - "status": "success",
- "message": "Distributor information retrieved successfully.",
- "executionTime": 12
}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
| 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. |
{- "result": "$2a$12$1XgW3aI4p8R12hat1oCzqOOwx4",
- "status": "success",
- "message": "Success password encode.",
- "executionTime": 361
}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. |
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
| 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. |
{- "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"
}{- "result": "content:id: 1002456, name: Golden Tulip, pageNumber: 1, totalElements: 50",
- "status": "success",
- "message": "Properties retrieved successfully.",
- "executionTime": 110
}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
| 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. |
{- "listId": 1,
- "latitude": "41.04984",
- "longitude": "8.94651",
- "radius": 20,
- "distributorType": "[A/B/C]",
- "propertyTypeIds": [
- "propertyTypeIds: 1, 2"
], - "hotelFacilitiesFiltered": [
- "hotelFacilitiesFiltered: 101, 205"
], - "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"
}{- "result": "content:id: 1002456, name: Golden Tulip, pageNumber: 1, totalElements: 50",
- "status": "success",
- "message": "Properties retrieved successfully.",
- "executionTime": 110
}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
| 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. |
{- "propertyIds": [
- 1000000,
- 1000001
]
}{- "result": [
- {
- "propertyId": "P10234",
- "city": "Dallas",
- "price": 450000
}
], - "status": "OK",
- "message": "Property search results retrieved successfully",
- "executionTime": 128
}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
| 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. |
{- "latitude": "41.04984",
- "longitude": "8.94651",
- "radius": 20,
- "distributorType": "[A/B/C]",
- "ratings": "[noRating/1/2/3/4/5]",
- "propertyTypeIds": [
- 1,
- 3,
- 5
], - "hotelFacilitiesFiltered": [
- 2,
- 6,
- 9
]
}{- "result": {
- "property1": 12,
- "property2": 7
}, - "status": "OK",
- "message": "Property count retrieved successfully.",
- "executionTime": 125
} 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
| 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. |
{- "listId": 2,
- "latitude": "41.04984",
- "longitude": "8.94651",
- "radius": 20,
- "distributorType": "[A/B/C]",
- "ratings": "[noRating/1/2/3/4/5]",
- "hotelFacilitiesFiltered": [
- 1,
- 5,
- 8
], - "propertyTypeIds": [
- 2,
- 4
]
}{- "result": {
- "property1": 12,
- "property2": 7
}, - "status": "OK",
- "message": "Property count retrieved successfully.",
- "executionTime": 125
}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}
| 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. |
{- "result": 1001,
- "status": "OK",
- "message": "Request processed successfully",
- "executionTime": 120
}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}
| 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. |
{- "result": [
- 1001,
- 1002
], - "status": "OK",
- "message": "Request processed successfully",
- "executionTime": 120
}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
| 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 |
{- "result": 0,
- "status": "OK",
- "message": "Request processed successfully.",
- "executionTime": 125
} 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}
| 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. |
{- "result": 0,
- "status": "OK",
- "message": "Request processed successfully.",
- "executionTime": 125
}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
{- "result": "id: 1, name: WiFi",
- "status": "status: success",
- "message": "message: Property facility filters retrieved successfully.",
- "executionTime": "executionTime: 95"
}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}
| 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. |
{- "result": {
- "id": 1,
- "filterName": "General Facilities",
- "facilityMetaIds": [
- 101,
- 102
]
}, - "status": "success",
- "message": "Property facility filter retrieved successfully.",
- "executionTime": "85"
}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:
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}
| 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:
If an invalid or non-existent ID is provided, the API may return an error response. |
{- "result": {
- "id": 1000010,
- "cultSwitchId": "1232",
- "code": "GT-01",
- "name": "Golden Tulip",
- "alternativeName": "Local name for Golden Tulip",
- "status": "ACTIVE",
- "forTesting": false,
- "isMaster": false,
- "isPermanentlyClosed": false,
- "autoReplenishment": false,
- "showCultSwitchDefaultCancellationRules": true,
- "emailAddressComment": "Contact the reception for booking support.",
- "emailAddressUnsubscribe": false,
- "vatNumber": "123456",
- "legalCompanyName": "Golden Tulip",
- "commercialRegistrationNumber": "aR43Q5",
- "managingDirector": "Mr X Y",
- "companyOrganisationNumber": "425ERQ",
- "fax": "+1-202-555-0123",
- "distributorType": "A",
- "billingAddress": "street: 123 Main Street, city: Berlin, postalCode: 10115, country: Germany",
- "homeCurrency": {
- "id": 1,
- "code": "USD",
- "name": "United States Dollar",
- "numericCode": 840,
- "minorUnit": 2,
- "locale": "en-US",
- "symbol": "$"
}, - "phones": [
- {
- "phoneNumber": "+1-202-555-0123",
- "extension": "101",
- "name": "Reception"
}
], - "emails": "info@goldentulip.com",
- "messages": [
- {
- "id": 12,
- "propertyId": 1000001,
- "subject": "Welcome to Golden Tulip",
- "status": "SENT",
- "sentAt": "2024-06-10T10:30:00Z"
}
], - "descriptions": [
- {
- "text": "Hotel located in the city center near major attractions."
}
], - "supplier": {
- "id": 201,
- "name": "GlobalTravelLtd",
- "isActive": true,
- "extranetPartnerId": 45
}, - "isDeletedBySupplier": false,
- "aliasTo": 1000021,
- "createdAt": "2024-05-12T10:30:00Z",
- "lastUpdate": "2024-06-10T14:22:11Z",
- "isDeleted": false,
- "createdBy": "user@email.com",
- "initialParentId": 1000000,
- "names": [
- {
- "text": "Golden Tulip",
- "language": {
- "name": "English"
}
}
], - "ratings": [
- {
- "provider": "Trivago",
- "rating": 4,
- "reviewRank": 7.7,
- "reviewCount": 3491
}
], - "availabilityUpdateCount": 15,
- "lastAvailabilityUpdate": "2024-06-15T10:45:00Z",
- "roundingRuleId": 3,
- "businessUnitId": 12,
- "fileName": "availability_update_20240615.csv",
- "addresses": [
- {
- "addressType": "GEOCODE",
- "addressLine": "221B Baker Street",
- "cityName": "London",
- "postalCode": "NW1 6XE"
}
], - "geoCode": {
- "type": "Point",
- "latitude": 38.8951,
- "longitude": -77.0364
}, - "propertyType": {
- "id": "id :3",
- "code": "HTL",
- "name": "Hotel",
- "codeSource": "RoomDB",
- "alternativeName": "Accommodation"
}, - "timezone": "Europe/London",
- "mainMedias": [
- {
- "mediaTypeCode": "img",
- "mediaTypeName": "Image"
}
]
}, - "status": "OK",
- "message": "Request processed successfully",
- "executionTime": 120
}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}
| 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:
If an invalid or non-existent ID is provided, the API may return an error response. |
| 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. |
{- "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": {
- "invoiceRecipient1": "Golden Tulip Hospitality Ltd.",
- "invoiceRecipient2": "Finance Department",
- "invoiceRecipient3": "Accounts Payable Team",
- "street1": "Street 1",
- "street2": "Street 2",
- "postCode": "123456",
- "city": "City",
- "billingEmailAddress": "billing@email.com",
- "secondaryBillingEmailAddresses": [
- "finance@goldentulip.com, accounts@goldentulip.com"
], - "isTaxRegistered": true,
- "taxId": "12345",
- "taxIdType": "VAT",
- "languageId": 0,
- "countryId": 0,
- "stateId": 0
}, - "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": [
- {
- "text": "Room with single bed",
- "languageId": 0
}
], - "availabilityUpdateCount": 0,
- "lastAvailabilityUpdate": "2026-04-01T08:07:54.451Z",
- "roundingRuleId": 0,
- "businessUnitId": 0
}{- "result": "id: 0, cultSwitchId: 1232, code: GT-01, name: Golden Tulip, status: ACTIVE",
- "status": "SUCCESS",
- "message": "Property updated successfully",
- "executionTime": 120
}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}
| 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. |
{- "result": {
- "id": 1000010,
- "cultSwitchId": "1232",
- "code": "GT-01",
- "name": "Golden Tulip",
- "alternativeName": "Local name for Golden Tulip",
- "status": "ACTIVE",
- "forTesting": false,
- "isMaster": false,
- "isPermanentlyClosed": false,
- "autoReplenishment": false,
- "showCultSwitchDefaultCancellationRules": true,
- "emailAddressComment": "Contact the reception for booking support.",
- "emailAddressUnsubscribe": false,
- "vatNumber": "123456",
- "legalCompanyName": "Golden Tulip",
- "commercialRegistrationNumber": "aR43Q5",
- "managingDirector": "Mr X Y",
- "companyOrganisationNumber": "425ERQ",
- "fax": "+1-202-555-0123",
- "distributorType": "A",
- "billingAddress": "street: 123 Main Street, city: Berlin, postalCode: 10115, country: Germany",
- "homeCurrency": {
- "id": 1,
- "code": "USD",
- "name": "United States Dollar",
- "numericCode": 840,
- "minorUnit": 2,
- "locale": "en-US",
- "symbol": "$"
}, - "phones": [
- {
- "phoneNumber": "+1-202-555-0123",
- "extension": "101",
- "name": "Reception"
}
], - "emails": "info@goldentulip.com",
- "messages": [
- {
- "id": 12,
- "propertyId": 1000001,
- "subject": "Welcome to Golden Tulip",
- "status": "SENT",
- "sentAt": "2024-06-10T10:30:00Z"
}
], - "descriptions": [
- {
- "text": "Hotel located in the city center near major attractions."
}
], - "supplier": {
- "id": 201,
- "name": "GlobalTravelLtd",
- "isActive": true,
- "extranetPartnerId": 45
}, - "isDeletedBySupplier": false,
- "aliasTo": 1000021,
- "createdAt": "2024-05-12T10:30:00Z",
- "lastUpdate": "2024-06-10T14:22:11Z",
- "isDeleted": false,
- "createdBy": "user@email.com",
- "initialParentId": 1000000,
- "names": [
- {
- "text": "Golden Tulip",
- "language": {
- "name": "English"
}
}
], - "ratings": [
- {
- "provider": "Trivago",
- "rating": 4,
- "reviewRank": 7.7,
- "reviewCount": 3491
}
], - "availabilityUpdateCount": 15,
- "lastAvailabilityUpdate": "2024-06-15T10:45:00Z",
- "roundingRuleId": 3,
- "businessUnitId": 12,
- "fileName": "availability_update_20240615.csv",
- "addresses": [
- {
- "addressType": "GEOCODE",
- "addressLine": "221B Baker Street",
- "cityName": "London",
- "postalCode": "NW1 6XE"
}
], - "geoCode": {
- "type": "Point",
- "latitude": 38.8951,
- "longitude": -77.0364
}, - "propertyType": {
- "id": "id :3",
- "code": "HTL",
- "name": "Hotel",
- "codeSource": "RoomDB",
- "alternativeName": "Accommodation"
}, - "timezone": "Europe/London",
- "mainMedias": [
- {
- "mediaTypeCode": "img",
- "mediaTypeName": "Image"
}
]
}, - "status": "OK",
- "message": "Request processed successfully",
- "executionTime": 120
}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}
| 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. |
{- "result": {
- "id": "101",
- "cultSwitchId": "1232",
- "code": "GT-01",
- "name": "Golden Tulip",
- "alternativeName": "Local name for Golden Tulip",
- "status": "ACTIVE",
- "forTesting": false,
- "isMaster": false,
- "isPermanentlyClosed": false,
- "autoReplenishment": false,
- "showCultSwitchDefaultCancellationRules": true,
- "emailAddressComment": "Use this email for reservation inquiries.",
- "emailAddressUnsubscribe": "false",
- "vatNumber": "123456",
- "legalCompanyName": "Golden Tulip",
- "commercialRegistrationNumber": "aR43Q5",
- "managingDirector": "Mr X Y",
- "companyOrganisationNumber": "425ERQ",
- "fax": "425ERQ",
- "distributorType": "CHANNEL_MANAGER",
- "billingAddress": "street: 123 Main Street, city: Berlin, postalCode: 10115, country: Germany",
- "homeCurrency": {
- "id": 1,
- "code": "USD",
- "name": "United States Dollar",
- "numericCode": 840,
- "minorUnit": 2,
- "locale": "en-US",
- "symbol": "$"
}, - "phones": "number: +1-202-555-0123",
- "emails": "info@goldentulip.com",
- "messages": "messages: id :12, subject: Welcome to Golden Tulip",
- "descriptions": "text: Beachfront hotel with ocean views.",
- "supplier": {
- "id": 201,
- "name": "GlobalTravelLtd",
- "isActive": true,
- "extranetPartnerId": 45
}, - "isDeletedBySupplier": "false",
- "aliasTo": "1002456",
- "mainUrl": "mainUrl: https://www.goldentulip.com",
- "createdAt": "2024-06-10T09:00:00Z",
- "lastUpdate": "2024-06-10T10:30:00Z",
- "isDeleted": "isDeleted: false",
- "createdBy": "user@email",
- "initialParentId": 1000000,
- "names": "name: Golden Tulip",
- "ratings": "rating: 4.5",
- "availabilityUpdateCount": "availabilityUpdateCount: 15",
- "lastAvailabilityUpdate": "2024-06-10T12:45:00Z",
- "roundingRuleId": "roundingRuleId: 3",
- "businessUnitId": "businessUnitId: 12",
- "fileName": "fileName: property_data.json",
- "addresses": [
- {
- "id": 101,
- "addressType": "GEOCODE",
- "addressLine": "221B Baker Street",
- "addressLine2": "Apartment 3B",
- "cityName": "London",
- "postalCode": "NW1 6XE",
- "language": "code: en, name: English",
- "country": {
- "id": 21,
- "name": "Germany",
- "fullName": "The Federal Republic of Germany",
- "code": "DE",
- "codeA3": "DEU",
- "codeNumeric": "276",
- "latitude": 51.1657,
- "longitude": 10.4515,
- "continentCode": "EU",
- "noOfProperties": 1500,
- "noOfPropertiesWithDistributorType": 900,
- "listIdPropertyCount": 400,
- "lastUpdate": "2026-04-27T06:36:42.053Z"
}, - "state": {
- "id": 12,
- "countryCode": "US",
- "code": "US-CA",
- "name": "California",
- "localName": "Local name for California",
- "languageCode": "en",
- "subdivisionCategory": "state"
}
}
], - "geoCode": {
- "type": "Point",
- "latitude": 38.8951,
- "longitude": -77.0364
}, - "propertyType": {
- "id": "id :3",
- "code": "HTL",
- "name": "Hotel",
- "codeSource": "RoomDB",
- "alternativeName": "Accommodation"
}, - "website": "marriott.com",
- "timezone": "timezone: Europe/Berlin",
- "mainMedias": "url: https://example.com/images/property-main.jpg",
- "facilityData": "propertyId: 1023456"
}, - "status": "success",
- "message": "Property facility data retrieved successfully.",
- "executionTime": "120"
}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}
| 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. |
{- "addresses": [
- "221B Baker Street London"
], - "emails": [
- "info@email.com"
],
}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}
| 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. |
{- "result": {
- "property": {
- "id": "result: property: id : 1002456",
- "cultSwitchId": "1232",
- "code": "GT-01",
- "name": "Golden Tulip",
- "alternativeName": "Local name for Golden Tulip",
- "status": "ACTIVE",
- "forTesting": false,
- "isMaster": false,
- "isPermanentlyClosed": false,
- "autoReplenishment": false,
- "showCultSwitchDefaultCancellationRules": true,
- "emailAddressComment": "Use this email for reservation inquiries.",
- "emailAddressUnsubscribe": false,
- "vatNumber": "123456",
- "legalCompanyName": "Golden Tulip",
- "commercialRegistrationNumber": "aR43Q5",
- "managingDirector": "Mr X Y",
- "companyOrganisationNumber": "425ERQ",
- "fax": "425ERQ",
- "distributorType": "CHANNEL_MANAGER",
- "billingAddress": "street: 123 Main Street, city: Berlin, postalCode: 10115, country: Germany",
- "homeCurrency": {
- "id": 1,
- "code": "USD",
- "name": "United States Dollar",
- "numericCode": 840,
- "minorUnit": 2,
- "locale": "en-US",
- "symbol": "$"
}, - "phones": "number: +1-202-555-0101, type: RECEPTION",
- "emails": [
- {
- "id": 101,
- "email": "info@goldentulip.com",
- "emailType": {
- "id": 1,
- "code": "info",
- "name": "Information"
}, - "status": "ACTIVE",
- "lastUpdate": "2024-06-10T12:30:00Z"
}
], - "messages": [
- {
- "id": 12,
- "propertyId": 1000001,
- "campaignId": 45,
- "name": "Welcome Email",
- "topic": "Guest Communication",
- "subject": "Welcome to Golden Tulip",
- "toAddress": "guest@example.com",
- "toName": "John Doe",
- "fromAddress": "info@goldentulip.com",
- "fromName": "Golden Tulip Hotel",
- "replyAddress": "support@goldentulip.com",
- "replyName": "Support Team",
- "domain": "goldentulip.com",
- "provider": "SMTP",
- "details": "Automated welcome message",
- "ewsId": "EWS123456",
- "status": "SENT",
- "body": "Welcome to our hotel. We look forward to your stay.",
- "sentAt": "2024-06-10T10:30:00Z",
- "scheduledFor": "2024-06-10T10:00:00Z",
- "permissionTimestamp": "2024-06-10T09:00:00Z",
- "dismissTopicTimestamp": "2024-06-10T09:15:00Z",
- "unsubscribeTimestamp": "2024-06-10T09:20:00Z",
- "permission": true,
- "dismissTopic": false,
- "unsubscribe": false,
- "dismissTopicIPv4": "192.168.1.1",
- "permissionIPv4": "192.168.1.1",
- "unsubscribeIPv4": "192.168.1.1",
- "permissionName": "John Doe",
- "permissionTelephoneNumber": "+1-202-555-0123",
- "permissionEmailAddress": "john.doe@example.com",
- "permissionComment": "Customer agreed to receive updates.",
- "createdAt": "2024-06-10T09:00:00Z",
- "lastUpdate": "2024-06-10T10:30:00Z",
- "messageFeedbacks": [
- {
- "messageId": 123,
- "userId": "abc@email.com",
- "comment": "Interested in the offer",
- "status": "INTERESTED",
- "followUpDate": "2024-08-18 08:35:45"
}
], - "phones": [
- {
- "phoneNumber": "+1-202-555-0123",
- "extension": "101",
- "name": "Reception"
}
]
}
], - "descriptions": [
- "Beachfront hotel with ocean views"
], - "supplier": {
- "id": 201,
- "name": "GlobalTravelLtd",
- "isActive": true,
- "extranetPartnerId": 45
}, - "isDeletedBySupplier": "false",
- "aliasTo": "1000456",
- "createdAt": "2024-06-10T09:00:00Z",
- "lastUpdate": "2024-06-10T10:30:00Z",
- "isDeleted": "false",
- "createdBy": "user@email",
- "initialParentId": 1000000,
- "names": [
- {
- "id": 15,
- "nameType": "nameType:code: PRIMARY",
- "text": "Room with single bed",
- "language": "code: en, name: English"
}
], - "ratings": [
- {
- "id": 21,
- "propertyId": 1000001,
- "provider": "Trivago",
- "rating": 4,
- "otherRating": "carbon-emission",
- "reviewRank": 7.7,
- "reviewCount": 3491,
- "isClassified": true
}
], - "availabilityUpdateCount": "15",
- "lastAvailabilityUpdate": "2024-06-10T12:45:00Z",
- "roundingRuleId": "3",
- "businessUnitId": "12",
- "fileName": "property_data_2024.json"
}, - "propertyInfo": {
- "id": "id : 1002456",
- "propertyId": 1000040,
- "website": "marriott.com",
- "geoCode": {
- "type": "Point",
- "latitude": 38.8951,
- "longitude": -77.0364
}, - "brand": {
- "id": "id : 12",
- "name": "Marriott",
- "code": "code : 25hours",
- "alternativeName": "alternativeName: Marriott International"
}, - "timezone": "timezone: Europe/Paris",
- "taxpayerId": "1232 1233",
- "capacity": 40,
- "capacityType": "room",
- "isExist": true,
- "propertyType": {
- "id": "id :3",
- "code": "HTL",
- "name": "Hotel",
- "codeSource": "RoomDB",
- "alternativeName": "Accommodation"
}, - "websiteUrlReachable": "websiteUrlReachable: true",
- "websiteUrlReachabilityLastUpdate": "2024-03-15T10:30:00Z",
- "languages": [
- {
- "id": "id : 1",
- "language": "code: en, name: English",
- "isMain": "isMain : true"
}
], - "addresses": [
- {
- "id": 101,
- "addressType": "GEOCODE",
- "addressLine": "221B Baker Street",
- "addressLine2": "Apartment 3B",
- "cityName": "London",
- "postalCode": "NW1 6XE",
- "language": "code: en, name: English",
- "country": {
- "id": 21,
- "name": "Germany",
- "fullName": "The Federal Republic of Germany",
- "code": "DE",
- "codeA3": "DEU",
- "codeNumeric": "276",
- "latitude": 51.1657,
- "longitude": 10.4515,
- "continentCode": "EU",
- "noOfProperties": 1500,
- "noOfPropertiesWithDistributorType": 900,
- "listIdPropertyCount": 400,
- "lastUpdate": "2026-04-27T06:36:42.053Z"
}, - "state": {
- "id": 12,
- "countryCode": "US",
- "code": "US-CA",
- "name": "California",
- "localName": "Local name for California",
- "languageCode": "en",
- "subdivisionCategory": "state"
}
}
]
}, - "googleReviews": {
- "id": 12,
- "googlePropertyName": "Golden Tulip",
- "googlePropertyNameLastUpdate": "2024-06-10T09:30:00Z",
- "googleAddress": "123 Beach Road, Miami, FL",
- "googleAddressLastUpdate": "2024-06-10T09:45:00Z",
- "googlePhoneNumber": "949302387654",
- "googlePhoneNumberLastUpdate": "2024-06-10T10:00:00Z",
- "googleCategory": "Hotel",
- "googleCategoryLastUpdate": "2024-06-10T10:10:00Z",
- "propertyNameAndAddressAtGoogleScreenshotUrl": "https://example.com/screenshots/google_property.png",
- "propertyNameAndAddressAtGoogleScreenshotUrlLastUpdate": "2024-06-10T09:40:00Z",
- "googleBusinessPlacesId": "ChIJN1t_tDeuEmsRUsoyG83frY4",
- "googleBusinessPlacesIdLastUpdate": "2024-06-10T09:50:00Z",
- "googleMapsWithGoogleBusinessPlacesIdScreenshotUrl": "https://example.com/screenshots/google_maps_place.png.",
- "googleMapsGoogleBusinessPlacesIdScreenshotUrlLastUpdate": "2024-06-10T10:00:00Z",
- "googleRating": "4.3",
- "googleRatingLastUpdate": "2024-06-10T10:15:00Z",
- "googleNumberOfReviews": "1284",
- "googleNumberOfReviewsLastUpdate": "2024-06-10T10:20:00Z",
- "googleRatingAndNumberOfReviewsScreenshotUrl": "https://example.com/screenshots/google_rating_reviews.png",
- "googleRatingAndNumberOfReviewsScreenshotUrlLastUpdate": "2024-06-10T10:30:00Z",
- "freeGoogleBookingLinks": "true",
- "freeGoogleBookingLinksLastUpdate": "2024-06-10T10:40:00Z",
- "googleMetaSearchLinksUrlLastUpdate": "2024-06-10T10:50:00Z",
- "websiteUrlLastUpdate": "2024-06-10T11:00:00Z",
- "websiteUrlReachable": "true",
- "websiteUrlReachabilityLastUpdate": "2024-06-10T11:10:00Z",
- "screenshotOfWebsiteLandingPageUrlLastUpdate": "2024-06-10T11:20:00Z",
- "sslCertificate": true,
- "sslCertificateBeginDate": "2024-01-01T00:00:00Z",
- "sslCertificateExpireDate": "2025-01-01T00:00:00Z",
- "sslCertificateLastUpdate": "2024-06-10T11:30:00Z",
- "languageOfWebsite": "English",
- "languageOfWebsiteLastUpdate": "2024-06-10T11:40:00Z",
- "cmsUsedInWebsite": "WordPress",
- "cmsUsedInWebsiteLastUpdate": "2024-06-10T11:45:00Z",
- "versionOfCmsUsedInWebsite": "6.4",
- "versionOfCmsUsedInWebsiteLastUpdate": "2024-06-10T11:50:00Z",
- "programmingLanguageOfWebsite": "PHP",
- "programmingLanguageOfWebsiteLastUpdate": "2024-06-10T12:00:00Z",
- "versionOfProgrammingLanguage": "8.2",
- "versionOfProgrammingLanguageLastUpdate": "2024-06-10T12:10:00Z",
- "webserver": "Nginx",
- "webserverLastUpdate": "2024-06-10T12:20:00Z",
- "screenshotOfCmsDetectionUrlLastUpdate": "2024-06-10T12:30:00Z",
- "bookingEngine": "true",
- "bookingEngineLastUpdate": "2024-06-10T12:40:00Z",
- "brandOfBookingEngine": "Cloudbeds",
- "brandOfBookingEngineLastUpdate": "2024-06-10T12:50:00Z",
- "screenshotOfBookingEngineUrlLastUpdate": "2024-06-10T13:00:00Z",
- "bookingEngineUrlLastUpdate": "2024-06-10T13:10:00Z",
- "name": "Golden Tulip",
- "addresses": [
- {
- "id": 101,
- "addressType": "GEOCODE",
- "addressLine": "221B Baker Street",
- "addressLine2": "Apartment 3B",
- "cityName": "London",
- "postalCode": "NW1 6XE",
- "language": "code: en, name: English",
- "country": {
- "id": 21,
- "name": "Germany",
- "fullName": "The Federal Republic of Germany",
- "code": "DE",
- "codeA3": "DEU",
- "codeNumeric": "276",
- "latitude": 51.1657,
- "longitude": 10.4515,
- "continentCode": "EU",
- "noOfProperties": 1500,
- "noOfPropertiesWithDistributorType": 900,
- "listIdPropertyCount": 400,
- "lastUpdate": "2026-04-27T06:36:42.053Z"
}, - "state": {
- "id": 12,
- "countryCode": "US",
- "code": "US-CA",
- "name": "California",
- "localName": "Local name for California",
- "languageCode": "en",
- "subdivisionCategory": "state"
}
}
], - "geoCodes": [
- {
- "type": "Point",
- "latitude": 38.8951,
- "longitude": -77.0364
}
], - "emailAddress": "info@goldentulip.com",
- "propertyWithAddressAndGeoCode": {
- "id": 1000010,
- "cultSwitchId": "1232",
- "code": "GT-01",
- "name": "Golden Tulip",
- "alternativeName": "Local name for Golden Tulip",
- "status": "ACTIVE",
- "forTesting": false,
- "isMaster": false,
- "isPermanentlyClosed": false,
- "autoReplenishment": false,
- "showCultSwitchDefaultCancellationRules": true,
- "emailAddressComment": "Contact the reception for booking support.",
- "emailAddressUnsubscribe": false,
- "vatNumber": "123456",
- "legalCompanyName": "Golden Tulip",
- "commercialRegistrationNumber": "aR43Q5",
- "managingDirector": "Mr X Y",
- "companyOrganisationNumber": "425ERQ",
- "fax": "+1-202-555-0123",
- "distributorType": "A",
- "billingAddress": "street: 123 Main Street, city: Berlin, postalCode: 10115, country: Germany",
- "homeCurrency": {
- "id": 1,
- "code": "USD",
- "name": "United States Dollar",
- "numericCode": 840,
- "minorUnit": 2,
- "locale": "en-US",
- "symbol": "$"
}, - "phones": [
- {
- "phoneNumber": "+1-202-555-0123",
- "extension": "101",
- "name": "Reception"
}
], - "emails": "info@goldentulip.com",
- "messages": [
- {
- "id": 12,
- "propertyId": 1000001,
- "subject": "Welcome to Golden Tulip",
- "status": "SENT",
- "sentAt": "2024-06-10T10:30:00Z"
}
], - "descriptions": [
- {
- "text": "Hotel located in the city center near major attractions."
}
], - "supplier": {
- "id": 201,
- "name": "GlobalTravelLtd",
- "isActive": true,
- "extranetPartnerId": 45
}, - "isDeletedBySupplier": false,
- "aliasTo": 1000021,
- "createdAt": "2024-05-12T10:30:00Z",
- "lastUpdate": "2024-06-10T14:22:11Z",
- "isDeleted": false,
- "createdBy": "user@email.com",
- "initialParentId": 1000000,
- "names": [
- {
- "text": "Golden Tulip",
- "language": {
- "name": "English"
}
}
], - "ratings": [
- {
- "provider": "Trivago",
- "rating": 4,
- "reviewRank": 7.7,
- "reviewCount": 3491
}
], - "availabilityUpdateCount": 15,
- "lastAvailabilityUpdate": "2024-06-15T10:45:00Z",
- "roundingRuleId": 3,
- "businessUnitId": 12,
- "fileName": "availability_update_20240615.csv",
- "addresses": [
- {
- "addressType": "GEOCODE",
- "addressLine": "221B Baker Street",
- "cityName": "London",
- "postalCode": "NW1 6XE"
}
], - "geoCode": {
- "type": "Point",
- "latitude": 38.8951,
- "longitude": -77.0364
}, - "propertyType": {
- "id": "id :3",
- "code": "HTL",
- "name": "Hotel",
- "codeSource": "RoomDB",
- "alternativeName": "Accommodation"
}, - "timezone": "Europe/London",
- "mainMedias": [
- {
- "mediaTypeCode": "img",
- "mediaTypeName": "Image"
}
]
}, - "website": "marriott.com",
- "screenshotOfFooterUrlLastUpdate": "2024-06-10T11:00:00Z",
- "urlForAISystemsFound": "true",
- "urlForAISystemsFoundLastUpdate": "2024-06-10T11:30:00Z",
- "latitude": 20.1,
- "longitude": 22.3
}
}, - "status": "success",
- "message": "Property data retrieved successfully.",
- "executionTime": "1234"
}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}
| 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. |
{- "result": {
- "id": "id : 1002456",
- "propertyId": 1000040,
- "website": "marriott.com",
- "geoCode": {
- "type": "Point",
- "latitude": 38.8951,
- "longitude": -77.0364
}, - "brand": {
- "id": "id : 12",
- "name": "Marriott",
- "code": "code : 25hours",
- "alternativeName": "alternativeName: Marriott International"
}, - "timezone": "timezone: Europe/Paris",
- "taxpayerId": "1232 1233",
- "capacity": 40,
- "capacityType": "room",
- "isExist": true,
- "propertyType": {
- "id": "id :3",
- "code": "HTL",
- "name": "Hotel",
- "codeSource": "RoomDB",
- "alternativeName": "Accommodation"
}, - "websiteUrlReachable": "websiteUrlReachable: true",
- "websiteUrlReachabilityLastUpdate": "2024-03-15T10:30:00Z",
- "languages": [
- {
- "id": "id : 1",
- "language": "code: en, name: English",
- "isMain": "isMain : true"
}
], - "addresses": [
- {
- "id": 101,
- "addressType": "GEOCODE",
- "addressLine": "221B Baker Street",
- "addressLine2": "Apartment 3B",
- "cityName": "London",
- "postalCode": "NW1 6XE",
- "language": "code: en, name: English",
- "country": {
- "id": 21,
- "name": "Germany",
- "fullName": "The Federal Republic of Germany",
- "code": "DE",
- "codeA3": "DEU",
- "codeNumeric": "276",
- "latitude": 51.1657,
- "longitude": 10.4515,
- "continentCode": "EU",
- "noOfProperties": 1500,
- "noOfPropertiesWithDistributorType": 900,
- "listIdPropertyCount": 400,
- "lastUpdate": "2026-04-27T06:36:42.053Z"
}, - "state": {
- "id": 12,
- "countryCode": "US",
- "code": "US-CA",
- "name": "California",
- "localName": "Local name for California",
- "languageCode": "en",
- "subdivisionCategory": "state"
}
}
]
}, - "status": "success",
- "message": "Property information retrieved successfully.",
- "executionTime": "120"
}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
| 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. |
{- "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"
}{- "result": {
- "id": 0,
- "propertyId": 1000040,
- "website": "marriott.com"
}, - "status": "SUCCESS",
- "message": "Property information created or updated successfully",
- "executionTime": 0
}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
| 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. |
{- "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"
}{- "result": "id: 0, propertyId: 1000040, website: marriott.com",
- "status": "SUCCESS",
- "message": "Property info processed successfully",
- "executionTime": 0
}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}
| 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. |
{- "result": [
- {
- "propertyId": 1000040,
- "identifier": "40",
- "source": {
- "id": "id: 2",
- "abbreviation": "abbreviation: exp",
- "name": "Expedia"
}
}
], - "status": "status: success",
- "message": "message: Property identifiers retrieved successfully.",
- "executionTime": "executionTime: 125"
}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}
| 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. |
{- "result": {
- "propertyId": 1023456,
- "identifierSourceId": 2,
- "facilityData": {
- "wifi": true,
- "parking": true
}
}, - "status": "success",
- "message": "Property facility data retrieved successfully.",
- "executionTime": 120
}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}
| 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. |
{- "result": "propertyId: 1023456",
- "status": "success",
- "message": "Property facility data retrieved successfully.",
- "executionTime": 120
}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}
| 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. |
{- "fileName": "property_data.json",
- "data": true,
- "executionTime": 15
}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}
| 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. |
{- "result": {
- "id": 1000010,
- "cultSwitchId": "1232",
- "code": "GT-01",
- "name": "Golden Tulip",
- "alternativeName": "Local name for Golden Tulip",
- "status": "ACTIVE",
- "forTesting": false,
- "isMaster": false,
- "isPermanentlyClosed": false,
- "autoReplenishment": false,
- "showCultSwitchDefaultCancellationRules": true,
- "emailAddressComment": "Contact the reception for booking support.",
- "emailAddressUnsubscribe": false,
- "vatNumber": "123456",
- "legalCompanyName": "Golden Tulip",
- "commercialRegistrationNumber": "aR43Q5",
- "managingDirector": "Mr X Y",
- "companyOrganisationNumber": "425ERQ",
- "fax": "+1-202-555-0123",
- "distributorType": "A",
- "billingAddress": "street: 123 Main Street, city: Berlin, postalCode: 10115, country: Germany",
- "homeCurrency": {
- "id": 1,
- "code": "USD",
- "name": "United States Dollar",
- "numericCode": 840,
- "minorUnit": 2,
- "locale": "en-US",
- "symbol": "$"
}, - "phones": [
- {
- "phoneNumber": "+1-202-555-0123",
- "extension": "101",
- "name": "Reception"
}
], - "emails": "info@goldentulip.com",
- "messages": [
- {
- "id": 12,
- "propertyId": 1000001,
- "subject": "Welcome to Golden Tulip",
- "status": "SENT",
- "sentAt": "2024-06-10T10:30:00Z"
}
], - "descriptions": [
- {
- "text": "Hotel located in the city center near major attractions."
}
], - "supplier": {
- "id": 201,
- "name": "GlobalTravelLtd",
- "isActive": true,
- "extranetPartnerId": 45
}, - "isDeletedBySupplier": false,
- "aliasTo": 1000021,
- "createdAt": "2024-05-12T10:30:00Z",
- "lastUpdate": "2024-06-10T14:22:11Z",
- "isDeleted": false,
- "createdBy": "user@email.com",
- "initialParentId": 1000000,
- "names": [
- {
- "text": "Golden Tulip",
- "language": {
- "name": "English"
}
}
], - "ratings": [
- {
- "provider": "Trivago",
- "rating": 4,
- "reviewRank": 7.7,
- "reviewCount": 3491
}
], - "availabilityUpdateCount": 15,
- "lastAvailabilityUpdate": "2024-06-15T10:45:00Z",
- "roundingRuleId": 3,
- "businessUnitId": 12,
- "fileName": "availability_update_20240615.csv",
- "addresses": [
- {
- "addressType": "GEOCODE",
- "addressLine": "221B Baker Street",
- "cityName": "London",
- "postalCode": "NW1 6XE"
}
], - "geoCode": {
- "type": "Point",
- "latitude": 38.8951,
- "longitude": -77.0364
}, - "propertyType": {
- "id": "id :3",
- "code": "HTL",
- "name": "Hotel",
- "codeSource": "RoomDB",
- "alternativeName": "Accommodation"
}, - "timezone": "Europe/London",
- "mainMedias": [
- {
- "mediaTypeCode": "img",
- "mediaTypeName": "Image"
}
]
}, - "status": "OK",
- "message": "Request processed successfully",
- "executionTime": 120
}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}
| 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. |
{- "result": "id: 101, url: https://example.com/logo.png",
- "status": "status: success",
- "message": "message: Logos retrieved successfully.",
- "executionTime": "executionTime: 120"
}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
| 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. |
{- "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
}{- "result": "id: 0, cultSwitchId: 1232, code: GT_01,name: Golden Tulip, status: ACTIVE",
- "status": "success",
- "message": "Property created successfully.",
- "executionTime": 361
}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.
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
| 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. |
{- "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,
- "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": [
- {
- "capacity": 30,
- "minCapacity": 1,
- "maxCapacity": 4,
- "maxAdults": 2,
- "dateRanges": [
- {
- "cultSwitchId": "seasonal_pricing_1",
- "fromDate": "2021-09-01",
- "toDate": "2021-10-31",
- "days": "[MON]",
- "isBlockOutRange": false,
- "isValidityRange": false,
- "isPriceRange": false,
- "isBookableRange": false,
- "isArrivalRange": false,
- "isDepartureRange": false,
- "unlimited": false,
- "price": 10.2
}
]
}
], - "descriptions": [
- {
- "text": "This is the highest mountain in Europe",
- "languageId": 0,
- "descriptionTypeId": 0
}
], - "isMandatory": true,
- "inventoryType": "internal",
- "translationKey": "room.single",
- "channelIds": [
- 1,
- 2
], - "mapProduct": true,
- "cancellationPolicies": [
- 1,
- 2
], - "minLengthOfStay": 0,
- "maxLengthOfStay": 0,
- "arrivalDays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "bookableDays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "departureDays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "price": {
- "type": "STANDARD_PRODUCT_PRICE",
- "value": 100
},
}{- "result": "id: 1, propertyId: 1000040",
- "status": "SUCCESS",
- "message": "Sellable unit created successfully",
- "executionTime": 120
}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}
| 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. |
{- "result": "id: 125, name: Deluxe Room, status: active",
- "status": "status: success",
- "message": "message: Sellable unit retrieved successfully",
- "executionTime": "executionTime: 125"
}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}
| 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 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. |
{- "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": [
- {
- "capacity": 30,
- "minCapacity": 1,
- "maxCapacity": 4,
- "maxAdults": 2,
- "dateRanges": [
- {
- "cultSwitchId": "string",
- "fromDate": "2021-09-01",
- "toDate": "2021-10-31",
- "days": "[MON]",
- "isBlockOutRange": false,
- "isValidityRange": false,
- "isPriceRange": false,
- "isBookableRange": false,
- "isArrivalRange": false,
- "isDepartureRange": false,
- "unlimited": false,
- "price": 10.2
}
]
}
], - "descriptions": [
- {
- "text": "This is the highest mountain in Europe",
- "languageId": 0,
- "descriptionTypeId": 0
}
], - "isMandatory": true,
- "inventoryType": "internal",
- "translationKey": "room.single",
- "channelIds": [
- 0
], - "mapProduct": true,
- "cancellationPolicies": [
- 0
], - "minLengthOfStay": 0,
- "maxLengthOfStay": 0,
- "arrivalDays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "bookableDays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "departureDays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "price": {
- "type": "STANDARD_PRODUCT_PRICE",
- "value": 100
},
}{- "result": {
- "id": 101,
- "propertyId": 1000040,
- "baseText": "Room with single bed",
- "supplierUnitId": 12321,
- "names": [
- {
- "id": 1,
- "nameType": {
- "id": 0,
- "code": "su",
- "name": "Sellable Unit"
}, - "text": "Room with single bed",
- "language": {
- "id": 0,
- "code": "de",
- "name": "German",
- "nativeName": "Deutsch",
- "code2T": "deu",
- "code2B": "ger",
- "code3": "deu",
- "textDirection": "LEFT_TO_RIGHT",
- "translationKey": "lang.de"
}
}
], - "limited": false,
- "isExtra": true,
- "soldOverTime": true,
- "isCityTax": true,
- "displayOccupancyPricesOnCalendar": true,
- "basePrice": 55.9,
- "basePriceBeforeTax": 45,
- "mealType": "Breakfast",
- "sellableUnitType": {
- "id": 1,
- "code": "room",
- "name": "Room"
}, - "roomTypeId": {
- "id": 1,
- "cultSwitchId": "1232",
- "bookingDotComId": 3,
- "name": "Apartment",
- "notes": "Notes",
- "translationToolKeyName": "room.name",
- "translationToolKeyNotes": "room.notes"
}, - "noOfSellableUnits": 1,
- "roomType": "Deluxe/Suite",
- "descriptions": [
- {
- "id": 1,
- "descriptionType": {
- "id": 1,
- "code": "poi",
- "name": "Point Of Interest"
}, - "text": "This is some cool description."
}
], - "timeType": "day",
- "paymentType": "per_stay",
- "paymentMode": "AMOUNT",
- "channelIds": [
- 0
], - "capacities": [
- {
- "capacity": 30,
- "minCapacity": 1,
- "maxCapacity": 4,
- "maxAdults": 2,
- "dateRanges": [
- {
- "fromDate": "2021-09-01",
- "toDate": "2021-10-31",
- "isBookableRange": false,
- "isBlockOutRange": false,
- "unlimited": false,
- "price": 10.2
}
]
}
], - "media": [
- {
- "mediaType": {
- "code": "img",
- "name": "Image"
}, - "tags": [
- {
- "text": "Landscape"
}
], - "attributes": [
- {
- "value": "720",
- "dimension": "pixel"
}
]
}
], - "product": [
- {
- "name": "Single room",
- "ratePlanId": 1
}
], - "inventoryType": "ALLOCATED",
- "isProtected": true,
- "assignedToProduct": true,
- "isMandatory": true,
- "translationKey": "room.single",
- "fileName": "room.png",
- "createdAt": "2026-04-07T12:08:43.494Z",
- "lastUpdate": "2026-04-07T12:08:43.494Z",
}, - "status": "SUCCESS",
- "message": "Sellable unit created successfully",
- "executionTime": 120
}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
{- "result": [
- "id: 1, name:Room"
], - "status": "status: SUCCESS",
- "message": "message: Sellable units retrieved successfully",
- "executionTime": "executionTime: 120"
}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
{- "result": "result: FULL_PAYMENT, INSTALLMENT",
- "status": "status: SUCCESS",
- "message": "message: Payment types retrieved successfully",
- "executionTime": "executionTime: 120"
}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
| page | integer <int32> >= 0 Default: 0 Specifies the page number of the results to retrieve. Pagination starts from |
| 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. |
{- "result": "id: 101, type: DELUXE_ROOM page: 0, size: 10",
- "status": "status : SUCCESS",
- "message": "message: Sellable units retrieved successfully",
- "executionTime": "executionTime: 120"
}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
| page | integer <int32> >= 0 Default: 0 Specifies the page number of the results to retrieve in a paginated response. Pagination starts from |
| 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. |
{- "result": "id: 101, type: DELUXE_ROOM page: 0, size: 10",
- "status": "status : SUCCESS",
- "message": "message: Sellable units retrieved successfully",
- "executionTime": "executionTime: 120"
}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}
| 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. |
{- "result": "id: 1, name: Unit Number, value: A-101",
- "status": "status: success",
- "message": "message: Sellable unit identifiers retrieved successfully",
- "executionTime": "executionTime: 120"
}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}
| 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. |
{- "result": "id: 125, name: Deluxe Room, status: active",
- "status": "status: success",
- "message": "message: Sellable unit retrieved successfully",
- "executionTime": "executionTime: 125"
}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.
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}
| 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. |
{- "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
}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}
| propertyId required | integer <int32> >= 1000000 Example: 1002345 Unique RoomDB property identifier. Must be a valid ID greater than or equal to 1000000. |
| 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 |
| sortDesc | boolean Default: false Example: sortDesc=true Indicates whether the sorting should be applied in descending order. Set to |
| 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 |
| isLogo | string Example: isLogo=false Indicates whether to filter the results to include only logo media associated with the property. Set to |
| isScreenshot | string Example: isScreenshot=false Indicates whether to filter results to include only screenshot media associated with the property. Set to |
| isUnassigned | string Example: isUnassigned=false Indicates whether to filter results for media that are not assigned to any specific unit. Set to |
| isMemo | string Example: isMemo=false Indicates whether to filter the results for media marked as memo content. Set to |
| isFullBackgroundImage | string Example: isFullBackgroundImage=false Indicates whether to filter results for media used as full background images. Set to |
{- "result": "mediaId: 101 page: 0,size: 10",
- "status": "status=SUCCESS",
- "message": "message=Media fetched successfully",
- "executionTime": "executionTime=120"
}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
{- "result": "id: 1, text: Landscape, parentId: 0",
- "status": "status: success",
- "message": "message: Tags retrieved successfully",
- "executionTime": "executionTime: 120"
}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
{- "result": [
- "id: 1, name: Image"
], - "status": "success",
- "message": "Media types retrieved successfully",
- "executionTime": 95
}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
{- "result": "id: 1, name: Main Image",
- "status": "status=SUCCESS",
- "message": "message=Media attribute types fetched successfully",
- "executionTime": "executionTime=95"
}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
{- "result": " id: 1, Code: OP, name: Standard",
- "status": "success",
- "message": "License types retrieved successfully",
- "executionTime": "executionTime: 120"
}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. |
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
{- "result": [
- {
- "id": 12,
- "countryCode": "US",
- "code": "US-CA",
- "name": "California",
- "localName": "Local name for California",
- "languageCode": "en",
- "subdivisionCategory": "state"
}
], - "status": "success",
- "message": "States retrieved successfully.",
- "executionTime": 12
}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}
| stateId required | integer <int32> >= 1 Example: 4567 Unique internal identifier of the state or subdivision. |
{- "result": {
- "id": 12,
- "countryCode": "US",
- "code": "US-CA",
- "name": "California",
- "localName": "Local name for California",
- "languageCode": "en",
- "subdivisionCategory": "state"
}, - "status": "success",
- "message": "State retrieved successfully.",
- "executionTime": 9
}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}
| countryCode required | string = 2 characters Example: US Two-letter ISO 3166-1 Alpha-2 country code. |
{- "result": [
- {
- "id": 12,
- "countryCode": "US",
- "code": "US-CA",
- "name": "California",
- "localName": "Local name for California",
- "languageCode": "en",
- "subdivisionCategory": "state"
}
], - "status": "success",
- "message": "States retrieved successfully.",
- "executionTime": 12
}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}
| code required | string [ 2 .. 8 ] characters Example: US-CA ISO 3166-2 subdivision code identifying the state or subdivision. |
{- "result": {
- "id": 12,
- "countryCode": "US",
- "code": "US-CA",
- "name": "California",
- "localName": "Local name for California",
- "languageCode": "en",
- "subdivisionCategory": "state"
}, - "status": "success",
- "message": "State retrieved successfully.",
- "executionTime": 9
}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
| langCode | string = 2 characters Example: langCode=en Two-letter ISO 639-1 language code used for localization. Default is English. |
{- "result": [
- {
- "id": 1,
- "code": "USD",
- "name": "United States Dollar",
- "numericCode": 840,
- "minorUnit": 2,
- "locale": "en-US",
- "symbol": "$"
}
], - "status": "success",
- "message": "Currencies retrieved successfully.",
- "executionTime": 11
}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}
| id required | integer <int32> >= 1 Example: 34 Unique internal identifier of the currency. |
| langCode | string = 2 characters Example: langCode=en Two-letter ISO 639-1 language code used for localization. Default is English. |
{- "result": {
- "id": 1,
- "code": "USD",
- "name": "United States Dollar",
- "numericCode": 840,
- "minorUnit": 2,
- "locale": "en-US",
- "symbol": "$"
}, - "status": "success",
- "message": "Currency retrieved successfully.",
- "executionTime": "8"
}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}
| code required | integer <int32> [ 1 .. 999 ] Example: 840 ISO 4217 numeric currency code. |
| langCode | string = 2 characters Example: langCode=en Two-letter ISO 639-1 language code used for localization. Default is English. |
{- "result": {
- "id": 1,
- "code": "USD",
- "name": "United States Dollar",
- "numericCode": 840,
- "minorUnit": 2,
- "locale": "en-US",
- "symbol": "$"
}, - "status": "success",
- "message": "Currency retrieved successfully.",
- "executionTime": "8"
}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}
| code required | string = 3 characters Example: USD ISO 4217 three-letter currency code. |
| langCode | string = 2 characters Example: langCode=en Two-letter ISO 639-1 language code used for localization. Default is English. |
{- "result": {
- "id": 1,
- "code": "USD",
- "name": "United States Dollar",
- "numericCode": 840,
- "minorUnit": 2,
- "locale": "en-US",
- "symbol": "$"
}, - "status": "success",
- "message": "Currency retrieved successfully.",
- "executionTime": "8"
}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
| 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 |
{- "result": {
- "id": 1,
- "name": "Germany",
- "fullName": "The Federal Republic of Germany",
- "code": "DE",
- "codeA3": "DEU",
- "codeNumeric": "276",
- "latitude": 51.1657,
- "longitude": 10.4515,
- "continentCode": "EU",
- "noOfProperties": 1500,
- "noOfPropertiesWithDistributorType": 900,
- "listIdPropertyCount": 400,
- "lastUpdate": "2026-04-24T10:15:01.422Z"
}, - "status": "success",
- "message": "Countries retrieved successfully.",
- "executionTime": 18
}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}
| countryId required | integer <int32> >= 1 Example: 21 Unique internal identifier of the country. |
| 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 |
{- "result": {
- "id": 21,
- "name": "Germany",
- "fullName": "The Federal Republic of Germany",
- "code": "DE",
- "codeA3": "DEU",
- "codeNumeric": "276",
- "latitude": 51.1657,
- "longitude": 10.4515,
- "continentCode": "EU",
- "noOfProperties": 1500,
- "noOfPropertiesWithDistributorType": 900,
- "listIdPropertyCount": 400,
- "lastUpdate": "2026-04-27T06:36:42.053Z"
}, - "status": "success",
- "message": "Country retrieved successfully",
- "executionTime": "11"
}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}
| code required | string = 2 characters Example: DE Two-letter ISO 3166-1 Alpha-2 country code. |
| 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 |
{- "result": {
- "id": 21,
- "name": "Germany",
- "fullName": "The Federal Republic of Germany",
- "code": "DE",
- "codeA3": "DEU",
- "codeNumeric": "276",
- "latitude": 51.1657,
- "longitude": 10.4515,
- "continentCode": "EU",
- "noOfProperties": 1500,
- "noOfPropertiesWithDistributorType": 900,
- "listIdPropertyCount": 400,
- "lastUpdate": "2026-04-27T06:36:42.053Z"
}, - "status": "success",
- "message": "Country retrieved successfully",
- "executionTime": "11"
}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}
| codeFormat required | string Enum: "ALL" "ALPHA2" "ALPHA3" "NUMERIC" Example: ALPHA2 Specifies which ISO code format(s) to include in the response. |
| 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 |
{- "result": {
- "id": 1,
- "name": "Germany",
- "fullName": "The Federal Republic of Germany",
- "code": "DE",
- "codeA3": "DEU",
- "codeNumeric": "276",
- "latitude": 51.1657,
- "longitude": 10.4515,
- "continentCode": "EU",
- "noOfProperties": 1500,
- "noOfPropertiesWithDistributorType": 900,
- "listIdPropertyCount": 400,
- "lastUpdate": "2026-04-24T10:15:01.422Z"
}, - "status": "success",
- "message": "Countries retrieved successfully.",
- "executionTime": 18
}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
{- "result": [
- {
- "code": "EU",
- "name": "Europe",
- "latitude": 54.526,
- "longitude": 15.2551,
- "noOfProperties": 1200,
- "noOfPropertiesWithDistributorType": 850,
- "listIdPropertyCount": 300,
- "lastUpdate": "2026-04-24T06:18:26.156Z"
}
], - "status": "success",
- "message": "Continents retrieved successfully.",
- "executionTime": 15
}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}
| code required | string = 2 characters Example: EU Two-letter continent code in ISO Alpha-2 format used to identify the continent. |
{- "result": {
- "code": "EU",
- "name": "Europe",
- "latitude": 54.526,
- "longitude": 15.2551,
- "noOfProperties": 1200,
- "noOfPropertiesWithDistributorType": 850,
- "listIdPropertyCount": 300,
- "lastUpdate": "2026-04-24T06:18:26.156Z"
}, - "status": "success",
- "message": "Continent retrieved successfully.",
- "executionTime": "12"
}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. |
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
| pci-token | string Example: abc123securetoken Token used for securely transmitting PCI-sensitive data such as credit card details. Required only when |
| 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 | |
| isCreditCardBooking | boolean Indicates whether the reservation involves a credit card. Set to true when ccData is provided. |
{- "propertyId": 1000003,
- "arrival": "2024-08-18",
- "departure": "2024-08-19",
- "distributorId": "58078",
- "distributorCode": "14253cds3bc244e",
- "language": "en",
- "roomRates": [
- {
- "numberOfUnits": 1,
- "ratePlanId": "12345"
}
], - "totalGuestCounts": {
- "adults": 2,
- "children": [
- {
- "count": 1,
- "age": "7"
}
]
}, - "comments": [
- "Late check-in requested"
], - "booker": {
- "givenName": "First Name",
- "surName": "Sur Name",
- "phoneNumber": "+1111122222",
- "email": "abc@email.com",
- "addresses": [
- {
- "streetNmbr": "234",
- "cityName": "Berlin",
- "postalCode": "3R4D2E",
- "countryCode": "de",
- "countryName": "Germany",
- "companyName": "ABC Company",
- "addressLine": [
- "Baker Street",
- "Apartment 1A"
], - "isBillingAddress": true
}
]
}, - "guests": [
- {
- "ratePlanId": "123456",
- "unit": "1",
- "givenName": "First Name",
- "surName": "Sur Name",
- "guestCounts": {
- "adults": 2,
- "children": [
- {
- "count": 1,
- "age": "7"
}
]
}
}
], - "otaDetails": {
- "bookingId": "123456789",
- "sourceOfBooking": "CultBooking Neo",
- "transactionNumber": "CBMV"
}, - "ccData": {
- "cardNumber": "4111111111111111",
- "cardType": "Visa",
- "cardHolderName": "John Doe",
- "expirationDate": "12/26",
- "cvv": "123"
}, - "isCreditCardBooking": true
}{- "result": {
- "status": "SUCCESS",
- "reservationId": "RES123456",
- "bookerReservationId": "BR123456",
- "transactionIdentifier": "TXN789456"
}, - "status": "OK",
- "message": "Reservation created successfully",
- "executionTime": 120
}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
| 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. |
{- "propertyId": 1000003,
- "distributorId": "58078",
- "distributorCode": "14253cds3bc244e",
- "reservationId": "14253cds3bc244e",
- "language": "en"
}{- "result": {
- "status": "SUCCESS",
- "reservationId": "RES123456",
- "bookerReservationId": "BR123456",
- "transactionIdentifier": "TXN789456"
}, - "status": "OK",
- "message": "Reservation confirmed successfully",
- "executionTime": 110
}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
| 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. |
| 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 |
{- "propertyId": 1000003,
- "distributorId": "58078",
- "distributorCode": "14253cds3bc244e",
- "reservationId": "14253cds3bc244e",
- "ccData": {
- "cardNumber": "4111111111111111",
- "cardType": "Visa",
- "cardHolderName": "John Doe",
- "expirationDate": "12/26",
- "cvv": "123"
}
}{- "result": {
- "status": "SUCCESS",
- "reservationId": "RES123456",
- "bookerReservationId": "BR123456",
- "transactionIdentifier": "TXN789456"
}, - "status": "OK",
- "message": "Reservation confirmed successfully",
- "executionTime": 110
}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
| 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. |
{- "result": {
- "reservations": [
- {
- "name": "John Doe",
- "status": "Confirmed",
- "currency": "INR",
- "booker": {
- "id": 10234,
- "name": "John",
- "surname": "Doe",
- "phone": "+91-9876543210",
- "mail": "john.doe@example.com",
- "address": {
- "street": "MG Road",
- "country": "India",
- "city": "Bengaluru",
- "address_line": [
- [
- "Apartment 402",
- "Prestige Residency"
]
], - "street_number": "12B",
- "country_code": "IN",
- "postal_code": "560001",
- "company_name": "ABC Pvt Ltd"
}, - "billing_address": {
- "street": "MG Road",
- "country": "India",
- "city": "Bengaluru",
- "address_line": [
- [
- "Apartment 402",
- "Prestige Residency"
]
], - "street_number": "12B",
- "country_code": "IN",
- "postal_code": "560001",
- "company_name": "ABC Pvt Ltd"
}
}, - "refundable": true,
- "remarks": {
- "room": [
- [
- "Non-smoking room preferred",
- "High floor requested",
- "Late check-in after 10 PM"
]
]
}, - "booking_id": 56789,
- "hotel_code": 345,
- "booking_date": "2026-05-01T10:30:00Z",
- "modification_date": "2026-05-02T14:15:00Z",
- "total_price": "4500.00",
- "travel_period": {
- "arrival": "2026-06-10",
- "departure": "2026-06-12"
}, - "guest_count": {
- "adults": 2,
- "children": [
- {
- "count": 1,
- "age": 5
}
]
}, - "cancellation_details": {
- "cancellation_date": "2026-06-08T10:15:00Z",
- "cancelled_by": "guest",
- "cancellation_reason": "Change of travel plans"
}, - "ota_details": {
- "id": 7890,
- "booking_id": "OTA-456789",
- "source_of_booking": "Booking.com",
- "booking_date_time": "2026-05-01T09:45:00Z",
- "transaction_number": "TXN123456789"
}, - "booked_rooms": [
- {
- "units": 1,
- "services": {
- "type": "meal",
- "meal_plan_code": "BB",
- "price_mode": "per_night"
}, - "days": [
- {
- "day": "2026-06-10",
- "price": "2000.00"
}
], - "room_id": 101,
- "room_name": "Deluxe Room",
- "product_id": 202,
- "product_name": "Breakfast Included",
- "guest_references": [
- {
- "id": 1
}
]
}
], - "services": [
- {
- "name": "Breakfast",
- "type": "meal",
- "units": 2,
- "persons": 2,
- "meal_plan_code": 1,
- "price_mode": "per_person",
- "price_per_unit": "500.00",
- "total_price": "2000.00"
}
], - "guest_details": [
- {
- "id": 1,
- "guests": [
- {
- "name": "John",
- "surname": "Doe",
- "phone": "+91-9876543210",
- "mail": "john.doe@example.com",
- "address": {
- "street": "MG Road",
- "country": "India",
- "city": "Bengaluru",
- "address_line": [
- null
], - "street_number": "12B",
- "country_code": "IN",
- "postal_code": "560001",
- "company_name": "ABC Pvt Ltd"
}
}
], - "guest_count": {
- "adults": 2,
- "children": [
- {
- "count": 1,
- "age": 5
}
]
}
}
], - "cancel_penalties": [
- {
- "id": 1,
- "deadline": {
- "time_unit": "hours",
- "unit_multiplier": 48,
- "drop_time": "2026-06-08T12:00:00Z"
}, - "fee": {
- "amount": 1000,
- "percentage": 50,
- "basis_type": "total_price"
}
}
]
}
], - "success": true,
- "processing_times": {
- "csuuid": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
- "start_time": "2026-05-01T10:00:00Z",
- "end_time": "2026-05-01T10:00:01Z"
}
}, - "status": "success",
- "message": "Reservation retrieved successfully.",
- "executionTime": 120
}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. |
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
| 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. |
{- "propertyId": 1000003,
- "checkInDate": "2024-08-18",
- "checkOutDate": "2024-08-19",
- "distributorId": "58078",
- "distributorCode": "14253cds3bc244e",
- "language": "en",
- "promoCode": "promo123",
- "totalGuestCounts": {
- "adults": 2,
- "children": [
- {
- "count": 1,
- "age": "7"
}
]
}
}{- "result": {
- "basicPropertyInfo": {
- "cultSwitchPropertyId": "CS-1000003",
- "propertyName": "Grand Plaza Hotel",
- "addresses": {
- "streetNumber": "123 Avenue des Champs-Élysées",
- "cityName": "Paris",
- "postalCode": "75008",
- "countryCode": "FR",
- "countryName": "France"
}, - "supportedCardTypes": [
- "string"
]
}, - "products": [
- {
- "id": "RP-50123",
- "roomTypeNumberOfUnits": 5,
- "mealsIncluded": [
- {
- "id": 1,
- "code": "MPT",
- "name": "OPL",
- "codeSource": "OTA",
- "translationKey": "meal.breakfast"
}
], - "guarantee": 1,
- "productDescription": {
- "name": "Deluxe Double Room",
- "language": "en",
- "description": "A spacious deluxe room featuring a double bed, city view, free Wi-Fi, air conditioning, and complimentary breakfast."
}, - "extras": [
- {
- "amount": 25,
- "percent": 10,
- "extraCode": "AIRPORT_TRANSFER",
- "name": "Airport Transfer"
}
], - "cancelPolicies": [
- {
- "policyCode": "CXL_24H",
- "amount": 50,
- "percent": 100,
- "numberOfNights": 1,
- "basisType": "PER_NIGHT",
- "offsetDropTime": "18:00:00",
- "offsetTimeUnit": "HOURS",
- "offsetUnitMultiplier": 24,
- "description": {
- "name": "Deluxe Double Room",
- "language": "en",
- "description": "A spacious deluxe room featuring a double bed, city view, free Wi-Fi, air conditioning, and complimentary breakfast."
}
}
], - "noShowPolicies": [
- {
- "policyCode": "CXL_24H",
- "amount": 50,
- "percent": 100,
- "numberOfNights": 1,
- "basisType": "PER_NIGHT",
- "offsetDropTime": "18:00:00",
- "offsetTimeUnit": "HOURS",
- "offsetUnitMultiplier": 24,
- "description": {
- "name": "Deluxe Double Room",
- "language": "en",
- "description": "A spacious deluxe room featuring a double bed, city view, free Wi-Fi, air conditioning, and complimentary breakfast."
}
}
], - "productPriceVariation": {
- "maxGuestApplicable": 4,
- "minGuestApplicable": 1,
- "stdGuestApplicable": 2,
- "priceVariation": [
- {
- "minAge": 0,
- "maxAge": 12,
- "amountOrPercent": 50,
- "isPercent": false
}
]
}, - "bookingGuaranteeCode": 101,
- "paymentPolicies": [
- {
- "amount": 100,
- "percent": 50,
- "numberOfNights": 1,
- "basisType": "PER_STAY",
- "offsetDropTime": "18:00:00",
- "offsetTimeUnit": "HOURS",
- "offsetUnitMultiplier": 24,
- "guaranteeCode": 101
}
], - "isExtra": false,
- "roomType": {
- "roomTypeCode": "DLX_DB",
- "name": "Deluxe Double Room",
- "description": "A spacious room with a double bed, city view, air conditioning, and free Wi-Fi.",
- "language": "en",
- "roomTypeName": "Deluxe Room",
- "medias": [
- {
- "id": 101,
- "sellableUnitId": 50123,
- "sortOrder": 3,
}
]
}, - "roomRates": [
- {
- "occupancy": 2,
- "baseAmount": 120,
- "currency": "EUR",
- "totalAmount": 110,
- "discountAmount": 10,
- "children": [
- {
- "count": 1,
- "age": "7"
}
]
}
], - "medias": [
- {
- "id": 101,
- "sellableUnitId": 50123,
- "sortOrder": 3,
}
]
}
]
}, - "status": "success",
- "message": "Products retrieved successfully.",
- "executionTime": 125
}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. |
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
| 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. |
{- "propertyId": 1000003,
- "distributorId": "58078",
- "distributorCode": "14253cds3bc244e",
- "reservationId": "14253cds3bc244e",
- "bookerReservationId": "BOOKER987654321",
- "language": "en",
- "cancellationReasonLanguage": "en",
- "cancellationReason": "Guest no longer wishes to proceed with the booking."
}{- "result": {
- "status": "success",
- "reservationId": "RES123456789",
- "bookerReservationId": "BOOKER987654321",
- "transactionIdentifier": "TXN456789123"
}, - "status": "success",
- "message": "Reservation cancelled successfully.",
- "executionTime": 110
}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
| 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. |
{- "result": [
- {
- "id": 1,
- "name": "Free Cancellation within 24 hours"
}
], - "status": "success",
- "message": "Cancellation policy retrieved successfully.",
- "executionTime": 95
}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). |
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}
| fileName required | string Name of the JSON file to download (e.g., room_data_20240601.json). |
[- "string"
]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}
| fileName required | string Name of the property calendar JSON file to download (e.g., property_calendar_20240601.json). |
[- "string"
]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}
| fileName required | string Example: calendar_101_2026-06.json Name of the JSON file containing product calendar data. |
"{ \"date\": \"2026-06-01\", \"availability\": 10 }"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
| 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. |
[- {
- "productId": 144308,
- "roomId": 101219,
- "date": "2021-09-16",
- "availability": 30,
- "minLos": 1,
- "maxLos": 7,
- "closedForSale": false,
- "closedToArrival": true,
- "closedToDeparture": true,
- "currency": "EUR",
- "symbol": "$",
- "prices": {
- "property1": {
- "1": 100,
- "2": 150,
- "3": 180
}, - "property2": {
- "1": 100,
- "2": 150,
- "3": 180
}
}
}
]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:
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
| 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. |
[- {
- "productId": 144308,
- "roomId": 101219,
- "date": "2021-09-16",
- "availability": 30,
- "minLos": 1,
- "maxLos": 7,
- "closedForSale": false,
- "closedToArrival": true,
- "closedToDeparture": true,
- "currency": "EUR",
- "symbol": "$",
- "prices": {
- "property1": {
- "1": 100,
- "2": 150,
- "3": 180
}, - "property2": {
- "1": 100,
- "2": 150,
- "3": 180
}
}
}
]| 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. |
{- "prices": {
- "property1": 0.1,
- "property2": 0.1
}, - "closeDepartureParams": {
- "property1": {
- "property1": { },
- "property2": { }
}, - "property2": {
- "property1": { },
- "property2": { }
}
}, - "closeArrivalParams": {
- "property1": {
- "property1": { },
- "property2": { }
}, - "property2": {
- "property1": { },
- "property2": { }
}
}, - "closeSaleParams": {
- "property1": {
- "property1": { },
- "property2": { }
}, - "property2": {
- "property1": { },
- "property2": { }
}
}, - "currency": [
- "string"
], - "symbol": [
- "string"
], - "min_stays": {
- "property1": { },
- "property2": { }
}, - "min_stays_only": {
- "property1": { },
- "property2": { }
}, - "MinLos": {
- "property1": 0,
- "property2": 0
}, - "Cheapest": {
- "property1": {
- "productId": 144308,
- "roomId": 101219,
- "date": "2021-09-16",
- "availability": 30,
- "minLos": 1,
- "maxLos": 7,
- "closedForSale": false,
- "closedToArrival": true,
- "closedToDeparture": true,
- "currency": "EUR",
- "symbol": "$",
- "prices": {
- "property1": {
- "1": 100,
- "2": 150,
- "3": 180
}, - "property2": {
- "1": 100,
- "2": 150,
- "3": 180
}
}
}, - "property2": {
- "productId": 144308,
- "roomId": 101219,
- "date": "2021-09-16",
- "availability": 30,
- "minLos": 1,
- "maxLos": 7,
- "closedForSale": false,
- "closedToArrival": true,
- "closedToDeparture": true,
- "currency": "EUR",
- "symbol": "$",
- "prices": {
- "property1": {
- "1": 100,
- "2": 150,
- "3": 180
}, - "property2": {
- "1": 100,
- "2": 150,
- "3": 180
}
}
}
}
}| 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. |
[- {
- "productId": 144308,
- "roomId": 101219,
- "roomType": "Executive Room",
- "roomName": "Executive Room Name",
- "productName": "Double Room with breakfast",
- "occupancy": 2,
- "meal": "English Breakfast",
- "mealName": "English Breakfast Name",
- "paymentPolicy": "Payment Policy",
- "cancellationPolicy": "Cancellation Policy",
- "date": "2021-09-16",
- "availability": 30,
- "minLos": 1,
- "maxLos": 7,
- "closedForSale": false,
- "closedToArrival": true,
- "closedToDeparture": true,
- "currency": "EUR",
- "symbol": "$",
- "prices": {
- "property1": 0,
- "property2": 0
}
}
]{- "result": [
- {
- "id": 0,
- "roomFacilityId": 0,
- "roomFacilityName": "string",
- "otaRoomAmenityType": 0,
- "bookingExtendedLegacyCode": 0,
- "lastUpdate": "2019-08-24T14:15:22Z"
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}| id required | integer <int32> >= 1 Room Facility Meta ID. Required. |
{- "result": {
- "id": 0,
- "roomFacilityId": 0,
- "roomFacilityName": "string",
- "otaRoomAmenityType": 0,
- "bookingExtendedLegacyCode": 0,
- "lastUpdate": "2019-08-24T14:15:22Z"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| id required | integer <int32> >= 1 Room Facility Meta Facility ID. Required. |
{- "result": {
- "id": 0,
- "roomFacilityId": 0,
- "roomFacilityName": "string",
- "otaRoomAmenityType": 0,
- "bookingExtendedLegacyCode": 0,
- "lastUpdate": "2019-08-24T14:15:22Z"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}API endpoints to get products related data for Type B properties.
| propertyId required | string PropertyId. |
| checkInDate required | string arrivalDate |
| checkOutDate required | string departureDate |
Array of objects (NuiteeRatesRoomsRequest) | |
| currency | string |
| nationality | string |
| language | string |
| refundableRatesOnly | boolean |
{- "propertyId": "1000000",
- "checkInDate": "2024-08-18",
- "checkOutDate": "2024-08-19",
- "rooms": [
- {
- "adults": 0,
- "children": 0,
- "childAges": [
- 0
]
}
], - "currency": "string",
- "nationality": "string",
- "language": "string",
- "refundableRatesOnly": true
}{- "result": {
- "apiStatus": "string",
- "httpStatus": "string",
- "message": "string",
- "data": [
- {
- "hotelId": "string",
- "roomTypes": [
- {
- "roomTypeId": "string",
- "offerId": "string",
- "supplier": "string",
- "supplierId": 0,
- "rates": [
- {
- "rateId": "string",
- "occupancyNumber": 0,
- "name": "string",
- "maxOccupancy": 0,
- "adultCount": 0,
- "childCount": 0,
- "boardType": "string",
- "boardName": "string",
- "remarks": "string",
- "priceType": "string",
- "commission": [
- {
- "amount": null,
- "currency": null
}
], - "retailRate": {
- "total": [
- null
], - "suggestedSellingPrice": [
- null
], - "initialPrice": [
- null
], - "taxesAndFees": [
- null
]
}, - "cancellationPolicies": {
- "cancelPolicyInfos": [
- null
], - "hotelRemarks": [
- null
], - "refundableTag": "string"
}, - "mappedRoomId": 0,
- "paymentTypes": [
- "string"
], - "providerCommission": {
- "amount": 0,
- "currency": "string"
}, - "images": [
- "string"
], - "staticData": {
- "bedTypes": [
- null
], - "roomAmenities": [
- null
], - "views": [
- null
], - "bedRelation": "string"
}
}
], - "offerRetailRate": {
- "amount": 0,
- "currency": "string"
}, - "suggestedSellingPrice": {
- "amount": 0,
- "currency": "string",
- "source": "string"
}, - "offerInitialPrice": {
- "amount": 0,
- "currency": "string"
}, - "priceType": "string",
- "rateType": "string",
- "paymentTypes": [
- "string"
]
}
], - "et": 0
}
]
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyIds | Array of integers <int32> [ items <int32 > ] |
| checkIn required | string arrivalDate |
| checkOut required | string departureDate |
{- "propertyIds": [
- 0
], - "checkIn": "2024-08-18",
- "checkOut": "2024-08-19"
}{- "result": [
- {
- "propertyId": 0,
- "availability": {
- "checkIn": "string",
- "checkOut": "string",
- "hotelId": "string",
- "price": 0,
- "currency": "string",
- "lastUpdated": "string"
}
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}| 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 |
{- "result": {
- "response": [
- {
- "id": 0,
- "propertyId": 0,
- "availabilityId": 0,
- "baseName": "string",
- "supplierUnitId": 0,
- "roomTypeCode": "string",
- "marketCode": "string",
- "ratePlanType": "string",
- "numberOfRoomsAvailable": "string",
- "maxPersons": "string",
- "sellableUnit": {
- "id": 0,
- "propertyId": 0,
- "partnerDistributorId": 0,
- "supplierUnitId": "string",
- "roomType": "string",
- "noOfSellableUnits": 0,
- "sellableUnitTypeId": 0,
- "names": [
- {
- "text": "string",
- "languageId": 0
}
], - "ehotelCode": "string"
}, - "descriptions": [
- {
- "text": "string",
- "languageId": 0
}
], - "ratePlanCalendar": {
- "priceBeforeTax": 0,
- "priceAfterTax": 0,
- "countAvailable": 0,
- "startDate": "string",
- "endDate": "string"
}, - "cancelPolicies": {
- "nonRefundable": true,
- "penaltyDescriptions": [
- {
- "text": "string",
- "formatted": true
}
]
}, - "paymentPolicies": {
- "guaranteePayment": {
- "guaranteeType": "string",
- "guaranteeCode": "string",
- "psd2": {
- "required": true
}
}
}, - "meal": {
- "breakfast": true,
- "halfBoard": true,
- "mealPlanCodes": "string"
}, - "base": {
- "amountAfterTax": 0,
- "amountBeforeTax": 0,
- "currencyCode": "string",
- "taxes": {
- "tax": [
- {
- "type": "string"
}
]
}
}, - "total": {
- "amountBeforeTax": "string",
- "amountAfterTax": "string",
- "currencyCode": "string"
}, - "basicInfo": {
- "hotelName": "string",
- "hotelCode": "string",
- "status": "string",
- "forTesting": true,
- "latitude": "string",
- "longitude": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "countryCode": "string",
- "master": true
}, - "guarantee": {
- "guaranteesAccepted": [
- {
- "paymentCards": [
- {
- "cardCode": "string",
- "cardType": "string",
- "cardToken": "string"
}
], - "directBill": {
- "directBillId": "string"
}, - "paymentTransactionTypeCode": "string"
}
]
}, - "occupancy": {
- "guestCounts": [
- {
- "ageQualifyingCode": 0,
- "count": 0
}
]
}, - "mainImage": "string",
- "roomImages": [
- "string"
], - "additionalDetails": {
- "property1": "string",
- "property2": "string"
}
}
], - "apiStatus": "string",
- "httpStatus": "string",
- "message": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| 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 |
{- "result": {
- "response": [
- {
- "id": 0,
- "propertyId": 0,
- "roomType": "string",
- "roomTypeAvailabilities": [
- {
- "id": 0,
- "propertyId": 0,
- "availabilityId": 0,
- "baseName": "string",
- "supplierUnitId": "string",
- "roomTypeCode": "string",
- "marketCode": "string",
- "ratePlanType": "string",
- "numberOfRoomsAvailable": "string",
- "maxPersons": "string",
- "sellableUnit": {
- "id": 0,
- "propertyId": 0,
- "partnerDistributorId": 0,
- "supplierUnitId": "string",
- "roomType": "string",
- "noOfSellableUnits": 0,
- "sellableUnitTypeId": 0,
- "names": [
- {
- "text": "string",
- "languageId": 0
}
], - "ehotelCode": "string"
}, - "descriptions": [
- {
- "text": "string",
- "languageId": 0
}
], - "ratePlanCalendar": {
- "priceBeforeTax": 0,
- "priceAfterTax": 0,
- "countAvailable": 0,
- "startDate": "string",
- "endDate": "string"
}, - "cancelPolicies": {
- "nonRefundable": true,
- "penaltyDescriptions": [
- {
- "text": "string",
- "formatted": true
}
]
}, - "paymentPolicies": {
- "guaranteePayment": {
- "guaranteeType": "string",
- "guaranteeCode": "string",
- "psd2": {
- "required": true
}
}
}, - "meal": {
- "breakfast": true,
- "halfBoard": true,
- "mealPlanCodes": "string"
}, - "base": {
- "amountAfterTax": 0,
- "amountBeforeTax": 0,
- "currencyCode": "string",
- "taxes": {
- "tax": [
- {
- "type": null
}
]
}
}, - "total": {
- "amountBeforeTax": "string",
- "amountAfterTax": "string",
- "currencyCode": "string"
}, - "basicInfo": {
- "hotelName": "string",
- "hotelCode": "string",
- "status": "string",
- "forTesting": true,
- "latitude": "string",
- "longitude": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "countryCode": "string",
- "master": true
}, - "guarantee": {
- "guaranteesAccepted": [
- {
- "paymentCards": [
- null
], - "directBill": {
- "directBillId": null
}, - "paymentTransactionTypeCode": "string"
}
]
}, - "occupancy": {
- "guestCounts": [
- {
- "ageQualifyingCode": 0,
- "count": 0
}
]
}, - "additionalDetails": {
- "property1": "string",
- "property2": "string"
}
}
], - "mainImage": "string",
- "roomImages": [
- "string"
]
}
], - "apiStatus": "string",
- "httpStatus": "string",
- "message": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| 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 |
{- "result": {
- "response": [
- {
- "id": 0,
- "propertyId": 0,
- "roomType": "string",
- "roomTypeAvailabilities": [
- {
- "id": 0,
- "propertyId": 0,
- "availabilityId": 0,
- "baseName": "string",
- "supplierUnitId": "string",
- "roomTypeCode": "string",
- "marketCode": "string",
- "ratePlanType": "string",
- "numberOfRoomsAvailable": "string",
- "maxPersons": "string",
- "sellableUnit": {
- "id": 0,
- "propertyId": 0,
- "partnerDistributorId": 0,
- "supplierUnitId": "string",
- "roomType": "string",
- "noOfSellableUnits": 0,
- "sellableUnitTypeId": 0,
- "names": [
- {
- "text": "string",
- "languageId": 0
}
], - "ehotelCode": "string"
}, - "descriptions": [
- {
- "text": "string",
- "languageId": 0
}
], - "ratePlanCalendar": {
- "priceBeforeTax": 0,
- "priceAfterTax": 0,
- "countAvailable": 0,
- "startDate": "string",
- "endDate": "string"
}, - "cancelPolicies": {
- "nonRefundable": true,
- "penaltyDescriptions": [
- {
- "text": "string",
- "formatted": true
}
]
}, - "paymentPolicies": {
- "guaranteePayment": {
- "guaranteeType": "string",
- "guaranteeCode": "string",
- "psd2": {
- "required": true
}
}
}, - "meal": {
- "breakfast": true,
- "halfBoard": true,
- "mealPlanCodes": "string"
}, - "base": {
- "amountAfterTax": 0,
- "amountBeforeTax": 0,
- "currencyCode": "string",
- "taxes": {
- "tax": [
- {
- "type": null
}
]
}
}, - "total": {
- "amountBeforeTax": "string",
- "amountAfterTax": "string",
- "currencyCode": "string"
}, - "basicInfo": {
- "hotelName": "string",
- "hotelCode": "string",
- "status": "string",
- "forTesting": true,
- "latitude": "string",
- "longitude": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "countryCode": "string",
- "master": true
}, - "guarantee": {
- "guaranteesAccepted": [
- {
- "paymentCards": [
- null
], - "directBill": {
- "directBillId": null
}, - "paymentTransactionTypeCode": "string"
}
]
}, - "occupancy": {
- "guestCounts": [
- {
- "ageQualifyingCode": 0,
- "count": 0
}
]
}, - "additionalDetails": {
- "property1": "string",
- "property2": "string"
}
}
], - "mainImage": "string",
- "roomImages": [
- "string"
]
}
], - "apiStatus": "string",
- "httpStatus": "string",
- "message": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyIds | Array of integers <int32> [ items <int32 > ] |
| checkIn required | string arrivalDate |
| checkOut required | string departureDate |
{- "propertyIds": [
- 0
], - "checkIn": "2024-08-18",
- "checkOut": "2024-08-19"
}{- "result": [
- {
- "propertyId": 0,
- "availability": {
- "checkIn": "string",
- "checkOut": "string",
- "hotelId": "string",
- "price": 0,
- "currency": "string",
- "lastUpdated": "string"
}
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}API endpoints for Reservations for Type B properties.
| offerId required | string |
| usePaymentSdk | boolean |
{- "offerId": "string",
- "usePaymentSdk": true
}{- "result": {
- "apiStatus": "string",
- "httpStatus": "string",
- "message": "string",
- "data": {
- "prebookId": "string",
- "offerId": "string",
- "hotelId": "string",
- "currency": "string",
- "termsAndConditions": "string",
- "roomTypes": [
- {
- "rates": [
- {
- "rateId": "string",
- "occupancyNumber": 0,
- "name": "string",
- "maxOccupancy": 0,
- "adultCount": 0,
- "childCount": 0,
- "boardType": "string",
- "boardName": "string",
- "remarks": "string",
- "priceType": "string",
- "commission": [
- {
- "amount": 0,
- "currency": "string"
}
], - "retailRate": {
- "total": [
- {
- "amount": null,
- "currency": null
}
], - "suggestedSellingPrice": [
- {
- "amount": null,
- "currency": null,
- "source": null
}
], - "initialPrice": [
- {
- "amount": null,
- "currency": null
}
], - "taxesAndFees": [
- {
- "included": null,
- "description": null,
- "amount": null,
- "currency": null
}
]
}, - "cancellationPolicies": {
- "cancelPolicyInfos": [
- {
- "cancelTime": null,
- "amount": null,
- "currency": null,
- "type": null,
- "timezone": null
}
], - "hotelRemarks": [
- "string"
], - "refundableTag": "string"
}, - "mappedRoomId": 0,
- "paymentTypes": [
- "string"
], - "providerCommission": {
- "amount": 0,
- "currency": "string"
}
}
]
}
], - "suggestedSellingPrice": 0,
- "isPackageRate": true,
- "commission": 0,
- "price": 0,
- "priceType": "string",
- "priceDifferencePercent": 0,
- "cancellationChanged": true,
- "boardChanged": true,
- "supplier": "string",
- "supplierId": 0,
- "transactionId": "string",
- "secretKey": "string",
- "paymentTypes": [
- "string"
]
}
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| prebookId required | string |
object (NuiteeConfirmBookingHolderRequest) | |
Array of objects (NuiteeConfirmBookingGuestsRequest) | |
object (NuiteeConfirmBookingPaymentRequest) |
{- "prebookId": "string",
- "holder": {
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string"
}, - "guests": [
- {
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "remarks": "string",
- "occupancyNumber": 0
}
], - "payment": {
- "method": "string",
- "transactionId": "string"
}
}{- "result": {
- "apiStatus": "string",
- "httpStatus": "string",
- "message": "string",
- "data": {
- "bookingId": "string",
- "clientReference": "string",
- "supplierBookingId": "string",
- "supplierBookingName": "string",
- "supplier": "string",
- "supplierId": 0,
- "status": "string",
- "hotelConfirmationCode": "string",
- "checkin": "string",
- "checkout": "string",
- "hotel": {
- "hotelId": "string",
- "name": "string"
}, - "bookedRooms": [
- {
- "roomType": {
- "roomTypeId": "string",
- "name": "string"
}, - "boardType": "string",
- "boardName": "string",
- "adults": 0,
- "children": 0,
- "firstName": "string",
- "lastName": "string",
- "mappedRoomId": 0,
- "childrenAges": [
- { }
], - "board": "string",
- "boardCode": "string",
- "cancellationPolicies": {
- "cancelPolicyInfos": [
- {
- "cancelTime": "string",
- "amount": 0,
- "type": "string",
- "timezone": "string",
- "currency": "string"
}
], - "hotelRemarks": [
- "string"
], - "refundableTag": "string"
}, - "room_id": "string",
- "occupancy_number": 0,
- "amount": 0,
- "currency": "string",
- "children_count": 0,
- "remarks": "string",
- "guests": [
- { }
]
}
], - "holder": {
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "cancellationPolicies": {
- "cancelPolicyInfos": [
- {
- "cancelTime": "string",
- "amount": 0,
- "type": "string",
- "timezone": "string",
- "currency": "string"
}
], - "hotelRemarks": [
- "string"
], - "refundableTag": "string"
}, - "specialRemarks": "string",
- "optionalFees": "string",
- "mandatoryFees": "string",
- "knowBeforeYouGo": "string",
- "price": 0,
- "commission": 0,
- "addonsTotalAmount": 0,
- "currency": "string",
- "remarks": "string",
- "voucherCode": "string",
- "voucherTotalAmount": 0,
- "addons": [
- { }
], - "guestId": 0,
- "distributorCommission": 0,
- "distributorPrice": 0,
- "trackingId": "string",
- "firstName": "string",
- "lastName": "string",
- "adults": 0,
- "children": "string",
- "childrenCount": 0,
- "prebookId": "string",
- "paymentStatus": "string",
- "paymentTransactionId": "string",
- "sellingPrice": "string",
- "exchangeRate": 0,
- "exchangeRateUsd": 0,
- "email": "string",
- "tag": "string",
- "lastFreeCancellationDate": "string",
- "apiCommission": 0,
- "userId": 0,
- "nationality": "string",
- "holderTitle": "string",
- "hotelId": "string",
- "hotelName": "string",
- "cancelledAt": "string",
- "refundedAt": "string",
- "loyaltyGuestId": 0,
- "sandbox": 0,
- "clientCommission": 0,
- "voucherId": "string",
- "voucherTransactionId": "string",
- "processingFee": 0,
- "amountRefunded": 0,
- "refundType": "string",
- "paymentScheduledAt": "string",
- "addonsRedemptions": [
- { }
], - "rebookFrom": "string",
- "agentId": "string",
- "cancelledBy": "string"
}
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| sellableUnitId required | integer <int32> |
| supplierUnitId required | string |
| roomTypeCode required | string |
| availabilityId required | integer <int32> |
| 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 |
{- "checkInDate": "2024-08-18",
- "checkOutDate": "2024-08-19",
- "bookerDetails": {
- "namePrefix": "Mr/Mrs",
- "firstName": "abc",
- "lastName": "def",
- "countryAccessCode": "def",
- "phoneNumber": "917777788899",
- "phoneTechType": 1,
- "email": "abc@email.com"
}, - "guestDetails": [
- {
- "namePrefix": "Mr/Mrs",
- "firstName": "abc",
- "lastName": "def",
- "countryAccessCode": "def",
- "phoneNumber": "917777788899",
- "phoneTechType": 1,
- "email": "abc@email.com"
}
], - "companyDetails": {
- "addressLine": "1235/A",
- "streetNumber": "854",
- "cityName": "Berlin",
- "postalCode": "5894",
- "countryName": "Germany",
- "countryCode": "24",
- "companyName": "def"
}, - "cardToken": "2357894646598718498",
- "isProduction": true,
- "specialRequests": [
- "string"
]
}{- "result": {
- "statusCode": "string",
- "reservationStatus": "string",
- "sellableUnitId": "string",
- "supplierUnitId": "string",
- "reservationId": "string",
- "reservationPin": "string",
- "reservationResponse": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| supplierUnitId required | string |
| roomTypeCode required | string |
| availabilityId required | integer <int32> |
| noOfRooms required | integer <int32> |
| noOfPersonsPerRoom required | integer <int32> |
| 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 |
{- "checkInDate": "2024-08-18",
- "checkOutDate": "2024-08-19",
- "bookerDetails": {
- "namePrefix": "Mr/Mrs",
- "firstName": "abc",
- "lastName": "def",
- "countryAccessCode": "def",
- "phoneNumber": "917777788899",
- "phoneTechType": 1,
- "email": "abc@email.com"
}, - "guestDetails": [
- {
- "namePrefix": "Mr/Mrs",
- "firstName": "abc",
- "lastName": "def",
- "countryAccessCode": "def",
- "phoneNumber": "917777788899",
- "phoneTechType": 1,
- "email": "abc@email.com"
}
], - "companyDetails": {
- "addressLine": "1235/A",
- "streetNumber": "854",
- "cityName": "Berlin",
- "postalCode": "5894",
- "countryName": "Germany",
- "countryCode": "24",
- "companyName": "def"
}, - "cardToken": "2357894646598718498",
- "isProduction": true,
- "specialRequests": [
- "string"
]
}{- "result": {
- "statusCode": "string",
- "reservationStatus": "string",
- "sellableUnitId": "string",
- "supplierUnitId": "string",
- "reservationId": "string",
- "reservationPin": "string",
- "reservationResponse": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| bookingId required | string |
{- "result": {
- "apiStatus": "string",
- "httpStatus": "string",
- "message": "string",
- "data": {
- "bookingId": "string",
- "clientReference": "string",
- "supplierBookingId": "string",
- "supplierBookingName": "string",
- "supplier": "string",
- "supplierId": 0,
- "status": "string",
- "hotelConfirmationCode": "string",
- "checkin": "string",
- "checkout": "string",
- "hotel": {
- "hotelId": "string",
- "name": "string",
- "parentHotelId": "string"
}, - "bookedRooms": [
- {
- "roomType": {
- "roomTypeId": "string",
- "name": "string"
}, - "boardType": "string",
- "boardName": "string",
- "adults": 0,
- "children": 0,
- "rate": {
- "rateId": "string",
- "retailRate": {
- "total": {
- "amount": 0,
- "currency": "string"
}, - "suggestedSellingPrice": {
- "amount": 0,
- "currency": "string",
- "source": "string"
}
}, - "cancellationPolicies": {
- "cancelPolicyInfos": [
- {
- "cancelTime": "string",
- "amount": 0,
- "type": "string",
- "timezone": "string",
- "currency": "string"
}
], - "hotelRemarks": [
- "string"
], - "refundableTag": "string"
}, - "maxOccupancy": 0,
- "boardType": "string",
- "boardName": "string",
- "remarks": "string"
}, - "firstName": "string",
- "lastName": "string",
- "childrenAges": [
- 0
], - "board": "string",
- "boardCode": "string",
- "cancellationPolicies": {
- "cancelPolicyInfos": [
- {
- "cancelTime": "string",
- "amount": 0,
- "type": "string",
- "timezone": "string",
- "currency": "string"
}
], - "hotelRemarks": [
- "string"
], - "refundableTag": "string"
}, - "roomId": "string",
- "occupancyNumber": 0,
- "amount": 0,
- "currency": "string",
- "childrenCount": 0,
- "remarks": "string",
- "guests": [
- {
- "occupancyNumber": 0,
- "remarks": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string"
}
]
}
], - "holder": {
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "cancellationPolicies": {
- "cancelPolicyInfos": [
- {
- "cancelTime": "string",
- "amount": 0,
- "type": "string",
- "timezone": "string",
- "currency": "string"
}
], - "hotelRemarks": [
- "string"
], - "refundableTag": "string"
}, - "specialRemarks": "string",
- "optionalFees": "string",
- "mandatoryFees": "string",
- "knowBeforeYouGo": "string",
- "price": 0,
- "commission": 0,
- "addonsTotalAmount": 0,
- "currency": "string",
- "remarks": "string",
- "voucherCode": "string",
- "voucherTotalAmount": 0,
- "addons": [
- { }
], - "guestId": 0,
- "distributorCommission": 0,
- "distributorPrice": 0,
- "trackingId": "string",
- "firstName": "string",
- "lastName": "string",
- "adults": 0,
- "children": "string",
- "childrenCount": 0,
- "prebookId": "string",
- "paymentStatus": "string",
- "paymentTransactionId": "string",
- "sellingPrice": "string",
- "exchangeRate": 0,
- "exchangeRateUsd": 0,
- "email": "string",
- "tag": "string",
- "lastFreeCancellationDate": "string",
- "apiCommission": 0,
- "userId": 0,
- "nationality": "string",
- "holderTitle": "string",
- "hotelId": "string",
- "hotelName": "string",
- "cancelledAt": "string",
- "refundedAt": "string",
- "loyaltyGuestId": 0,
- "sandbox": 0,
- "clientCommission": 0,
- "voucherId": "string",
- "voucherTransactionId": "string",
- "processingFee": 0,
- "amountRefunded": 0,
- "refundType": "string",
- "paymentScheduledAt": "string",
- "addonsRedemptions": [
- { }
], - "rebookFrom": "string",
- "agentId": "string",
- "cancelledBy": { },
- "feed": "string",
- "goodwillPayment": {
- "amount": 0,
- "currency": "string",
- "description": "string"
}
}
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| reservationId required | string Reservation Id |
{- "result": {
- "statusCode": "string",
- "message": "string",
- "result": {
- "sellableUnitId": "string",
- "currency": "string",
- "status": "string",
- "booker": {
- "phone": "string",
- "email": "string",
- "address": {
- "countryCode": "string",
- "postalCode": "string",
- "city": "string",
- "strasse": "string"
}, - "booker_id": 0,
- "first_name": "string",
- "last_name": "string"
}, - "property_id": "string",
- "check_in": "string",
- "check_out": "string",
- "guest_name": "string",
- "supplierUnitId": "string",
- "object_id": "string",
- "channel_booking_id": "string",
- "channel_id": "string",
- "source_of_booking": "string",
- "total_price": "string",
- "travel_period": {
- "arrival": "string",
- "departure": "string"
}, - "adult_count": 0,
- "guest_details": [
- {
- "phone": "string",
- "email": "string",
- "address": {
- "countryCode": "string",
- "postalCode": "string",
- "city": "string",
- "strasse": "string"
}, - "first_name": "string",
- "last_name": "string",
- "booking_date": "string"
}
], - "booking_date": "string",
- "room_rates": [
- {
- "price": 0.1,
- "type": "string",
- "currencyCode": "string",
- "room_id": "string",
- "room_name": "string",
- "no_of_unit": 0,
- "product_id": "string",
- "product_name": "string",
- "start_date": "string",
- "end_date": "string",
- "guest_count": [
- {
- "unit": 0,
- "adultCount": 0,
- "childCount": 0
}
]
}
], - "cancellation_date": "string",
- "cancelled_by": "string",
- "cancellation_policy": "string",
- "non_refundable": "string",
- "ehotelReservationId": "string",
- "ehotelReservationPin": "string"
}
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}API endpoints for Cancellations for Type A properties.
API endpoints for Cancellations for Type B properties.
| bookingId required | string |
| reason | string |
{- "bookingId": "string",
- "reason": "string"
}{- "result": {
- "apiStatus": "string",
- "httpStatus": "string",
- "message": "string",
- "data": {
- "bookingId": "string",
- "cancellation_fee": 0,
- "currency": "string",
- "refund_amount": 0,
- "status": "string"
}
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| 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 |
{- "result": {
- "statusCode": "string",
- "cancellationStatus": "string",
- "timestamp": "string",
- "reservationId": "string",
- "confirmationId": "string",
- "cancellationId": "string",
- "message": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}All fields of the Property Type entity will be included in result.
{- "result": [
- {
- "id": "id :3",
- "code": "HTL",
- "name": "Hotel",
- "codeSource": "RoomDB",
- "alternativeName": "Accommodation"
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}| id required | integer <int32> >= 1 RoomDB internal property type Id. Required. |
{- "result": {
- "id": "id :3",
- "code": "HTL",
- "name": "Hotel",
- "codeSource": "RoomDB",
- "alternativeName": "Accommodation"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| code required | string [ 1 .. 4 ] characters Code (OTA, Booking, CultSwitch) for specific Property Type. Required. |
{- "result": {
- "id": "id :3",
- "code": "HTL",
- "name": "Hotel",
- "codeSource": "RoomDB",
- "alternativeName": "Accommodation"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}All fields of the Meal Type entity will be included in result.
{- "result": [
- {
- "id": 1,
- "code": "MPT",
- "name": "OPL",
- "codeSource": "OTA",
- "translationKey": "meal.breakfast"
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}| id required | integer <int32> >= 1 RoomDB internal meal type Id. Required. |
{- "result": {
- "id": 1,
- "code": "MPT",
- "name": "OPL",
- "codeSource": "OTA",
- "translationKey": "meal.breakfast"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| token required | string Token. Required. |
| sessionData | string |
| userIp | string |
| userHostName | string |
| userMacAddress | string |
| userOs | string |
| userPhysicalLocation | string |
{- "sessionData": "string",
- "userIp": "string",
- "userHostName": "string",
- "userMacAddress": "string",
- "userOs": "string",
- "userPhysicalLocation": "string"
}{- "result": {
- "id": 0,
- "token": "string",
- "sessionData": "string",
- "userIp": "string",
- "userHostName": "string",
- "userMacAddress": "string",
- "userOs": "string",
- "userPhysicalLocation": "string",
- "tokenCreated": "string",
- "tokenExpired": "string",
- "tokenValidity": true
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| id required | integer <int32> Id. Required. |
{- "result": {
- "id": 0,
- "emailData": "string",
- "ewsEmailId": "string",
- "sentAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| id required | integer <int64> Id. Required. |
| emailData | string |
| ewsEmailId | string |
| sentAt | string |
{- "emailData": "string",
- "ewsEmailId": "string",
- "sentAt": "string"
}{- "result": {
- "id": 0,
- "emailData": "string",
- "ewsEmailId": "string",
- "sentAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| sessionData | string |
| userIp | string |
| userHostName | string |
| userMacAddress | string |
| userOs | string |
| userPhysicalLocation | string |
{- "sessionData": "string",
- "userIp": "string",
- "userHostName": "string",
- "userMacAddress": "string",
- "userOs": "string",
- "userPhysicalLocation": "string"
}{- "result": {
- "id": 0,
- "token": "string",
- "sessionData": "string",
- "userIp": "string",
- "userHostName": "string",
- "userMacAddress": "string",
- "userOs": "string",
- "userPhysicalLocation": "string",
- "tokenCreated": "string",
- "tokenExpired": "string",
- "tokenValidity": true
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| reservationId | string |
| logMessage | string |
| hostName | string |
{- "reservationId": "string",
- "logMessage": "string",
- "hostName": "string"
}{- "result": {
- "id": 0,
- "reservationId": "string",
- "logMessage": "string",
- "hostName": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| queueEntryId | integer <int64> |
| type | integer <int32> |
{- "queueEntryId": 0,
- "type": 0
}{- "result": {
- "id": 0,
- "queueEntryId": 0,
- "type": 0,
- "createdAt": "string",
- "updatedAt": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| ewsEmailId | string ewsEmail id |
| reservationId | string reservation id |
| provider | string provider |
{- "ewsEmailId": "5f008c72c61bb04",
- "reservationId": "123456",
- "provider": "ews1"
}{- "result": {
- "id": 0,
- "ewsEmailId": "string",
- "reservationId": "string",
- "provider": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| 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 |
{- "offsetDropTime": "string",
- "offsetTimeUnit": "string",
- "offsetUnitMultiplier": "string",
- "basisType": "string",
- "nights": 0,
- "percentOrAmount": 0,
- "isPercent": true,
- "csCancelPolicyId": 0,
- "cultBookingBookingId": "string",
- "cultSwitchBookingId": "string",
- "oldCancellationPolicyId": "string"
}{- "result": {
- "id": 0,
- "offsetDropTime": "string",
- "offsetTimeUnit": "string",
- "offsetUnitMultiplier": "string",
- "basisType": "string",
- "nights": 0,
- "percentOrAmount": 0,
- "isPercent": true,
- "csCancelPolicyId": 0,
- "cultBookingBookingId": "string",
- "cultSwitchBookingId": "string",
- "oldCancellationPolicyId": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| token required | string Token. Required. |
{- "result": {
- "id": 0,
- "token": "string",
- "sessionData": "string",
- "userIp": "string",
- "userHostName": "string",
- "userMacAddress": "string",
- "userOs": "string",
- "userPhysicalLocation": "string",
- "tokenCreated": "string",
- "tokenExpired": "string",
- "tokenValidity": true
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": {
- "id": 0,
- "roomDbPropertyId": 0,
- "messages": [
- {
- "languageCode": "string",
- "message": "string",
- "url": "string",
- "translationKey": "string"
}
], - "translationKey": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| token required | string Session Token. Required. |
{- "result": {
- "id": 0,
- "token": "string",
- "sessionData": "string",
- "userIp": "string",
- "userHostName": "string",
- "userMacAddress": "string",
- "userOs": "string",
- "userPhysicalLocation": "string",
- "tokenCreated": "string",
- "tokenExpired": "string",
- "tokenValidity": true
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| cultSwitchBookingId required | string CultSwitchBookingId. Required. |
{- "result": [
- {
- "id": 0,
- "cultBookingBookingId": "string",
- "cultSwitchBookingId": "string",
- "cultSwitchPropertyId": "string",
- "bookingCode": "string",
- "agentSine": "string",
- "checkIn": "string",
- "checkOut": "string",
- "totalPrice": 0.1,
- "currencyForTotalPrice": "string",
- "mailStatus": "string",
- "emailChecked": true,
- "totalNumberOfPersons": 0,
- "totalNumberOfRooms": 0,
- "totalNumberOfExtras": 0,
- "isMigratedFromDb": true,
- "isCancellationFromDb": true,
- "status": "PENDING/CONFIRMED/CANCELLED",
- "pendingTime": "string",
- "confirmationTime": "string",
- "cancellationTime": "string",
- "paymentId": "string",
- "paymentProvider": "string",
- "paymentStatus": "string",
- "trvReference": "string",
- "products": {
- "property1": "string",
- "property2": "string"
}, - "additionalExtras": {
- "property1": "string",
- "property2": "string"
}, - "cancellationText": [
- "string"
], - "cancelPolicies": [
- {
- "productCode": 0,
- "cancelPolicyId": 0
}
], - "createdAt": "string",
- "updatedAt": "string"
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}| cultBookingBookingId required | string CultBookingBookingId Id. Required. |
{- "result": [
- {
- "id": 0,
- "cultBookingBookingId": "string",
- "cultSwitchBookingId": "string",
- "cultSwitchPropertyId": "string",
- "bookingCode": "string",
- "agentSine": "string",
- "checkIn": "string",
- "checkOut": "string",
- "totalPrice": 0.1,
- "currencyForTotalPrice": "string",
- "mailStatus": "string",
- "emailChecked": true,
- "totalNumberOfPersons": 0,
- "totalNumberOfRooms": 0,
- "totalNumberOfExtras": 0,
- "isMigratedFromDb": true,
- "isCancellationFromDb": true,
- "status": "PENDING/CONFIRMED/CANCELLED",
- "pendingTime": "string",
- "confirmationTime": "string",
- "cancellationTime": "string",
- "paymentId": "string",
- "paymentProvider": "string",
- "paymentStatus": "string",
- "trvReference": "string",
- "products": {
- "property1": "string",
- "property2": "string"
}, - "additionalExtras": {
- "property1": "string",
- "property2": "string"
}, - "cancellationText": [
- "string"
], - "cancelPolicies": [
- {
- "productCode": 0,
- "cancelPolicyId": 0
}
], - "createdAt": "string",
- "updatedAt": "string"
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}| 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 |
{- "result": {
- "content": [
- {
- "id": 0,
- "cultBookingBookingId": "string",
- "cultSwitchBookingId": "string",
- "cultSwitchPropertyId": "string",
- "bookingCode": "string",
- "agentSine": "string",
- "checkIn": "string",
- "checkOut": "string",
- "totalPrice": 0.1,
- "currencyForTotalPrice": "string",
- "mailStatus": "string",
- "emailChecked": true,
- "totalNumberOfPersons": 0,
- "totalNumberOfRooms": 0,
- "totalNumberOfExtras": 0,
- "isMigratedFromDb": true,
- "isCancellationFromDb": true,
- "status": "PENDING/CONFIRMED/CANCELLED",
- "pendingTime": "string",
- "confirmationTime": "string",
- "cancellationTime": "string",
- "paymentId": "string",
- "paymentProvider": "string",
- "paymentStatus": "string",
- "trvReference": "string",
- "products": {
- "property1": "string",
- "property2": "string"
}, - "additionalExtras": {
- "property1": "string",
- "property2": "string"
}, - "cancellationText": [
- "string"
], - "cancelPolicies": [
- {
- "productCode": 0,
- "cancelPolicyId": 0
}
], - "createdAt": "string",
- "updatedAt": "string"
}
], - "number": 0,
- "size": 0,
- "totalElements": 0,
- "pageable": "pageable: pageNumber: 1, pageSize: 10",
- "last": true,
- "totalPages": 0,
- "sort": "sort: sorted: true, unsorted: false, empty: false",
- "first": true,
- "numberOfElements": 0,
- "empty": true
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": {
- "id": 0,
- "roomDbPropertyId": 0,
- "translationKey": "string",
- "messages": [
- {
- "languageCode": "string",
- "message": "string",
- "translationKey": "string"
}
]
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": {
- "id": 0,
- "enabled": true,
- "propertyName": "string",
- "noOfGuest": 0,
- "messages": [
- {
- "heading": "string",
- "additionalText": "string",
- "languageCode": "string"
}
], - "translationKey": "string",
- "channels": {
- "property1": "string",
- "property2": "string"
}
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": [
- {
- "id": 0,
- "roomDbPropertyId": 0,
- "paymentProvider": "string",
- "apiKey": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
| paymentProvider required | string Enum: "MOLLIE" "STRIPE" |
{- "result": {
- "id": 0,
- "roomDbPropertyId": 0,
- "paymentProvider": "string",
- "apiKey": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": [
- {
- "roomDbPropertyId": 0,
- "numberFormatType": "calendar , productList",
- "numberFormat": "123.456,7",
- "numberMultiplier": "10",
- "displayDimension": true,
- "numberFormatId": "10",
- "maximumFractionDigits": 3
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}| cultBookingBookingId required | string CultBookingBookingId. Required. |
{- "result": [
- {
- "id": 0,
- "cultBookingBookingId": "string",
- "cultSwitchBookingId": "string",
- "bookerFirstName": "string",
- "bookerLastName": "string",
- "guestFirstName": "string",
- "guestLastName": "string",
- "emailAddress": "string",
- "street": "string",
- "houseNumber": "string",
- "postCode": "string",
- "city": "string",
- "country": "string",
- "phone": "string",
- "comment": "string",
- "countryCode": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": {
- "id": 0,
- "roomDbPropertyId": 0,
- "translationKey": "string",
- "messages": [
- {
- "languageCode": "string",
- "introduction": "string",
- "body": "string",
- "signature": "string",
- "translationKey": "string"
}
]
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": {
- "id": 0,
- "roomDbPropertyId": 0,
- "translationKey": "string",
- "messages": [
- {
- "languageCode": "string",
- "message": "string",
- "translationKey": "string"
}
]
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| reservationId required | string Reservation Id. Required. |
{- "result": [
- {
- "id": 0,
- "ewsEmailId": "string",
- "reservationId": "string",
- "provider": "string"
}
], - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
| langCode | string Default: "en" Language Code, Default value en |
{- "result": {
- "currencies": [
- "string"
], - "currencyData": [
- {
- "code": "string",
- "name": "string"
}
]
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": {
- "id": 0,
- "roomDbPropertyId": 0,
- "translationKey": "string",
- "messages": [
- {
- "languageCode": "string",
- "message": "string",
- "translationKey": "string"
}
]
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": {
- "template_background_colour_top": "string",
- "template_background_colour_bottom": "string",
- "header_background_colour_top": "string",
- "header_background_colour_bottom": "string",
- "date_colour": "string",
- "date_background_colour": "string",
- "title_bar_colour": "string",
- "title_bar_background_colour": "string",
- "other_buttons_background_colour_top": "string",
- "other_buttons_background_hover_colour_top": "string",
- "other_buttons_background_colour_bottom": "string",
- "other_buttons_background_hover_colour_bottom": "string",
- "product_background_colour_top": "string",
- "product_background_colour_bottom": "string",
- "promo_code_show": true,
- "mainBackgroundColorType": "FLAT",
- "mainBackgroundColor": "string",
- "headerBackgroundColorType": "FLAT",
- "headerBackgroundColor": "string",
- "roomTypeBackgroundColorType": "FLAT",
- "roomTypeBackgroundColor": "string",
- "languageSelectionColor": "string",
- "checkInOutLabelColor": "string",
- "checkInOutInputColor": "string",
- "checkInOutInputBackgroundColor": "string",
- "roomTypeTitleColor": "string",
- "roomTypeTitleFontStyle": "NORMAL",
- "mealsIncludedColor": "string",
- "mealsExcludedColor": "string",
- "bookingSummaryFontColor": "string",
- "bookingSummaryBackgroundColor": "string",
- "personsInfoFontColor": "string",
- "personsInfoFontStyle": "NORMAL",
- "productPriceFontColor": "string",
- "productPriceFontStyle": "NORMAL",
- "searchButtonFontColor": "string",
- "searchButtonNormalStateBackgroundColor": "string",
- "searchButtonMouseHoverBackgroundColor": "string",
- "bookNowButtonColorType": "FLAT",
- "bookNowButtonNormalStateColor": "string",
- "bookNowButtonMouseHoverColor": "string",
- "descriptionRoomRateFontColor": "string",
- "bookNowButtonFontColor": "string",
- "inputFieldsBackgroundColor": "string",
- "inputFieldsFontColor": "string",
- "inputFieldsErrorColor": "string",
- "calendarCheckInOutFontColor": "string",
- "calendarCheckInOutBackgroundColor": "string",
- "calendarCheckInOutBetweenFontColor": "string",
- "calendarCheckInOutBetweenBackgroundColor": "string",
- "inputFieldsSuccessColor": "string",
- "infoBoxBackgroundColor": "string",
- "infoBoxFontColor": "string",
- "confirmationEmailTopLineColor": "string",
- "confirmationEmailResponseButtonBackgroundColor": "string",
- "confirmationEmailResponseButtonFontColor": "string",
- "showOnMapButtonColorType": "FLAT",
- "showOnMapButtonNormalStateColor": "string",
- "showOnMapButtonMouseHoverColor": "string",
- "showOnMapButtonFontColor": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": {
- "id": 0,
- "roomDbPropertyId": 0,
- "translationKey": "string",
- "messages": [
- {
- "languageCode": "string",
- "introduction": "string",
- "body": "string",
- "signature": "string",
- "translationKey": "string"
}
]
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
| languageCode required | string = 2 characters |
{- "result": {
- "languageCode": "string",
- "introduction": "string",
- "body": "string",
- "signature": "string",
- "translationKey": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| id required | integer <int32> Booking Cancel Policies. Required. |
{- "result": {
- "id": 0,
- "offsetDropTime": "string",
- "offsetTimeUnit": "string",
- "offsetUnitMultiplier": "string",
- "basisType": "string",
- "nights": 0,
- "percentOrAmount": 0,
- "isPercent": true,
- "csCancelPolicyId": 0,
- "cultBookingBookingId": "string",
- "cultSwitchBookingId": "string",
- "oldCancellationPolicyId": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": {
- "colorCustomisation": {
- "template_background_colour_top": "string",
- "template_background_colour_bottom": "string",
- "header_background_colour_top": "string",
- "header_background_colour_bottom": "string",
- "date_colour": "string",
- "date_background_colour": "string",
- "title_bar_colour": "string",
- "title_bar_background_colour": "string",
- "other_buttons_background_colour_top": "string",
- "other_buttons_background_hover_colour_top": "string",
- "other_buttons_background_colour_bottom": "string",
- "other_buttons_background_hover_colour_bottom": "string",
- "product_background_colour_top": "string",
- "product_background_colour_bottom": "string",
- "promo_code_show": true,
- "mainBackgroundColorType": "FLAT",
- "mainBackgroundColor": "string",
- "headerBackgroundColorType": "FLAT",
- "headerBackgroundColor": "string",
- "roomTypeBackgroundColorType": "FLAT",
- "roomTypeBackgroundColor": "string",
- "languageSelectionColor": "string",
- "checkInOutLabelColor": "string",
- "checkInOutInputColor": "string",
- "checkInOutInputBackgroundColor": "string",
- "roomTypeTitleColor": "string",
- "roomTypeTitleFontStyle": "NORMAL",
- "mealsIncludedColor": "string",
- "mealsExcludedColor": "string",
- "bookingSummaryFontColor": "string",
- "bookingSummaryBackgroundColor": "string",
- "personsInfoFontColor": "string",
- "personsInfoFontStyle": "NORMAL",
- "productPriceFontColor": "string",
- "productPriceFontStyle": "NORMAL",
- "searchButtonFontColor": "string",
- "searchButtonNormalStateBackgroundColor": "string",
- "searchButtonMouseHoverBackgroundColor": "string",
- "bookNowButtonColorType": "FLAT",
- "bookNowButtonNormalStateColor": "string",
- "bookNowButtonMouseHoverColor": "string",
- "descriptionRoomRateFontColor": "string",
- "bookNowButtonFontColor": "string",
- "inputFieldsBackgroundColor": "string",
- "inputFieldsFontColor": "string",
- "inputFieldsErrorColor": "string",
- "calendarCheckInOutFontColor": "string",
- "calendarCheckInOutBackgroundColor": "string",
- "calendarCheckInOutBetweenFontColor": "string",
- "calendarCheckInOutBetweenBackgroundColor": "string",
- "inputFieldsSuccessColor": "string",
- "infoBoxBackgroundColor": "string",
- "infoBoxFontColor": "string",
- "confirmationEmailTopLineColor": "string",
- "confirmationEmailResponseButtonBackgroundColor": "string",
- "confirmationEmailResponseButtonFontColor": "string",
- "showOnMapButtonColorType": "FLAT",
- "showOnMapButtonNormalStateColor": "string",
- "showOnMapButtonMouseHoverColor": "string",
- "showOnMapButtonFontColor": "string"
}, - "languages": {
- "roomDbPropertyId": 0,
- "defaultLanguageCode": "string",
- "supportedLanguages": [
- "string"
], - "autoTranslatedLanguages": [
- "string"
]
}, - "priceComparisonWidgetLanguages": {
- "id": 0,
- "enabled": true,
- "propertyName": "string",
- "noOfGuest": 0,
- "messages": [
- {
- "heading": "string",
- "additionalText": "string",
- "languageCode": "string"
}
], - "translationKey": "string",
- "channels": {
- "property1": "string",
- "property2": "string"
}
}, - "additionalFeatures": {
- "promoCode": true,
- "propertyLogo": true,
- "cvcField": true,
- "prices": true,
- "currency": true,
- "currencySymbol": true,
- "reservationEmailToProperty": true,
- "streetNo": true,
- "postCode": true,
- "footerAddress": true,
- "language": true,
- "poweredByCb": true,
- "smartCalendar": true,
- "mandatoryPhone": true,
- "city": true,
- "country": true,
- "showOnMapButton": true,
- "textInsideInputFields": true,
- "cookieFree": true,
- "GTMContainerID": "string",
- "ga4Code": "string",
- "customDomainEmail": "string",
- "customEmailFromAddress": "string",
- "customEmailFromName": "string",
- "bookingEngineLogoUrl": "string",
- "bookingEngineMarketingUrl": "string",
- "calendarToolTipType": "string",
- "googleAdsLabel": "string",
- "googleAdsConversionID": "string",
- "googleApiSecretsKey": "string",
- "googleBudgetName": "string",
- "googleBudgetAmountMicros": "string",
- "customDomainUrl": "string",
- "fbPixelId": "string",
- "vatIncluded": true,
- "fontWebsite": "string",
- "fontSizeWebsite": "string",
- "fontEmailConfirmation": "string",
- "fontSizeEmailConfirmation": "string"
}, - "currency": {
- "currencies": [
- "string"
], - "currencyData": [
- {
- "code": "string",
- "name": "string"
}
]
}, - "numberFormat": [
- {
- "roomDbPropertyId": 0,
- "numberFormatType": "calendar , productList",
- "numberFormat": "123.456,7",
- "numberMultiplier": "10",
- "displayDimension": true,
- "numberFormatId": "10",
- "maximumFractionDigits": 3
}
], - "images": {
- "sourceId": "string",
- "sourceType": "string",
- "images": [
- {
- "id": 0,
- "image": "string",
- "sortOrder": 0
}
]
}, - "paymentGateways": [
- {
- "id": 0,
- "roomDbPropertyId": 0,
- "paymentProvider": "string",
- "apiKey": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "intlNumberFormat": [
- {
- "id": 0,
- "numberFormat": "string",
- "name": "string"
}
]
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| listId required | integer <int32> List Id. Required. |
{- "result": {
- "colorCustomisation": {
- "navbarText": "string",
- "navbarBackground": "string",
- "navbarTextHover": "string",
- "footerText": "string",
- "footerBackground": "string",
- "footerTextHover": "string",
- "socialColor": "string",
- "socialBackground": "string",
- "socialHoverColor": "string",
- "socialHoverBackground": "string",
- "primaryColor": "string",
- "pageText": "string",
- "pageBackground": "string",
- "dropdownText": "string",
- "dropdownBorder": "string",
- "dropdownBackground": "string",
- "dropdownOptionsText": "string",
- "dropdownOptionsBackground": "string",
- "dropdownOptionsHoverText": "string",
- "dropdownOptionsHoverBackground": "string",
- "dropdownOptionsSelectedText": "string",
- "dropdownOptionsSelectedBackground": "string",
- "primaryButtonText": "string",
- "primaryButtonBorder": "string",
- "primaryButtonBackground": "string",
- "primaryButtonHoverText": "string",
- "primaryButtonHoverBorder": "string",
- "primaryButtonHoverBackground": "string",
- "secondaryButtonText": "string",
- "secondaryButtonBorder": "string",
- "secondaryButtonBackground": "string",
- "secondaryButtonHoverText": "string",
- "secondaryButtonHoverBorder": "string",
- "secondaryButtonHoverBackground": "string",
- "outlineButtonText": "string",
- "outlineButtonBorder": "string",
- "outlineButtonBackground": "string",
- "outlineButtonHoverText": "string",
- "outlineButtonHoverBorder": "string",
- "outlineButtonHoverBackground": "string",
- "tertiaryButtonText": "string",
- "tertiaryButtonBorder": "string",
- "tertiaryButtonBackground": "string",
- "tertiaryButtonHoverText": "string",
- "tertiaryButtonHoverBorder": "string",
- "tertiaryButtonHoverBackground": "string",
- "breadcrumbsText": "string",
- "breadcrumbsHover": "string",
- "breadcrumbsBackground": "string",
- "breadcrumbsDivider": "string",
- "checkboxBorder": "string",
- "checkboxBackground": "string",
- "checkboxCheckedBorder": "string",
- "checkboxCheckedBackground": "string",
- "badgeText": "string",
- "badgeBackground": "string",
- "ratingText": "string",
- "ratingBackground": "string",
- "inputText": "string",
- "inputBorder": "string",
- "inputBackground": "string",
- "searchWidgetText": "string",
- "searchWidgetBackground": "string",
- "cartWidgetBackground": "string",
- "cartWidgetText": "string",
- "checkoutCardBackground": "string",
- "checkoutCardText": "string",
- "checkoutCardBorder": "string",
- "calendarWidgetDay": "string",
- "calendarWidgetText": "string",
- "calendarWidgetPrice": "string",
- "calendarWidgetBorder": "string",
- "calendarWidgetBackground": "string",
- "calendarWidgetControlsText": "string",
- "calendarWidgetControlsBorder": "string",
- "calendarWidgetControlsBackground": "string",
- "calendarWidgetControlsHoverText": "string",
- "calendarWidgetControlsHoverBorder": "string",
- "calendarWidgetControlsHoverBackground": "string",
- "calendarWidgetRangeBackground": "string",
- "calendarWidgetRangeDay": "string",
- "calendarWidgetRangePrice": "string",
- "calendarWidgetActiveText": "string",
- "calendarWidgetActiveBackground": "string",
- "calendarWidgetFooterText": "string",
- "calendarWidgetFooterBackground": "string",
- "calendarWidgetFooterCurrencyText": "string",
- "calendarWidgetPriceControlColor": "string",
- "calendarWidgetPriceControlBackground": "string",
- "calendarWidgetPriceControlCheckedColor": "string",
- "calendarWidgetPriceControlCheckedBackground": "string"
}, - "linkSettings": {
- "listId": 0,
- "navLinkMap": true,
- "navLinkHelp": true,
- "navLinkLogin": true,
- "navLinkRegister": true,
- "navLinkPropertyList": true,
- "navLinkHowItWorks": true,
- "footerLinkBlog": true,
- "footerLinkAboutUs": true,
- "footerLinkContact": true,
- "footerLinkTermsOfUse": true,
- "footerLinkLegalNotice": true,
- "footerLinkListProperty": true,
- "footerLinkPrivacyPolicy": true,
- "footerLinkBuildBookingEngine": true,
- "footerCompanyTitleKey": "string",
- "footerCompanyDisplay": true,
- "footerLegalTitleKey": "string",
- "footerLegalDisplay": true,
- "footerInformationTitleKey": "string",
- "footerInformationDisplay": true,
- "footerGlovelerTitleKey": "string",
- "footerGlovelerDisplay": true,
- "customNavLinks": {
- "property1": { },
- "property2": { }
}, - "customFooterLinks": {
- "property1": { },
- "property2": { }
}
}, - "generalSettings": {
- "listId": 0,
- "title": "string",
- "logo": "string",
- "favicon": "string",
- "logoLink": "string",
- "showListingCount": true,
- "supportedFacilities": [
- 0
], - "supportedLanguages": [
- "string"
], - "mail": "string",
- "phone": "string",
- "linkedin": "string",
- "facebook": "string",
- "twitter": "string",
- "instagram": "string",
- "snapchat": "string",
- "mapZoomLevel": "string",
- "mapCentreLatitude": "string",
- "mapCentreLongitude": "string"
}
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| propertyId required | integer <int32> >= 1000000 RoomDB internal property Id. Required. |
{- "result": {
- "promoCode": true,
- "propertyLogo": true,
- "cvcField": true,
- "prices": true,
- "currency": true,
- "currencySymbol": true,
- "reservationEmailToProperty": true,
- "streetNo": true,
- "postCode": true,
- "footerAddress": true,
- "language": true,
- "poweredByCb": true,
- "smartCalendar": true,
- "mandatoryPhone": true,
- "city": true,
- "country": true,
- "showOnMapButton": true,
- "textInsideInputFields": true,
- "cookieFree": true,
- "GTMContainerID": "string",
- "ga4Code": "string",
- "customDomainEmail": "string",
- "customEmailFromAddress": "string",
- "customEmailFromName": "string",
- "bookingEngineLogoUrl": "string",
- "bookingEngineMarketingUrl": "string",
- "calendarToolTipType": "string",
- "googleAdsLabel": "string",
- "googleAdsConversionID": "string",
- "googleApiSecretsKey": "string",
- "googleBudgetName": "string",
- "googleBudgetAmountMicros": "string",
- "customDomainUrl": "string",
- "fbPixelId": "string",
- "vatIncluded": true,
- "fontWebsite": "string",
- "fontSizeWebsite": "string",
- "fontEmailConfirmation": "string",
- "fontSizeEmailConfirmation": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}| 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. |
{- "propertyId": 1000003,
- "checkInDate": "2024-08-18",
- "checkOutDate": "2024-08-19",
- "distributorId": "58078",
- "distributorCode": "14253cds3bc244e",
- "language": "en",
- "promoCode": "promo123",
- "totalGuestCounts": {
- "adults": 2,
- "children": [
- {
- "count": 1,
- "age": "7"
}
]
}
}| channel_id | integer <int32> |
| object_id | integer <int32> |
| room_ids | Array of integers <int32> [ items <int32 > ] |
{- "channel_id": 0,
- "object_id": 0,
- "room_ids": [
- 0
]
}{- "result": [
- 1001,
- 1002
], - "status": "OK",
- "message": "Request processed successfully",
- "executionTime": 120
}| 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 | |
| isCreditCardBooking | boolean Indicates whether the reservation involves a credit card. Set to true when ccData is provided. |
{- "propertyId": 1000003,
- "arrival": "2024-08-18",
- "departure": "2024-08-19",
- "distributorId": "58078",
- "distributorCode": "14253cds3bc244e",
- "language": "en",
- "roomRates": [
- {
- "numberOfUnits": 1,
- "ratePlanId": "12345"
}
], - "totalGuestCounts": {
- "adults": 2,
- "children": [
- {
- "count": 1,
- "age": "7"
}
]
}, - "comments": [
- "Late check-in requested"
], - "booker": {
- "givenName": "First Name",
- "surName": "Sur Name",
- "phoneNumber": "+1111122222",
- "email": "abc@email.com",
- "addresses": [
- {
- "streetNmbr": "234",
- "cityName": "Berlin",
- "postalCode": "3R4D2E",
- "countryCode": "de",
- "countryName": "Germany",
- "companyName": "ABC Company",
- "addressLine": [
- "Baker Street",
- "Apartment 1A"
], - "isBillingAddress": true
}
]
}, - "guests": [
- {
- "ratePlanId": "123456",
- "unit": "1",
- "givenName": "First Name",
- "surName": "Sur Name",
- "guestCounts": {
- "adults": 2,
- "children": [
- {
- "count": 1,
- "age": "7"
}
]
}
}
], - "otaDetails": {
- "bookingId": "123456789",
- "sourceOfBooking": "CultBooking Neo",
- "transactionNumber": "CBMV"
}, - "ccData": {
- "cardNumber": "4111111111111111",
- "cardType": "Visa",
- "cardHolderName": "John Doe",
- "expirationDate": "12/26",
- "cvv": "123"
}, - "isCreditCardBooking": true
}| 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. |
{- "propertyId": 1000003,
- "distributorId": "58078",
- "distributorCode": "14253cds3bc244e",
- "reservationId": "14253cds3bc244e",
- "language": "en"
}| 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 |
{- "propertyId": 1000003,
- "distributorId": "58078",
- "distributorCode": "14253cds3bc244e",
- "reservationId": "14253cds3bc244e",
- "ccData": {
- "cardNumber": "4111111111111111",
- "cardType": "Visa",
- "cardHolderName": "John Doe",
- "expirationDate": "12/26",
- "cvv": "123"
}
}| 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. |
{- "propertyId": 1000003,
- "distributorId": "58078",
- "distributorCode": "14253cds3bc244e",
- "reservationId": "14253cds3bc244e",
- "bookerReservationId": "BOOKER987654321",
- "language": "en",
- "cancellationReasonLanguage": "en",
- "cancellationReason": "Guest no longer wishes to proceed with the booking."
}| distributorId required | integer <int32> DistributorId. Required. |
{- "result": {
- "name": "string",
- "agent_id": 0,
- "agent_code": "string"
}, - "status": "string",
- "message": "string",
- "executionTime": 0
}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.
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.
| 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. |
{- "propertyId": 1000003,
- "baseName": "Rate Plan for single rooms.",
- "names": [
- {
- "text": "Room with single bed",
- "languageId": 0
}
], - "descriptions": [
- {
- "text": "Comfortable single room with essential amenities.",
- "languageId": 0,
- "descriptionTypeId": 0
}
], - "dateRanges": [
- {
- "fromDate": "2021-09-01",
- "toDate": "2021-10-31",
- "isValidityRange": false,
- "isUnlimited": false
}
], - "sellableUnits": [
- {
- "sellableUnitId": 1,
- "quantity": 1
}
], - "restrictions": {
- "minLengthOfStay": 1,
- "maxLengthOfStay": 7
}, - "ratePlanPrice": {
- "pricePlanType": "FIXED_PRICE",
- "fixedPrice": 100,
- "minGuest": 1,
- "maxGuest": 5
}, - "commission": 55.9,
- "supplierUnitId": "SUP-ROOM-001",
- "isPackage": true,
- "displayOccupancyPricesOnCalendar": true,
- "roundingRuleId": 0,
- "translationKey": "rate_plan_single_room"
}{- "result": {
- "id": 123,
- "baseName": "Rate Plan for single rooms.",
- "propertyId": 1000003,
- "names": [
- {
- "text": "Room with single bed"
}
], - "descriptions": [
- {
- "text": "Comfortable single room with essential amenities."
}
], - "dateRanges": [
- {
- "fromDate": "2021-09-01",
- "toDate": "2021-10-31"
}
], - "ratePlanPrice": {
- "pricePlanType": "FIXED_PRICE",
- "fixedPrice": 100
}, - "commission": 10.5,
- "isPackage": true,
- "createdAt": "2026-05-04T13:36:28.611Z",
- "lastUpdate": "2026-05-04T13:36:28.611Z"
}, - "status": "SUCCESS",
- "message": "Rate plan created successfully.",
- "executionTime": 120
}API endpoint to generate new token.
| supplierId required | string |
| supplierSecret required | string |
{- "tokenType": "Bearer",
- "expiresIn": 3600,
- "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "executionTime": 15
}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.
{- "tokenType": "Bearer",
- "expiresIn": 3600,
- "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "executionTime": 15
}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.
{- "result": {
- "id": 201,
- "name": "GlobalTravelLtd",
- "isActive": true,
- "extranetPartnerId": 45
}, - "status": "success",
- "message": "Distributor information retrieved successfully.",
- "executionTime": 12
}This API can be used to get all information about supplier account. This endpoint available only for admin, supplier should use other endpoint.
| name required | string [ 1 .. 255 ] characters Supplier name. Required. |
{- "result": {
- "id": 201,
- "name": "GlobalTravelLtd",
- "isActive": true,
- "extranetPartnerId": 45
}, - "status": "success",
- "message": "Distributor information retrieved successfully.",
- "executionTime": 12
}| 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. |
[- {
- "productId": 144308,
- "roomId": 101219,
- "date": "2021-09-16",
- "availability": 30,
- "minLos": 1,
- "maxLos": 7,
- "closedForSale": false,
- "closedToArrival": true,
- "closedToDeparture": true,
- "currency": "EUR",
- "symbol": "$",
- "prices": {
- "property1": {
- "1": 100,
- "2": 150,
- "3": 180
}, - "property2": {
- "1": 100,
- "2": 150,
- "3": 180
}
}
}
]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
| 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. |
[- {
- "productId": 144308,
- "roomId": 101219,
- "date": "2021-09-16",
- "availability": 30,
- "minLos": 1,
- "maxLos": 7,
- "closedForSale": false,
- "closedToArrival": true,
- "closedToDeparture": true,
- "currency": "EUR",
- "symbol": "$",
- "prices": {
- "property1": {
- "1": 100,
- "2": 150,
- "3": 180
}, - "property2": {
- "1": 100,
- "2": 150,
- "3": 180
}
}
}
]| 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. |
{- "prices": {
- "property1": 0.1,
- "property2": 0.1
}, - "closeDepartureParams": {
- "property1": {
- "property1": { },
- "property2": { }
}, - "property2": {
- "property1": { },
- "property2": { }
}
}, - "closeArrivalParams": {
- "property1": {
- "property1": { },
- "property2": { }
}, - "property2": {
- "property1": { },
- "property2": { }
}
}, - "closeSaleParams": {
- "property1": {
- "property1": { },
- "property2": { }
}, - "property2": {
- "property1": { },
- "property2": { }
}
}, - "currency": [
- "string"
], - "symbol": [
- "string"
], - "min_stays": {
- "property1": { },
- "property2": { }
}, - "min_stays_only": {
- "property1": { },
- "property2": { }
}, - "MinLos": {
- "property1": 0,
- "property2": 0
}, - "Cheapest": {
- "property1": {
- "productId": 144308,
- "roomId": 101219,
- "date": "2021-09-16",
- "availability": 30,
- "minLos": 1,
- "maxLos": 7,
- "closedForSale": false,
- "closedToArrival": true,
- "closedToDeparture": true,
- "currency": "EUR",
- "symbol": "$",
- "prices": {
- "property1": {
- "1": 100,
- "2": 150,
- "3": 180
}, - "property2": {
- "1": 100,
- "2": 150,
- "3": 180
}
}
}, - "property2": {
- "productId": 144308,
- "roomId": 101219,
- "date": "2021-09-16",
- "availability": 30,
- "minLos": 1,
- "maxLos": 7,
- "closedForSale": false,
- "closedToArrival": true,
- "closedToDeparture": true,
- "currency": "EUR",
- "symbol": "$",
- "prices": {
- "property1": {
- "1": 100,
- "2": 150,
- "3": 180
}, - "property2": {
- "1": 100,
- "2": 150,
- "3": 180
}
}
}
}
}| 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. |
[- {
- "productId": 144308,
- "roomId": 101219,
- "roomType": "Executive Room",
- "roomName": "Executive Room Name",
- "productName": "Double Room with breakfast",
- "occupancy": 2,
- "meal": "English Breakfast",
- "mealName": "English Breakfast Name",
- "paymentPolicy": "Payment Policy",
- "cancellationPolicy": "Cancellation Policy",
- "date": "2021-09-16",
- "availability": 30,
- "minLos": 1,
- "maxLos": 7,
- "closedForSale": false,
- "closedToArrival": true,
- "closedToDeparture": true,
- "currency": "EUR",
- "symbol": "$",
- "prices": {
- "property1": 0,
- "property2": 0
}
}
]