docs: aligner les statuts de reservation sur l enumeration reelle
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
This commit is contained in:
parent
a759e7b018
commit
9a3e1db048
@ -60,14 +60,30 @@ Expiry : 1 heure. Si expiré, l'admin doit renvoyer un nouveau lien.
|
||||
|
||||
## Statuts des réservations CSV
|
||||
|
||||
Valeurs réelles de l'énumération `CsvBookingStatus` (`domain/entities/csv-booking.entity.ts`) :
|
||||
|
||||
| Statut | Description |
|
||||
|--------|-------------|
|
||||
| pending | En attente d'assignation carrier |
|
||||
| sent | Lien magique envoyé au carrier |
|
||||
| accepted | Carrier a accepté |
|
||||
| rejected | Carrier a refusé |
|
||||
| in_transit | En cours de transport |
|
||||
| delivered | Livré |
|
||||
| PENDING_PAYMENT | Réservation créée, commission non payée |
|
||||
| PENDING_BANK_TRANSFER | Virement déclaré, en attente de validation par l'administration |
|
||||
| PENDING | Commission payée, en attente de réponse du transporteur |
|
||||
| ACCEPTED | Le transporteur a accepté |
|
||||
| REJECTED | Le transporteur a refusé |
|
||||
| CANCELLED | Annulée par l'utilisateur |
|
||||
|
||||
---
|
||||
|
||||
## Suppression d'une réservation impayée
|
||||
|
||||
`DELETE /api/v1/csv-bookings/:id` supprime définitivement une réservation **dont la commission n'a pas été payée**, c'est-à-dire au seul statut `PENDING_PAYMENT`. Seul le propriétaire peut le faire ; une réservation appartenant à quelqu'un d'autre répond `404`, sans se distinguer d'une réservation inexistante.
|
||||
|
||||
Une fois la commission payée, la réservation est partie chez le transporteur et porte une trace comptable : elle ne peut plus qu'être **annulée** (`PATCH :id/cancel`), jamais effacée. L'API répond alors `400`.
|
||||
|
||||
`PENDING_BANK_TRANSFER` est volontairement exclu : le virement déclaré peut être en cours d'acheminement, et supprimer la réservation priverait l'administration de ce qu'elle doit rapprocher à sa réception. Étendre la règle à ce statut est une décision comptable, pas technique — il suffit d'ajouter le statut à `DELETABLE_STATUSES` dans l'entité.
|
||||
|
||||
Les documents déjà téléversés restent dans le stockage objet, conformément à la politique appliquée à la suppression d'un document isolé (conservation pour l'audit). Le quota de réservations n'est pas affecté : il ne compte que les expéditions payées.
|
||||
|
||||
Côté interface, l'action « Supprimer » n'apparaît dans le menu d'une ligne que pour les réservations impayées, à côté de « Modifier » et « Payer ». Elle demande une confirmation qui nomme la réservation concernée.
|
||||
|
||||
---
|
||||
|
||||
@ -75,6 +91,7 @@ Expiry : 1 heure. Si expiré, l'admin doit renvoyer un nouveau lien.
|
||||
|
||||
| Route | Description |
|
||||
|-------|-------------|
|
||||
| /dashboard/bookings | Liste des réservations (voir, modifier, payer, supprimer) |
|
||||
| /dashboard/csv-bookings | Liste admin des réservations CSV |
|
||||
| /carrier/auth | Page d'auth carrier (via magic link) |
|
||||
| /carrier/booking | Dashboard carrier (accept/reject) |
|
||||
|
||||
Loading…
Reference in New Issue
Block a user