Staff POS Specification
Status: Canonical Last Updated: 2026-05-11 Source: POS components in
apps/frontend/components/pos/
Related specs
- Tech Stack — Real-time via Convex subscriptions
- Data Model — tables, orders, orderItems, menuItems
- Admin Dashboard — Admin configures POS challenges
- Gamification — Challenges (spin, photo wall) at table
- Notifications — ORDER_READY notifications
- User Stories — US-S01 through US-S05 cover staff
POS Views
The POS system has three main views for different staff roles:
1. Reception View
Purpose: Check in guests, manage tables
Located: /dashboard/admin/pos/reception (implied from components)
Features:
- Table layout visualization
- Reservation list for shift
- QR code scanning for check-in
- Table status updates
- Walk-in management
2. Kitchen Display (KDS)
Purpose: View and update order preparation
Components: components/pos/kitchen-display.tsx
Features:
- Orders list with status
- Status filters: Received, Preparing, Ready, Served
- Order cards showing: Table number, Items ordered, Special notes, Time since order
- One-tap status updates
- Audio alerts on new orders
3. Staff Mobile View
Purpose: Floor staff take orders at tables
Components: components/pos/staff-order.tsx
Features:
- Table list with status
- Take order at table
- Add items from menu
- Submit order to kitchen
- View order status
Table Management
Table States
- AVAILABLE — Empty, ready for seating
- RESERVED — Expected reservation
- OCCUPIED — Guests seated, order in progress
- MAINTENANCE — Unavailable
Order Flow
OPEN → SUBMITTED → PREPARING → READY → SERVED | | | | | | | | | └─ Guest receives food | | | └─ Staff picks up | | └─ Kitchen prepares | └─ Sent to kitchen └─ Created at table
Order Details
Order Card Shows
- Table number
- Reservation ID (if linked)
- Items with quantities
- Special instructions
- Order time
- Status badge
Order Actions
- Update item status
- Mark order complete
- Add comp items
- Print ticket (future)
Menu Items
Categories
- FOOD: Appetizers, Mains, Desserts
- BEVERAGE: Soft drinks, Beer
- COCKTAIL: Bar drinks
- WINE: Wine list
Item Display
- Name
- Description
- Price (VND)
- Availability toggle
- Featured badge
Comp System
Staff can mark items as complimentary from:
- Spin result — Lucky spin prize
- Photo win — Photo wall winner
- Google review — Review challenge reward
Comp items tracked in orderItems.isComp with compSource field.
Real-Time Updates
All POS views use Convex subscriptions for real-time updates:
- New orders appear immediately
- Status changes reflect instantly
- No page refresh needed