RoomRates API

In the Search API response, we receive room information for the hotel's minimum rate. However, hotels typically offer multiple rooms with varying rates based on their features and specifications. The RoomRates API is responsible for fetching comprehensive details for the various room options provided by the hotel.

RoomsRates API details:
HTTP: POST
Endpoint: {baseEndpoint}/api/hotel/{hotelId}/roomsandrates/{token}

The RoomsRates API provides the following details:

  1. Rooms: It contains the details about the room such as name, description, facilities, bed info, area of the room.
  2. Rates: It contains the details about the rates of the rooms offered by the hotel such as total rate, base rate, taxes, fee, refundability info, cancellation policies info and many more.
  3. Recommendations: Each recommendation corresponds to a specific rate for a room within the rates array. You should use recommendation as it used for displaying the pricing information and it helps grouping of different rates belonging to the same room type i.e. a same room can have multiple rates such as refundable and non-refundable rates. The recommendationId provided in the response is used in the Price API for pricing.
  4. Standardized Rooms: Standardized rooms offer unified information by normalizing room data from multiple suppliers. The standardized rooms is included in the roomsandrates response if you have subscribed to the room mapping service with ZentrumHub.

FAQs

Does the API return images for rooms?
Yes, the API does provide images for the rooms. It is available only if the suppliers provide this data.

Does the API return information about the charges to be paid at the property?
Yes, the API does provide information about additional charges that need to be paid at the property. It is available only if the suppliers provide this data.

How do I translate recommendations to display rooms and rates in case of single room search? (In case when room mapping service is opted).

Each recommendation corresponds to a specific rate for a room within the rates array. You should use recommendation as it used for displaying the pricing information and it helps grouping of different rates belonging to the same room type i.e. a same room can have multiple rates such as refundable and non-refundable rates.
The recommendationId provided in the response is used in the Price API for pricing.

Mapping of recommendation to rates:
Each recommendation would have an array of rates associated with it. In the below example, in the recommendations array, the object with recommendationId: "e937dcff-18a3-4c3d-82b6-b1771144c8af" contains an array of rates. This array includes the rateId: "a5f9c0f4-2d1b-43e5-827a-46e4a538d6c7", which can be used to find the corresponding rate object in the rates array at the roomsandrates response level by matching the rateId to the id of the rate object. You can repeat this process for the other recommendation objects in the recommendations array.

Mapping of rates to standardizedRooms:

Each rate has a reference to the room it belongs to. This information can be found in the occupancies array inside that given rate. Below is an example for the same rate rateId: "a5f9c0f4-2d1b-43e5-827a-46e4a538d6c7" as received in the response. In the occupancy section of the rate, we have the stdRoomId, which can be referred to find the corresponding standardized room as received in the standardizedRooms array

The consumer should display the rate information and corresponding standardized room information as explained above to display corresponding rooms and rates for a given recommendation.

How do I translate recommendations to display rooms and rates in case of a multi room search? (In case when room mapping service is opted).

Mapping of recommendation to rates:

In the case of multiroom, for each recommendation object, there would be corresponding rates for both rooms. In the example below, you'll see that in the recommendations array, the object with recommendationId: "e58e452e-bfec-419b-a39b-9e354f5f9bf8" contains an array of rates. This array includes the rateIds: "3c982735-24ef-4511-b9a0-24ca40d14253" and "b1550172-4fa8-4caa-a37a-b303d3b420f6", which can be used to find the corresponding rate objects in the rates array at the roomsandrates response level by matching the rateId to the id of the rate object. You can repeat this process for the other recommendation objects in the recommendations array.

Mapping of rates to standardizedRooms:
Once you have the rates for a given recommednation, you can find the rooms for the recommendation by referencing the stdRoomId information from corresponding rates. For the example above, for both rates from given recommendation i.e. rateId: "3c982735-24ef-4511-b9a0-24ca40d14253" and "b1550172-4fa8-4caa-a37a-b303d3b420f6" , the corresponding room information can be found by looking at the corresponding stdRoomId inside the occupancies object of each rate.

The booking engine takes into account the combinability of rates as received from the supplier in a multiroom case scenario and groups the rates and recommendations accordingly.

How do I translate recommendations to rooms and rates in case of a single room search? (In case the room mapping service is not opted in).

Mapping of recommendation to rates:
Each recommendation would have an array of rates associated with it. In the below example, in the recommendations array, the object with recommendationId: "5a589aab-9c5c-4c1a-8217-01485943f2ee" contains an array of rates. This array includes the rateId: "6020182b-978c-4e60-a61e-3fe33f7103e4", which can be used to find the corresponding rate object in the rates array at the roomsandrates response level by matching the rateId to the id of the rate object. You can repeat this process for the other recommendation objects in the recommendations array.

In case of when room mapping service is not opted, we do not receive standardizedRooms array in the response.

Mapping of rates to rooms:
Each rate has a reference to the room it belongs to. This information can be found in the occupancies array inside that given rate. Below is an example for the same rate rateId: "6020182b-978c-4e60-a61e-3fe33f7103e4"as received in the response. In the occupancy section of the rate, we have the roomId which can be referred to find the corresponding room as received in the rooms arrayof the roomrates response.

How do I translate recommendations to display rooms and rates in case of multi rooms search? (In case of room mapping service is not opted).

Mapping of recommendation to rates:

In case of multiroom, for each recommendation object there would be corresponding rates for both rooms. In the example below, you'll see that in the recommendations array, the object withrecommendationId: "077e0807-2823-4370-9b03-797f3f79c7e5" contains an array of rates. This array includes the rateIds: "7ee66991-038b-449b-9eca-a199c155f1e0" and "7ee66991-038b-449b-9eca-a199c155f1e0", which can be used to find the corresponding rate objects in the rates array at the roomsandrates response level by matching the rateId to the id of the rate object. You can repeat this process for the other recommendation objects in the recommendations array.

In case of when room mapping service is not opted, we do not receive standardizedRooms array in the response.

Mapping of rates to rooms:

Once you have the rates for a given recommednation, you can find the rooms for the recommendation by referencing the stdRoomId information from corresponding rates. For the example above, for both rates from given recommendation i.e. rateId: "7ee66991-038b-449b-9eca-a199c155f1e0" in the rates array, you can map the rate to the room object in the rooms array. This is done by matching the roomId: "ca1b6307-d9a6-4f80-b586-36561e7f6a96" in the occupancies object of the rate object to the id: "ca1b6307-d9a6-4f80-b586-36561e7f6a96" of the room object.

The booking engine takes into account the combinability of rates as received from supplier in a multiroom case scenario and groups the rates and recommendations accordingly.

Error Codes

Error CodeError Message
4001Invalid data in request - Please refer to the fields[] for more details.
4004The hotel you selected is soldout
5000Your request failed due to an unknown system error. Please contact support team with the correlationId.