WEB-20 — V2 — Reseller web loyalty & packs
Loyalty and rewards, packs, return requests on the web.
| Field | Details |
|---|---|
| Task code | WEB-20 |
| Phase | P4 — V2 evolutions |
| Product scope | V2 |
| Status | Planned |
| Start | Wed 17 Feb 2027 |
| Due | Thu 18 Feb 2027 |
| Responsible | Anis — Full-stack developer |
| Co-responsible | — |
| Effort | 1.5 person-day(s) planned · 3 from scratch · size S |
| Area · app | Reseller web · web |
| Depends on | DSH-21 |
| Unblocks | DQA-12 |
| Milestones | V2 delivered |
Summary
Loyalty and rewards, packs, return requests on the web.
Description
This V2 task brings loyalty and packs to the reseller web (RW-15; LOY-03, LOY-04, PRM-06), on top of SRV-30, SRV-31 and the back-office pages of DSH-21: points balance and level with progress to the next level, transactions history, rewards catalogue and redemption, vouchers applied at checkout, and packs listing with add-to-cart as one unit. Return requests themselves are V1 since the 17 Oct decisions and are already delivered in WEB-04; here the return views only gain the V2 loyalty effects (points reversed on received returns). Out of scope: mobile loyalty screens (Imad).
Subtasks
| # | Subtask | Owner |
|---|---|---|
| 1 | RW-15 loyalty page: balance, level badge, progress to next level, expiry notice | Anis |
| 2 | Transactions history with LoyaltyTransactionType labels and links to orders and returns | Anis |
| 3 | Rewards catalogue and redemption flow with confirmation and resulting voucher | Anis |
| 4 | Voucher field and applied voucher display in the V1 checkout | Anis |
| 5 | Packs listing and detail with pack price, saving and « Ajouter le pack » | Anis |
| 6 | Points reversal shown on returned orders and in the return detail | Anis |
| 7 | Design QA of RW-15 and the pack views | Akram |
Deliverables
- apps/web/src/app/[locale]/(account)/loyalty/{page.tsx,rewards/page.tsx,history/page.tsx}
- apps/web/src/app/[locale]/packs/{page.tsx,[packId]/page.tsx}
Acceptance criteria
- The balance and level match the back-office loyalty tab for the same reseller (LOY-03)
- Redeeming a reward deducts the points once and shows the voucher, which applies once at checkout (LOY-04)
- Adding a pack creates one cart line at the pack price for the reseller's customer type (PRM-06)
- A received return shows the reversed points in the history
Requirements covered
| Requirement | Title | Release |
|---|---|---|
| LOY-03 | Levels Bronze, Silver, Gold, VIP over a period with client-validated thresholds | V2 |
| LOY-04 | Rewards catalogue (voucher, free delivery, discount, gift, early access) and redemption | V2 |
| PRM-06 | Profitable packs: bundles of references at a pack price, added to cart as a unit | V2 |
Screens
| Screen | Name | App |
|---|---|---|
| RW-15 | Loyalty, rewards & packs | RW |
API surface
| Endpoint group | Operations |
|---|---|
| Loyalty (V2) | 5 |
| Promotions, banners & packs | 5 |
| Reseller orders | 11 |
Test measures
- Playwright e2e: redeem reward → voucher at checkout
- Playwright e2e: add pack → checkout → order shows pack line
KPI
- Delivered by Thu 18 Feb 2027 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.