Recommendation Deduplication in Rooms and Rates Response Model
When multiple suppliers return rates for the same hotel, the engine deduplicates them into a single set of unique recommendations. Each recommendation represents one distinct rate plan — the cheapest available price across all suppliers for a specific combination of room attributes.
Deduplication parameters
Two rates from different suppliers are considered the same rate plan — and therefore deduplicated into one recommendation — when all of the following match:
Board basis
Room only, breakfast included, half board, full board, all inclusive — these are treated as distinct.
Refundability
Refundable and non-refundable rates are always kept as separate recommendations — never merged.
Room type
Matched via the mapping service normalisation — "King Room" and "Superior King" from different suppliers may resolve to the same standardised room.
Occupancy
Number of adults and children. A rate for 2 adults is not merged with a rate for 2 adults + 1 child.
Number of nights
Rates for different stay lengths are always distinct.
How it works in practice
Say 3 suppliers all return rates for the same king room, non-refundable, room only, for 2 adults, 1 night:
Before deduplication — raw rates
After deduplication — one recommendation
The other two supplier rates are discarded from recommendations — they are still available in the raw rates object, but only the cheapest surfaces as a recommendation. The engine selects the winning supplier transparently, with no bias.
Refundable and non-refundable are always separate
Even if the price difference is small, refundable and non-refundable rates for the same room are never merged. The user always sees both options as distinct recommendations so they can make an informed choice.
standardisedRoomGroups, the options within each room group are also sorted cheapest to highest — making it straightforward to show users the best available price first.
Updated about 1 month ago