HOCO B2B
Design

Screen inventory

Every screen of the four interfaces with its release, design day and build task — the list Akram, Imad and Anis validate on Day 5, the back-office template strategy, the navigation map of each app and the coverage check.

This page is the list of everything Akram designs. It is generated from content/spec/screens.json, the canonical inventory. Each screen has a stable id (RA-xx reseller app, DA-xx delegate app, BO-xx back-office, RW-xx reseller web), a section, a release (V1 or V2), the design task that produces it (DES-xx = design day) and the build task that consumes it. The detailed specification of each screen (purpose, data, states, rules) is on the screen pages.

On Day 5 (DES-05), Akram, Imad and Anis walk this page and the checklist at the bottom. Agreed changes are applied to screens.json by Anis, and the inventory is then frozen (milestone Screen inventory frozen). Later changes are change requests.

Totals

AppScreensV1V2Designed onBuilt by
RA Reseller app (Flutter)41383Days 6–10 (DES-06…DES-10); V2 in DES-30Imad: MOB-05, MOB-06, MRA-01…MRA-10; V2 MRA-20
DA Delegate app (Flutter)28280Days 11–14 (DES-11…DES-14)Imad: MOB-05, MOB-06, MOB-10, MDA-01…MDA-11
BO Back-office (Next.js)71665Days 15–19 (DES-15…DES-19); V2 in DES-30Anis: DSH-01…DSH-13; V2 DSH-20, DSH-21
RW Reseller web (Next.js)15141Day 20 (DES-20); V2 in DES-30Anis: WEB-01…WEB-05; V2 WEB-20
Total155146915 screen days—

The nine V2 screens are RA-37 (packs), RA-38 (loyalty), RA-39 (rewards), BO-47 (overdue and reminders), BO-48 (accounting exports), BO-52 (packs), BO-53 (loyalty settings), BO-54 (rewards) and RW-15 (loyalty, rewards and packs on the web). They are designed in DES-30. Returns and after-sales (RA-40, BO-69) are V1 since the decisions of 17 October.

By section

AppSectionScreens (V1 / V2)Ids
RAOnboarding & account8 / 0RA-01…RA-08
RAShopping8 / 0RA-09…RA-16
RAOrdering4 / 0RA-17…RA-20
RAOrders4 / 0RA-21, RA-22, RA-23, RA-40
RAPromotions2 / 0RA-24, RA-25
RAAccount4 / 0RA-26, RA-27, RA-28, RA-35
RAFinance3 / 0RA-29, RA-30, RA-31
RASupport3 / 0RA-32, RA-33, RA-34
RASystem2 / 0RA-36, RA-41
RAV20 / 3RA-37, RA-38, RA-39
DAAccess4 / 0DA-01…DA-04
DADay3 / 0DA-05, DA-20, DA-21
DATour4 / 0DA-06…DA-09
DAVisit3 / 0DA-10, DA-11, DA-12
DAProspects4 / 0DA-13, DA-14, DA-15, DA-19
DAConversion3 / 0DA-16, DA-17, DA-18
DAProfile5 / 0DA-22…DA-26
DASystem2 / 0DA-27, DA-28
BOAccess3 / 0BO-01…BO-03
BODashboards5 / 0BO-04…BO-08
BOCRM7 / 0BO-09…BO-15
BOField11 / 0BO-16…BO-26
BOCatalog7 / 0BO-27…BO-32, BO-71
BOStock5 / 0BO-33…BO-37
BOOrders7 / 0BO-38…BO-43, BO-69
BOFinance3 / 2BO-44…BO-48
BOPromotions3 / 3BO-49…BO-54
BOSupport2 / 0BO-55, BO-56
BOCommunication2 / 0BO-57, BO-58
BOReports2 / 0BO-59, BO-60
BOAdministration9 / 0BO-61…BO-68, BO-70
RWAccount3 / 0RW-01, RW-11, RW-12
RWShopping4 / 0RW-02…RW-05
RWOrdering2 / 0RW-06, RW-07
RWOrders2 / 0RW-08, RW-09
RWPromotions · Finance · Support3 / 0RW-10, RW-13, RW-14
RWV20 / 1RW-15

By design day (the design plan has the detail of each day)

DayTaskScreensBack-office bespoke / template
6DES-06RA-01…RA-08, RA-41 (9)—
7DES-07RA-09…RA-13 (5)—
8DES-08RA-14…RA-20 (7)—
9DES-09RA-21, RA-22, RA-23, RA-29, RA-30, RA-31, RA-40 (7)—
10DES-10RA-24…RA-28, RA-32…RA-36 (10)—
11DES-11DA-01…DA-05, DA-22, DA-24, DA-25, DA-26 (9)—
12DES-12DA-06…DA-09 (4)—
13DES-13DA-10…DA-13, DA-19 (5)—
14DES-14DA-14…DA-18, DA-20, DA-21, DA-23, DA-27, DA-28 (10)—
15DES-15BO-01…BO-08 (8)4 / 4
16DES-16BO-09…BO-15 (7)4 / 3
17DES-17BO-27…BO-37, BO-71 (12)2 / 10
18DES-18BO-38…BO-46, BO-69 (10)3 / 7
19DES-19BO-16…BO-26, BO-49…BO-51, BO-55…BO-68, BO-70 (29)8 / 21
20DES-20RW-01…RW-14 (14)—

Back-office: bespoke vs template pages

Of the 66 V1 back-office pages, 21 are bespoke and 45 are template pages (kind in screens.json). A bespoke page has a layout of its own: a map, a calendar, a kanban board, a matrix, a multi-tab editor, a 360° view, a live view. Akram designs it fully.

A template page is one of five page templates, defined once on Day 4 (DES-04), plus a filled page spec. The spec is a structured table of what is specific to the page: columns, filters, actions, fields, permissions and copy. Akram fills the spec on the template frame; Anis builds the page from the template code and the spec. No pixel mock is drawn unless the page breaks the template.

This is what makes Day 19 (29 pages) and the three-month frame workable. Template code is written once in DSH-01, so 45 pages reuse one table, one form, one settings layout and one detail layout. Consistency comes for free, and design time goes to the 21 pages that need it.

The five page templates

TemplateAnatomyThe page spec must give
ListPage header (title, total count, primary action, export) · filter bar (search, up to 4 inline filters, « Plus de filtres » drawer, saved views) · data table · bulk action bar · row actions menu · pagination · optional drawer for create, edit or quick viewPermission keys (view, create, export) · columns (label, field, format, alignment, sortable, default width) · default sort · filters (field, control, options source) · bulk actions · row actions with the status where each one is allowed · row-click target · empty and filtered-empty copy · live updates (yes / no)
Detail with tabsEntity header (name, business number, status pills, key facts, actions) · tabs · side panel (summary, timeline)Header fields · actions per status, with their permission and confirmation · tabs and the content of each (description list, sub-table, timeline) · events shown in the timeline
FormSections (title and description) · 1 or 2 columns (2 at 1280 px and up) · sticky action bar · unsaved-changes guardEach field: label, type, required, validation, help text, default, read-only on edit · the server error codes and the field they map to · what happens after saving
SettingsGrouped sections · one row per setting (label, description, control, unit, default) · save per section · « Modifié par … le … »Each setting: key, control, unit, allowed range, default, who can change it (settings.administer by default), audit (always)
DashboardFilter row (period plus dimensions) · KPI row (4–6 cards) · chart grid (2 columns) · ranked lists · « Mis à jour à … »Each KPI: definition, formula, source operation, permission · each chart: type, measure, dimension, period · role visibility

Proposed assignment of the 50 template pages. This assignment is not stored in screens.json; Akram and Anis confirm it on Day 5.

TemplateV1 pagesV2 pages
List (31 + 4)BO-14 follow-ups, BO-15 segments, BO-16 delegates, BO-20 objectives, BO-24 visits, BO-27 products, BO-29 brands, BO-30 categories (tree variant), BO-31 prices, BO-33 stock overview, BO-34 movements, BO-36 inventory sessions, BO-37 warehouses, BO-41 orders to confirm (queue variant), BO-43 carriers, BO-44 invoices and credit notes, BO-45 payments and declarations, BO-46 credit accounts, BO-49 promotions, BO-51 banners, BO-55 tickets, BO-57 announcements, BO-60 export centre, BO-61 users, BO-63 activity log, BO-65 reference lists, BO-66 app versions, BO-67 imports, BO-69 returns and after-sales (queue plus detail drawer), BO-70 support regions (list plus drawer), BO-71 attributes (grouped by category, plus drawer)BO-47, BO-48, BO-52, BO-54
Detail with tabs (2)BO-25 visit detail, BO-56 ticket detail (with the after-sales diagnosis and resolution panel)—
Form (5)BO-02 password reset, BO-12 reseller create/edit, BO-18 delegate create/edit, BO-35 stock receipt and adjustment, BO-40 order on behalf of a reseller—
Settings (4 + 1)BO-26 visit types and checklists, BO-58 notification templates and rules, BO-64 business settings, BO-68 my profile and sessionsBO-53
Dashboard (3)BO-05 sales, BO-07 stock, BO-08 finance—

The 21 bespoke pages: BO-01 sign-in · BO-03 app shell · BO-04 general dashboard (role-configurable cards) · BO-06 field dashboard and live map · BO-09 resellers list (list/map toggle, saved views, bulk assign) · BO-10 resellers map · BO-11 reseller 360° · BO-13 account validation queue (side-by-side review, customer type) · BO-17 delegate detail and performance · BO-19 zones map editor · BO-21 tour planner (calendar) · BO-22 tour editor (stops, map, recommended order) · BO-23 tour live detail · BO-28 product editor (three prices, attributes) · BO-32 import wizard · BO-38 orders list · BO-39 order detail (controls, actions, history) · BO-42 delivery board (kanban) · BO-50 promotion editor (targeting, preview) · BO-59 reports library · BO-62 permissions matrix.

Example page spec: BO-41, orders to confirm (template List, queue variant).

page: BO-41 · Orders to confirm
permission: orders.validate          # hidden from roles without it
source: admin.orders.toConfirm      # SUBMITTED and PENDING orders, oldest first
live: admin.events.stream → order.created, order.status_changed (row highlight)
columns:
  - Commande (CMD-2026-000158, link to BO-39)
  - Revendeur (name, REV number, wilaya) · first-order badge
  - Canal (Application, Web, Assistée, Back-office)
  - Contrôles (stock, crédit, prix, minimum, adresse: icon + text, failed first)
  - Montant TTC (right-aligned, 1 250,00 DA)
  - Âge ("depuis 3 h"; warning tone after 4 h)
  - Statut (Envoyée / En attente pill)
filters: canal, wilaya, délégué, contrôles en échec, première commande
row actions: Confirmer · Mettre en attente (reason) · Refuser (reason, ORDER_REFUSAL_REASON)
bulk actions: Confirmer (only rows whose controls all pass)
empty: "Aucune commande à confirmer."
sidebar counter: yes (number of rows)

Reseller app (RA)

IDScreenUI titleSectionReleaseDesignBuild
RA-01Splash & version checkDémarrageOnboarding & accountV1Day 6MOB-05
RA-02Welcome (sign in, sign up, browse as guest)BienvenueOnboarding & accountV1Day 6MOB-06
RA-03Sign-up — phone & invitation codeInscription — téléphoneOnboarding & accountV1Day 6MOB-06
RA-04OTP verificationVérification du codeOnboarding & accountV1Day 6MOB-06
RA-05Sign-up — store details, customer type & passwordInscription — magasinOnboarding & accountV1Day 6MOB-06
RA-06Account pending validation / rejectedCompte en attenteOnboarding & accountV1Day 6MOB-06
RA-07Sign inConnexionOnboarding & accountV1Day 6MOB-06
RA-08Forgot passwordMot de passe oubliéOnboarding & accountV1Day 6MOB-06
RA-09HomeAccueilShoppingV1Day 7MRA-01
RA-10SearchRechercheShoppingV1Day 7MRA-02
RA-11Barcode scannerScannerShoppingV1Day 7MRA-02
RA-12CatalogCatalogueShoppingV1Day 7MRA-02
RA-13Advanced filters & sort (price range, category/sub-category, brand, attributes…)Filtres avancés et triShoppingV1Day 7MRA-02
RA-14Product detailDétail produitShoppingV1Day 8MRA-03
RA-15Full specificationsCaractéristiquesShoppingV1Day 8MRA-03
RA-16FavoritesFavorisShoppingV1Day 8MRA-03
RA-17CartPanierOrderingV1Day 8MRA-04
RA-18CheckoutValidation de commandeOrderingV1Day 8MRA-04
RA-19Address book & address formAdresses de livraisonOrderingV1Day 8MRA-04
RA-20Order confirmationCommande envoyéeOrderingV1Day 8MRA-04
RA-21OrdersCommandesOrdersV1Day 9MRA-05
RA-22Order detail & trackingSuivi de commandeOrdersV1Day 9MRA-05
RA-23Assisted order confirmationCommande assistée à confirmerOrdersV1Day 9MRA-05
RA-24Promotions & daily offersPromotionsPromotionsV1Day 10MRA-06
RA-25Promotion detailDétail de l'offrePromotionsV1Day 10MRA-06
RA-26NotificationsNotificationsAccountV1Day 10MRA-08
RA-27Account hubCompteAccountV1Day 10MRA-07
RA-28Store profile & documentsMon magasinAccountV1Day 10MRA-07
RA-29Balance & creditSolde et créditFinanceV1Day 9MRA-07
RA-30InvoicesFacturesFinanceV1Day 9MRA-07
RA-31Payments & payment declarationPaiementsFinanceV1Day 9MRA-07
RA-32Support: tickets, after-sales claims & WhatsAppAssistanceSupportV1Day 10MRA-08
RA-33New ticket / after-sales claimNouvelle demandeSupportV1Day 10MRA-08
RA-34Ticket conversationConversationSupportV1Day 10MRA-08
RA-35SettingsParamètresAccountV1Day 10MRA-07
RA-36System states (offline, maintenance, forced update, errors, empty)États systèmeSystemV1Day 10MOB-05
RA-37Packs list & detailPacks rentablesV2V2DES-30MRA-20
RA-38Loyalty: points, level, historyFidélitéV2V2DES-30MRA-20
RA-39Rewards & redemptionRécompensesV2V2DES-30MRA-20
RA-40Return requestDemande de retourOrdersV1Day 9MRA-10
RA-41Guest mode — price lock and sign-up promptsMode invitéSystemV1Day 6MOB-06

Navigation. Five bottom tabs: Accueil · Catalogue · Panier · Commandes · Compte. The WhatsApp support button is fixed on the tab roots. Guests can use Accueil and Catalogue; the other tabs open the sign-up prompt (RA-41).

RA-36 (system states) can appear over any screen: offline banner, maintenance, forced update, errors, session expired.

Delegate app (DA)

IDScreenUI titleSectionReleaseDesignBuild
DA-01Splash & version checkDémarrageAccessV1Day 11MOB-05
DA-02Sign inConnexionAccessV1Day 11MOB-06
DA-03Forgot passwordMot de passe oubliéAccessV1Day 11MOB-06
DA-04Permissions & location consentAutorisations et consentementAccessV1Day 11MOB-10
DA-05HomeAccueil déléguéDayV1Day 11MDA-01
DA-06Tour programmeProgramme de tournéeTourV1Day 12MDA-02
DA-07Tours calendar & historyMes tournéesTourV1Day 12MDA-02
DA-08Map & navigationCarte et navigationTourV1Day 12MDA-03
DA-09Point-of-sale sheetFiche point de venteTourV1Day 12MDA-04
DA-10Visit & check-inDétail de la visiteVisitV1Day 13MDA-05
DA-11Visit not done — reasonVisite non réaliséeVisitV1Day 13MDA-05
DA-12Visit reportRapport de visiteVisitV1Day 13MDA-06
DA-13Prospects & resellers (list / map)ProspectsProspectsV1Day 13MDA-04
DA-14New resellerNouveau revendeurProspectsV1Day 14MDA-07
DA-15Edit reseller / prospectModifier la ficheProspectsV1Day 14MDA-07
DA-16Invite a resellerInviter un revendeurConversionV1Day 14MDA-08
DA-17First-order assistanceAide à la 1ère commandeConversionV1Day 14MDA-09
DA-18Assisted orders & orders of my resellersCommandesConversionV1Day 14MDA-09
DA-19Follow-ups & tasksRelancesProspectsV1Day 13MDA-06
DA-20Tour closing & resultsClôture de tournéeDayV1Day 14MDA-10
DA-21Reports & performanceRapportsDayV1Day 14MDA-10
DA-22ObjectivesMes objectifsProfileV1Day 11MDA-01
DA-23Messages & notificationsMessagesProfileV1Day 14MDA-11
DA-24Profile hubCompteProfileV1Day 11MDA-01
DA-25My zoneMa zoneProfileV1Day 11MDA-01
DA-26SettingsParamètresProfileV1Day 11MDA-11
DA-27Sync centreSynchronisationSystemV1Day 14MDA-11
DA-28System states (offline, GPS off, out of tolerance, permission denied, forced update)États systèmeSystemV1Day 14MOB-10

Navigation. Five bottom tabs: Accueil · Tournée · Prospects · Rapports · Compte. The map is a view of the tour, and visits open from a stop. The sync badge sits in the app bar of every tab.

DA-28 (system states: offline, GPS off, out of tolerance, permission denied, forced update) appears over any screen, with the GPS states also inline in DA-08 and DA-10.

Back-office (BO)

IDScreenSectionTemplateReleaseDesignBuild
BO-01Sign inAccessbespokeV1Day 15DSH-01
BO-02Forgot / reset passwordAccesstemplateV1Day 15DSH-01
BO-03App shell: navigation by role, global search, notificationsAccessbespokeV1Day 15DSH-01
BO-04General dashboardDashboardsbespokeV1Day 15DSH-02
BO-05Sales dashboardDashboardstemplateV1Day 15DSH-02
BO-06Field dashboard & live mapDashboardsbespokeV1Day 15DSH-08
BO-07Stock dashboardDashboardstemplateV1Day 15DSH-05
BO-08Finance dashboardDashboardstemplateV1Day 15DSH-07
BO-09Resellers & prospects listCRMbespokeV1Day 16DSH-03
BO-10Resellers mapCRMbespokeV1Day 16DSH-03
BO-11Reseller 360°CRMbespokeV1Day 16DSH-03
BO-12Reseller create / editCRMtemplateV1Day 16DSH-03
BO-13Account validation queueCRMbespokeV1Day 16DSH-03
BO-14Follow-ups & tasksCRMtemplateV1Day 16DSH-03
BO-15SegmentsCRMtemplateV1Day 16DSH-03
BO-16Delegates listFieldtemplateV1Day 19DSH-08
BO-17Delegate detail & performanceFieldbespokeV1Day 19DSH-08
BO-18Delegate create / editFieldtemplateV1Day 19DSH-08
BO-19Zones (list + map editor)FieldbespokeV1Day 19DSH-08
BO-20ObjectivesFieldtemplateV1Day 19DSH-08
BO-21Tour planner (calendar)FieldbespokeV1Day 19DSH-08
BO-22Tour editor (stops, order, recommendation)FieldbespokeV1Day 19DSH-08
BO-23Tour live detailFieldbespokeV1Day 19DSH-08
BO-24Visits listFieldtemplateV1Day 19DSH-08
BO-25Visit detailFieldtemplateV1Day 19DSH-08
BO-26Visit types & checklist templatesFieldtemplateV1Day 19DSH-08
BO-27Products listCatalogtemplateV1Day 17DSH-04
BO-28Product editorCatalogbespokeV1Day 17DSH-04
BO-29BrandsCatalogtemplateV1Day 17DSH-04
BO-30CategoriesCatalogtemplateV1Day 17DSH-04
BO-31Price grid — three customer-type prices (bulk edit)CatalogtemplateV1Day 17DSH-04
BO-32Product import wizardCatalogbespokeV1Day 17DSH-04
BO-33Stock overviewStocktemplateV1Day 17DSH-05
BO-34Stock movements journalStocktemplateV1Day 17DSH-05
BO-35Stock receipt / adjustmentStocktemplateV1Day 17DSH-05
BO-36Inventory sessionsStocktemplateV1Day 17DSH-05
BO-37WarehousesStocktemplateV1Day 17DSH-05
BO-38Orders listOrdersbespokeV1Day 18DSH-06
BO-39Order detail (controls, actions, history)OrdersbespokeV1Day 18DSH-06
BO-40New order on behalf of a resellerOrderstemplateV1Day 18DSH-06
BO-41Orders to confirm (new, on hold, assisted)OrderstemplateV1Day 18DSH-06
BO-42Delivery boardOrdersbespokeV1Day 18DSH-06
BO-43CarriersOrderstemplateV1Day 18DSH-06
BO-44InvoicesFinancetemplateV1Day 18DSH-07
BO-45Payments & declarationsFinancetemplateV1Day 18DSH-07
BO-46Credit accountsFinancetemplateV1Day 18DSH-07
BO-47Overdue & remindersFinancetemplateV2DES-30DSH-20
BO-48Accounting exportsFinancetemplateV2DES-30DSH-20
BO-49Promotions listPromotionstemplateV1Day 19DSH-09
BO-50Promotion editorPromotionsbespokeV1Day 19DSH-09
BO-51Banners & daily offersPromotionstemplateV1Day 19DSH-09
BO-52PacksPromotionstemplateV2DES-30DSH-21
BO-53Loyalty settings & levelsPromotionstemplateV2DES-30DSH-21
BO-54Rewards & redemptionsPromotionstemplateV2DES-30DSH-21
BO-55Tickets listSupporttemplateV1Day 19DSH-10
BO-56Ticket detailSupporttemplateV1Day 19DSH-10
BO-57AnnouncementsCommunicationtemplateV1Day 19DSH-10
BO-58Notification templates & rulesCommunicationtemplateV1Day 19DSH-10
BO-59Reports libraryReportsbespokeV1Day 19DSH-11
BO-60Export centreReportstemplateV1Day 19DSH-11
BO-61UsersAdministrationtemplateV1Day 19DSH-12
BO-62Roles & permissions matrixAdministrationbespokeV1Day 19DSH-12
BO-63Activity logAdministrationtemplateV1Day 19DSH-12
BO-64Business settingsAdministrationtemplateV1Day 19DSH-12
BO-65Reference listsAdministrationtemplateV1Day 19DSH-12
BO-66Mobile app versionsAdministrationtemplateV1Day 19DSH-12
BO-67Data importsAdministrationtemplateV1Day 19DSH-12
BO-68My profile & sessionsAdministrationtemplateV1Day 19DSH-12
BO-69Returns & after-sales claimsOrderstemplateV1Day 18DSH-13
BO-70Support regions & WhatsApp numbersAdministrationtemplateV1Day 19DSH-12
BO-71Product attributes (filters) per categoryCatalogtemplateV1Day 17DSH-04

Navigation. A light 208 px sidebar on the app ground, grouped by activity (HOCO PRO). Every group and item is shown only when the user's role has the permission (<module>.view). Counters show work waiting in the queues. The proposed groups are below; Akram finalises them on Day 15.

Sidebar groupItems (page)Permission module
PilotageTableau de bord (BO-04), Ventes (BO-05), Terrain en direct (BO-06), Stock (BO-07), Finance (BO-08), Rapports (BO-59), Exports (BO-60)dashboard, reports
CommandesÀ confirmer (BO-41, counter), Toutes les commandes (BO-38), Nouvelle commande (BO-40), Livraisons (BO-42), Retours et SAV (BO-69, counter), Transporteurs (BO-43)orders, delivery
RevendeursRevendeurs et prospects (BO-09, BO-10), Validation des comptes (BO-13, counter), Relances (BO-14), Segments (BO-15)crm
TerrainDélégués (BO-16), Zones (BO-19), Objectifs (BO-20), Tournées (BO-21), Visites (BO-24), Types de visite (BO-26)field
CatalogueProduits (BO-27), Marques (BO-29), Catégories (BO-30), Attributs (BO-71), Prix (BO-31), Import (BO-32)catalog, pricing
StockVue d'ensemble (BO-33), Mouvements (BO-34), Réception et ajustement (BO-35), Inventaires (BO-36), Entrepôts (BO-37)stock
FinanceFactures et avoirs (BO-44), Paiements (BO-45), Crédit (BO-46)finance
PromotionsPromotions (BO-49), Bannières et offres du jour (BO-51)promotions
SupportTickets (BO-55), Annonces (BO-57)support, communication
AdministrationUtilisateurs (BO-61), Rôles et droits (BO-62), Journal d'activité (BO-63), Paramètres (BO-64), Listes de référence (BO-65), Régions support (BO-70), Modèles de notification (BO-58), Versions mobiles (BO-66), Imports (BO-67)users, roles, audit, settings, communication
User menuMon profil et sessions (BO-68)—

Pages reached from a list rather than the sidebar: BO-11, BO-12, BO-17, BO-18, BO-22, BO-23, BO-25, BO-28, BO-39, BO-50, BO-56. Sign-in (BO-01) and reset (BO-02) are outside the shell.

Reseller web (RW)

IDScreenSectionReleaseDesignBuild
RW-01Sign in, sign-up (with customer type), OTP, password reset — and guest browsingAccountV1Day 20WEB-01
RW-02HomeShoppingV1Day 20WEB-02
RW-03Catalog with advanced sidebar filters & searchShoppingV1Day 20WEB-02
RW-04Product detailShoppingV1Day 20WEB-02
RW-05FavoritesShoppingV1Day 20WEB-02
RW-06CartOrderingV1Day 20WEB-03
RW-07Checkout & confirmationOrderingV1Day 20WEB-03
RW-08Orders listOrdersV1Day 20WEB-04
RW-09Order detail, tracking & assisted-order confirmationOrdersV1Day 20WEB-04
RW-10Promotions & daily offersPromotionsV1Day 20WEB-05
RW-11NotificationsAccountV1Day 20WEB-05
RW-12Profile, store, addresses & settingsAccountV1Day 20WEB-05
RW-13Invoices, payments & creditFinanceV1Day 20WEB-04
RW-14Support: tickets, after-sales claims, returns & WhatsAppSupportV1Day 20WEB-05
RW-15Loyalty, rewards & packsV2V2DES-30WEB-20

Navigation. A top header (logo, search, categories menu, favourites, cart, account) instead of bottom tabs, plus a fixed WhatsApp button at the bottom right. At phone widths the web reuses the mobile designs, including their bottom navigation. Guests browse RW-02, RW-03, RW-04 and RW-10 without prices.

Coverage check

Method. Each requirement in requirements.json lists the apps it applies to. For every app among RA, DA, BO and RW, at least one screen of that app should list the requirement in its reqs. Separately, each screen should reach at least one API operation of endpoints.json: same app, sharing a requirement.

Result on the current screens.json.

  • Every screen reaches at least one endpoint.
  • Every functional V1 requirement has a screen somewhere.
  • Some requirements are missing from one of their apps. Most of these are cross-cutting (performance, accessibility, RTL, maintainability) and are covered by the design system, not by a screen. The gaps that need a screen decision on Day 5:
RequirementMissing inProposed carrier (add to reqs on Day 5)
CRM-05 Assignment to a delegate and zone, reassignment historyBOBO-11 (header and history), BO-12 (fields), BO-09 (bulk assign)
AUD-02 Entity histories viewable in contextBOBO-39 (history tab), BO-28 (price history), BO-34, BO-11 (timeline)
ACL-04 Financial data strictly limitedBOBO-28 (purchase price masked), BO-08, BO-46
ACL-01 Eight rolesBOBO-61, BO-62
CRM-10 Store photos and documentsBOBO-11 (Documents et photos tab), BO-12, BO-13
IVT-03 Activation stepsBOBO-11 (Invitation tab)
ORD-09 First order flagged and attributedBOBO-38, BO-39, BO-41 (badge), BO-59
ORD-10 Cancellation rulesBO, RWBO-39, RW-09
ORD-03 Order immediately visible in the back-officeBOBO-41 (live row)
FIN-08 Credit notes and receipts (now V1)BO, RABO-44 (invoices and credit notes), BO-69 (credit note issued), RA-30, RA-40
DLV-06, FIN-02, FLD-15 Delivery fees, payment methods, location policy as settingsBOBO-64
GEO-01 Wilaya and commune referenceBO, DA, RWBO-12, BO-19, BO-70, DA-14, RW-01, RW-12
CRM-02 Creation with its source recordedRA, DARA-05, DA-14
CAT-07 Catalog searchDADA-17 (assisted-order catalog)
PRC-05, STK-07 Own price only; availability onlyRWRW-03, RW-04, RW-06
AUTH-10 Guest modeRW (only RW-01 lists it)RW-02, RW-03, RW-04, RW-10
ORD-12 Order documentsRWRW-09
SUP-03 Support contacts and FAQRWRW-14
IVT-04 Invitation link attributionRWRW-01
AUTH-06 SessionsDA, RWDA-26, RW-12
AUTH-08 Account statuses gate accessBO, RWBO-01, RW-01
NOT-02 Push with deep linksDADA-23, DA-04 (permission)
SYN-03 Critical data sent immediatelyRA, DARA-36, DA-27, DA-28
INT-01, INT-02 Maps provider, pushRA, DA, BODA-08, BO-06, BO-10, BO-19 (maps); RA-26, DA-23 (push)
ACL-05 The UI hides what the user cannot doRA, DA, RWA pattern on every screen, not a screen
RWA-01, RWA-02 Reseller web parityRWEvery RW screen
NFR-01, NFR-04…NFR-07, NFR-09allThe design system (skeleton budgets, breakpoints, RTL, accessibility)
V2 without a screen: CRM-13 (duplicate merge), PRC-03 (per-reseller agreements), FLD-18 (tour optimisation), ANA-06 (advanced analytics)BODecided in DES-30

Other inventory questions for Day 5.

  1. BO-31 Price lists & agreements is V1 in screens.json, but price lists and per-reseller agreements are V2 since 17 October (PRC-03). Either rename it to a bulk price editor of the three customer-type prices with change history (V1), or move it to V2.
  2. French names. BO and RW screens have no fr name in screens.json. The sidebar and page titles need them; the sidebar table above proposes names.
  3. DA-14 customer type. May the delegate record the customer type the reseller announces, as a hint for the back-office? See reference screens.

Day-5 validation checklist

Akram leads, Imad and Anis co-sign. Every item is ticked or turned into an action with an owner before the inventory is frozen.

Scope and counts

  • 155 screens confirmed (146 V1, 9 V2), or every addition, merge and split recorded in screens.json.
  • Every V2 screen is parked in DES-30, and no V2 element (points, levels, packs, rewards) appears in a V1 frame.
  • BO-31 decided (V1 bulk price editor or V2).

Requirements

  • Every V1 MUST and SHOULD requirement of an app has at least one screen of that app: the coverage table is resolved and reqs updated.
  • The 17 October decisions are carried by named screens:
    • guest mode: RA-41, RW-01…RW-04;
    • customer type: RA-05, RA-28, BO-11, BO-12, BO-13;
    • advanced filters: RA-13, RW-03, BO-71;
    • WhatsApp: RA-32, RW-14, BO-70;
    • after-sales and returns: RA-33, RA-40, RW-14, BO-56, BO-69;
    • live status: RA-21, RA-22, RW-08, RW-09;
    • confirmation queue: BO-41.

Data

  • Every screen reaches its API operations: same app, shared requirement. The screen pages list the operation ids.
  • Every field shown on a screen exists in the API response or is derived, with the derivation written down (for example En retard = planned and time slot passed).
  • No reseller- or delegate-facing screen shows a stock quantity.

States

  • Each screen page lists its states: default, loading, empty, error, offline or permission when relevant, and the business states (each status value the screen can show).
  • Guest, pending-validation and suspended variants are listed for every reseller screen they affect.

Navigation and naming

  • Every screen is reachable in a navigation map, with no orphan.
  • Every screen has a French name (BO and RW added).
  • The bespoke and template assignment of the back-office pages is agreed with Anis.

Feasibility

  • Imad has flagged the custom mobile widgets and their cost: map and pins, range slider, offline queue UI, scanner, QR, live updates.
  • Anis has flagged the complex web components: calendar, kanban, zone map editor, permission matrix, live rows.
  • Day 19's 29 pages are accepted as planned, or rebalanced (for example by moving template specs to Day 17 or 18).

Flows and wireframes

  • The four flows are drawn: reseller ordering, delegate day, back-office confirmation and delivery, after-sales and returns.
  • Wireframes of checkout, the visit flow and tour closing are reviewed by Imad.

Freeze

  • The inventory is frozen (milestone Screen inventory frozen). From now on, changes go through change requests.

On this page