Connect Search, Room Rates & Pricing

The Hotel Rate APIs cover everything from searching for available hotels through to confirmed booking. They connect directly to your configured suppliers via their Affiliate IDs — there is no channel layer, no location resolution, and no business logic. You pass hotel IDs, we return rates.

The search-to-book flow

1

Search Hotels — or — Direct Rooms & Rates

Two entry points depending on your user journey. Use Search Hotels when the user is browsing a list of results. Use Direct Rooms & Rates when they land on a specific hotel page directly.

2

Rooms & Rates (after Search Hotels only)

User selects a hotel from search results. Pass the token from Search Hotels to fetch full room and rate details for that property.

3

Price — mandatory

User reaches checkout. Always call Price before booking to validate the rate is still live and get the latest cancellation policy. The token returned here must be passed to Book.

4

Book

Payment confirmed. Submit guest and payment details. Returns a bookingId and confirmation voucher.

Search Hotels

The starting point for most flows. Pass up to 200 hotel IDs — from your synced content database — along with check-in/check-out dates, occupancy for up to 6 rooms, and the Affiliate ID of the supplier you want to query. Connect routes the request to that supplier and returns available rooms and rates in a standardised format.

The response also includes a token — hold on to this, you need it for the Rooms & Rates call when the user picks a hotel.

💡 No location here. Unlike the Booking Engine, Connect does not understand destinations — it only understands hotel IDs. Your platform resolves the location to hotel IDs before calling this API.

GET or POST — choose based on your request size

Search Hotels supports both GET and POST. Both return identical responses — the difference is only in how you pass the parameters.

GET

Parameters as query strings

Pass hotel IDs and search params directly in the URL. Simple for small requests, but URLs grow very long when passing many hotel IDs — some clients and servers have URL length limits that this can hit.

POST

Parameters in the request body

Pass everything in a JSON body instead. Recommended when searching a large number of hotels — avoids URL length limitations entirely and keeps requests cleaner.

GET https://hotel-connect.prod.zentrumhub.com/api/v1/hotels
POST https://hotel-connect.prod.zentrumhub.com/api/v1/hotels

Multi-room searches

Connect supports up to 6 rooms in a single search request. Pass occupancy for each room separately using the room1AdultCount through room6AdultCount parameters. Include child ages where applicable using the corresponding roomNChildAges array.

Rooms & Rates

User selects a hotel from the search results page. Call this API with the hotelId and the searchResponseToken from Search Hotels to get the full list of available room types and rate options for that property.

The response returns a new token — pass this to the Price API when the user reaches checkout.

GET https://hotel-connect.prod.zentrumhub.com/api/v1/hotels/{hotelId}/rooms

Direct Rooms & Rates

An alternative entry point for flows where no prior search was performed — for example, when a user follows a deep link directly to a hotel page, or when you want to show rates for a specific property without a search results page.

Instead of passing a search token, you pass the full search parameters (dates, occupancy, currency) directly. The response structure is identical to Rooms & Rates and also returns a token to pass to Price. Supports up to 6 rooms, same as Search Hotels.

Use Rooms & Rates when...

The user selected a hotel from a search results page. You already have a searchResponseToken from the Search Hotels call.

Use Direct Rooms & Rates when...

The user landed directly on a hotel page. No prior search was made, so there is no token — you pass search params directly instead.

GET https://hotel-connect.prod.zentrumhub.com/api/v1/hotels/{hotelId}/directrooms

Price

The user is on the checkout page. Before confirming any booking, always call Price. This validates the selected rate against the supplier in real time — confirming it is still available and returning the latest price and cancellation policy.

If the price has changed since Rooms & Rates, the response will reflect the updated amount. Show this to the user before they confirm payment.

The Price response returns a token that must be included in the Book request. This is how Connect knows the price was validated before the booking was submitted.

⚠️ Never skip Price. Attempting to book without a valid price token — or with a stale one — will result in a booking failure. Always call Price as the user lands on the checkout page.

Price also returns the final allGuestsInfoRequired and cardRequired flags — use these to decide exactly what information to collect from the user before calling Book.

GET https://hotel-connect.prod.zentrumhub.com/api/v1/hotels/{hotelId}/price

Full parameter details for all Rate APIs are available in the API Reference.