The Price API is used to fetch the final price of the selected rooms/rates from the RoomRates API response before proceeding with the booking. This API is crucial because the rate information for a particular hotel is fetched dynamically, and there is a chance that the price may be updated at the hotel end. Therefore, it is essential to update the user with the latest price before proceeding with the booking.

Price API Details:
HTTP Method: GET
Endpoint: {baseEndpoint}/api/hotel/{hotelId}/{token}/price/recommendation/{recommendationId}

FAQs

Do I need to make the Price API call before the booking step?
Yes, this step is mandatory before the book API call.

Does the price get updated everytime we make this API call?
It depends upon the supplier/provider as stated earlier all the calls made via the ZentrumHub API to the supplier are dynamic and we do not cache any data.

Why do I need to use the recommendationId instead of the rateIds to make the pricing call?
As you would observe the rateIds in the recommendation in case of multi-room search, each recommendation contains rateIds from a single supplier only as we do not support pricing on multi-suppliers and also there is a scenario where the supplier does not support combining the different rateIds for performing a book. We have exclusively taken care of this in our recommendation building logic.

How can I use the recommendationId to fetch the pricing response?
Steps to Use the Price API:
1.Fetch Details: Obtain the recommendationId, token, and hotelId from the RoomRates API response.
2.Call Price API: Pass the above details to the Price API endpoint as route parameters.

What should I do if I receive more than one rateId in the pricing response?
You should display the total price by summing up the prices of all the received rates to your users.

Is it mandatory to show content from the same supplier for which rates are returned in the Price API?
Yes, it is mandatory to display content from the same supplier whose rates are returned via the Price API on the checkout page.
This ensures consistency between pricing and property details, and helps avoid discrepancies during booking.

How do I get content from the same supplier as the one used in the Price API, using the getHotelContent API?
To fetch content from the same supplier that provided the rates, follow these steps:
1.Extract providerName from the rate object of the RoomRates API.
2.Pass the providerName as the value for the providerPrefs parameter in the getHotelContent API request.

This overrides the default ContentPreference configured at the channel level, ensuring the content shown on the checkout page matches the rate source.


Error Codes

Error CodeError Message
4001Invalid data in request - Please refer to the fields[] for more details.
4004The hotel you selected is sold out
4005Price for the selected room(s) has changed
4006The rate you tried to book has expired. Please try again with a new search.
5000Your request failed due to an unknown system error. Please contact support team with the correlationId.
5001Your request failed due to an unknown error returned by the supplier. Please contact support team with the correlationId.