Module, Staff Canteen

Staff
Canteen

Campus-scoped staff POS for menu and stock, cash or credit sales, employee credit ledgers, low-stock alerts, and payroll deduction of unpaid credit.

What it covers

Hub at /dashboard/canteen (POS, menu, sales, credit, alerts). Feature flag canteen plus canteen:* grants. Clinical Branch / Working-in geography (not HR OrgUnit). Campus overlays: canteen.defaultCreditLimit, canteen.creditEnabled.

Why

  • → Staff meals need a controlled till separate from pharmacy walk-in credit
  • → Unpaid credit must recover through payroll without spreadsheet tracking
Deep Dive

Every Feature Explained

POS & Sales

What it is

Ring up menu items for cash or credit.

Why it exists

Fast till with void control.

How it works

canteen:sell; void with canteen:sell:void. Sales history under /dashboard/canteen/sales.

Menu & Stock

What it is

Maintain sellable items and on-hand stock.

Why it exists

Avoid stockouts during peak shifts.

How it works

canteen:menu:manage and canteen:stock:manage; alerts board for low stock.

Employee Credit

What it is

Per-employee credit accounts with campus limits.

Why it exists

Staff can eat when cash is unavailable.

How it works

/dashboard/canteen/credit; Settings → General canteen credit overlays.

Payroll Deduction

What it is

Deduct unpaid credit when payslips generate.

Why it exists

Closes the credit loop without manual journals.

How it works

payroll:generate + canteen:credit:*. Distinct from pharmacy.walkIn.* credit keys.

Credit to payroll

Technical Architecture

FieldTypeInstitutional Role
branchIdUUIDClinical campus stamp (Working-in).
employeeIdUUID?Credit account holder when sale is on credit.
paymentModeEnumCash or credit.
unpaidBalanceDecimalOutstanding credit recovered via payroll.

Note: Sensitive fields use AES-256 field-level encryption where applicable.

Governance & Power

canteen:view
canteen:sell
canteen:credit:view
canteen:menu:manage