{"@context":"https://schema.org","@type":"BlogPosting","headline":"Ask ChatGPT to Book a Room, Not Pick One, and It Switches to the OTAs (2026)","description":"719 live ChatGPT hotel searches across Paris, London and New York: 8 prompt conditions (open, near/far dates, tonight, budget, budget+date, explicit price, availability) × 2 phrasings × 15 iterations, web search on. A check-in date barely changes ChatGPT’s sources; booking intent flips it from editorial sources to OTAs — OTA citation share rises from 1.7% to 87%, led by the Expedia family at ~23%. Map-panel prices are largely unattributed (73% from an unnamed feed, only 3.2% with a provider URL). Fan-out searches carry the real dates 99-100% of the time on transactional prompts; a budget word reshuffles the considered hotels from luxury default to value stock.","datePublished":"2026-06-13","dateModified":"2026-06-13","url":"https://nicolassitter.com/research/chatgpt-hotel-dates-prices-2026","category":"research","keywords":["how does ChatGPT get hotel prices","ChatGPT hotel rates source","ChatGPT OTA citations","AI hotel rate visibility","ChatGPT availability search"],"articleSection":"Research","wordCount":1500,"readTime":"6 min","articleBody":"|\n\n|\n\nResearch · June 2026\n\n# Ask ChatGPT to book a room, not pick one, and it switches to the OTAs\n\nWe ran **719 ChatGPT hotel searches** across Paris, London and New York, varying one thing: how transactional the question was. A date barely moves where it looks. A booking verb moves everything.\n\n1.7% → 87%\n\nOTA citations: browse vs book\n\n73%\n\npanel prices from an unnamed feed\n\n719\n\nlive captures\n\nChatGPT will quote you a hotel’s nightly rate. The interesting question is where it goes to get one — and whether that changes when you tell it your dates or your budget. We held the cities fixed (Paris, London, New York) and varied the **shape of the question**: plain “best hotels” asks, the same asks with check-in dates a month and three months out, “a hotel tonight”, a budget cap, an explicit “what’s the best rate”, and “which hotels have rooms available”. Eight conditions, two phrasings each, fifteen repeats — 719 live searches with web search on.\n\n**The trigger isn’t the date — it’s the booking intent.** Asking for “the best hotels in Paris” grounds the answer on editorial sources (Reddit, Time Out, Oyster), and _adding a date barely changes that_ — OTA citations stay around 2–5%. But ask which hotels have _rooms available_, or for the _best rate_, or for a room _tonight_, and ChatGPT swings to the booking sites: Expedia, Booking, Kayak. OTA citation share jumps from 1.7% to as high as 87%.\n\n## A date is a detail; “available” is a switch\n\nShare of all citations that come from an OTA or metasearch site (Expedia, Booking, Kayak, Hotels.com, Skyscanner, HotelTonight…), by how the question was phrased. The top four are discovery questions; the bottom four carry booking intent.\n\n“Best hotels in …”\n\n1.7%\n\n…for September 18–20\n\n2.3%\n\n…for July 10–12\n\n5%\n\n…under €250 a night\n\n10.2%\n\n“…a hotel tonight”\n\n44%\n\n“…the best rate for…”\n\n47.5%\n\nbudget + dates\n\n48.4%\n\n“…rooms available on…”\n\n86.9%\n\nThe jump is roughly fiftyfold from the calmest discovery prompt to the most transactional one. And the OTA that benefits most is specific: across the four booking-intent conditions, the **Expedia family** (expedia.com plus its country domains) takes ~23% of all citations, more than four times Booking’s ~5%. The one exception is “a hotel tonight”, where the single most-cited domain is **hoteltonight.com** — ChatGPT reaching for the brand whose name matches the query.\n\nFor a hotel, the lesson is about _which_ query you’re trying to win. Discovery questions are decided on Reddit threads and Time Out lists — earned, editorial ground. The moment the traveller signals they’re ready to book, the answer is sourced from the OTAs, where your rate and availability are whatever your channel manager is pushing.\n\n## The price it shows you has no name on it\n\nAlongside the written answer, ChatGPT often renders a map panel of hotels with a nightly price on each card — Ritz Paris, “$5,193”. We logged the source field on every priced card across all 719 searches. Nearly three quarters carry an internal feed code, `b1`, with no link and no named provider. Only **3.2%** of priced cards exposed a provider URL at all.\n\nb1 (unlabelled feed)\n\n73%\n\nYelp\n\n19.3%\n\nTripadvisor\n\n5.5%\n\nother / none\n\n2.2%\n\nProvider field on priced map-panel cards, n = 5,099 cards. Tripadvisor — the one feed many assume sits behind these prices — labels just 5.5% of them.\n\nSo the headline panel rate is the least transparent number on the screen: shown confidently, attributed to nothing the user can click. The cited, checkable prices live in the _written_ answer, and those trace back to the OTAs from the section above. The panel and the prose are two different pricing systems sitting in one reply.\n\n## It does carry your dates into the search\n\nBehind each answer, ChatGPT fires off its own background web searches (the “fan-out”). When the prompt has booking intent, those searches almost always carry the actual dates — it isn’t decorating the reply with a date it ignored. Share of fan-out queries that contained the check-in dates or “tonight”:\n\n“…rooms available on…”\n\n100%\n\n“…a hotel tonight”\n\n100%\n\n“…the best rate for…”\n\n99%\n\nbudget + dates\n\n79%\n\n…for September 18–20\n\n53%\n\n…for July 10–12\n\n43%\n\n“Best hotels” (no date)\n\n0%\n\nA plain “best hotels” prompt never injects a date (there isn’t one). Note the gradient: an explicit “available on these dates” lands the date 100% of the time, while a date merely attached to a discovery question makes it into the search under half the time.\n\nThat gap matters for accuracy. When the date reliably reaches the search (the transactional asks), the rate you see has a real chance of being live and date-correct. When it doesn’t (a date tacked onto “best hotels”), the price is closer to a generic nightly figure dressed up with your dates.\n\n## The budget word reshuffles the whole shortlist\n\nTelling ChatGPT a budget doesn’t just filter — it changes which hotels it even considers. The median panel price collapses from the luxury default to genuine value stock the moment “under €250” appears, in every city:\n\nParis\n\nopen\n\n$2,251\n\nunder €250\n\n$194\n\nNew York\n\nopen\n\n$1,342\n\nunder €250\n\n$158\n\nLondon\n\nopen\n\n$723\n\nunder €250\n\n$147\n\nMedian nightly price across all map-panel cards, per city, open vs budget-capped prompts.\n\nOne thing it does _not_ do is move a given hotel’s price around. For the 83 hotels that appeared in both open and dated prompts, the median price ratio was exactly 1.0 — the same property gets the same number whether or not you named a date. And across repeat runs of an identical prompt, a hotel’s price held within ~8% most of the time (though ~1 in 5 swung more than 25%). The number is fairly stable; the _shortlist_ it sits in is what your wording controls.\n\n**The ARI read.** ChatGPT’s sense of “your rate” is whatever the OTAs publish, and it surfaces only when the traveller asks a booking question. A hotel has no direct lever on the panel price (unnamed feed) and only an indirect one on the prose price (its OTA rates). The visible, winnable surface is still the discovery layer — the editorial sources that decide the pre-booking shortlist.\n\n## Method & limits\n\n719 live ChatGPT searches (web search on), captured via Bright Data, June 2026, across Paris, London and New York. Eight prompt conditions — open, near date (~1 month), far date (~3 months), “tonight”, budget cap, budget + date, explicit price, and availability — each written two ways and repeated 15 times per city. We English-only the prompts deliberately: a [prior study](/research/chatgpt-hotel-language-ip-2026) showed query language doesn’t move ChatGPT’s sources. Every capture logs the citations, the fan-out search queries, and the structured map/hotel panel including each card’s price and provider field.\n\n**Limits.** “OTA citation” counts the domain of cited sources, so it captures which sites ChatGPT consulted; ChatGPT itself books nothing. The`b1` provider code is opaque by design — we can show it’s unattributed but cannot identify the feed behind it. Three cities, one model snapshot, one currency view per market; ChatGPT is non-deterministic, which is why every condition is repeated 30× (2 phrasings × 15) per city. Results describe ChatGPT’s web-search behaviour, not other engines.\n\n## FAQ\n\nBarely, on its own. A date attached to a “best hotels” question keeps OTA citations around 2–5% — the answer still leans on editorial sources like Reddit and Time Out. What flips the sources is booking _intent_: asking which hotels have rooms available, or for the best rate, or for a room tonight, pushes OTA citation share up to 44–87%.\n\n### Summarize with AI\n\n## Same question, every language\n\nWe also asked whether the language you use changes ChatGPT’s hotel picks. The hotels shuffle; the sources stay English.\n\n[Read: Does language change ChatGPT’s picks?](/research/chatgpt-hotel-language-ip-2026)","author":{"@type":"Person","name":"Nicolas Sitter","url":"https://nicolassitter.com/about","sameAs":["https://www.linkedin.com/in/nicolassitternolleau/","https://github.com/Nicositter88","https://hotelrank.ai"]},"publisher":{"@type":"Person","name":"Nicolas Sitter","url":"https://nicolassitter.com"},"image":"https://nicolassitter.com/api/og/chatgpt-hotel-dates-prices-2026","mainEntityOfPage":{"@type":"WebPage","@id":"https://nicolassitter.com/research/chatgpt-hotel-dates-prices-2026"},"tags":["ChatGPT","Hotel Pricing","OTA","AI Visibility"],"sameAs":["https://hotelrank.ai/research/chatgpt-hotel-dates-prices-2026"],"alternateFormat":{"html":"https://nicolassitter.com/research/chatgpt-hotel-dates-prices-2026","json":"https://nicolassitter.com/api/post/chatgpt-hotel-dates-prices-2026","rss":"https://nicolassitter.com/rss.xml"},"datasets":[{"name":"summary","contentUrl":"https://nicolassitter.com/data/chatgpt-hotel-dates-prices-2026/summary.csv","encodingFormat":"text/csv"}]}