Merit · Product · Explainer

The E-Commerce Solution, explained

Loyalty programmes have points their members cannot spend. The E-Commerce Solution lets those members spend them on real products. This page shows the parts, and how an order and a point move through them.

Owner: Brian Arfi Faridhi, Product Director · Audience: anyone new to the E-Commerce Solution, product or engineering

01Who is who

Three parties, and one word that means two things.

The membera customer of the client brandClient, or tenantowns the loyalty points. Saudia Al Fursan,SAIB, STC, NielsenMeritowns the commerce stack: catalogue, orders,logistics, payments, settlementSupplier, or sellerowns the goods and the stock. Almanea, Aleph,STC for Appleshops in the client brandMerit runs the storeburns pointsprofit shareordergoods, shippedThe member never sees Merit. They see the Al Fursan store, in the Al Fursan brand.

Three parties. The client wants its members to spend points, the supplier wants to sell goods, and Merit is the commerce layer between them. Engineering calls every account on the platform a tenant, sellers included, so check which side someone means.

How Merit earns

Software

A platform fee per client, and a commission on what is sold.

How Merit earns

Retail

The goods margin where Merit is Merchant of Record, shared with the client.

What everyone watches

Points burned, and GMV

The two numbers that move both the client and Merit.

02The map

Every part, in four bands. One band is ours.

Other channels · outside the E-Commerce SolutionchannelsB2C Super AppMerit's own consumer appRewards Portalclient staff redeem gift cardsClient APIbulk and corporate ordersThe E-Commerce Solution · what Merit builds and ownsstorefrontand supplyStorefrontthe member shops here, in theclient brandStorefront Admin Portala client sets up and runs itsstoreSeller Portalsellers list, price, stock andfulfilDigital Seller Portalterms for gift card merchantsSearchacross the client catalogueproduct andofferPIMwhat a product is. No price, everE-commerce Corethe offer: who sells it, at what price, on which channel. The single front doorthe order,and after itOMSthe order state machineFulfillment Servicepicks who fulfils each lineTMS on OTOcarriers, labels, trackingSettlementthe money once the order is finalShared services · called by us, owned by other Merit teamsPayment and Taxtakes the money, holds tax rulesIdentity, Merit IDlogin and addressesCommunication Hubemail, SMS, pushExchange HubFX ratesLiveOpsthe operator consoleOld World · still live, being replacedOnline CatalogueMGCPoints ExchangePayout Service

Read it top down. The client storefront is part of the solution, one white label store per client. It and every channel above reach the rest through E-commerce Core. PIM knows what a product is, Core knows who sells it and at what price, OMS knows what happened to the order, and the Fulfillment Service knows who ships it. The two bands below are not ours, and the order cannot complete without them. The service map draws every seam between these boxes.

03Product and offer

The core data model idea. Amazon works the same way.

PIM · the productiPhone 15, 128GB, blacktitle, images, specs, variants. One record,shared by every sellerE-commerce Core · the offersSeller A4,199 SAR · 12 in stock · live feedSeller B4,099 SAR · stock on a spreadsheetSeller C4,149 SAR · 3 in stock · decrement onBuy Boxpicks one offer per variant for theorderSeller C wins, section 04

A shopper sees one product page. Behind it there can be several offers, each with its own price, stock and ship-from location. Offers point at products, never the reverse. This is why a seller upload has to be matched against the catalogue first: without the match the catalogue fills with duplicates of the same phone.

Matching an upload

Exact match first, which is cheap and right when it fires. When it misses, AI matching scores whether the upload is an existing product. It launches in shadow mode: Ops sees the score and accepts or rejects every match. LiveOps later sets how much is automatic, per category. The Seller Portal explainer shows the upload screen by screen.

04The Buy Box

When several sellers offer the same variant, one wins the order.

All offersfor this variantGate 1trusted stock only: live feedor decrement onGate 2in stockRank 1lowest priceRank 2within 2% of price, fewercancellations winsTiebreakprice, then dispatch SLA,then a stable idNo offer clears the gatesthe configured default supplier takes the order

Gates first, ranking second. Trusted stock is a gate, not a ranking factor: an offer whose stock number cannot be trusted is not a cheaper offer, it is a future cancellation. Phase 1 is backend only, so the shopper sees no difference. Where a product has regional versions, competition happens inside a region, so a seller of one region is never crowded out by another.

05An order, end to end

Six lanes. Four of them are ours.

Memberclient storefront or appE-commerce Coreoffers and channelsPaymentcash leg and points legOMSthe state machineFulfillment Servicewho fulfils the lineProviderOTO, STC, a seller, MGCBrowseproduct pagecontent from PIM, price from the winning offerCheckoutrevalidate price and stockthe Buy Box commits one supplier per variantpay: points, card, or a splitpoints burn at the client. Merit holds no pointscreate the orderfrom here only OMS moves the stateFulfilfulfil this linephysical: book a carriergift card: issue the code, no shipping at allshipped, deliveredAfter deliveryA return window opens. Earned points stayPending until it closes, then are Released tothe client loyalty system. Settlement runsonce the order is final.

One physical order, end to end. Gift cards and e-vouchers skip fulfilment, logistics and delivery, which is why a gift card only client is much simpler to run than Al Fursan. The fulfilment explainer goes one level deeper on the last two lanes.

The order states

DRAFTAWAITING_PAYMENTPAYMENT_COMPLETEDPROCESSINGCONFIRMEDSHIPPEDFULFILLEDThe main path of an orderPARTIALLY_FULFILLEDREFUNDEDEXPIREDFAILEDCANCELLEDTerminal: CANCELLED, REFUNDED, EXPIRED. FAILED and PARTIALLY_FULFILLED can go back to PROCESSING, for gift cards only, when an item is reprocessed.Payment status runs beside it: UNPAID, PARTIALLY_PAID, FULLY_PAID, PARTIALLY_REFUNDED, FULLY_REFUNDED.

Twelve order states, as the code runs them, owned by OMS alone. Items move first and the order follows them. OMS tracks the order, Settlement tracks the money. The order state explainer lists every allowed move.

06Points and money

The part a normal e-commerce platform cannot do.

Basket1,000 SARPoints legdebited at the client loyalty systemCash legcard through the payment gatewaysplit on a sliderEarn: Pendingduring the return windowReleasedpushed to the clientA return inside the window voids the earn.The earn rate is locked at fulfilment.

Mixed payment is the piece Shopify cannot copy: points and card in one transaction, so a member without quite enough points can still redeem on a high value item. Merit validates every points call, because some client loyalty APIs will create points on request with no ledger behind them.

A fourth pattern with no points at all

Bank offer redemption, as with SAIB, is entitlement based. Holding the card makes the member eligible, the discount is applied at the merchant, and a one-use-per-month cap is checked with an outlet code.

07Old World and New World

Two live stacks, not two phases.

Old World

legacy · every paying client today
  • Runs all live clients, Al Fursan included
  • Online Catalogue, MGC and the Platform services
  • Only Al Fursan moves. Agora, Taino Marketplace, DreamPoints and the Legacy Shops stay here
  • MGC stays as a gift card supplier, called by the Fulfillment Service

New World

the modular rebuild
  • PIM, E-commerce Core, OMS, Fulfillment Service, Seller Portal, Storefront
  • Built around product and offer from day one
  • The Seller Portal shipped first and feeds the Old World, so it pays off before the migration ends
  • PIM replaces the Online Catalogue
What moves

Data, not code

A platform switch and a rebuild on the new stack. Only data moves, and product data is not part of it: sellers upload their catalogue again into PIM.

How the gap closes

Develop the gaps

Audit what legacy does, match it to the New World, build what is missing, then build new requirements on top.

Done means

Legacy switched off

Al Fursan runs entirely on the E-Commerce Solution, and the legacy system is decommissioned.

The canary · members move in growing cohortsMerit staffinternalClosed groupinvited members5%of members25%of members50%of members100%every memberParity per cohortthe new system gives the same result as theold oneStickinessa member stays on the side they were put onKill switch per cohortone cohort goes back to legacy, the othersstayLegacy kept warmno traffic at the end, but ready as thefallbackeach cohort passes these four before the next one opens

How Al Fursan moves. Real members transact on the New World in growing groups, and each group is checked before the next one opens. If a cohort goes wrong, only that cohort goes back.

Reading Confluence

Much of the Confluence space describes the Old World without saying so. When a page says "the platform", it almost always means an Old World thing.

08Clients and suppliers

The names you hear in every standup.

Clients

Al Fursan

Saudia Airlines loyalty

The flagship and the hardest case: physical goods at scale, gift cards, the Apple Store, an earn model. The first client to move to the New World.

SAIB

Saudi bank

Offer redemption on the Aseel Marketplace. Eligibility comes from holding the card, not from points.

STC

Saudi telco

On both sides: a client for Qitaf points, and the Apple distributor behind the Al Fursan Apple Store.

Nielsen and Kantar

Market research

Gift cards as survey incentives. No points programme.

Bank al-Etihad

Jordanian bank

E-commerce pipeline. The bank, not the airline.

Suppliers and partners

Almanea, Just Lounge

API connected, live stock feed. Both still drive most out of stock incidents, because the feed is often wrong.

Aleph and the long tail

Manual suppliers with inventory decrement switched on.

STC

Apple products for the Al Fursan Apple Store. First Riyadh only: STC delivers to a Merit warehouse and Merit runs the last mile through SPL. Direct STC delivery by city comes after.

Salasa

A fulfilment partner modelled as a supplier. It arranges its own last mile.

OTO

Not a goods supplier. One API to 200 or more GCC carriers.

09Glossary

The words that arrive in week one with no explanation.

Open the glossary, 24 terms
Tenant
A brand running a commerce experience on Merit. Engineering stretches the word to sellers.
Client
The points owner. The unambiguous word for the airline or the bank.
Seller, supplier
The party that owns the goods and holds the stock.
Old World
The legacy platform. Every paying client runs on it today.
New World
The modular rebuild: PIM, Core, OMS, Fulfillment, Seller Portal, Storefront.
Product
What a thing is. Shared across every seller. Lives in PIM.
Offer
What one seller will do: price, stock, location. Lives in E-commerce Core.
Buy Box
The rule that picks the winning offer for a variant.
Trusted stock
Stock that updates by itself, by live feed or by decrement. Buy Box gate 1.
Channel
One storefront or sales environment, isolated from every other channel.
Market
Country, pricing currency, settlement currency, payment providers and fulfilment profile.
OMS
The order state machine. The only service that moves an order.
Fulfillment Service
Decides who fulfils each order line: OTO, STC, a self shipping seller, or MGC. Reports status back to OMS.
TMS, OTO
Carrier orchestration on the OTO aggregator. Runs behind the Fulfillment Service.
MGC
The legacy order, inventory and gift card engine being replaced.
Mixed payment
Points and cash in one transaction, split on a slider.
Burn, earn
Spending points, and accruing points on a purchase.
Pending, Released
Earn states: Pending in the return window, Released once it closes.
Merchant of Record
Merit is the legal seller, carries the goods margin, tax and settlement.
Merit ID
The shared identity layer: one login across the Merit ecosystem. An identity, not a wallet.
Digital Seller Portal
The gift card workflow of the Seller Portal. Same codebase, separate data.
Commercial terms
Discount, markup, transaction fee and tenant revenue split, per client and per product. Held in Core.
1P
First party. Merit selling its own goods, through a Merit-owned seller account.
Canary
Moving members to the New World in growing cohorts, each with its own kill switch.