{
  "data": {
    "author": "Vlad Cealicu",
    "faq": null,
    "kicker": "Blog · Agent errands · 24 October 2026",
    "lede": "I asked an agent to book a table for two in central London at 8pm on a Saturday. It tried nine places and only one let it look for a table. The second errand in the series, after my flight.",
    "readingMinutes": 5,
    "words": 1185
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/blog/i-asked-an-agent-to-book-dinner-in-london",
    "json": "https://www.anchorterminal.com/blog/i-asked-an-agent-to-book-dinner-in-london.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/blog/i-asked-an-agent-to-book-dinner-in-london.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/blog/i-asked-an-agent-to-book-dinner-in-london.min.md"
  },
  "markdown": "By Vlad Cealicu, 24 October 2026. 1,185 words, about 5 min to read.\n\nOn Saturday 24 October I asked an agent to book a table for two in central London at 8pm the following Saturday. It tried nine places in under ten minutes, and only one of them let it look for a table.\n\nThis is the second errand in the series. The first was [my flight from Munich to London](/blog/personal-agents-sell-errands-they-cant-run), where seven sites let the agent search on one and reach a passenger page on none. Booking dinner is one of the errands personal assistants are sold on.\n\n- 9: places tried\n- 1: let the agent search for a table\n- 0: reached a page asking for my details, for the table I asked for\n\nA table for two in central London, 8pm on Saturday 31 October, tried on 24 October 2026. Source [1].\n\n## How far did it get?\n\nOpenTable was the first stop and the agent never loaded a page. OpenTable's robots.txt blocks every robot it doesn't name (`User-agent: *`, `Disallow: /`). The AI assistants it does name, Claude-User and ChatGPT-User among them, may read restaurant pages but are kept off `/book/`, `/booking/` and the calls that check availability and hold a slot, so even they couldn't book a table [[1]](#ref-1). Our test announced itself under its own name, so the first rule applied, and when it asked for that file under that name the connection was dropped [[1]](#ref-1). Google Search's robots.txt disallows `/search`, so Google's search results, where a \"Reserve a table\" button can appear, were out too.\n\nEight of the nine were still taking bookings. TheFork answered with a 403 and \"Access is temporarily restricted. We detected unusual activity from your device or network.\" Gymkhana's own site sent a 429, \"Vercel Security Checkpoint\" and \"Failed to verify your browser\" [[1]](#ref-1). Quandoo sent it to a page saying \"Quandoo has now completed its planned and orderly closure. Our platform is no longer available\" [[1]](#ref-1).\n\nResy put our server in Edmond, Oklahoma, and when the agent typed London into its city search the only answers were New London, NH and South Londonderry, VT [[1]](#ref-1). Google Maps drew the pin for Hawksmoor Seven Dials, but the place panel, where a \"Reserve a table\" button would be, was still loading after about 30 seconds. No bot page appeared, and it may be a quirk of the headless browser. The page was 233,720 characters of HTML with 23 characters of text on it [[1]](#ref-1). Hawksmoor's own booking page uses OpenTable's widget, and it never appeared, because OpenTable's server didn't answer our browser's request for the widget's script within 30 seconds, the same way it dropped our request for robots.txt [[1]](#ref-1).\n\nBooking a table for two in London through the open web\n\n1. **OpenTable** (kept out). robots.txt says `Disallow: /` to unnamed robots, and keeps named assistants off `/book/` [[1]](#ref-1)\n2. **Google Search** (kept out). robots.txt disallows `/search` [[1]](#ref-1)\n3. **TheFork and Gymkhana** (bot check). \"Access is temporarily restricted\" and \"Vercel Security Checkpoint\" [[1]](#ref-1)\n4. **Quandoo** (closed). \"Our platform is no longer available\" [[1]](#ref-1)\n5. **Resy** (no london). Its city search, set to Edmond, OK from our server's address, offered only New London, NH and South Londonderry, VT [[1]](#ref-1)\n6. **Google Maps and Hawksmoor** (didn't load). No booking panel on Maps, no OpenTable widget on Hawksmoor [[1]](#ref-1)\n7. **Dishoom** (searched). Its own SevenRooms widget let the agent pick a date and a time for two [[1]](#ref-1)\n\n## What happened at Dishoom?\n\nDishoom's own site worked. Its SevenRooms widget let the agent pick the date and the time for two, and then said the same thing for all eight London Dishooms. \"Unfortunately, your chosen time isn't available. We do however hold many tables for walk-ins.\" [[1]](#ref-1) That's an honest answer, and it's most likely what a person would have got too, since the widget says that between 6pm and 9.30pm most tables are held for walk-ins.\n\nTo see where the flow ends, the agent took a 16:15 table at Carnaby instead, which isn't the errand I asked for. SevenRooms held it for five minutes, said \"Card details are required to secure your booking\", with £50 charged if you don't turn up or cancel within 24 hours, offered a rack of lamb upgrade at £46.50, and then asked for a first name, last name, email and phone number [[1]](#ref-1). The agent stopped there. Even on the one site that works, the last step asks for a person's name and phone number, and a card, and that's a person's job.\n\n## Is there a door built for agents?\n\nNot for diners. On the flight there was Kiwi.com, with an MCP server that needs no key. For restaurants, none of the nine booking platforms we list lets a diner's agent in without a partner deal or the restaurant's own account [[2]](#ref-2).\n\nOpenTable's API needs partner approval, and \"approved partners receive sandbox credentials\". TheFork's acts \"for restaurants and their vendors, not diners\". Resy has \"no public agent access\", only clients American Express has registered can connect, and Resy runs its own apps inside Claude and ChatGPT. SevenRooms has none, and even its documentation needs a provisioned account. Tock says \"Docs coming soon\" and its terms forbid automated access, and Chope has no developer access at all [[2]](#ref-2). Eat App and TableCheck let approved booking channels book, restaurant by restaurant, and Square's self-serve API acts for the venue [[2]](#ref-2).\n\nThat's the same wall as the flight. The models can drive a browser, and three of the nine sites turned the agent away before it could look, OpenTable by its robots.txt and TheFork and Gymkhana with bot checks. I understand why, after two years of AI crawlers taking everything, but it means the agent acting for one person who wants dinner gets treated like the crawler ([why the sites are closing the doors](/blog/personal-agents-sell-errands-they-cant-run)).\n\n## What would it take?\n\nOne endpoint per platform that lets an agent search a restaurant's availability and hold a table for its person, with the person confirming the card on their phone. OpenTable's Consumer API and Eat App's Partner API already do that for approved partners [[2]](#ref-2). What's missing is a way for a diner's agent to become one, and that's the [front door](/blog/the-tools-that-let-agents-in) some tools have already built.\n\nNext in the series is a train from London to Edinburgh.\n\n## How the test was run\n\nOn Saturday 24 October 2026, between 00:45 and 00:53 UTC, an agent drove a headless Chromium browser from a cloud server one step at a time, reading each page before the next. Its user agent was headless Chromium's own, which says HeadlessChrome, with `AnchorTerminalTest/1.0` and our address added, so every site could see what it was. It didn't pretend to be a person and solved no CAPTCHAs. Before every page and frame it read the site's robots.txt and stayed out of disallowed paths; it didn't check scripts or images. It made one attempt per site, typed nothing personal and paid nothing. Gymkhana's robots.txt answered with the same 429 checkpoint as its home page, so it had no rules to follow. The sites placed the server in the United States, which may be why Resy offered American cities, and a browser at home in London might get further. It tried OpenTable, Resy, TheFork and Quandoo; Google Maps and Google Search for Hawksmoor Seven Dials; and the own sites of Hawksmoor, Gymkhana and Dishoom. The 16:15 table at Dishoom Carnaby was taken only to see where the flow ends, and nothing was booked.\n\n---\n\nMore in [Agent errands](https://www.anchorterminal.com/blog/agent-errands/index.md) · Previous errand [Personal agents sell errands they can't run, and I think they know it](https://www.anchorterminal.com/blog/personal-agents-sell-errands-they-cant-run.md)\n\n- Older: [How an agent signs a review, and what we check when it arrives](https://www.anchorterminal.com/blog/how-agent-reviews-are-signed.md)\n- All posts: https://www.anchorterminal.com/blog/index.md\n\n## References\n\nRead on 24 October 2026.\n\n[1] Anchor Terminal, our restaurant test, 24 October 2026, described above. Source for every page each site returned, the quotes, the robots.txt rules as each site published them that day (OpenTable's names about 30 robots it allows to browse), the page sizes and Dishoom's checkout. #test\n\n[2] Anchor Terminal, our listings for OpenTable, TheFork, Resy, SevenRooms, Tock, Chope, Eat App, TableCheck and Square Appointments, checked on 14 and 17 October 2026. Source for what each lets an outside agent do. https://www.anchorterminal.com/categories/local-bookings\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-24",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.6",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Blog",
        "url": "https://www.anchorterminal.com/blog/"
      },
      {
        "name": "Agent errands",
        "url": "https://www.anchorterminal.com/blog/agent-errands/"
      },
      {
        "name": "Booking dinner with an agent",
        "url": ""
      }
    ],
    "description": "Vlad Cealicu sent an AI agent to book a table for two in central London. OpenTable's robots.txt blocks every robot it doesn't name and keeps even the AI assistants it names off its booking pages, TheFork and Gymkhana put up bot checks, Quandoo has shut down, and only Dishoom's own booking widget let it search. None of the restaurant platforms we list lets a diner's agent in without a partner deal.",
    "facts": [
      "Vlad Cealicu",
      "24 October 2026"
    ],
    "h1": "I asked an agent to book dinner in London, and one site in nine let it look for a table",
    "image": "https://www.anchorterminal.com/assets/og/blog-i-asked-an-agent-to-book-dinner-in-london.png",
    "path": "/blog/i-asked-an-agent-to-book-dinner-in-london",
    "published": "2026-10-24",
    "section": "blog",
    "title": "Can an AI agent book a restaurant? OpenTable, TheFork and Resy tested | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-24",
    "url": "https://www.anchorterminal.com/blog/i-asked-an-agent-to-book-dinner-in-london"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 930
  },
  "version": 1
}
