Passa al contenuto principale

Cancel delivery service

DELETE 

/company/delivery/:service_code

Annulla una spedizione esistente cambiando il suo stato in 'canceled' e rejectedBy in 'cia'. Solo le spedizioni negli stati 'planned' o 'replanned' possono essere annullate.

Obiettivo

Consentire alle aziende di annullare le spedizioni pianificate quando non verranno più effettuate, elaborando automaticamente le azioni necessarie su Stripe e aste.

Casi d'Uso

  • Annullare una spedizione pianificata che non verrà più effettuata
  • Fermare una spedizione ripianificata a causa di problemi logistici o aziendali
  • Annullare una spedizione pianificata in modo errato prima che inizi
  • Annullare per cambiamenti nel carico o nella destinazione

Effetti Collaterali

  • Cambia lo stato in 'canceled'
  • Imposta rejectedBy='cia'
  • Annulla il payment_intent su Stripe (elabora il rimborso se applicabile)
  • Annulla l'asta associata se esiste

Flusso di Validazione

flowchart TD
A[Ricevi Richiesta di Annullamento] --> B{La Spedizione Esiste?}
B -->|No| C[404 NOT_FOUND]
B -->|Sì| D{L'Azienda Possiede la Spedizione?}
D -->|No| E[403 NOT_ALLOWED]
D -->|Sì| F{È uno Stato Finale?}
F -->|Sì| G[401 NOT_ALLOWED]
F -->|No| H{Lo Stato è Annullabile?}
H -->|No| I[401 NOT_ALLOWED]
H -->|Sì| J[Imposta status=canceled]
J --> K[Imposta rejectedBy=cia]
K --> L{Annulla Pagamento Stripe}
L -->|Errore| M[403 CANT_CANCEL_PAYMENT]
L -->|Successo| N{Annulla Asta}
N -->|Successo| O[Salva - 200]

Note

  • Solo le spedizioni negli stati 'planned' o 'replanned' possono essere annullate
  • Non è

Request

Responses

Invio annullato con successo