The console
A dark cockpit. The console is quiet when the night is fine and speaks only when a human has to do something. Every row that appears carries an action; if nothing can be done about it, it is information, and information lives somewhere else.
Built for two different people
The manager
On a phone, in a dark room, one-handed, deciding things that expire in minutes.
The owner
On a laptop on a Tuesday, deciding things that take weeks: prices, layouts, which nights are worth running.
Before
Is this night on pace, and if not, what closes the gap?
Pace against comparable nights: same event brand, same room, same weekday, same season band. A Wednesday against a Saturday is not a comparison, it’s a mood.
A shaded band shows normal variation, so only real deviation catches the eye.
The levers sit next to the gap: raise the commission on named tables, open inventory to a partner channel, message past guests, release held tables, move a minimum.
Every lever pull is timestamped and measured, by night twenty you know which ones work here.

Tonight
What needs a human right now?
Four figures, never conflated: collected, net to venue, outstanding, tabs open. Outstanding is a countdown, not money. It is never added into revenue.
The floor plan live, with per-table spend.
A “needs a hand” queue ordered by time-to-expiry, not by category.
A connection indicator with the time it last synced, and a manual refresh. A stale board that looks live is the failure mode.
Guests
Who is coming, and under what rules?
One list, two sources: names from a booking and names from a PR, with different rules.
The lista carries no price, and cannot. A list sold for money is a titolo di accesso under Italian law, so the field does not exist in the system rather than being left empty and trusted. Per-PR quota, cutoff, and a cap. PRs propose, managers approve; credit lands on arrival, never on signup.
Headcount editable at the door. Four names on a list is regularly three people at the rope.
Guest profiles built on rules, not opinions: nobody types notes at 1am. Comps carry what, how much, and who authorised them, with role limits.

Menu
What does this room actually sell?
Your own list: categories, items, prices, what is alcoholic, what needs to be presented at the table.
Prices are editable by managers and owners only. A price is a commercial term, not a setting, and the person covering the door at 1am should not be able to move one.
Per-night availability, so something that has run out stops being orderable without being deleted from the list.
Order queue
What has been ordered, and who is carrying it?
Tonight’s orders, live, for whoever is on the floor. Any role including door staff: accepting and delivering are floor decisions, not manager decisions.
Every order carries the named server it is routed to. An order assigned to nobody prints in ochre, because an unassigned order is the queue at the bar that table service exists to prevent.
A connection indicator with the time it last synced, and a manual refresh. A stale queue that looks live is how this screen fails.
A refusal reaches the guest as one neutral sentence with no reason attached. Age and refused service map to the same words deliberately: a different message per reason code broadcasts a judgement about a person to their whole table.
Lista
Who is on the list, and did they come?
The free list for one night, with each name’s channel, plus arrival and no-show marking and a pass scanner at the door.
The lista carries no price and cannot. A list sold for money is a titolo di accesso under Italian law, so the column does not exist rather than existing and being trusted to stay empty.
Counts of listed, arrived and no-show, on a screen only your staff can open. The length of a lista is emptiness in its most readable form, and no guest surface anywhere adds it up.
After
What didn’t close cleanly?
Close-out is exceptions only: open tabs, comps, no-shows, incidents, off-app spend.
Nothing to write for a table that paid and left.
Owner
Is the business getting better, period over period?
A 13-period grid, six measures maximum, no amber. Amber is where accountability goes to die.
Every number paired with its opposite, so nothing can be improved by damaging something else.
Rows open the nights behind them, worst first.

Channels
What does each sales channel actually cost?
The question the company exists to answer. Direct, PR, ambassador, partner, campaign: attributed at booking.
Sellers are credited on committed value, never on realised spend: a seller doesn’t control what a table drinks.

Demand
What did the room turn away?
Elasticity, unmet demand, demand lost to inventory that was closed, held or mispriced.
Most venues count unsold tables. Almost nobody counts the demand they never saw.

Layout
What is the room, exactly?
The floor-plan editor: change the shape and size of anything, including the outline of the room itself. Set every price per night.
A layout that has already run a night forks rather than overwrites, past nights’ numbers can never move under you.

Alerts
Why is the console noisy, and what do we do about it?
Alert types ranked by share of the night’s noise, with the share anyone acted on.
Three levers, in ascending order of harm: raise the threshold, hold 60 seconds, mute. A mute ends at open tomorrow. There is no permanent one, because that is a decision to stop looking.

Room
Is the night staffed, licensed and counted?
Staff and live labour percentage while the roster can still be changed. Certificate expiry blocks the roster. An expired steward ticket is a licence problem before an HR one.
Instructions bound to a table, routed to a department, with a time, that must be closed. Safety register. Music borderò captured live. Capacity of record with a live count.

Media
Does the listing earn the click?
A room with four dark phone photos does not get chosen. The console checks what the app shows on the real pixels: dimensions, brightness, sharpness: numbers, not arguments.
Two permissions tracked separately because they are routinely confused: copyright sits with whoever took the photo; image rights sit with the people in it.

Export
Can my accountant open this?
Pick the datasets you want, see the row count of each before you generate, and take them with you.
Delimiters and decimal separators follow the language of the export.

What the console deliberately does not show
- No leaderboards.
- No charts on the live screen.
- No estimated numbers presented as measured ones. Where data is missing, it says so.
- No amber on the owner scorecard.
Two craft decisions
Undo, not confirmation
A dark room at 2am dismisses dialogues reflexively. Every destructive action is undoable instead of confirmed.
A refusal never says why
When a server refuses an order, the guest reads one neutral sentence. Age and refused service map to the same words on purpose: different copy per reason is a channel that leaks a judgement about a person to everyone holding their phone.