HOCO B2B
SRSRequirements

Reseller web app

Requirements RWA-01 and RWA-02: a responsive web version of the reseller app with V1 feature parity, shipped in V1 before acceptance, on the same backend and rules as the mobile app.

The reseller web app (@hoco/web) is a responsive web version of the reseller app, decided by the team on 17 Oct 2026 (not in the cahier). It is part of V1: built during P1, tested in the acceptance campaign and deployed with the rest before the pilot, within the three-month frame (AUTHORING §1). It also serves the invitation landing page /i/{code} (IVT-04). Apps: RW and API — there is no web-specific server module; it uses the same operations as the reseller mobile app. Screens are on the reseller web page.

IDRequirementReleasePrioritySourceApps
RWA-01Responsive web version of the reseller app with V1 feature parity (account, catalog, cart, orders, promotions, finance, support, notifications)V1SHOULDTeam decision (17 Oct 2026)RW
RWA-02Same account, cart and orders as the mobile app (single backend, no web-only rules)V1MUSTTeam decision (17 Oct 2026)RW · API

RWA-01 — Responsive web version with V1 parity

ReleasePrioritySourceAppsOwner tasks
V1SHOULDTeam decision (17 Oct 2026)RWWEB-01, DES-20, DQA-05

Statement — The system shall offer resellers a responsive web app covering the V1 features of the reseller mobile app: account, guest browsing, catalog with advanced filters, cart, orders with live status, promotions, finance, support with after-sales claims and returns, regional WhatsApp, notifications.

Rules

  1. Parity map:

    FeatureMobileWeb
    Sign-in, sign-up with OTP and customer type, account claim, password resetRA-02 to RA-08RW-01
    Guest browsing (prices hidden, no cart)RA-41RW-02 to RW-04
    Home, catalog with sidebar filters (category, sub-category, brand, attributes, price range when signed in, availability, promotion), product, favoritesRA-09 to RA-16RW-02 to RW-05
    Cart and checkoutRA-17 to RA-20RW-06, RW-07
    Orders, live tracking, assisted-order confirmation, documentsRA-21 to RA-23RW-08, RW-09
    PromotionsRA-24, RA-25RW-10
    NotificationsRA-26RW-11
    Profile, store, addresses, settingsRA-27, RA-28, RA-35RW-12
    Invoices, payments, declarations, creditRA-29 to RA-31RW-13
    Tickets, after-sales claims, returns, WhatsApp buttonRA-32 to RA-34, RA-40RW-14
  2. Not on the web in V1: barcode scanner, push notifications (the inbox and the live stream replace them), install referrer.

  3. Layouts: desktop ≥ 1 280 px (sidebar filters, multi-column grids), tablet 768–1 279 px, phone widths reuse the mobile designs; last two versions of Chrome, Edge, Firefox and Safari 16+.

  4. Stock is shown as availability only (En stock / En rupture), never as a quantity (AUTHORING §1b.1).

  5. Order status changes refresh open pages live through events.stream (browser EventSource with the session cookie).

  6. Pages are not indexed by search engines (noindex) except the invitation landing; LCP ≤ 2,5 s on a 4G connection for home and catalog (NFR-01).

Acceptance criteria

  • Every V1 acceptance scenario of the reseller side (acceptance scenarios) passes on the web at 1 366 × 768 and 390 × 844 during the acceptance campaign.
  • A guest on the web sees products without prices and cannot add to cart; after sign-up, prices of the declared customer type appear.
  • An order confirmed in the back-office changes to Validée on the open web order page within 5 seconds.

Data — same as the reseller app.

Interfaces — the reseller operations (catalog, cart, orders, finance, promotions, profile, support, notifications, invitations groups of the API reference).

RWA-02 — Same account, cart and orders as the mobile app

ReleasePrioritySourceAppsOwner tasks
V1MUSTTeam decision (17 Oct 2026)RW · APIWEB-01

Statement — The web app shall use the same account, cart, orders and business rules as the mobile app, with no web-only rule or endpoint other than the invitation landing.

Rules

  1. One User and one Reseller whatever the channel; the server-side cart is shared (ORD-01): an item added on the phone is in the web cart at the next load.
  2. Orders record the channel RESELLER_WEB; every order waits for back-office confirmation like any other (ORD-14); checkout uses the same Idempotency-Key rule.
  3. Authentication: httpOnly, Secure session cookie scoped to .hoco.dz (30 days sliding); cookie-authenticated mutations are protected against CSRF (SameSite=Lax and an Origin check); account statuses gate the web exactly as the app.
  4. No business rule is implemented only in the web client: prices, availability, promotions, minimums and credit come from the API.

Acceptance criteria

  • Adding a product on the mobile app then opening the web cart shows it with the same price; checking out on the web empties the cart on the phone.
  • A PENDING_VALIDATION account cannot check out on the web (same refusal code as the app).

Data — User, Session, Cart, CartItem, Order.

Interfaces — same operations as the reseller app.

On this page