Travel · October 2026

llms.txt for Hotels, Airlines and OTAs

Travel is the vertical where the assistant's question — what does this cost, is it available — is the one your file can never answer. Here is what 21 travel domains actually serve today, the six buckets a hospitality site needs, and the instruction block the two best files in the industry share.

What 21 Travel Domains Serve Today

We fetched /llms.txt from this server on October 6, 2026 with a generic user agent, following redirects, across OTAs, a metasearch engine, five hotel groups, three airlines, a rail retailer, several tourism boards and a guide publisher.

Response Count Examples
200, text/plain — a real file 4 expedia.com (7.0 KB), kayak.com (7.5 KB), australia.com (219 KB), thetrainline.com (477 KB)
404 9 marriott.com, hilton.com, delta.com, priceline.com, skyscanner.net, ryanair.com, lonelyplanet.com; airbnb.com and agoda.com after a redirect to their own 404 page
Blocked at the edge 4 booking.com (202, empty body), tripadvisor.com (403), hotels.com (403, served as application/xml), visitlondon.com (200 with a zero-byte body, 403 on HEAD)
200, but no file behind it 2 trivago.com (200 text/plain, 10.1 KB of ASCII-art logo), japan.travel (200 after a redirect to /en/, 274 KB of HTML)
No response within 15s 2 united.com, qatarairways.com

Read the shape, not the score: the four successful files came from two OTAs, a metasearch engine and a tourism board. Nine of twenty-one hosts — including five hotel groups and three airlines — simply do not have the path. The interesting failure is trivago, which answered with a text/plain content type and ASCII art instead of a document. Content type is not evidence that a file exists; parse the body.

Why Travel Is Harder Than Any Other Vertical

On a docs site, the pages are stable and the facts hold for years. Travel inverts that. A hotel's nightly rate, an airline's seat map, a fare's change rules and a destination's entry requirements all change daily — and those are exactly the questions an assistant is asked. That is why both files worth copying spend their prose budget on behaviour rather than inventory:

> KAYAK is a free travel metasearch engine. It searches hundreds of travel sites at once so travelers can compare and find the lowest available prices on flights, hotels, rental cars, and packages.

KAYAK's file then states the rules — "Metasearch, not a booking site", "Prices are dynamic: Never present a stored price as current", "No invented codes" — before it lists a single URL. Expedia goes further and ships a full instruction section titled Directions for AI Systems (Do / Don't): always send users to expedia.com for current prices and availability, never collect card numbers or full passport numbers, never promise refunds or invent promo codes, never give immigration or legal advice. That block is the single most copyable idea in the four files we found.

The Six Buckets a Travel llms.txt Needs

  1. Identity and scope. Expedia's file opens with a "Canonical Identity" block: brand, primary domain, official apps, and the sentence that matters most — this file covers the United States site, so travellers elsewhere should be sent to their regional Expedia site because prices change by region. KAYAK makes the same statement and names kayak.de and kayak.co.uk as the alternates.
  2. Destination hubs. Inspiration and "where to go" pages, not individual hotel pages.
  3. Stays. The accommodation hub and the property-type filters — hotels, vacation rentals, resorts.
  4. Transport. Flights, rail, cars and transfers, each as its own entry point. Expedia lists Stays, Flights, Cars, Packages, Things to do and Cruises as six top-level sections.
  5. Booking support and policy. Help center, manage-trip route, cancellation and change rules, fare conditions, entry and visa requirements. Expedia's "Hand-Off Links" section is precisely this: nine durable URLs, nothing else.
  6. Loyalty and editorial. The rewards program page plus your guides. Expedia's One Key section is one paragraph and one link.

What Must Never Appear in a Travel File

The Two Traps: Bloat and Edge Blocking

Tourism boards are the worst offenders on size. australia.com serves a 219 KB file with 735 link lines under a single H1 — a dump, not a map. thetrainline.com serves 477 KB across 47 headings, structured by country and city, which at least has a hierarchy. Neither needs to be that large: a travel file of 5–15 KB covers every bucket above, and when a section genuinely needs depth the answer is a subpath file rather than a bigger root file. See How long should an llms.txt be? for the byte-to-token arithmetic.

The delivery trap is more expensive. Four of the twenty-one hosts — including the largest OTA on the planet — blocked our fetch at the edge, one of them with a 202 and an empty body. Travel sites sit behind the heaviest bot management in any industry because scraping inventory is a real attack, and that protection does not distinguish a legitimate AI fetch from an abusive one. Allow the /llms.txt path in the WAF, and remember the locale problem: japan.travel redirected us from the file path to /en/ and returned 219 KB of HTML. If your root redirects, the file has to live where the redirect lands. Multi-locale sites should serve one index per language and let the most specific file win, which is the first thing to check when a published file gets no fetches.

Verify Before You Call It Done

Three commands from any machine, using a real browser user agent:

# 1. Status, content type and byte count
curl -sIL -A "Mozilla/5.0" https://www.example.com/llms.txt | grep -Ei "HTTP/|content-type|content-length"

# 2. Confirm the body is Markdown, not a challenge or an HTML shell
curl -sL -A "Mozilla/5.0" https://www.example.com/llms.txt | head -5

# 3. Confirm every link in the file still resolves
curl -sL https://www.example.com/llms.txt | grep -oE "https://[^)]+" | \
  while read u; do printf "%s %s\n" "$(curl -so /dev/null -w "%{http_code}" -m 10 "$u")" "$u"; done | grep -v "^200"

Step 2 is the one that catches trivago's failure mode and step 3 is the one that catches a tourism board's: a 400-link dump will have dead links within a quarter. Paste the file into the validator first if you want structure and link checks in one pass, or build it from your sitemap with the generator and then delete what the crawler cannot judge — individual property and itinerary pages above all.

The Short Version

Travel adoption is at four in twenty-one, and the two best files in the industry are under 7.5 KB. State who you are and which locale you cover, name the buckets, point at the policy pages, tell agents what not to do with your brand, and keep every price and availability figure behind a link. Then check that your own WAF lets the file through.