Approve delivery changes
PUT/company/delivery/aprove/:service_code
Approva le modifiche apportate dal trasportatore in una spedizione riprogrammata. Lo stato deve essere 'replanned' con replannedBy === 'trucker'.
Obiettivo
Consentire alle aziende di accettare modifiche richieste dal trasportatore, concludendo il processo di negoziazione delle modifiche.
Casi d'Uso
- Confermare cambi di date richiesti dal trasportatore
- Approvare modifiche al carico (peso, pallet, temperatura)
- Accettare cambi nei metri lineari o altezza del carico
- Concludere il processo di negoziazione delle modifiche
Flusso di Approvazione
flowchart LR
A[Modifiche Trasportatore] -->|replannedBy=trucker| B[Stato: replanned]
B --> C[Revisione Azienda]
C -->|Approva| D[PUT /aprove]
D -->|replannedBy=aproved| E[Stato: planned]
C -->|Rifiuta| F[Ripristino Manuale]
Logica di Validazione
flowchart TD
A[Ricevi Approvazione] --> B{Spedizione Esiste?}
B -->|No| C[404 NOT_FOUND]
B -->|Sì| D{L'Azienda Possiede la Spedizione?}
D -->|No| E[404 NOT_ALLOWED]
D -->|Sì| F{È Stato Finale?}
F -->|Sì| G[401 NOT_ALLOWED]
F -->|No| H{Già Approvata?}
H -->|replannedBy=aproved| I[400 ALREADY_APROVED]
H -->|No| J{Deve Approvare Trasportatore?}
J -->|replannedBy≠trucker| K[401 MUST_APROVE_TRUCKER]
J -->|Sì| L[Imposta status=planned]
L --> M[Imposta replannedBy=aproved]
M --> N[Salva - 200]
Note
- La spedizione deve essere in stato 'replanned'
Request
Responses
- 200
- 400
- 401
- 403
- 404
Modifiche approvate con successo
Non si può approvare. È già stato approvato in precedenza.
Non si può approvare. È necessario approvare le modifiche del vettore.
Non consentito. Lo stato finale non consente l'approvazione.
Spedizione non trovata. Il service_code fornito non esiste o non appartiene all'azienda dell'utente autenticato.