AI phone ordering POS integrations, May 2026: five APIs, five commit latencies, five different engineering problems
Most articles about voice agents and restaurant POS treat “POS integration” as a feature checkbox. It is not. As of May 2026 it is five different REST surfaces with different commit p50 latencies, different modifier semantics, different partner-app gates, and different policies on enum changes. Below is a per-POS diagnosis using PieLine’s in-repo benchmark against the 102.36 second reference call shipped at public/audio/dennys-order.mp3, plus the concrete API changes Toast and Square shipped in April 2026 that an AI phone agent has to handle without breaking the operator’s line.
Direct answer (verified 2026-05-08)
What changed in AI phone ordering POS integrations for May 2026?
- Toast shipped a new COMBO value on the orders API Selection.selectionType enum effective 2026-04-27, a new read-only plu field on every Selection, and a createdInTestMode boolean on the Order object. The partners API connectedRestaurants page size doubled from 100 to 200. source
- Square for Restaurants moved modifier-set display ordering to the item level so an agent has to source enumeration order per item, not once per modifier set. source
- Per-POS commit p50 from PieLine’s production benchmark against public/audio/dennys-order.mp3: Clover 820 ms, Square 940 ms, Revel 1010 ms, Toast 1180 ms, NCR Aloha 1340 ms. The agent reads the total back from the POS, so this latency is what the caller hears as silence.
- Toast also announced that, starting July 20, 2026, new enum values are no longer treated as breaking changes. Forward-compatibility on enums is now the integrator’s problem.
The five POSes are not interchangeable
PieLine’s adapter set spans five POS systems and the bench harness runs the same reference cart through each one. The cart is the recorded demo at aiphoneordering.com: a Lumberjack Slam (with two required modifier groups), a Coke that gets remapped into a soft-drink combo, and a New York style cheesecake with strawberry topping. The output below is a single run on 2026-05-07.
The 520 ms gap between the fastest adapter (Clover) and the slowest (NCR Aloha) is not noise. The agent waits for the POS to validate the cart and return an order id before it speaks the confirmed total to the caller. On a 102 second call, half a second is the difference between a confirmation that lands cleanly on top of the caller’s last word and one that drifts into a barge-in. Per-POS latency budgets exist for the same reason per-POS adapters exist: every byte of the round-trip is on a different vendor’s infrastructure.
Anatomy of a single POS commit
Below is the round-trip for one cart, assuming Toast as the POS. The agent never invents an order id, a price, or a modifier; it collects a cart from the call transcript, posts it to the orders endpoint, and reads back the total the POS returned. The 2.4 second gap on the demo audio between “Placing your order now” at 89.12 seconds and “Done. Your total is $34.11” at 91.52 seconds is exactly this round trip.
Caller cart -> POS commit -> kitchen ticket
The exact same diagram runs against Square, Clover, NCR Aloha, and Revel. The labels are the only thing that changes. Square calls the cart an Order with line items and modifiers; Clover calls it an Order with line items and modifications; Toast calls the line a Selection; NCR Aloha threads it through a partner certification gateway; Revel hands you a flatter cart with explicit modifier price deltas. None of those differences matter to the caller. All of them matter to the integrator.
Toast: COMBO selectionType, the new plu field, and the July 20 enum policy
Toast made three on-wire changes in late April 2026 that touch every AI phone agent integrating against its orders API. First, the Selection.selectionType enum gained a new value, COMBO, effective 2026-04-27. An adapter that did a strict-parse on the previous enum (MENU_ITEM, OPEN_ITEM, GIFT_CARD, and friends) now sees an unknown variant on combo-priced selections and either falls back gracefully or crashes. Second, every Selection now carries a read-only plu field surfacing the menu item’s price look-up code; integrators cannot set it on POST. Third, Order objects now carry createdInTestMode, a boolean that distinguishes a manager pressing “test order” on the terminal from a real production order on the same wire.
The shape an adapter sees in May 2026 looks like this:
The third change, the one most operators will not notice, is the policy update Toast announced for 2026-07-20. From that date forward, Toast will no longer treat the addition of new enum values as a breaking change, and they will not be announced with the previous 90-day notice. New order states, dining options, card types, and selection types may appear at any time. For an AI phone agent, that means strict-parse on any enum that crosses the wire is now a latent bug. PieLine’s Toast adapter switched to permissive enums (unknown values pass through as a string and are routed to a manual-review queue rather than rejected) on the day the policy update was published. If your AI vendor has not, you will eventually see a Friday rush where Toast ships a new value and your phone line goes dead instead of taking orders.
One quieter change worth flagging for multi-location operators: the partners API connectedRestaurants endpoint raised its pageSizeceiling from 100 to 200, so a 350-location chain now syncs in two pages instead of four. PieLine’s onboarding pipeline halved its menu-sync window for the largest Toast tenants the day the cap moved.
Square: per-item modifier-set ordering and the catalog cache invalidation that comes with it
Square’s 2026 update to its restaurants product moved modifier-set display ordering down to the item level. Previously, a restaurant set the order of modifier sets globally per modifier set; now the order can vary by item, controlled in the Item Library. For a cashier on a Square Register that is a small UX win. For an AI phone agent, it is a cache invalidation event.
The agent enumerates required modifier groups out loud during the call (“how would you like your eggs cooked, and what kind of bread?”). The order it enumerates them in matters: callers bail mid-sentence if the agent asks the wrong thing first, and managers complain when Coke gets offered before bread does. Pre-2026, an adapter could fetch the modifier-set order once per modifier set and reuse it across every item that referenced it. Post-2026, a Lumberjack Slam at this restaurant can have its eggs question first and its bread question second, while a Country Fried Steak Slam at the same restaurant can have them flipped. The order has to be fetched per item, not per modifier set.
PieLine’s Square adapter rebuilt its menu cache to a per-item ordering vector and re-pulled every existing tenant’s catalog over a week in April. Tenants that did not reorder modifier sets per item saw zero behavior change; the ones who used the new feature saw the agent enumerate exactly the order their managers had configured in Square Dashboard. The takeaway for an operator evaluating an AI phone vendor in May 2026: ask whether their Square adapter sources modifier-set order at the item level. If the answer is “we read it once at onboarding,” the order will drift the first time you reorder a modifier set in Square Dashboard.
Clover: lowest commit latency, but the modifier display rule that catches everyone
Clover wins the per-POS commit p50 race in our benchmark at 820 ms, and it has held that position for two consecutive runs. The reason is partly geographic (Clover’s order endpoint sits behind a CDN in front of First Data’s order plane) and partly architectural: Clover’s order POST is shallower than Toast’s. There is no GUID hierarchy under each line item; a modifier is just a flat list of modifications attached to the line, with the price delta inline.
The Clover quirk that catches every new integrator is the difference between modifier groups whose showByDefault flag is true and those where it is false. A spoken “extra cheese” that maps to a group with showByDefault: true needs the agent to stop offering it again on the next item that shares the group, otherwise the kitchen ticket prints “extra cheese” twice. PieLine’s Clover adapter tracks showByDefaultper cart and dedupes; the failure mode is silent and only shows up on multi-item carts, which is why “does this work on the demo” is a useless test.
Clover’s payments path matters here too. China Village (a family-owned restaurant in Colorado evaluating PieLine in early 2026) takes over-the-phone credit card payments for its own deliveries. Clover’s ecommerce-grade payment endpoints accept that flow natively, which is why we slot Clover-backed restaurants into the “phone payment” cohort by default. Toast and Square need an extra hop to the same outcome.
NCR Aloha and Revel: the partner gate matters more than the API shape
Aloha’s API works. Its commit p50 in our benchmark is 1340 ms, the slowest of the five, and a 97 percent modifier coverage on the reference cart (the protein-sub on the cheesecake topping question goes through as a free-text note rather than a structured modifier). For most cuisines that gap closes once the menu is mapped properly. The bigger problem with NCR Aloha is not the wire; it is the partner gate.
Both NCR Aloha and Revel require a vendor partnership and a per-environment certification before an integrator can post orders to a customer’s instance. That cycle takes weeks the first time and minutes per location after that. The right thing for a multi-location operator to ask an AI phone vendor is not “do you support Aloha?” but “are you a certified partner on the version I run?”. PieLine sits inside the partner programs and uses the certification cycle as a non-negotiable for new tenants on either platform.
Revel’s commit p50 lands at 1010 ms with 100 percent modifier coverage, between Square and Toast. Its API surface is the flattest of the five (modifier price deltas are inline on the line item, no nested modifier-of-modifier groups), which means a less powerful adapter can ship faster, but also means a sushi-style build-your-own roll has to be flattened into a single line with stacked modifications instead of a parent + nested groups. PieLine flattens at the adapter boundary so the rest of the agent does not know.
What an operator should actually do in the next 30 days
The May 2026 changes are small individually. Stacked, they are the difference between an integration that quietly drifts during a Friday rush and one that does not. If you operate restaurants and you are buying or evaluating an AI phone vendor right now, here is the order of operations.
Operator checklist, May 2026
- 1
Get your POS commit p50 in writing
Ask the AI vendor for the p50 round-trip from a real production call to your specific POS, measured the way the caller experiences it (last word to confirmed total). A vendor that answers with one number across all POSes does not measure per-POS.
- 2
Confirm the partner status, not just the brand
On NCR Aloha and Revel especially, brand-name claims hide certification gaps. Ask which version of the POS, which certification cohort, and which partner program the vendor is in.
- 3
Stress-test the new Toast enums on a Friday rush
Place a real combo order through the AI phone agent and confirm it commits as a COMBO selectionType to a Toast tenant. If the vendor cannot do this on a sandbox, they have not updated since 2026-04-27.
- 4
Reorder one Square modifier set in Dashboard
If you run Square for Restaurants, reorder the modifier sets on one item in Dashboard and place an order. The agent should enumerate them in the new order on the next call, not the old one. Drift here is the most common silent bug.
- 5
Audit one week of POS-committed orders against AI transcripts
Pick 50 calls at random and verify that what the customer heard the agent confirm is exactly what the kitchen ticket printed. The kitchen ticket comes from the POS; if those two diverge, the integration is faking.
“The experience was better than speaking to a human. No hold time, no confusion, no rushing.”
Frequently asked questions
What is actually new about POS integrations for AI phone ordering in May 2026?
Three concrete changes worth knowing. (1) On 2026-04-27 Toast shipped a new COMBO value on the orders API Selection.selectionType enum, a new read-only plu field on every Selection, and a createdInTestMode boolean on the Order object so test traffic and production traffic are distinguishable on the wire. The partners API connectedRestaurants endpoint also raised pageSize from 100 to 200, which matters for multi-location AI vendors syncing menu state. (2) Square's restaurants product now controls modifier-set ordering at the item level instead of globally per modifier set, which means an AI agent's enumeration order on a multi-item call has to be sourced per item, not cached once. (3) Starting July 20, 2026, Toast will stop treating new enum values as breaking changes, which shifts the burden of forward compatibility onto every integrator. We re-checked these against doc.toasttab.com and Square's catalog API docs on the day this page shipped.
Why publish per-POS commit latencies instead of one round number?
Because they are not the same. PieLine's in-repo eval-voice-models.py benchmark against the 102.36 second reference call at /public/audio/dennys-order.mp3 reports p50 commit times of Clover 820 ms, Square 940 ms, and Toast 1180 ms. The agent waits for the POS to validate the cart before it reads the total back to the caller, so this latency is what the customer hears as silence on the phone. A 360 ms gap between Clover and Toast is audible. The right number to publish is the per-POS one because that is what the operator's customer experiences.
Does the AI phone agent need a different code path per POS?
Yes, and pretending otherwise is the most common reason 'POS integration' demos work in a sales call but break in production. Each POS has its own ontology for modifier groups, its own rules for required vs. optional, its own way to express half-and-half pizzas, its own pricing semantics, and its own retry/idempotency contract on order POSTs. PieLine ships a per-POS adapter (Toast, Square, Clover, NCR Aloha, Revel) that handles those differences, plus a per-POS shadow benchmark that runs the same reference cart through every adapter and posts the diff. When Toast added the COMBO selectionType on 2026-04-27, the Toast adapter changed; the Square adapter did not.
What about the announcements from larger players, like Burger King's 'Patty' assistant or the ConverseNow + Deliverect partnership?
Both are real and both are good signals for the category. Burger King is piloting an OpenAI-based voice assistant inside employee headsets at 500 stores; ConverseNow and Deliverect announced a phone- and drive-thru-to-Deliverect integration on April 16, 2026 to flow voice orders into Deliverect's unified order management. Neither materially changes the per-POS API problem for an independent or mid-market chain. Deliverect helps if the operator already runs Deliverect; otherwise the AI vendor still has to integrate with the POS directly. PieLine sits in the second lane: same-day onboarding to Toast, Square, Clover, NCR Aloha, or Revel without an OMS in between.
How do I evaluate a POS integration claim from any AI phone vendor in May 2026?
Six questions, in order. (1) Do you POST a cart to the POS's native order endpoint, or do you write to a tablet, kitchen printer, or email? (2) What is your p50 commit latency on a real production call to the POS I am running, measured from 'placing your order now' to a returned order id? (3) How do you handle modifier IDs that do not exist? (4) What happens to my orders during a 30 second POS outage, and do you replay them? (5) Are you a published partner on the POS's directory, or are you using a credential the operator pasted in? (6) When the POS adds a new enum value, does my agent still work? Answer six well and you have a real integration. Answer two of them well and you have an answering service that emails you receipts.
Where can I see PieLine's actual benchmark file and reference call?
Both ship with the marketing site. The 102.36 second stereo reference recording lives at public/audio/dennys-order.mp3 in the mediar-ai/pieline-phones repo. The captions and 60 Hz amplitude envelopes at src/components/voice-activity-data.ts are produced by scripts/build-voice-activity-data.py from that same audio. The per-POS commit p50 numbers cited above come from the same benchmark harness referenced on the April 2026 voice-models page (eval-voice-models.py against the same reference). Re-run the script with your own POS credentials and you get your own per-POS numbers.
Does PieLine charge more for a more expensive POS to integrate with?
No. PieLine pricing is $350 per month for up to 1,000 calls, $0.50 per call after that, with a money-back guarantee in the first month. The POS adapter cost is on us. Per-minute pricing from some competitors reprices unpredictably during rush hours; per-POS pricing surfaces the engineering cost of integrations on the operator's bill. Neither is a great experience to budget around, which is why we eat both.
What is the single biggest mistake operators make when buying an AI phone vendor in 2026?
Confusing 'works with my POS' with 'commits to my POS'. Many vendors will happily display orders on a tablet, send you a text summary, or hand off to a third-party OMS that eventually writes to your POS. Each handoff adds latency, modifier-translation loss, and a place for orders to silently fail during a rush. The integration test we recommend is on the AI vendor's POS integration page: 'after the AI takes an order, does anyone on my staff need to do anything for that order to reach the kitchen?' If the answer is anything other than 'no', it is not a real integration.
See the per-POS adapters live on your menu
20 minutes. We open the same eval harness against the POS you run, on a small slice of your real menu, and you see the commit latency end to end.
Other deep dives on PieLine and POS integration
Keep reading
AI phone ordering POS modifier mapping: a walk through a real 102-second call
How a spoken 'add strawberries, if that's an option' becomes a real modifier ID on the kitchen ticket, second by second.
AI phone ordering with direct POS integration: what restaurant operators need to know
The three integration models (manual re-entry, tablet, direct API), the cost of each, and how to evaluate vendors against the difference.
New AI voice models for restaurant phone ordering, April 2026
OpenAI gpt-realtime, Cartesia Sonic-3, ElevenLabs Eleven v3. Per-model scorecard against the same 102.36 second reference call.
Comments (••)
Leave a comment to see what others are saying.Public and anonymous. No signup.