Every Saturday at 1pm, an AI voice agent picks up the phone and calls 50 of London's best restaurants. It asks one question: "Hi there, if I popped in now, would there be much of a wait?"
Then it listens. And what it hears is fascinating.
The Queue Index is a new dataset that nobody else collects. OpenTable tracks reservations. Google tracks reviews. Nobody tracks what happens when you just show up. The walk-in wait time is the purest measure of real-time demand at a restaurant, and until now it existed only in the heads of the people standing outside.
This is the story of Week 1. What worked, what broke spectacularly, and the ten things I did not expect to learn.
The quotes are the product
Let me start with what matters most, because it surprised me most. The numbers are interesting. The quotes are extraordinary.
That is Noble Rot in Bloomsbury. Not a scripted response. Not a booking system confirmation. A real human being, on the phone, offering you a glass of wine while you wait. That single sentence tells you more about Noble Rot's hospitality philosophy than any review ever could.
Or Tayyabs in Whitechapel, who responded to our AI's question about walk-in waits by giving it walking directions to the restaurant: "Just run that way on the left. Yeah? Turn to the left over here. Downstairs." They assumed we were already on our way. No wait. Just come.
Or the staff at The Paradise in Kensal Green, who answered "sure you can come in" immediately, then asked for a name to hold a table. When the AI could not answer fast enough, they said: "I already say yes. Can I know your name, please?" The impatience of someone who has already given you what you wanted.
These moments are not data points. They are character studies. Every restaurant reveals its personality in 15 seconds on the phone, and no other dataset captures that.
23% to 69%: the power of iteration
The first run at 1pm hit 56 restaurants. Ten answered with useful information. That is a 23% success rate. Not great.
But here is where it gets interesting. Those 10 "successes" were actually understated. The AI classifier I built to analyse call transcripts was marking calls as "failed" when a human had clearly answered and given us information.
Same story at Franco Manca Brixton. Staff answered and said "Be soon" meaning walk right in. Call was short. Classifier said failed. But "be soon" is a complete answer.
After rewriting the classifier to be more generous, and running a second wave of calls in the evening with an improved agent prompt, we reached 29 out of 42 unique venues with real data. A 69% success rate. Three times the initial number, from the same infrastructure, in the same day.
AI callers need social skills
The most humbling lesson was watching our agent fail at being human. Not at the technical parts. At the social ones.
At Trullo in Highbury, staff picked up and asked "your name?" The agent panicked and said "I will try again later, bye." Hung up. The staff were about to give us an answer. They just wanted a name first.
At The Paradise, the same thing happened in reverse. The human said yes immediately, but the agent kept asking the question because it did not recognise "sure you can come in" as the answer it was looking for.
The fix was not technical. It was social. Teach the agent to say "Sam" when asked for a name. Teach it to wait when someone is mid-sentence. Teach it to recognise that "sure" means yes. These are things a five-year-old knows. An AI voice agent has to be taught them explicitly.
The Dishoom discovery
Seven of our 50 restaurants are Dishoom locations. All seven played exactly the same automated phone message: walk-ins welcome for groups under six after 6pm, reservations for any group size until 6pm.
That is a finding. Not because the policy is surprising, but because its uniformity is. Seven locations, one identical IVR message, one centralised walk-in policy. It tells you something about how Dishoom operates as a chain: the walk-in experience is standardised, not left to individual managers.
We do not need to call Dishoom every week. We need to monitor whether that IVR message changes, which would signal a policy shift. That is more valuable than a weekly wait time.
Timing is everything
We called River Cafe at 1pm. Nobody answered. We called again at 6pm. "The restaurant is closed right now, sir. We open at six PM." We had called during the gap between lunch and dinner service. The phone was not being ignored. Nobody was there.
Same story at Trullo. Same story at The Barbary, Berenjak Soho, and Sessions Arts Club, all of which are dinner-first restaurants that do not staff phones at 1pm on a Saturday.
The evening retry at 6pm caught seven additional restaurants that had been unreachable at 1pm. The lesson: a single call time is a design choice that excludes certain types of restaurant. Next week, the pipeline runs three waves: lunch venues at 12pm, the main batch at 1pm, and dinner restaurants at 6pm.
Phone ghosts are data
I initially treated voicemail and automated messages as failures. No human, no data. But that is wrong.
Caravan Exmouth Market's automated system says: "We welcome walk-ins with open arms, so pop along and we'll get you seated as soon as we can." That is a walk-in policy, delivered by a machine. It counts.
A restaurant that redirects you to a website is telling you something about how it values spontaneous diners. A restaurant that plays hold music for 45 seconds and then connects you is telling you something different. The phone experience itself is data about the restaurant's relationship with its customers.
Everything broke. Everything recovered.
The pipeline failed in a way I did not anticipate. Our server processed all 83 transcripts, saved the results file, and then the hosting platform restarted the container. The file vanished. Ephemeral storage. The GitHub Action that was supposed to fetch the results found nothing.
But the raw conversations were permanently stored in ElevenLabs' API. I wrote a recovery script that pulled every conversation from the day, matched them to restaurants by timestamp, and reprocessed them locally. Every data point was recoverable. The architecture was fragile, but the data was not.
The fix was structural: move all transcript processing out of the server entirely. The server now only makes calls. A separate system fetches the raw data and processes it. No dependency on ephemeral storage.
Week 1 by the numbers
42 unique venues contacted. 29 with real data. 9 with specific wait times. 7 with zero wait. E. Pellicci in Bethnal Green had the longest queue at 25 minutes. Noble Rot Soho was fully booked. The Quality Chop House: no tables all day. The average wait across restaurants that reported one: 4 minutes.
Three call runs across the day. The agent prompt was rewritten twice. The classifier prompt was rewritten twice. One major architecture change. Six pipeline failures caught and fixed. And 10 genuinely funny, surprising, or revealing quotes from real restaurant staff talking to an AI they did not know was an AI.
What is next
Week 2 runs next Saturday with staggered call times, the improved agent prompt, and a hardened pipeline that does not depend on ephemeral storage. The six remaining unreachable venues get manual phone number verification. The Dishoom IVR policy gets hardcoded.
And every week, the dataset grows. Week over week trends. Seasonal patterns. Weather correlations. The Queue Index is not a snapshot. It is a time series, and the interesting part has not started yet.
See the live data at thequeueindex.com. Updated every Saturday.