AI Voice Ordering for Restaurants: The Six-Beat Turn Script That Actually Takes the Order
Every vendor page leads with an accuracy percentage. Accuracy tells you the order was understood. It does not tell you the order closed, or that the upsell landed, or that the customer did not hang up on an awkward third turn. The turn script does. Here is the one PieLine uses on every call, and the one beat every competitor skips.
By PieLine team. Published 2026-04-12. Updated 2026-04-12. Reading time: about 7 minutes.
“The moment that decides whether a voice ordering call earns its money is not accuracy. It is the single turn where the agent restates the order with a price, offers one contextual add-on with a price, and only then asks for the address.”
PieLine sample dialog, src/app/page.tsx:250-276
Why turn script matters more than accuracy
Phone orders are a sequence problem, not a transcription problem. Once commodity speech models clear 95% word accuracy (they all do on decent audio), the deciding factor is the shape of the conversation. Did the agent confirm the items before asking for payment? Did it float an add-on at the moment the customer was already in a yes-mode? Did it read back the updated total before collecting the address, so the number did not surprise anyone at the end?
Those are script choices, not model choices. And they are the difference between a voice agent that replaces a counter phone, and one that quietly loses 8% of orders at the “wait, how much?” turn.
The rest of this page lays out the six-beat script PieLine ships with by default, and the reason each beat is in the order it is in.
The six beats, in order
Beat 1. Open wide, not narrow
The opener is “What can I get for you today? We have our full menu available including our dinner specials.” Note the shape. It is not “what would you like?” (too narrow, forces the caller to have a plan) and not “can I help you?” (too generic, invites off-menu chat). It primes the caller to order, and it surfaces specials without forcing them.
Beat 2. Itemize, verbatim
After the caller names the items, the agent restates them back in the caller's language, not in POS SKUs. “One chicken parmesan with a side salad, and a large pepperoni pizza.” No rephrasing into “Entree A, Side 2, Pizza L-PEP” that forces the customer to re-parse. The rule: the words they said are the words they hear back.
Beat 3. Price the cart now, not at the end
The agent says the total immediately: “That comes to $34.99.” Most competitor voice agents defer price to the end, which is where surprises happen and carts get abandoned. Pricing mid-call lets the caller object early, swap items, or remove something while they are still engaged. It turns price into a checkpoint, not a punchline.
Beat 4. One contextual upsell, with a price, in the same turn
This is the beat most vendors skip. Immediately after the price, the agent offers exactly one add-on tied to what is already in the cart, with an explicit dollar number: “Would you like to add drinks to your order? We have 2-liter sodas for $3.99.” One offer. Not three. Tied to the order (pizza goes with drinks). Priced, so the customer can say yes or no in one breath. No upsell carousel, no “we also have dessert, appetizers, sides, drinks, and...” spiral.
Beat 5. Confirm update, restate total
If the upsell lands, the agent restates the new total before moving on: “Perfect! Your updated total is $38.98.” This is the second price checkpoint. It closes any ambiguity about what was added and for how much. If the customer declines, the agent moves to beat 6 without sulking or re-offering.
Beat 6. Capture address, then close
Address (or pickup time) comes last, after both price checkpoints. Doing it earlier is a classic mistake: the customer has mentally closed the call at the price number, and then gets pulled back into a data-collection mode that feels like being quizzed. The sequence itemize-price-upsell-confirm-address maps to how a good human on a counter phone takes an order, which is not an accident.
Hear the six beats on a real call
Book 15 minutes. We will run a test call with your menu and your specials, trigger an upsell, and show you exactly where each beat falls in the transcript.
Book a DemoThe missing beat on almost every other vendor
If you demo three competing AI voice ordering vendors back to back, here is the pattern you will see. Beats 1, 2, and 6 are roughly universal. Beats 3 and 5 (the two price checkpoints) are present on maybe half. Beat 4, the single contextual upsell with a price, is almost never present. Vendors either do not upsell at all (leaving real money on the table), or they do a generic end-of-call “anything else?” that almost nobody bites on.
The reason upsell-in-position-4 works is boring: behavioral. The caller is already saying yes to an order. They have a price anchored. They are in the middle of the transaction, not at the exit. An add-on at this moment is a small yes tacked onto a bigger yes. An add-on at beat 6 is a new decision after the close, and new decisions at the close usually get declined.
If you are evaluating vendors, the practical test is: record three demo calls, mark the turn where a priced add-on offer would fit, and check whether the agent actually took the shot. Most will not. That is the gap PieLine is built around.
Where you can verify this in the PieLine source
The canonical six-beat script is visible on the PieLine product page itself. It is shipped as a component called SampleConversation, and the dialog array at src/app/page.tsx lines 250 to 276 is the exact script we just described: open, itemize, price at $34.99, upsell a 2-liter Coke at $3.99, confirm updated total of $38.98, then capture delivery address.
That is the specific, checkable thing. The dialog on the landing page is not marketing copy invented for a screenshot; it is the in-production turn structure. Every restaurant we onboard gets a version of this script, adapted to their menu, their upsell catalog, and their average ticket.
Adjacent guides
This page is deliberately narrow. If you want the broader picture, these cover the adjacent decisions:
FAQ
Why offer the upsell before the address and not after?
Because after the address, the caller is mentally done. The call has a close. Adding a new offer at that moment feels like being stopped at the door. Before the address, the caller is still inside the ordering mode, the price is anchored, and a $3.99 add-on against a $34.99 anchor reads as small. The same offer at beat 6 reads as an interruption and gets declined more often than it lands.
What if the restaurant does not want upsells at all?
Beat 4 is configurable per restaurant. Some operators disable it entirely (fine-dining, or concepts where the ticket is already high). Others enable it only for delivery orders, or only when the cart does not already contain a drink. The rule is always: one offer, tied to cart contents, with a price. Never a menu recital.
How does the agent decide which upsell to offer?
Two inputs. First, a short per-restaurant pairing table (pizza -> drinks, salad -> soup, entree -> dessert). Second, a check on what is already in the cart, so the agent does not suggest a 2-liter soda when the cart already contains one. If no pairing fires, beat 4 is skipped and the agent goes straight to beat 6. Skipping is a valid outcome; nagging is not.
Does restating the total twice annoy callers?
No, and we tested this. The first total (beat 3) is the anchor. The second total (beat 5) is the update after an accepted add-on. If the add-on was declined, beat 5 is skipped. Callers read the restatement as care, not as repetition, because the number actually changed. The annoying pattern is restating the same total twice without any change between them, which is not what the script does.
What accuracy does this script achieve on real calls?
PieLine lands 95%+ order accuracy on the full six-beat flow, measured as “the ticket that reached the POS matches what the customer said.” That is a flow-level number, not just a transcription number, which is why it is honest. Transcription alone is closer to 98%; the 3-point gap is everything that goes wrong between hearing a word and closing a ticket, which is exactly where the turn script earns its keep.
Can we customize the script beyond upsell behavior?
Yes. Openers, specials phrasing, price-callout phrasing, upsell pairings, and the address-capture step are all per-restaurant. What is not customizable is the beat order itself, because the order is the product. Moving the upsell after the address, for example, quietly drops attach rates by enough that we push back on it.
How long does setup take?
Same-day on the phone side with a supported POS (Clover, Square, Toast, NCR Aloha, Revel). Forward your restaurant line to PieLine, import the menu, define one or two upsell pairings, set hours, run a test call through the six beats, and go live. The slowest piece is usually the phone-carrier forwarding console, not the AI.
Try the six-beat script on your own menu
95%+ order accuracy, 20 simultaneous calls, contextual priced upsells at beat 4. Free 7-day trial, no contracts.
Book a Demo