SkippedShipment

Specifica i dettagli delle importazioni 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 all'indice della spedizione nell'origine ShipmentModel.

label

string

Copia del Shipment.label corrispondente, se specificato nel Shipment.

reasons[]

object (Reason)

Un elenco di motivi che spiegano il motivo per cui la spedizione è stata saltata. Vedi il commento sopra Reason. Se non riusciamo a capire il motivo per cui una spedizione è stata saltata, i motivi non verranno impostati.

Motivo

Se possiamo spiegare il motivo per cui la spedizione è stata saltata, i motivi verranno 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 possono essere diversi per tutti i veicoli, ma la capacità "Mela" di almeno un veicolo verrà superata (incluso il veicolo 1), la capacità "Pera" di almeno un veicolo verrà superata (incluso il veicolo 3) e il limite di distanza di almeno un veicolo verrà superato (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.
NO_VEHICLE Non è presente alcun veicolo nel modello, il che rende non possibili tutte le spedizioni.
DEMAND_EXCEEDS_VEHICLE_CAPACITY La richiesta della spedizione supera la capacità di un veicolo per alcuni tipi di capacità, tra cui 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/h).

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ò effettuare questa spedizione nello scenario migliore (vedi CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT per il calcolo del tempo) se parte all'ora di inizio più anticipata: il tempo totale farebbe terminare il viaggio del veicolo dopo la sua ora di fine più tardiva.
VEHICLE_NOT_ALLOWED Il campo allowedVehicleIndices della spedizione non è vuoto e questo veicolo non è di sua proprietà.