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.

The console’s Before screen: a night’s booking pace charted against comparable nights, with a checkpoint table and the unsold value broken down by zone.

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.

EntranceDJDancefloorBarRailStairsMain floorPrivé · mezzanineTerrace1234591011121314192015161718212223242526
freebookedarrivedunpaidhold

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.

The console’s Guests screen: tonight’s bookings with party size, zone and the rules attached to each guest.

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.

EntranceDJDancefloorBarRailStairsMain floorPrivé · mezzanineTerrace1234591011121314192015161718212223242526
strongmidcold

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.

The console’s Owner screen: period-over-period revenue, occupancy and channel mix for the room.

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.

The console’s Channels screen: what each sales channel (direct, PR, ambassador, partner) cost against the value it committed.

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.

The console’s Demand screen: requests the room could not fill, by zone, price and hour.

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.

The console’s floor-plan editor: a palette of tables and fixtures on the left, the room laid out in the middle, and the layout’s table count, seats and capacity value below.

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.

The console’s Alerts screen: which rules are firing, how often, and what each one is set to do.

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.

The console’s Room screen: the venue’s standing configuration: zones, tiers, opening rules and defaults.

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.

The console’s Media screen: the photographs and copy a room publishes to guests.

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.

The console’s export panel: a checklist of exportable datasets (night ledger, orders, invoice basis, comps, staff) with the row count of each, generated in the browser.

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.

See it on your own room.

/en/venues/console