Actions
Feature #170
open
NP
NP
Canteen: coupons — issue, print, redeem at POS, liability report feed
Feature #170:
Canteen: coupons — issue, print, redeem at POS, liability report feed
Start date:
09/29/2026
Due date:
09/29/2026 (45 days late)
% Done:
100%
Estimated time:
Resolved By:
Description
Prepaid meal coupons, issued in books and redeemed at the till.
- CouponBook (book number from Admin's canteen-coupon-book sequence, purpose, department, cost centre, quantity, value, price list, valid till) and its Coupon rows.
- CouponCodeGenerator: CP-0914-0001-K7 shape, a check character that catches every single-character typo, alphabet excludes I, L, O, U.
- GET coupons/resolve?code= -> valid / expired / redeemed / void / book closed.
- POS Coupon tab: the coupon covers up to its value, any remainder is cash. Redemption marks the coupon under a row lock, inside the same transaction that numbers the sale.
- A void un-redeems the coupon; two concurrent redemptions of one coupon settle to exactly one success; closing a book voids only the unredeemed coupons.
- /coupons page with an issue dialog and an A4 print sheet (3x7 cut-outs, barcode).
Depends on: Admin's coupon-book number sequence.
Actions