Illustrative example. This scenario reflects the kind of project we deliver. It does not describe a named client, and details have been generalised.
Challenge
The company negotiates hotel rates for corporate clients and sells packages to leisure travellers across Brazil, Mexico, Colombia and Chile. To negotiate well and price packages competitively, it needed to know what public rates hotels were offering through online travel agencies and hotel websites in each city.
Its analysts had been collecting rates by hand for a small set of hotels. The results were hard to compare. Rates were shown in different currencies depending on the site and market, some included taxes and fees while others added them at checkout, and room names varied widely for what was essentially the same room category.
Approach
We agreed a rate-shopping design with the client's commercial team. It covered a defined set of hotels in São Paulo, Rio de Janeiro, Mexico City, Cancún, Bogotá, Medellín and Santiago. For each hotel we captured rates for a grid of check-in dates ahead, for one-night and three-night stays, for one and two adults. Collection was scheduled at the same local time each day to keep comparisons consistent.
Rates were captured in the currency displayed and normalised to local currency, BRL, MXN, COP and CLP, and to US dollars using a documented daily reference rate. For each rate we recorded whether taxes and fees were included and, where the final price was only shown later in the booking flow, captured it as a separate field. Room names were mapped to standard categories, such as standard double or superior king, with the original name retained. Board basis and cancellation terms were captured because they significantly affect comparability.
Only public rates visible without logging in were collected. Member-only and loyalty rates were excluded, and the terms of each source were reviewed before collection.
What we delivered
- A daily rate feed for the agreed hotels, dates and occupancies, delivered by API and as a daily file.
- Rates in local currency and US dollars, with tax status and fees recorded separately.
- Standardised room categories, board basis and cancellation policy fields.
- A parity view showing where the same room and date were offered at different rates across channels.
- Automated checks for missing hotels, implausible rates and currency mismatches.
| Field | Example |
|---|---|
| City | Bogotá |
| Check-in | 2026-09-14, 3 nights, 2 adults |
| Room category | Standard double (original: Habitación Estándar Doble) |
| Rate displayed | COP 1,245,000 total, taxes included |
| Board and cancellation | Breakfast included, free cancellation |
| Source | OTA B |
Outcome
The commercial team moved from occasional manual checks to a consistent daily view of the market in every city it serves. Negotiations with hotels are now supported by comparable rate evidence across channels and dates, and package pricing can be reviewed against current market rates rather than last season's assumptions. Normalising taxes and room categories removed much of the manual adjustment analysts previously made before any comparison was possible.
The company has since asked to extend coverage to additional cities and to track seasonal rate patterns around major holidays in each market.
