HOCO B2B
Team tasksAnis

DSH-09 — Back-office promotions & banners pages

Promotions list, promotion editor with targeting/stacking/preview, banners and daily offers.

FieldDetails
Task codeDSH-09
PhaseP1 — V1 build & integration
Product scopeV1
StatusPlanned
StartSun 22 Nov 2026
DueMon 23 Nov 2026
ResponsibleAnis — Full-stack developer
Co-responsible—
Effort0.5 person-day(s) planned · 3 from scratch · size XS
Area · appBack-office · dashboard
Depends onDSH-01, SRV-19
UnblocksDSH-14
Milestones—

Summary

Promotions list, promotion editor with targeting/stacking/preview, banners and daily offers.

Description

Marketing configures promotions, banners and daily offers from these pages (cahier §4.6; PRM-01…PRM-05), on top of SRV-19. It delivers the promotions list (BO-49), the promotion editor with type and value, scope, targeting by wilaya, segment, customer type and volume, schedule, stock cap, stacking priority and a preview on a sample reseller's cart (BO-50), and banners and daily offers (BO-51). Out of scope: packs and loyalty (V2, DSH-21).

Subtasks

#SubtaskOwner
1BO-49 list: status tabs (PromotionStatus), type, scope summary, audience, period, cap usage, priorityAnis
2BO-50 editor section « Remise »: PromotionType and value with type-specific validationAnis
3BO-50 section « Produits concernés »: products, variants, categories, brands pickers with countsAnis
4BO-50 section « Ciblage »: wilayas, segments, customer types, minimum quantity or amountAnis
5BO-50 sections « Calendrier » and « Règles »: start/end, stock cap, priority, exclusive flag; lifecycle buttons (programmer, activer, pause, terminer, archiver)Anis
6Preview panel calling admin.promotions.preview with a chosen reseller and sample cartAnis
7BO-51 banners: image upload with size guidance, target (product, category, promotion, URL), audience, schedule, drag order; daily offer selection with countdown previewAnis

Deliverables

  • apps/dashboard/src/app/[locale]/(app)/promotions/{page.tsx,new/page.tsx,[promotionId]/page.tsx,banners/page.tsx}
  • apps/dashboard/src/features/promotions/ (scope picker, audience picker, preview)

Acceptance criteria

  • A PERCENT_OFF value of 95 % or an AMOUNT_OFF above the unit price is refused with the field message (PRM-04)
  • The preview shows the discounted totals for the chosen reseller's customer type, matching what the reseller cart shows (PRM-04)
  • A scheduled promotion shows as Programmée and switches to Active at its start without manual action (PRM-01)
  • Banners appear in the reseller home in the configured order and only for their audience (PRM-05)

Requirements covered

RequirementTitleRelease
PRM-01Simple promotions: daily offers, scheduled promotions, temporary discounts on products, categories or brandsV1
PRM-02Targeting by wilaya, segment, level, brand or volumeV1
PRM-03Configurable stacking rules and prioritiesV1
PRM-04A promotion respects its dates, stock cap and target; the cart total applies it correctlyV1
PRM-05Home banners and daily offer carousel with countdownV1

Screens

ScreenNameApp
BO-49Promotions listBO
BO-50Promotion editorBO
BO-51Banners & daily offersBO

API surface

Endpoint groupOperations
Promotions & loyalty10

Test measures

  • Playwright e2e: create and schedule a promotion, verify in the reseller web cart
  • Component tests for audience and scope pickers

KPI

  • Delivered by Mon 23 Nov 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