Delis / custom orders

Build-your-own sandwiches on the phone, with exclusions as fields.

"Turkey on wheat, no mayo, extra mustard, add avocado, toast it." That's five modifier decisions in one sentence. Structured capture keeps every one addressable.

The short answer

Custom sandwich orders are the ultimate stress test of structured menu capture. Fire It models bread, protein, cheese, and topping groups with min/max selections, exclusions, and preparation flags — so the make-line reads a ticket, not a paragraph.

Updated By Corey Mack — Founder, Fire It

The build-a-sandwich schema

This schema is not a Fire It invention — it's how your POS already thinks about sandwiches. The voice agent just binds to it.

  • Bread — required, one choice.
  • Protein — required, one choice (or more, up to your cap).
  • Cheese — optional, one choice.
  • Toppings — optional, min zero, max your configured cap.
  • Sauces — optional, min zero, max cap; exclusion for 'no mayo'.
  • Preparation — toast, cold, panini, wrap.

The 'read it back' step is not decoration

For complex custom builds, the agent reads back the ticket and asks the caller to confirm. This surfaces mishearings before the ticket fires, and produces a transcript where you can see the caller's exact confirmation.

Exclusions as a first-class field, not a note

'No mayo' is not a note — it's an exclusion on the sauces modifier group. Fire It's schema represents exclusions as explicit negations bound to the caller's confirmation, so the make-line sees a red 'NO MAYO' flag rather than parsing a paragraph. The distinction matters because handwriting 'no mayo' at the end of a ticket is exactly the kind of instruction the make-line misses in a rush. Structured exclusions render at the top of the ticket where they can't be missed.

The build-a-sandwich decision tree

A custom sandwich order is a decision tree the caller walks. Bread first, then protein, then cheese, then toppings, then sauces, then prep. Fire It walks the caller through the tree in the order your POS already models it, prompting only when a group is required and skipping past optional groups the caller doesn't invoke. That means a caller who says 'turkey club, no changes' gets a fifteen-second interaction, not a five-question interrogation.

  • Bread — always required, single-select.
  • Protein — required, single or multi-select per your menu.
  • Cheese — optional; skipped if caller declines.
  • Toppings — optional; per-item quantity caps enforced.
  • Sauces — optional; exclusions captured as first-class flags.
  • Prep — toast, cold, panini, wrap.

The read-back moment for complex builds

For a sandwich with more than four modifiers the agent always reads back the full build before confirming. That doubles the caller-time by a few seconds and cuts mishearings meaningfully. The transcript records both the initial capture and the read-back confirmation, giving you an audit trail where the caller's yes is timestamped against a specific rendering of the ticket. That trail is the reason a manager can trust a phone-built custom sandwich as much as one built at the counter.

A build-your-own rollout checklist for a deli menu

The build-your-own sandwich flow only feels natural on a phone call if the menu schema was set up for it before the agent ever answers a ring. That is a one-time hour of admin work, and it is the hour that determines whether custom orders feel like a phone-friendly experience or a fifteen-question interrogation. Do this once and revisit only when the menu changes.

  • Confirm every bread option is a discrete field, not a note.
  • Confirm proteins are single or multi-select per the way your make-line assembles.
  • Confirm cheeses, toppings, and sauces are their own required-or-optional groups with quantity caps.
  • Confirm exclusions ('no mayo', 'no onion') render as red flags at the top of the ticket.
  • Confirm prep flags ('toasted', 'panini', 'wrap', 'cut in half') sit at the bottom of the ticket where the finisher reads them last.

Custom-sandwich flows that Fire It deliberately does not handle

Fire It does not handle catering trays priced by the platter, sandwich-of-the-day specials that change weekly without a menu update, or callers who want a bespoke item that isn't on the schema at all. Those cases route to a callback with the full transcript so a manager can price and confirm. That deliberate scope is what keeps custom-sandwich phone tickets safe — the schema constrains the agent to items the kitchen already knows how to build. The deli hub at /solutions/delis-sandwich-shops explains the operational split, and /use-cases/restaurant-menu-voice-ordering covers the general menu-binding architecture that underlies exclusions as fields.

Good fit if

Where Fire It actually helps

  • Delis with build-your-own sandwiches.
  • Shops that lose accuracy on complex custom orders.
Honest limits

What we don't claim

  • Nightly-updated ingredients need a sync workflow.
Questions we get

Straight answers

Yes — exclusions are first-class in the modifier schema.
Keep going

Related on Fire It

See it in practice

Start on Fire It or try the live Neon Slice demo — no card required.