Menus · QR ordering · Engineering

The section you removed stayed on the menu

Remove a menu section in the back office and the till and the QR menu went on showing it, dishes and all. The sections table was never where the grouping lived.


Remove a section from your menu, open the QR menu on your phone, and there it is: the same heading, the same dishes, in the same place. The till agreed with the phone. The back office said the section was gone. A tester filed it as “removing an item from a section does not update the QR menu, the menu, or the till”, and that is exactly what it looked like from outside.

Where the grouping actually lived

Every dish carries the name of its section. The till and the guest page group dishes by that name. The sections table, the one the back-office sheet edits, is read for three things: the picture on the group tile, the order the groups appear in, and the clock rule that hides a group outside its hours. It was never the source of the grouping. So archiving a row in it changed a picture, an ordering and a clock rule, and left every dish still saying it belonged to Burgers. Burgers went on appearing because its four dishes still said so.

The sheet’s own hint described this as a feature: removing a section leaves its dishes alone, they keep the name they were saved with. That was the design, and it was wrong for the one person who matters here, the customer looking at a menu that still shows what the owner just removed.

What remove means now

Removing a section takes its dishes off the menu with it. The route clears the section on every live dish in it, for that venue only, and nothing is deleted: the dishes stay in Items with their price, their recipe and their photograph, and putting one into another section brings it straight back. The confirmation says this before it happens, with the count: Remove Burgers? Its 4 dishes come off the menu with it, kept in Items, and back the moment you put one in another section.

Two things we were careful about. The clearing is scoped to the venue, so a hall where three kitchens each have a section called Drinks cannot have one kitchen’s remove empty another’s. And the old behaviour is still there for a caller that only wants the heading gone, because a heading with nothing under it is a legitimate thing to tidy away.

The test

A dish in the kitchen’s section, a second dish next door in a section of the same name. Remove with the flag: the kitchen’s dish loses its section, the neighbour’s keeps it, and the response counts one. Remove without the flag: nothing moves. Both run through the real gate, because the first version of this route was reachable by a kitchen that did not own the section, and a fence you do not drive is a fence you are guessing about.


Try it on tonight’s service.

Nothing to install, no card. Not better by the weekend? Close the tab.