Prerequisites
Before building a per-room listing, make sure you have:- A working Best Price call. If not, follow the Quick start first.
- A hotel ID and a group ID.
- A target date window (typically 30 to 90 days).
How it works
The Rooms endpoint returns one entry per available room and requested strategy, with the best price found over your date window and the arrival date it applies to. With a single call and a single strategy inbehaviours (LowestLengthOfStay when you send none), you get one “from” price per room, with no aggregation on your side.
Rooms that are not bookable on any day in the window are absent from the response.
Build the listing
The examples below assume the OAuth signing setup from the Quick start.
Call Best Price Rooms once
Send one request to
/BestPrice/Rooms with your date range and party. The response is an array with one entry per room.Index the response by room
With a single strategy in
behaviours, each room appears once, with its best totalPrice over the window and the arrivalDate it applies to. Key the entries by roomId to look up each room’s “from” price and currency.Tips
- Cache aggressively. One call per (date range, party) combination, easy cache key. Listings load instantly from cache between API refreshes.
- Use a tight date window. 30 days is usually enough for listing display. A 90-day window costs more per call without changing the “from” price most of the time.
- Handle rooms missing from the response. The endpoint returns entries only for rooms bookable on at least one arrival date in the window. A room that never appears might be fully sold across the period. Show a soft fallback rather than hiding the room from the listing.
Related
Reference
Full schema for the Rooms endpoint.
Best practices
Caching, performance, and resilience patterns.