The cashier enters the outlet code on the customer's phone, and that single entry is what spends the offer. It proves the customer is at the outlet and it gives the bank a redemption record with outlet, timestamp and reference. Every screen below is drawn on the shipped Aseel design, so this is the product as it exists plus three new surfaces.
Nothing is written until the outlet code validates. Every branch on the second row returns the customer to the entry screen with their monthly entitlement intact, which is the point: no failure in this journey costs a customer their month, so no failure becomes a complaint.
The customer opens Aseel inside the SAIB app and sees how many offers are left this month and the date the allowance resets.
Nothing yet. The monthly limit is shown, not enforced, at this point.
Offers are listed by proximity. Anything already redeemed this month is greyed with the date it returns, so the customer knows before walking in.
Entitlement state is read to decide which cards are greyed.
The monthly limit is repeated on the offer itself. The customer taps Activate.
Nothing is written. Activate opens the code screen, it does not spend the offer.
One screen states that the cashier's entry consumes the offer, not the tap.
Nothing is written. This screen exists purely to remove the accidental burn.
A five minute timer starts. The customer hands the phone across the counter and the cashier types the outlet code.
Nothing is written yet. The timer is what makes a screenshot of this screen worthless later.
Merit resolves the code to an outlet, confirms that outlet carries this offer, and confirms the customer still holds the month's entitlement.
All three checks pass together, or nothing is recorded at all.
The redemption is recorded with outlet, timestamp, customer, offer and a unique reference. The cashier applies the discount to the bill as normal.
This write is the first and only one in the journey.
The offer closes until the first of the next month, driven by a verified redemption and not by a tap.
The lock is written against a redemption that has proof behind it.
The code does not match an outlet carrying this offer. The customer is told plainly that nothing has been used and can try again inside the timer.
No write. Entitlement untouched.
Five minutes pass without a code. The screen expires and the customer can start again whenever they are ready.
No write. Entitlement untouched.
A new branch or an unbriefed shift has no code to enter. A manual release has to come from someone at SAIB.
No write. Entitlement untouched, but the release path is undefined.
Every entry carries outlet, timestamp and reference. SAIB can pull the same rows as a report.
Read only.
Online redemption still issues a promo code entered at the merchant checkout. No outlet code is involved.
The merchant checkout validates the promo code already, as it does today.
Each outlet gets one page carrying one code. No installation, no merchant application, no account.
Merit Operations issues it at onboarding and reissues it whenever a code rotates.
The customer taps activate and shows a screen. The cashier reads it and nothing is verified. Merit cannot confirm the customer was at the outlet or that a transaction happened, and the tap alone has already closed the offer for the month. Against this, Option D costs one handover and roughly five seconds.