Most of what gets written about AI phone agents is about how natural they sound. Fair enough, that’s the bit people notice. But if you run a takeaway, the voice isn’t what costs you money. A wrong order does. If you want the running-cost side first, we covered it in what an AI phone receptionist costs to run. This piece is about getting the order right.
What a takeaway phone call actually has to do
Picture ten past seven on a Friday. The phone rings while the kitchen is mid-rush. Whoever answers has to know the menu and the prices, take each item with its size or spice level, cope with “actually, make that two”, work out whether you deliver to that address, get a name and a number, sort out how they’re paying, catch any allergy, and then pass all of it to the cooks in a form they can read at a glance.
That’s a lot more than a chatbot with the menu pasted in. It’s a small ordering system that happens to be spoken out loud, which is why a voice agent for a restaurant is a different job from a voice agent that answers for, say, a dental practice.
Where voice AI slips on orders
Speech recognition is rarely the weak link now. The slips come from the language model itself, which is fluent and confident and occasionally wrong in small ways. Here are the ones I built the demo to catch:
| What happens on the call | What can go wrong | What the check does |
|---|---|---|
| Caller asks for a dish you don’t sell | The AI says yes and makes up a price | Rejects it: not on the menu |
| “A pepperoni” with no size | The kitchen gets an order with no size | Rejects it: size is required |
| Four items, quick mental sums | The total is a pound or two out | Recalculates every price from the menu |
| Postcode heard wrongly | A delivery outside your area is accepted | Checks the postcode is real and in your delivery area |
| “And a beer” | Alcohol sold with no age check | Needs an over-18 confirmation and flags ID on the ticket |
| “I’m allergic to nuts” | Lost between the phone and the kitchen | Flags the ticket so staff confirm before cooking |
None of these is exotic. Each one is a ticket a kitchen would have happily cooked.
Let the AI talk, let code decide
The fix isn’t a cleverer AI. It’s a different split of the work. In my build the AI never “sends” the order. It fills in a structured form (which items, how many, which options) and calls a function, which is how modern language models are set up to trigger actions; OpenAI’s function-calling guide explains the mechanism. That function is ordinary code running on a small server, in this case a Cloudflare Worker.
The code checks the order against the menu data. If everything is valid, it emails the kitchen ticket and tells the AI to read out the order reference. If something is wrong, it sends back a plain-English reason, like “pepperoni pizza needs a size: 10, 12 or 14 inch”, and the AI asks the caller to choose. The caller just hears a normal question.
It’s the same lesson as in our piece on AI accuracy scores that mislead: a system that is right most of the time can still fail in exactly the places you care about. Conversation is what the model is good at. Arithmetic and rules are what code is good at. Use each for its own job.
The UK bits that matter
Allergies. The Food Standards Agency lists 14 major allergens that food businesses have to be able to tell customers about, and its allergen guidance for food businesses also covers food sold at a distance, such as by phone or online. Check the current guidance for your own business. In the demo, the agent may read out the allergens listed for a dish, but it is told never to say a dish is “safe” or “free from” anything. If a caller mentions an allergy, it goes on the ticket for staff to confirm before cooking.
Alcohol. If an order includes a drink that is over-18 only, the agent asks the caller to confirm their age and the ticket tells whoever hands it over to check ID. Checking ID at handover is common UK practice, and a phone agent shouldn’t be the thing that skips it.
Postcodes and phone numbers. UK postcodes are easy to mishear. The demo checks the format, confirms the postcode exists using the free postcodes.io lookup, then checks it against the delivery area. Phone numbers get a format check too, and the agent reads them back digit by digit.
Card payments. A voice AI shouldn’t take card numbers. In the demo, a caller who wants to pay by card is handed to a member of staff. On the browser demo that means an emailed callback request; on a real phone line it would be a live transfer.
Telling people it’s an AI. The first thing the agent says is that it’s an AI assistant and the call may be transcribed. It’s worth checking your privacy notice covers that.
What I built to test this
The demo is a fictional takeaway called Demo Kitchen, selling pizza, kebabs, curries and Chinese dishes: 31 menu items, with sizes, spice levels and extras. It runs as a call in the browser using Vapi for the voice, with the Cloudflare Worker doing the checking. It takes pickup and delivery orders, books tables (and turns down times outside opening hours), and emails the owner a ticket plus a transcript and summary after each call.
I wrote 25 automated tests for the checking code. They cover the table above plus delivery minimums and fees, bad phone numbers, oversized table bookings and the card-payment and allergy flags. Here’s what a ticket looks like:
What it doesn’t do yet
Being straight about the limits matters more than the feature list.
It runs in a browser tab, not on a real phone number. A UK number needs a regulatory bundle approved first, and until then there’s no live call to transfer. It isn’t connected to any till or EPOS system, so orders arrive by email. The menu, prices and allergen data are all invented. And I’m still testing it on live calls. A test suite on the checking code isn’t the same as a real restaurant on a Friday night, so treat this as a design write-up, not a results report.
A checklist before you buy or build one
If a supplier pitches you an AI phone agent for a restaurant, these are the questions I’d ask:
- Is the order checked by code against my real menu, or does the AI just “remember” it?
- What happens with a dish I don’t sell, or a pizza with no size?
- Does it ever take card numbers? (The answer should be no.)
- What does it do when a caller mentions an allergy?
- How does a person take over, and does that need a phone number set up first?
- Can I read the transcript and summary of every call?
- Is there a hard monthly spend cap? Our per-minute cost breakdown explains why that matters.
How Pivot Bureau thinks about it
This restaurant demo is a proof of how I’d build one, not a product on the shelf. What we do offer is an AI receptionist that answers and captures leads for small businesses, and you can hear our own voice receptionist on that page. For the wider picture of where this fits, see beyond the chatbot: agentic AI for small business growth and what an AI receptionist costs in the UK.
If you run a takeaway and want to talk through whether something like this would suit you, get in touch. I’ll tell you honestly if it isn’t worth it yet.