The problem

The client is a regional restaurant group with a phone ordering assistant already taking a share of off-premise orders. When the kitchen ran out of a dish, the line marked it 86'd on a board. The ordering assistant kept offering it until someone updated a spreadsheet the menu was built from, which during a Friday service was after the complaints.

Guests ordered, the store called back to remake the order, and the average ticket took a hit the group could see in voids. The ask was not a new voice. It was that the voice stop selling what the kitchen had already flagged.

Why the flag is the menu

A language model that 'usually knows' the specials will also usually sell the dish you just ran out of. The menu the assistant can offer has to be the menu the kitchen flag allows, at the store that is taking the order. A dish flagged at one store stays available at another.

Architecture

The 86 flag is a field, not a sentence

The kitchen display already had a way to mark an item unavailable. We subscribe to that mark. The ordering flow subtracts the item before it composes an offer. There is no step where the model is asked whether the dish is probably still in stock.

Per store, not per brand

Availability is the store's. A sold-out entree downtown does not remove it in the suburbs. The lookup is the store id on the call.

The guest hears a substitute the store allowed

If the item is gone, the assistant says so and may offer a substitute from a list the menu team maintains. It does not invent a pairing. If the list is empty, it asks what else the guest wants from the items still open.

The spreadsheet path is closed

The old menu spreadsheet is no longer what the phone reads. Leaving it in place would have recreated the lag the project existed to remove.

A design decision worth calling out
We did not let the model decide a dish was 'close enough' to in stock. A manager asked for a soft 86 that still offered the item with a warning. That keeps the remake. The flag means the item is not offered.

Challenges and tradeoffs

Results

At the pilot stores, a flagged dish was off the phone menu within two minutes of the key, and review of those orders found none of the flagged dishes still offered after that window. Remakes the stores tagged as 'we are out of that' fell 38% against the prior four weekends.

The voice did not get better at upselling. It stopped taking orders the kitchen had already refused.

What we'd do differently

We would have sat a Friday service before designing the tap. The batch update at the end of the rush was the real process, and the board's existing 86 control was a step the line would not add until it was one tap.