Register · Tabs · QA

Two open tabs called Table four

The till let two open tabs share a name, and the Open tabs screen listed unpaid orders instead of tabs. One naming rule and one card fixed both.


A tab on the till is a parked basket with a name on it. Table four, the man in the green coat, Sarah’s birthday. The name is the whole point: it is how the next person at the counter finds the right basket when the customer comes back. So two open tabs with the same name is not a cosmetic problem. It is two baskets and one way to tell them apart, which is no way at all.

The rename route already refused a clash. Parking a new basket under a name that was already open did not, so the tester made two tabs called the same thing and the till let them sit side by side. The rule is one function now, shared by both routes: compare the cleaned, lower-cased name against every open tab on the venue, ignoring the tab being renamed, and if there is a match refuse with a sentence that names it. There is already an open tab called “Table four”, bring that one back, or give this one a different name. The park route answers 409 with that sentence, and the test drives it through the real gate so the refusal is the one a till would see.

The screen that said tabs and showed orders

The second row was on the office side. Orders, then All orders, then a chip labelled Open tabs. It listed unpaid orders. That was not a lie exactly, since an unpaid order is open, but it was not what the label promised. Parked tabs live in their own table on the venue’s till, not in the orders list, and the screen never read it. So a manager checking what was left open at the end of a shift saw the wrong thing with the right heading.

The chip draws the parked tabs now, in their own card above the orders, when a single venue is chosen. With more than one venue selected it says why it cannot: a tab lives on one venue’s till, so pick the venue. With none parked it says so, rather than leaving an empty space that could mean either nothing or not loaded.

Same word, two things

Both rows were the word tab meaning two things in two places and nobody noticing until someone tested the seam. The naming rule is in one module so the next route that takes a name cannot forget it. The office screen reads the table the till writes. Neither change is large. Both are the kind that only turn up when a person who does not know the code tries to do the obvious thing twice.


Try it on tonight’s service.

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