CLIENT: Dar Zanbaq Beauty🇯🇴Jordan

Qafila - Order Management System for Omnichannel Beauty Retail

One Order Brain for an Amman Beauty Retailer

Designed and built a clickable order management system for an Amman beauty retailer selling through 60 stores, two distribution centres, its own website and app, and Amazon, Noon and a fashion marketplace across Jordan and the GCC: every order in one place, sourcing that explains itself, and one dashboard for every stuck order.

Scope of Work
Product design, UI build and clickable demo
Industry
E-commerce & D2C / Order Management
Enterprise
Compliance & Certifications
Jordan PDPLSaudi PDPLUAE PDPLJoFotara e-invoicingJordan sales tax and GCC VATJFDA and SFDA cosmetics clearance

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Dashboard, orders table with quick view, order detail with 5 tabs, the sourcing queue with its sourcing explanation panel, and the exceptions dashboard with its exception panel.

11 Rules
Sourcing rules on screen

7 for Jordan and 4 for the GCC: express only from stores within 25 km, 2 units of store safety stock protected, stock inside 6 months of expiry blocked, and perfume never on an air-only service. Every candidate node shows the rule that removed it.

11 Types
Exceptions on one dashboard

From sourcing failed and node rejected to carrier stuck, capture failed and channel sync errors, each with its own SLA from 1 to 48 hours and suggested next steps.

32 Orders
Realistic demo data

Orders from 7 channels for 22 customers in 7 countries, fulfilled by 2 DCs and 10 stores, with 16 SKUs, 10 lines in the sourcing queue and 20 exceptions.

The Problem

Dar Zanbaq grew from a Jordanian store chain into a GCC online seller faster than its systems did. Marketplace orders were downloaded by hand from four seller portals, the Amman DC worked from a spreadsheet export twice a day, stores had stock online customers could not buy, cash on delivery was reconciled a month late, and roughly one order in twelve was cancelled for "out of stock" after the customer had paid.

Our Solution

Qafila captures every order from every channel, promises only stock that is really available, decides which DC or store ships each line and shows why, holds orders for fraud, payment, COD and address checks, gives customer service clear edit and cancel windows, captures card payments only for what ships, and puts every stuck order on one exceptions dashboard.

The Challenge: Many Channels, Many Nodes, Many Rulebooks

Dar Zanbaq sells in seven countries with different currencies, taxes and product registrations, through marketplaces that set their own rules, from DCs and stores that each hold part of the stock. Every order has to find the right node without breaking a rule the customer never sees.

Stock Nobody Could Promise

Online stock lived in one system and store stock in another. Available to promise has to subtract reservations, store safety stock, damaged and tester units and anything inside the client's 6-month minimum shelf life, or the website keeps selling perfumes that are already gone.

Rules That Decide Where an Order Ships

GCC orders ship from the Dubai DC only, express orders in Jordan only from stores within 25 km, and a SKU can only go to a country where it is cleared for sale by regulators such as the JFDA or SFDA. Alcohol-based perfume counts as dangerous goods in the air, so it needs a road or approved service.

Marketplaces Set Their Own Terms

Amazon, Noon and the fashion marketplace set their own acknowledgement deadlines, ship-by dates, cancellation reasons and tracking uploads, collect payment themselves and do not allow seller address edits. Customer service needs to know which actions each channel forbids before reaching for them.

Money That Follows the Parcel

Cards are authorised at checkout but captured only for what ships, shipment by shipment, and authorisations expire while backorders wait. Many Jordanian and GCC orders are cash on delivery, confirmed by WhatsApp or a call before release and remitted later by the courier, less fees.

Our Approach: From Omnichannel Rules to a Clickable OMS

01

Spec and Rules Research

Mapped 11 roles from order operations and customer service to store associates, finance and the customer, 37 screens across the staff console, a mobile-first store app and customer tracking pages, and the data model for channels, nodes, stock positions, reservations, orders, holds, sourcing decisions, fulfilment orders, shipments, payments, COD remittances and exceptions. Wrote down the rules the design follows: Jordan's Personal Data Protection Law and its Saudi and UAE counterparts, JoFotara e-invoicing through the ERP, sales tax and VAT stored per line, cosmetics clearance, shelf life, dangerous goods, COD practice and marketplace rules.

02

Clickable Demo on a Production UI Kit

Built 5 key screens on a production dashboard kit: the dashboard with 5 KPIs, order flow by state, orders by channel per hour, nodes under pressure and role-based My work; the orders table with filters, late rows and bulk actions; order detail with windows, masked customer data, sourcing explanation and shipment tracking; the sourcing queue for unsourced, rejected and timed-out lines; and the exceptions dashboard. All actions run on local state.

03

What a Production Build Adds

Integration with the storefront, the Amazon Selling Partner API and Noon seller API, Checkout.com or PayTabs, Tabby or Tamara, Riskified or Signifyd, carriers such as Aramex, SMSA Express and DHL Express, the DC warehouse systems, the ERP for invoicing and JoFotara, and WhatsApp and SMS messaging. Staff auth by role, an audit log of every override, edit, cancellation and payment action, Arabic right-to-left layouts, and the remaining screens: store app, customer tracking pages, payments, COD remittances, channels, reports and settings.

Why It Works: Every Decision Has a Reason

Sourcing Explains Itself

Each line opens a panel with every candidate node, its stock, distance and capacity left today, the rule that removed it and why the winner won. A manual source that breaks a rule needs operations lead approval.

Actions Respect Windows and Channels

Order detail shows which windows are still open, and actions are greyed out with the reason when a window has closed or the channel forbids them. Bulk release refuses fraud and channel holds, which are decided elsewhere.

Customer Data Stays Masked

Phone numbers and emails are masked by default and every reveal is logged, in line with the spec's data protection rules. Addresses keep the original script the customer typed, Arabic included.

Stuck Orders Surface Before Customers Call

The dashboard flags lines unsourced for over 30 minutes, overdue store acceptances, parcels with no scan 24 hours after handover, marketplace orders within 4 hours of ship-by and authorisations expiring within 48 hours. Exceptions carry an owner, an SLA and next steps.

Related case studies

View all: E-commerce & D2C
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab