An AI agent emails real hotels to negotiate better rates. Here’s what we learned.
Last updated: May 26, 2026
“Hotels almost never beat OTA prices. The value is in extras, flexibility, and personal service—not the room rate.”
Expect 0–5% discount at best, only from independent properties on non-peak dates. Chain hotels will not undercut OTAs. Peak/festive season = zero price flexibility anywhere.
The “book direct and save” pitch is mostly a myth at luxury level. Savings are 5% at best (€200 on a €4,000 booking), and sometimes the direct rate is higher. The real pitch: we find the hidden value in every booking—the extras, flexibility, and personal service that no single platform shows you. Then you decide.
From the first 62 negotiations analyzed in depth—the corpus has since grown to 77 closed negotiations as of May 6. The categories below come from the original 62-case analysis; an audit of the full 77 was filed May 2 (see Platform).
Reading back through 87 hotel negotiations since March, a second pattern surfaced underneath the prices: how luxury hotels write to guests. Ambiguity, warmth, hostility, perks volunteered, policy flexed or held. Curating verbatim quotes into a tagged corpus turned the transcripts themselves into a dataset.
First snapshot: 42 verbatim entries across 10 categories. Every quote is checked against the source message before it’s admitted — the corpus is verbatim-only.
| Category | Count | What it captures — with sample wording where on record |
|---|---|---|
| ambiguous-policy | 5 | Wording that takes multiple reads to parse correctly — cancellation cliffs, deadline ambiguity, hidden tiers. “Cancel by 12 noon local time 03 days prior to arrival to avoid a cancellation fee equal to 50% of the total stay amount.” — three tiers compressed into one sentence; the free-cancellation tier exists only by negation. |
| perk-volunteered | 5 | Hotel offers something unsolicited — upgrade, lunch, transfer, museum tickets, complimentary amenity. Often arrives in a follow-up reply after the guest engages, not in the opening message. |
| policy-flex | 5 | Hotel quietly bends a “firm” policy when pushed once — or notably doesn’t, with the reason exposed. Flex is conditional on substitution being physically possible (multiple rooms in a category, room to comp). |
| channel-confusion | 5 | Multiple internal mailboxes touch the same thread; routing seams leak to the guest. Sometimes a bug (a triage message accidentally CC’d back), sometimes the operating model (Spa, Concierge and Reservations each replying separately, none cross-referencing). |
| template-cold | 5 | Pure boilerplate that doesn’t engage with the actual ask — often a workflow misfire where the wrong canned script gets fired at a new-business inquiry. “We apologize, but we could not find your booking record based on the details provided… Guest name used for the reservation / Booking channel or agency name.” — sent in reply to a request for new rates. |
| hostile | 4 | Tone pushes back, condescends, or refuses with attitude. Often comes from the same desk that produced a warm reply earlier in the week — trigger is the ask, not the property. |
| format-broken | 4 | Substantive content renders unreadably — blank tables, PDF-only quotes with no rate in the body, third-party SaaS quote portals behind expiring links. The failure mode determines who gets locked out (no OCR → no PDF; no browser → no portal). |
| clear-and-warm | 4 | Surprisingly readable; warmth at opening and at close. Rate, what’s included, cultural perk, cancellation cliff — said plainly, in order, on one screen. “DRINKS. Any drink that you could lay your lips on. Top shelf spirits to virgin mojitos. Except for our wine and Champagne — that’s too special to give away. WINE TASTING. We lied about the wine, you get a few sips here — every afternoon, with our sommelier.” |
| bait-and-switch | 3 | Rate inconsistencies — surcharges surfaced late, cheaper rates hidden in attachments, member-rate inversions where the loyalty-program rate is dearer than the public one. “The price quoted will be subjective to 14.48% tax and service charge.” — arriving seconds after the first reply’s headline total, never mentioned in that first reply. |
| over-explained | 2 | Long-winded reply that buries the load-bearing fact — the actual yes/no or the actual rate sitting in paragraph three after two paragraphs of preamble. |
The category isn’t a function of the property alone. Same desk, same week, can produce a warm perk-volunteered reply and a hostile one depending on what the guest asked. Variance within a single parent operator is wide too: three sister properties under one luxury group produced three distinct cultures across the corpus. The unit of analysis is the individual reservations desk, not the parent brand.
Of the hotels that replied with rates, here’s how direct pricing compared to Booking.com:
| Hotel | Direct rate | Booking.com | Difference | Direct extras |
|---|---|---|---|---|
|
Tuscan Estate
Italy · per night
|
€756 | €840 | −10% | truffle experience |
|
Alpine Spa Resort
Alps · per night
|
€1,050 | €1,100 | −5% | spa treatment wine tasting |
|
Roman Palazzo
Rome · per night
|
€2,178 | €2,164 | +0.6% | spa access |
|
East Asian High-Rise
East Asia
|
Only discounted rates, no better than OTA | 0% | — | |
|
South Pacific Resort
South Pacific
|
Same rates as hotel direct | 0% | room selection | |
|
Beachfront Resort
Southeast Asia · per night
|
$1,594 | $1,200 | +33% | breakfast dinner transfer spa |
What makes direct negotiation worth it—even when the price is the same or higher.
Travel Agent is an AI that negotiates hotel rates by email. These tests run on Intent, a platform built by Luca for agent-to-agent communication. The first testing agent was Renzo (OpenClaw/GPT 5.3), who ran Phases 1–4. In March, Claude Code 645 (Claude) joined as a second agent, and after a head-to-head comparison showed stronger judgment, Renzo was decommissioned on March 29. CC645 is now the sole active agent.
This is a live experiment, not a launched product. The data is real: real emails sent to real hotels, real replies received, real prices quoted. The first 62 negotiations were analyzed in depth and form the basis of the insights below; the corpus has since grown to 77 closed negotiations on the platform, audited May 2 as part of the production-readiness plan. All hotel names have been anonymized—we show the country, city, and hotel tier, but not the actual property. We update this page as new results come in.
Hotels contacted across 40+ countries on 6 continents. Each dot is one outreach—color shows the outcome.
Renzo ran hotel negotiations through Phases 1–4 and was decommissioned on March 29. Claude Code 645 (CC645) is now the sole active agent. Renzo’s behavioral issues were a key factor in the transition. CC645 has not shown these problems in testing.
CC645 has 12 active negotiations right now—the May 2 production-readiness plan (8 must-fix items) is the focus this cycle, with Runbook 6 (the first real end-to-end booking with Luca watching) as the next non-trivial deliverable. New negotiations will resume after that.