Sc 12 — Réservation multi-colis (8 kg partagé)
Un expéditeur réserve 8 kg sur une annonce en créant 3 sous-réservations (un parent + deux enfants). Chaque enfant correspond à un colis distinct, mais un seulPaymentIntent paie l’ensemble.
Cycle parent ↔ enfants
Endpoint enfants
Particularités
- Un seul
PaymentIntentStripe sur le parent - Refund cascade sur enfants en cas d’annulation
- Transitions parent → enfants automatiques (ACCEPTEE, EN_COURS_DE_LIVRAISON, LIVREE, ANNULEE)
- Si un enfant tombe en LITIGE → ne bloque pas les autres enfants
2023944
Sc 13 — Agence B2B publie annonce groupée
Module dédiécolismove-agency (74 fichiers, 11 use cases hex). Une agence professionnelle gère plusieurs branches et employés, et publie des annonces groupées (par exemple un convoi régulier Yaoundé → Paris).
Structure agence
Tests E2E
Modulecolismove-agency couvert par tests d’intégration en CI continue.
Sc 14 — Anti-contournement chat (regex filtre)
Service Firebase Firestore avec filtre regex appliqué côté backend (pas Firestore rules) pour détecter et bloquer les patterns d’évasion de plateforme (numéros de téléphone, emails, liens externes).Patterns bloqués
- Numéros de téléphone (avec ou sans indicatif)
- Adresses email
- Liens externes (
http://,www.) - Identifiants WhatsApp / Telegram
Sc 15 — Prix par catégorie
Epic 4 complète (stories 4.1 → 4.11). Permet à un transporteur de définir un prix par kg différent par catégorie acceptée (ex : électronique 8€/kg, documents 2€/kg).Modèle domain (Story 4.2)
Backward compat 100%
- Annonces existantes avec
pricePerKgglobal → continuent de fonctionner category.pricePerKg = NULL→ fallbackannonce.pricePerKgvia SQLCOALESCE- Plafond 999€/kg validé côté domain