SkippedShipment

Specifica i dettagli delle spedizioni non eseguite in una soluzione. Per i casi banali e/o se siamo in grado di identificare la causa dell'abbandono, riportiamo il motivo qui.

Rappresentazione JSON
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
Campi
index

integer

L'indice corrisponde a quello della spedizione nell'origine ShipmentModel.

label

string

Copia del valore Shipment.label corrispondente, se specificato in Shipment.

reasons[]

object (Reason)

Un elenco di motivi che spiegano il motivo per cui la spedizione è stata saltata. Vedi il commento sopra Reason.

Motivo

Se riusciamo a spiegare il motivo per cui la spedizione è stata saltata, i motivi saranno elencati qui. Se il motivo non è lo stesso per tutti i veicoli, reason conterrà più di un elemento. Una spedizione saltata non può avere motivi duplicati, ad esempio se tutti i campi sono gli stessi tranne exampleVehicleIndex. Esempio:

reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 1
  exampleExceededCapacityType: "Apples"
}
reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 3
  exampleExceededCapacityType: "Pears"
}
reasons {
  code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
  exampleVehicleIndex: 1
}

La spedizione saltata non è compatibile con tutti i veicoli. I motivi potrebbero essere diversi per tutti i veicoli, ma per almeno un veicolo, le "Mele" la capacità massima sarebbe superata (incluso il veicolo 1), la quantità di "Pere" di almeno un veicolo la capacità massima sarebbe superata (compreso il veicolo 3) e il limite di distanza di almeno un veicolo (incluso il veicolo 1).

Rappresentazione JSON
{
  "code": enum (Code),
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
Campi
code

enum (Code)

Fai riferimento ai commenti del Codice.

exampleExceededCapacityType

string

Se il codice motivo è DEMAND_EXCEEDS_VEHICLE_CAPACITY, documenta un tipo di capacità superata.

exampleVehicleIndex

integer

Se il motivo è legato a un'incompatibilità tra spedizione e veicolo, questo campo fornisce l'indice di un veicolo pertinente.

Codice

Codice che identifica il tipo di motivo. L'ordine qui è privo di significato. In particolare, non indica se un determinato motivo apparirà prima di un altro nella soluzione, nel caso in cui entrambi i motivi siano applicabili.

Enum
CODE_UNSPECIFIED Non deve mai essere utilizzato. Se non riusciamo a capire il motivo per cui una spedizione è stata saltata, restituiamo semplicemente una serie di motivi vuoti.
NO_VEHICLE Nessun veicolo nel modello rende non fattibili tutte le spedizioni.
DEMAND_EXCEEDS_VEHICLE_CAPACITY La domanda della spedizione supera la capacità di un veicolo per alcuni tipi di capacità, uno dei quali è exampleExceededCapacityType.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

La distanza minima necessaria per eseguire questa spedizione, ad esempio dal startLocation del veicolo alle località di ritiro e/o consegna della spedizione e alla località di fine del veicolo, supera la routeDistanceLimit del veicolo.

Tieni presente che per questo calcolo utilizziamo le distanze geodetiche.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

Il tempo minimo necessario per eseguire questa spedizione, inclusi il tempo di viaggio, i tempi di attesa e i tempi di assistenza, supera i routeDurationLimit del veicolo.

Nota: il tempo di percorrenza viene calcolato nello scenario migliore, ovvero come distanza geodetica x 36 m/s (circa 130 km/ora).

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Come sopra, ma confrontiamo solo il tempo di percorrenza minimo e i travelDurationLimit del veicolo.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS Il veicolo non può eseguire questa spedizione nello scenario migliore (vedi CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT per il calcolo dei tempi) se inizia alla prima ora di inizio: il tempo totale farà terminare il veicolo dopo l'ultima ora di fine.
VEHICLE_NOT_ALLOWED Il campo allowedVehicleIndices della spedizione non è vuoto e questo veicolo non è di sua proprietà.