Overview
You open a table when:- A group is seated at a permanent table (reservation or walk-up).
- A temporary table is created for a walk-in and needs its first session.
- A previously closed table is being re-seated.
Open a free table
- Tap a Free card on the Floor view.
- The Open New Session sheet slides up.

Open New Session sheet — set guest count and confirm
- Enter the Guest Count using the − / + stepper. Default is
2. Minimum is1. There is no maximum — a 4-seat table can seat 6. - Tap Open Session.
What happens on open
- A new row is inserted in
table_sessionslinked to yourstaff_member_id. - The table status flips from
free→occupied. - A LAN broadcast fires so the POS terminal, other waiters, and the Kitchen Display all see the new session within a second.
- Your device caches the optimistic session immediately.
Offline opening
If your tablet is offline when you tap Open Session, DishInk does not fail — it goes through the offline-first path:- An optimistic session is created locally (via
createOptimisticSession). - The table’s local cache is patched to
occupied. - An
open_sessionoperation is enqueued in the offline queue with your staff ID. - A LAN broadcast still fires so nearby devices on the same Wi-Fi see the change.
- A toast appears: “Table opened offline · Table 7”.
- When connectivity returns, the queued operation replays via the
table-managementedge function.
Optimistic sessions carry a temporary local ID. Once the real session is created on the server, DishInk seamlessly swaps the ID in the cache. You will not notice.
Special cases
Merged tables
If you tap a table that has been merged into another, the Merged Table Notice modal appears:Table 5 has been merged. Its bill has been combined into Table 4. Orders and payment now happen from there.Tap Go to Table 4 to jump straight to the primary table’s session. See Merging Tables.
Reserved tables
Reserved tables cannot be opened by tapping them directly. Instead, tap Open in the Table Session modal — DishInk clears the reservation and creates the session in one step. See Reservations.Tables with a stale cache
Rarely, a table may appear Free locally but be Occupied on the server (another device opened it while you were offline). When you tap Open Session:- If online: the server rejects the double-open. You’ll see the existing session load instead.
- If offline: your optimistic open is queued. On reconnect, the queue processor detects the conflict and either merges your cart into the existing session or discards the duplicate open — with a toast explaining what happened.
Adjusting the guest count later
You can change the guest count anytime from the session’s Manage view. It’s used for:- Per-guest reports.
- Automatic split-bill suggestions (“Split 4 ways”).
- Analytics (turnover, average check per guest).
Tips & best practices
Common mistakes
- Opening the wrong table. Close it back to Free (see Closing Tables) or leave it and open the correct one — the empty session won’t cause billing issues.
- Opening a merged table. Blocked with the Merged Notice modal; go to the primary instead.
- Forgetting to open before ordering on a temporary table. Fine — temporary tables auto-prompt the Open Session modal when you tap them.

