HOCO B2B
Team tasksAnis

DSH-06 — Back-office orders & delivery pages

Orders list with status tabs, the 'orders to confirm' queue (every order is confirmed by hand), order detail with controls, confirmation, refusal, modification and history, order on behalf, delivery board, carriers.

FieldDetails
Task codeDSH-06
PhaseP1 — V1 build & integration
Product scopeV1
StatusPlanned
StartMon 16 Nov 2026
DueTue 17 Nov 2026
ResponsibleAnis — Full-stack developer
Co-responsible—
Effort1.5 person-day(s) planned · 7 from scratch · size S
Area · appBack-office · dashboard
Depends onDSH-01, SRV-17, DES-18
UnblocksDSH-13
Milestones—

Summary

Orders list with status tabs, the 'orders to confirm' queue (every order is confirmed by hand), order detail with controls, confirmation, refusal, modification and history, order on behalf, delivery board, carriers.

Description

Because no order is confirmed automatically (decision 2, ORD-14), the back-office order pages are where every order is checked and confirmed (cahier §4.4; ORD-04…ORD-06, ORD-08, ORD-10…ORD-12, DLV-01…DLV-04, STK-08), on top of SRV-16/SRV-17 and Akram's designs (DES-18). It delivers the orders list with status tabs (BO-38), the Commandes à confirmer queue for new, on-hold and assisted orders with control results and live updates (BO-41), the order detail with controls, confirmation, refusal, controlled modification, cancellation, documents and history (BO-39), the order on behalf of a reseller for phone orders (BO-40), the delivery board (BO-42) and carriers (BO-43). Out of scope: returns and after-sales pages (DSH-13) and invoices/payments (DSH-07).

Subtasks

#SubtaskOwner
1BO-38 list: status tabs with counts (11 OrderStatus values), columns CMD number, date, reseller, customer type, channel, wilaya, total TTC, payment method, status, delegate, first-order flag; filters and exportAnis
2BO-41 « Commandes à confirmer »: oldest first, age badge, control badges (stock, credit, minimum, reseller status), quick « Confirmer » / « Refuser », live insertion from the admin SSE streamAnis
3BO-39 detail: lines with customer-type price, promotions and totals HT/VAT/TTC, controls panel, actions per allowed transition, history timeline (status changes and modifications), documents, delivery panel, linked returns and claimsAnis
4Confirmation flow with stock override dialog (permission, reason) and refusal dialog with ORDER_REFUSAL_REASON listAnis
5Controlled modification editor (add/remove lines, quantities, price with permission) with diff preview and re-run controlsAnis
6Cancellation with ORDER_CANCEL_REASON and assisted-order confirmation on behalf of a reseller without the appAnis
7BO-40 order on behalf: reseller picker, product search showing that reseller's prices and availability, line editor, address, payment method, note, submit then confirmAnis
8BO-42 delivery board: columns per DeliveryStatus, picking list print, carrier and tracking assignment, proof upload, failed-delivery reasonAnis
9BO-43 carriers list and form (mode, API-capable flag, tracking URL template, active)Anis
10Design QA of BO-38 to BO-43Akram

Deliverables

  • apps/dashboard/src/app/[locale]/(app)/orders/{page.tsx,to-confirm/page.tsx,new/page.tsx,[orderId]/page.tsx}
  • apps/dashboard/src/app/[locale]/(app)/delivery/{page.tsx,carriers/page.tsx}
  • apps/dashboard/src/features/orders/ (controls panel, transition actions, modification editor, history timeline)

Acceptance criteria

  • A new reseller order appears in BO-41 within 2 seconds without reload and stays there until confirmed or refused (ORD-14)
  • Only actions allowed by the transition table and the user's permissions are shown; a forbidden attempt shows the ORDER_TRANSITION_NOT_ALLOWED or PERMISSION_DENIED message (ORD-04)
  • Confirming beyond available stock is possible only through the override dialog with a reason, recorded in history (STK-08)
  • A modification shows the before/after diff and appears in the history with user and time (ORD-05, ORD-06)
  • An order entered on behalf of a reseller uses that reseller's customer-type prices and lands in the confirmation queue (ORD-11)
  • Invoice and delivery note PDFs open from the detail page (ORD-12)

Requirements covered

RequirementTitleRelease
ORD-04Order lifecycle (11 statuses) with an explicit transition table and actors; no order is ever confirmed automaticallyV1
ORD-05Back-office processing: automatic controls, validation, controlled modification, refusal with reasonV1
ORD-06Every modification and status change is historised, dated and notifiedV1
ORD-08Assisted orders prepared by a delegate, confirmed by the reseller or validated by the administrationV1
ORD-10Cancellation rules by actor and status, with stock releaseV1
ORD-11Back-office order entry on behalf of a reseller (phone orders)V1
ORD-12Order documents: invoice and delivery note PDFsV1
DLV-01Preparation workflow (picking list) up to 'ready'V1
DLV-02Shipping: carrier assignment (own fleet or company), tracking numberV1
DLV-03Delivery confirmation with proof (photo, recipient name)V1
DLV-04Carrier list management (API-capable vs manual)V1
STK-08No order validated beyond available stock unless an authorised override is recordedV1
ORD-14Every order — app, web, assisted or phone — waits for an explicit confirmation by the back-office before preparationV1

Screens

ScreenNameApp
BO-38Orders listBO
BO-39Order detail (controls, actions, history)BO
BO-40New order on behalf of a resellerBO
BO-41Orders to confirm (new, on hold, assisted)BO
BO-42Delivery boardBO
BO-43CarriersBO

API surface

Endpoint groupOperations
Orders & delivery21

Test measures

  • Playwright e2e: reseller web checkout → BO-41 live → confirm → preparation → shipped → delivered with proof
  • Component tests for the controls panel and transition action rendering per status
  • Manual phone-order scenario run with HOCO's commercial admin during QA-01

Risks

  • Queue overload in peak hours — counters, sorting by age and keyboard shortcuts for confirm/refuse; monitor queue age in the pilot

KPI

  • Delivered by Tue 17 Nov 2026 within 1.5 person-day(s).
  • Every acceptance criterion above demonstrated before hand-off; linked requirements' acceptance criteria pass.
  • Zero open critical defects, permission gaps or data-integrity regressions at sign-off.

Generated from content/plan/tasks.json by scripts/generate-team-tasks.mjs. Dates are computed by the scheduler (Sunday–Thursday weeks, holidays excluded) — change the plan, not this page.

On this page