Direct RoomsRates API

The Direct RoomsRates API comes in handy when we already know the hotelId for which we want to perform the search, in this case we do not have to start from the Search API rather we can perform the search using the hotelId and we an get the rooms and rates information for the hotel. Here we need to pass the search criterias such as checkin-date, checkout-date, occupancy info. The response structure is similar to RoomRates API response and from here we can proceed for the pricing and booking of the hotel using the Price and Book API.

Direct RoomsRates API Details:
HTTP: POST
Endpoint:{baseEndpoint}/api/hotel/{hotelId}/roomsandrates

The Direct 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 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 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 single room search? (In case when room mapping service is not opted).

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.