specs
Staff Pos

Staff POS Specification

Status: Canonical Last Updated: 2026-05-11 Source: POS components in apps/frontend/components/pos/


Related specs


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