Aseel Marketplace · SAIB Offers

Option D, end to end

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.

The whole flow, in one line

BrowseActivateTerms gateCode entry, 5 minMerit validatesRedemption recordedLocked for the month
Branches from code entry:Wrong codeTimer expiresOutlet has no code

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.

Discovery

2 screens
App home

1App home

Who acts: Customer

The customer opens Aseel inside the SAIB app and sees how many offers are left this month and the date the allowance resets.

What Merit writes

Nothing yet. The monthly limit is shown, not enforced, at this point.

SAIB-R01
Dining near you

2Dining near you

Who acts: Customer

Offers are listed by proximity. Anything already redeemed this month is greyed with the date it returns, so the customer knows before walking in.

What Merit writes

Entitlement state is read to decide which cards are greyed.

SAIB-R01SAIB-R10

Activation

2 screens
Offer detail

3Offer detail

Who acts: Customer

The monthly limit is repeated on the offer itself. The customer taps Activate.

What Merit writes

Nothing is written. Activate opens the code screen, it does not spend the offer.

SAIB-R03
Terms gate

4Terms gate

Who acts: Customer

One screen states that the cashier's entry consumes the offer, not the tap.

What Merit writes

Nothing is written. This screen exists purely to remove the accidental burn.

SAIB-R04
This is the screen that answers Habeeb's point about a customer burning their month by tapping out of curiosity.

Verification

2 screens
Outlet code entry

5Outlet code entry

Who acts: Customer, then cashier

A five minute timer starts. The customer hands the phone across the counter and the cashier types the outlet code.

What Merit writes

Nothing is written yet. The timer is what makes a screenshot of this screen worthless later.

SAIB-R02SAIB-R03SAIB-R05
The only moment a member of staff touches anything. No app, no portal, no login, no device of their own.
Merit validates

6Merit validates

Who acts: Merit

Merit resolves the code to an outlet, confirms that outlet carries this offer, and confirms the customer still holds the month's entitlement.

What Merit writes

All three checks pass together, or nothing is recorded at all.

SAIB-R06

Confirmation

2 screens
Redemption confirmed

7Redemption confirmed

Who acts: Merit

The redemption is recorded with outlet, timestamp, customer, offer and a unique reference. The cashier applies the discount to the bill as normal.

What Merit writes

This write is the first and only one in the journey.

SAIB-R08SAIB-R09
This record is the artefact Option C cannot produce and the one the bank needs to settle a dispute.
Offer locks for the month

8Offer locks for the month

Who acts: Merit

The offer closes until the first of the next month, driven by a verified redemption and not by a tap.

What Merit writes

The lock is written against a redemption that has proof behind it.

SAIB-R10

Failure paths

3 screens
Wrong or ineligible code

9Wrong or ineligible code

Who acts: Cashier

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.

What Merit writes

No write. Entitlement untouched.

SAIB-R07
Timer expires

10Timer expires

Who acts: Nobody

Five minutes pass without a code. The screen expires and the customer can start again whenever they are ready.

What Merit writes

No write. Entitlement untouched.

SAIB-R05SAIB-R07
Outlet cannot produce its code

11Outlet cannot produce its codenot designed yet

Who acts: SAIB

A new branch or an unbriefed shift has no code to enter. A manual release has to come from someone at SAIB.

What Merit writes

No write. Entitlement untouched, but the release path is undefined.

SAIB-R14
OPEN. Who at SAIB is allowed to authorise a manual release, and within what response time? Until that is answered this is a placeholder, not a specification. Left open deliberately so it is decided in the client session rather than discovered in week one of support.

After

1 screen
Redemption history

12Redemption history

Who acts: Customer

Every entry carries outlet, timestamp and reference. SAIB can pull the same rows as a report.

What Merit writes

Read only.

SAIB-R08SAIB-R12

Online

1 screen
Online is unchanged

13Online is unchanged

Who acts: Customer

Online redemption still issues a promo code entered at the merchant checkout. No outlet code is involved.

What Merit writes

The merchant checkout validates the promo code already, as it does today.

SAIB-R11
Only the in-store flow changes. That is what keeps the scope of this work down.

Enablement

1 screen
The outlet card

14The outlet card

Who acts: Merit Operations

Each outlet gets one page carrying one code. No installation, no merchant application, no account.

What Merit writes

Merit Operations issues it at onboarding and reissues it whenever a code rotates.

SAIB-R02SAIB-R13
The whole design rests on outlet staff knowing one code, which makes enablement a product deliverable and not an afterthought.

Why not the lighter option

1 screen
Option C, for contrast

Option C, for contrast

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.