HOCO B2B
Team tasksAnis

WEB-05 — Reseller web — promotions, notifications, account, support

Promotions, notifications inbox, profile/store/addresses/settings, support tickets and after-sales claims, regional WhatsApp button.

FieldDetails
Task codeWEB-05
PhaseP1 — V1 build & integration
Product scopeV1
StatusPlanned
StartWed 2 Dec 2026
DueWed 2 Dec 2026
ResponsibleAnis — Full-stack developer
Co-responsible—
Effort0.5 person-day(s) planned · 3 from scratch · size XS
Area · appReseller web · web
Depends onWEB-04
UnblocksSRV-28, QA-01, DQA-05, WEB-06
MilestonesBack-office and reseller web V1 feature-complete

Summary

Promotions, notifications inbox, profile/store/addresses/settings, support tickets and after-sales claims, regional WhatsApp button.

Description

This task completes V1 parity of the reseller web (RWA-01) with promotions, notifications, account and support (PRM-01, NOT-01, NOT-06, CRM-01, SUP-01, SUP-04, SUP-05). It delivers promotions and daily offers (RW-10), the notifications inbox with live unread count (RW-11), profile, store, addresses and settings with notification preferences and the read-only customer type (RW-12), and support (RW-14): tickets with conversation and attachments, after-sales claims on an order (lines, quantities, AfterSalesIssue, photos), and the fixed regional WhatsApp button on every page, which opens the number of the user's support region — declared wilaya when signed in, browser location with consent otherwise, then a wilaya picker or the default number (decision 8). Out of scope: return requests (WEB-04) and V2 loyalty (WEB-20).

Subtasks

#SubtaskOwner
1RW-10 promotions list and detail with daily offer countdown; guest view without pricesAnis
2RW-11 inbox: list with read/unread, mark one/all read, deep links to orders/tickets/returns, unread badge updated from events.streamAnis
3RW-12 profile and store: contact data, store details, documents, addresses CRUD and default; customer type read-only with « Contactez HOCO pour le modifier »Anis
4Settings: notification preferences (marketing opt-out), language, password change, active sessionsAnis
5RW-14 tickets: list, create (type, related order, message, attachments), conversation with replies, closeAnis
6After-sales claim form: pick a delivered order, lines and quantities, issue (AfterSalesIssue), photos, description; claim status and resolution displayAnis
7Floating WhatsApp button on every page calling support.whatsapp (session wilaya → geolocation with consent → wilaya picker → default), wa.me link with prefilled message, hoursAnis
8Design QA of RW-10, RW-11, RW-12 and RW-14Akram

Deliverables

  • apps/web/src/app/[locale]/{promotions/…,(account)/notifications/page.tsx,(account)/profile/…,(account)/support/…}
  • apps/web/src/features/support/{whatsapp-button.tsx,claim-form.tsx,ticket-thread.tsx}

Acceptance criteria

  • A signed-in reseller in a wilaya of region East always gets the East WhatsApp number; a guest who allows location in Oran gets the West number; a guest who refuses gets the wilaya picker (SUP-05)
  • An after-sales claim can only include lines and quantities of the selected order and requires photos for defective or damaged items (SUP-04)
  • Opting out of marketing notifications stops promotional notifications but keeps order notifications (NOT-06)
  • The customer type cannot be edited by the reseller (AUTH-11)
  • A staff reply appears in the open ticket without reload (SUP-01)

Requirements covered

RequirementTitleRelease
PRM-01Simple promotions: daily offers, scheduled promotions, temporary discounts on products, categories or brandsV1
NOT-01In-app notification inbox with read/unread in every appV1
NOT-06Notification preferences (marketing opt-out)V1
CRM-01Reseller/prospect record with the minimum data set (store, owner, phone, WhatsApp, email, wilaya, commune, address, GPS, type, potential, delegate, photos, documents, status)V1
SUP-01Reseller tickets: type, related order, message, attachments, conversation, statusesV1
SUP-04After-sales service (SAV): a reseller opens a claim on an order (items, quantities, issue, photos); the back-office handles it from diagnosis to resolution (replacement, return, credit note, rejection)V1
SUP-05Regional WhatsApp support: a fixed WhatsApp button in both reseller apps opens the support number of the user's region — declared region when signed in, device location otherwiseV1

Screens

ScreenNameApp
RW-10Promotions & daily offersRW
RW-11NotificationsRW
RW-12Profile, store, addresses & settingsRW
RW-14Support: tickets, after-sales claims, returns & WhatsAppRW

API surface

Test measures

  • Playwright e2e: WhatsApp resolution for signed-in, guest with mocked geolocation and guest without location
  • Playwright e2e: after-sales claim with photo → back-office resolution → status visible
  • Manual check of the wa.me link on Android and desktop

KPI

  • Delivered by Wed 2 Dec 2026 within 0.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