Public Guide
Table View Documentation
Complete guide for floors, table cards, table status, opening tables, KOT, bill, settle, release, unsettled orders, search, layout view, customer alerts, sync, and troubleshooting.
Video Tutorial
Table View walkthrough
Reserve this section for a YouTube walkthrough that shows floors, table status, opening a table, customer details, waiter assignment, active orders, and table search.
YouTube video placeholder. Add the tutorial video here when it is ready.
Tutorial video coming soon
This space is reserved for the official walkthrough video.
Quick Start
First table service test
Create floors and tables with consistent table codes.
Open one empty table and assign seats, customer, waiter, and notes.
Add products in Table Counter and send KOT.
Reopen the same table and confirm the cart still loads.
Print bill and confirm release-on-bill behavior.
Settle payment and confirm the table becomes empty.
Status Rules
What staff must remember
Best Practices
Recommended operating habits
Use either T1/T2/T3 or T01/T02/T03 consistently. Avoid mixing both styles unless the store truly needs separate tables.
Assign waiter at table opening when service tracking matters.
Use KOT for kitchen preparation and Settle for payment completion.
Train staff that printed unpaid bills can move to Unsettled Orders.
Do not release active tables casually during rush hours; confirm the payment/order situation first.
Run one test order after changing floor layout, printer setup, or release-on-bill settings.
Workflow Maps
Common table workflows
Normal Dine-In Flow
Release-On-Bill Flow
Printed Table Flow
Cross-Device Check
Table View
Table View Overview
Start here when a store wants to manage dine-in tables, see table availability, and move quickly from table selection to order, KOT, bill, and settlement.
Table View is the live floor board for dine-in operations. It shows floors, table cards, running orders, printed bills, running KOTs, customer details, waiter information, unsettled orders, table search, and quick actions for daily restaurant service.
Steps
- Create floors and tables before live service.
- Use the floor tabs to filter all tables or one floor.
- Use the status legend to understand Empty, Running, Printed, and Running KOT tables.
- Click an empty table to open a table session.
- Enter seats, customer details, waiter, and notes where needed.
- Add products in Table Counter and send or save KOT.
- Print bill or settle from the counter when the customer is ready.
- Use Unsettled Orders for printed but unpaid bills.
Expected Result
The floor team can understand table availability, active service, and pending payment without opening every order.
Table View
Floors and Table Setup
Use this before opening the restaurant for table service or when the store changes its seating layout.
Floors group tables into practical areas such as Ground Floor, First Floor, Rooftop, AC Hall, or Outdoor. Every table should have a clear code and seat count so staff can find and open it quickly.
Steps
- Open Table View.
- Create a floor from floor management.
- Give the floor a clear name and optional short code.
- Add tables under the correct floor.
- Use consistent table codes such as T1, T2, T3 or T01, T02, T03.
- Set seat count for each table.
- Avoid duplicate table names inside the same floor.
- Reload or sync other devices after layout changes.
Expected Result
The Table View becomes reliable for search, KOT, bill, customer QR, and cross-device sync.
Table View
Floor Tabs and Counts
Use this when staff need to see all tables or focus on one floor during service.
The top floor tabs show each floor name and the current running count against total tables. All Floors shows the combined count across the store.
Steps
- Click All Floors to see every floor section.
- Click a specific floor tab to focus only on that floor.
- Use the count to understand how many tables are currently occupied.
- If the count looks wrong, check running KOT, printed tables, and unsettled orders.
- Use Sync Data if another device recently changed table status.
Expected Result
Managers and waiters can quickly scan occupancy without leaving the table board.
Table View
Table Status Meaning
Use this to train staff on what each table state means before they open, print, settle, or release a table.
Table status is not only a color. It controls whether a table is free, has an active order, has a KOT in progress, or has a printed bill waiting for payment.
Steps
- Empty means the table is free and must not show customer or order state.
- Running means the table has an active order but KOT may not be printed yet.
- Running KOT means products were sent or saved to KOT and remain linked to that table order.
- Printed means the bill was printed and the table may still be occupied when release-on-bill is off.
- Unsettled means payment is pending. It is an order payment state, not table occupancy by itself.
- Released, completed, settled, cancelled, void, and refunded orders must not reopen a table.
Expected Result
Staff can choose the right action without accidentally reopening old orders or clearing active tables.
Table View
Opening a Table
Use this when a guest sits at a table and the waiter needs to begin a dine-in order.
Opening a table creates the current table session. The table session links the table to one active table order so the same cart can be reopened safely from any supported OktaPOS device.
Steps
- Click an Empty table card.
- Confirm or edit the number of seats.
- Add customer name or phone number if available.
- Assign a waiter when the store tracks waiter service.
- Add notes only when they help the floor or billing team.
- Click Open Table.
- Add products in Table Counter.
- Send or save KOT when the kitchen must prepare the items.
Expected Result
The table becomes active and the order remains linked to the correct floor and exact table code.
Table View
Waiter Assignment
Use this when KOT and bills need to show which waiter handled the table.
Waiter name is display metadata for the current table order. It should appear on KOT and bill when a waiter is assigned. If no waiter is manually assigned and the logged-in employee is a waiter, the employee name can be used for that table order.
Steps
- Assign waiter while opening the table, or let the waiter user open the table.
- Send KOT and confirm the waiter name appears on the kitchen slip.
- Print bill and confirm the same waiter name appears on the customer bill.
- Do not use waiter name to decide table occupancy, active order ownership, release, settle, or unsettled payment behavior.
Expected Result
The printed records show service responsibility while table-order safety rules remain unchanged.
Table View
Adding Products and KOT
Use this after the table is opened and the customer places an order.
Products added to a table are saved in the active table order for the current table session. Sending or saving KOT keeps those products in the same table order and marks the table as Running KOT.
Steps
- Open the table.
- Search or browse menu items in Table Counter.
- Add products and adjust quantity as needed.
- Use Quick Item only for one-time items that are not in the menu.
- Click KOT or Save KOT.
- Reopen the table from Table View to confirm the cart still loads.
- Print or save more KOTs if the customer orders additional items.
Expected Result
Kitchen preparation and table cart stay connected to the same active order.
Table View
Bill, Release, and Settle
Use this when the customer is ready for billing or when staff need to free the table.
Billing and release behavior depends on store settings. Release-on-bill decides whether printing a bill frees the table immediately or keeps it printed until payment is completed.
Steps
- Use Bill to print the customer bill.
- If release-on-bill is on, the table becomes Empty and the unpaid bill appears in Unsettled Orders.
- If release-on-bill is off, the table remains Printed and stays linked to the order.
- Use Settle when payment is completed.
- Settle saves the sale, empties the table, completes the active table order, and removes the unsettled entry.
- Use Release Table only when the table must be freed without completing payment through the normal bill/settle flow.
Expected Result
Payment, occupancy, and unsettled-order records remain clear for both counter staff and managers.
Table View
Unsettled Orders
Use this when a bill was printed but payment has not been completed.
Unsettled Orders shows unpaid table and takeaway bills. A table can be empty while its unpaid bill remains in Unsettled Orders, especially when release-on-bill is enabled.
Steps
- Open the Unsettled Orders panel from Table View.
- Review pending order number, table, floor, customer, and amount.
- Use Print when the bill needs another copy.
- Use Settle after payment is received.
- Do not treat an unsettled entry as table occupancy by itself.
- After settlement, confirm the entry is removed from pending payment.
Expected Result
Printed bills can be paid later without keeping the physical table blocked unnecessarily.
Table View
Search and Exact Table Codes
Use this when staff need to find a table quickly by typing a code such as T2, T02, T6, or T06.
Table search should respect exact normalized floor and exact normalized table code. Codes that look similar can still represent different tables.
Steps
- Click the table search field.
- Type the full table code or floor name.
- Use consistent naming so staff do not confuse T6 with T06.
- If T6 and T06 both exist, verify the correct table before opening or settling.
- Keyboard shortcuts should not trigger while the search field is focused.
- Clear the search to return to the full table board.
Expected Result
Staff can search fast without accidentally opening, printing, or settling the wrong table.
Table View
Layout and Grid View
Use this when the store wants either a compact operational grid or a visual floor layout.
Table Grid is best for speed and scanning. Floor Layout is best when the store wants a more visual view of where tables are placed. Both views should use the same table and order data.
Steps
- Use Table Grid for daily counter work and quick status scanning.
- Use Floor Layout when staff need a visual seating plan.
- A table opened in one view should show the same status in the other view.
- If a layout position is missing, confirm the table was added to the layout plan.
- If status differs between views, sync or reload before taking action.
Expected Result
The store can choose the best display style without changing the order workflow.
Table View
Customer Alerts
Use this when customer QR approvals, service requests, or customer-side alerts need staff attention.
Customer alerts are shown from the notification bell. They help staff respond to customer requests without mixing them into table occupancy or payment state.
Steps
- Click the customer alert bell in Table View.
- Review pending customer notifications.
- Open the related table or request where available.
- Complete or dismiss the notification after staff handles it.
- Keep admin announcements separate from customer service alerts.
Expected Result
Customer requests become visible to staff without changing the table-order lifecycle.
Table View
Cross-Device Sync
Use this when the same store is running Flutter mobile, Flutter desktop, and Next.js web together.
All supported clients must write and read the same table, tableOrder, activeOrderId, tableSessionId, waiter, and status fields. Remote updates can be delayed, but old local data should not revive released or settled tables.
Steps
- Use the same store account across devices.
- Create or edit floors and tables from one device, then sync others.
- Send KOT from one device and confirm other devices show Running KOT on the exact same table.
- Release or settle from one device and confirm other devices do not reopen the old order.
- Use Sync Data when a device was offline or idle for a long time.
- Avoid editing Firestore rules for table fixes unless explicitly approved.
Expected Result
Flutter, Windows Flutter, and Next.js stay aligned for table operations.
Table View
Permissions and Staff Training
Use this before giving employees access to table service, billing, settlement, or settings.
Different roles may need different access. A waiter may open tables and send KOT. A cashier may bill and settle. A manager may release tables, edit layout, or handle unsettled orders.
Steps
- Create employee roles based on real store responsibility.
- Give table access to waiters who manage dine-in orders.
- Give print access to users who can print KOT and bills.
- Give settlement access only to users who can collect payment.
- Give layout/settings access only to managers or owners.
- Test with one employee login before using it in live service.
Expected Result
Staff can complete their work without exposing actions they should not use.
Table View
Troubleshooting
Use this when table status, search, cart loading, KOT, bill, or unsettled orders do not behave as expected.
Most Table View issues come from duplicate table codes, delayed sync, an old active order, wrong release-on-bill expectation, missing waiter assignment, or a device that has not refreshed after another device changed the table.
Steps
- If a running table opens with an empty cart, reload or sync and confirm the table still has the correct active order.
- If a released table becomes running again, check for stale data from another device and confirm the old table session was cleared.
- If T6 status appears on T06, check table naming and exact table-code matching.
- If KOT does not show waiter, confirm waiter was assigned or the logged-in employee is a waiter user.
- If a printed bill is missing from the table, check release-on-bill setting and Unsettled Orders.
- If payment is completed but unsettled still shows, refresh and confirm settlement finished successfully.
- If another device shows a different status, use Sync Data and avoid taking duplicate actions until the status matches.
Expected Result
Staff can diagnose common table-service problems without damaging the active table order.
