POS
Retail & Food Service Point of Sale
- Selling modes, one order model
- 2
- Surfaces, one system
- 4

Retail tender
Cash tender on the retail screen. The cashier enters the amount handed over and the till calculates the change. Card and e-wallet payments take a reference number instead, since the till records those rather than processing them.
The Problem
Retail tills and restaurant tills are sold as separate products, so a business running both pays for two systems and reconciles them by hand. Cash handling, where losses actually show up, is thin in both.
The Approach
Treated both as the same lifecycle at different speeds: open an order, add lines, take payment, close it. Retail collapses that into a single cart screen. Food service keeps the order open against a table, with courses and check splitting. A Laravel API over PostgreSQL serves a React register and a Next.js back office.
The Outcome
Both selling modes run on one order model across multiple locations, built and tested but not yet live in a store. Closed orders are never edited; refunds add rows on top of the original. Closing a shift requires a physical cash count before the expected total is shown.