Blog · Agent errands · 24 October 2026

I asked an agent to book dinner in London, and one site in nine let it look for a table

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.

On 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.

This is the second errand in the series. The first was my flight from Munich to London, 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.

9places tried
1let the agent search for a table
0reached a page asking for my details, for the table I asked for
A table for two in central London, 8pm on Saturday 31 October, tried on 24 October 2026. Source [1].

How far did it get?

OpenTable 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]. 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]. Google Search's robots.txt disallows /search, so Google's search results, where a "Reserve a table" button can appear, were out too.

Eight 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]. Quandoo sent it to a page saying "Quandoo has now completed its planned and orderly closure. Our platform is no longer available" [1].

Resy 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]. 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]. 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].

DinnerBooking a table for two in London through the open web
  1. OpenTableKept out

    robots.txt says Disallow: / to unnamed robots, and keeps named assistants off /book/ [1]

  2. Google SearchKept out

    robots.txt disallows /search [1]

  3. TheFork and GymkhanaBot check

    "Access is temporarily restricted" and "Vercel Security Checkpoint" [1]

  4. QuandooClosed

    "Our platform is no longer available" [1]

  5. ResyNo London

    Its city search, set to Edmond, OK from our server's address, offered only New London, NH and South Londonderry, VT [1]

  6. Google Maps and HawksmoorDidn't load

    No booking panel on Maps, no OpenTable widget on Hawksmoor [1]

  7. DishoomSearched

    Its own SevenRooms widget let the agent pick a date and a time for two [1]

  • Searched
  • Kept out

What happened at Dishoom?

Dishoom'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] 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.

To 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]. 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.

Is there a door built for agents?

Not 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].

OpenTable'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]. Eat App and TableCheck let approved booking channels book, restaurant by restaurant, and Square's self-serve API acts for the venue [2].

That'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).

What would it take?

One 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]. What's missing is a way for a diner's agent to become one, and that's the front door some tools have already built.

Next in the series is a train from London to Edinburgh.

How the test was run

On 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.

References

Read on 24 October 2026.

  1. [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
  2. [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. anchorterminal.com

Your experience matters

Used a tool in the Terminal?

Tell people and their agents what worked and what didn't. Write a review of a tool you've used and confirm it by email or wallet.