Skip to content

Store & Lane Selection

Before processing sales, you must select:

  1. Store — which location’s catalog and prices to use
  2. Lane (if multi-lane store) — which POS register/terminal for shift tracking

Top bar, immediately after the navigation toggle. Shows:

  • Current store name (or “Select store” if none)
  • Store switcher dropdown (click to change)

Store and lane selector in top bar

When work shifts are enabled and lane is unset:

Lane-required banner on Sale page

Yellow banner blocks checkout until a lane is chosen.

For employees:

  • If employee profile has store_id set → auto-selected, dropdown shows only that store
  • If no store_id → can choose from assigned stores

For owners/managers:

  • All owned stores appear in dropdown
  • Selection persists in browser session

Changing store affects:

  • Catalog: Products, prices, stock availability
  • Customers: Store-specific customer list
  • Orders: Filter order history to selected store
  • Reports: Sales summary for selected store only

Multi-lane stores (stores with 2+ active POS registers) require lane selection for:

  • Work shift tracking: Open/close shift tied to lane
  • Hardware routing: Receipt printer, cash drawer, card terminal assigned per lane
  • Order attribution: Orders tagged with vendor_pos_register_id

Location: Top bar, after store selector (only shown when required)

States:

  • Auto-selected: Employee with pos_register_id in profile → no picker, shows lane label
  • Single-lane store: No picker shown, lane auto-applied
  • Multi-lane (owner): Dropdown picker, persists in Zustand store (useVendorPosLaneStore)
  1. Click lane selector in top bar
  2. Choose from active lanes (inactive lanes hidden)
  3. Selection persists per store (stored in laneByStoreId map)

Store selector dropdown with options

Alternative: From Settings hub, open “Checkout Lane” card to pick lane.

TermMeaning
LanePhysical checkout counter/station
POS registerSoftware entity (vendor_pos_registers table), mapped 1:1 to lane
pos_register_idDatabase column, used in API calls as vendor_pos_register_id
Lane labelDisplay name (e.g., “Lane 1”, “Express”, “Self-checkout”)
  • Sale workspace: Shows “Select a store to begin” banner
  • Orders: Empty state: “Pick a store”
  • Customers: No data loaded
  • Reports: Cannot generate report

If work shifts are enabled and lane unset:

  • Sale page: Yellow banner: “Select checkout lane to continue”
  • Payment blocked: Cannot open checkout modal
  • Shift operations: Cannot open/close shift

Cause: Store has only 1 active lane Solution: No action needed, lane auto-applied

Cause: No active lanes configured for store Solution:

  1. Go to Dashboard → Settings → POS Registers
  2. Create/activate at least one register for the store
  3. Return to Cashier, refresh if needed

Cause: Employee locked to specific store Solution: Only owner can reassign employee’s store_id via Dashboard → Employees → Edit

When work shifts are enabled in store configuration:

  1. Opening a shift:

    • Must select lane first
    • Shift tied to selected lane + current employee
    • Only one open shift per lane at a time
  2. During shift:

    • Lane selector becomes read-only (cannot switch while shift open)
    • All orders tagged with shift ID + lane ID
  3. Closing shift:

    • Report shows totals for shift + lane combination
    • After close, can switch to different lane

See Work Shifts for details.