Work · Case study
The queue does not care that your loyalty API is having a slow day.
01 / Challenge
Retail and restaurant operators were running an open-source point-of-sale system that could not express the business logic they actually needed: no structured promotion engine, discounts configured by hand at product level, loyalty validated manually by a cashier, and no age verification for restricted products — which is a compliance exposure, not an inconvenience.
02 / Approach
A promotion engine was built as a layer over the existing system rather than a fork of it, supporting fixed-amount and percentage discounts configured per product. Keeping it as an enhancement layer is why four years of upstream changes have not required a rebuild.
The external loyalty API was the risk nobody had priced. An integration that calls a third party in the middle of a transaction inherits that third party's worst day, and a checkout that blocks on a slow response is a queue in a shop. Timeout handling, a fallback path and transaction continuation logic mean a loyalty lookup that does not answer costs the customer their discount lookup, not their sale.
Age verification via TruAge runs before a restricted item can complete, gating the transaction rather than warning after it. PAX terminal communication was built on the semi-integration SDK with error recovery and transaction state logging, because a payment terminal that loses its place mid-transaction is the one failure a shop cannot absorb.
03 / Outcome
years of continuous delivery
external systems integrated
Checkout is faster and needs fewer manual overrides, because discounts calculate themselves and loyalty validates in real time instead of at the cashier's discretion. Age-restricted sales are gated by a real check, which reduced both fraud and compliance exposure. A customer-facing display and a configurable kiosk mode opened self-service to operators who previously could not offer it.