Bedbanks & wholesalers
HotelBeds, WebBeds, TBO and RateHawk-class pools: net rates, contracted allocations and the long tail of independents.
Thirty-plus suppliers merged property-by-property and room-by-room, so you always quote the best rate and never show the same hotel twice.

A wholesale bedbank rate, a chain-direct loyalty rate and a GDS line arrive as the same object in your code. Then they fight it out on price.
HotelBeds, WebBeds, TBO and RateHawk-class pools: net rates, contracted allocations and the long tail of independents.
Marriott, Accor, Hilton and IHG connected at the source: member rates, points eligibility and accrual surfaced inline.
GDS hotel content for corporate coverage, plus serviced apartments and extended-stay supply for trips measured in weeks.
Search returns deduplicated properties with every supplier rate merged onto one card and ranked by total price; book with the rate id and a payment token, and the quote re-verifies so you never confirm stale inventory. Two calls. Your customer sees one Hyatt, not five.
Aggregation is easy. Aggregation without duplicates, mismatched rooms or missed best rates is the hard part, and it’s included.
Every listing is reconciled to a canonical property ID using geo, address, phone and content signals. Before: three suppliers send "Grand Hyatt Dubai", "Hyatt Grand, Dubai" and "Grand Hyatt - Dubai DXB" as three separate hotels. After: one canonical property, one card, five supplier rates competing on price beneath it. Two million properties, continuously re-verified: under 0.1% ever surface twice.
"Garden View Double", "Garden Facing Standard" and "Garden Twin" are the same physical room from three suppliers. We map at room level so rates compete on price, not on naming creativity.
A 300+ amenity taxonomy in 14 languages, photo CDN with deduped imagery, multilingual descriptions and accessibility data, merged from the most authoritative source per field.
Every rate from every pool on one card, scored by total price after taxes and fees, refundability, breakfast and loyalty eligibility. Your markup rules layer on top.
Direct hotel contracts and negotiated wholesale rates plug into the same mapping pipeline and compete in the same best-rate ranking, flagged as yours, settled to you.
Wholesale depth plus chain-direct rates in one ranking, with the mapping problem, the content problem and the supplier contracts already handled.
Burn points on 2M+ properties at wholesale cost while members see retail value. Loyalty-aware rates surface member pricing inline.
Negotiated corporate rates compete against the open market on every search, with policy caps and central billing built in.
Something we haven’t covered? Talk to the team. A real engineer answers, never a bot.

String similarity gets the two cases that matter exactly backwards: it merges the rooms that must never merge and splits the ones that must. This is the pipeline we built instead, stage by stage, including the part everyone tries to automate away.
Signing another hotel supplier grows the listing count on day one. Whether it grew the catalogue depends entirely on work nobody has scheduled yet: deciding which of those listings are hotels you already had.
A booking is not a receipt. It is a living order that must survive rechecks, confirmations, schedule changes, cancellations and money moving on different clocks.