SkippedShipment

Spécifie les détails des envois non effectués dans une solution. Pour les cas banals et/ou si nous pouvons identifier la cause du saut de page, nous l'indiquons ici.

Représentation JSON
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
Champs
index

integer

L'index correspond à l'index de la livraison dans la source ShipmentModel.

label

string

Copie du Shipment.label correspondant, si spécifié dans Shipment.

reasons[]

object (Reason)

Liste des raisons expliquant pourquoi l'envoi a été ignoré. Voir le commentaire au-dessus de Reason.

Motif

Si nous pouvons expliquer pourquoi la livraison a été ignorée, les raisons sont indiquées ici. Si le motif n'est pas le même pour tous les véhicules, reason comportera plusieurs éléments. Un envoi ignoré ne peut pas avoir plusieurs raisons, c'est-à-dire que tous les champs sont identiques, à l'exception de exampleVehicleIndex. Exemple :

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 livraison ignorée est incompatible avec tous les véhicules. Les raisons peuvent être différentes pour tous les véhicules, mais au moins la capacité "Apples " d'un véhicule (y compris le véhicule 1) est dépassée, la capacité "Pears " d'au moins un véhicule (y compris le véhicule 3) et la distance maximale d'au moins un véhicule (y compris le véhicule 1).

Représentation JSON
{
  "code": enum (Code),
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
Champs
code

enum (Code)

Reportez-vous aux commentaires de Code.

exampleExceededCapacityType

string

Si le code de motif est DEMAND_EXCEEDS_VEHICLE_CAPACITY, documente un type de capacité dépassé.

exampleVehicleIndex

integer

Si le motif est lié à une incompatibilité entre le véhicule d'expédition et le véhicule, ce champ indique l'index d'un véhicule concerné.

Code

Code identifiant le type de motif. Ici, l'ordre n'a aucun sens. En particulier, cela ne donne aucune indication sur la présence d'une raison donnée avant une autre dans la solution, si les deux s'appliquent.

Enums
CODE_UNSPECIFIED Il ne doit jamais être utilisé. Si nous ne parvenons pas à comprendre pourquoi un envoi a été ignoré, nous vous indiquons simplement un ensemble vide de motifs.
NO_VEHICLE Le modèle ne comporte aucun véhicule, ce qui rend toutes les expéditions impossibles.
DEMAND_EXCEEDS_VEHICLE_CAPACITY La demande du colis dépasse la capacité d'un véhicule pour certains types de capacité (exampleExceededCapacityType).
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

La distance minimale nécessaire pour effectuer cette expédition, c'est-à-dire entre le startLocation du véhicule et les lieux de retrait et/ou de livraison du colis, et jusqu'au lieu d'arrivée du véhicule, dépasse la valeur routeDistanceLimit du véhicule.

Notez que pour ce calcul, nous utilisons les distances géodésiques.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

Le temps minimal nécessaire pour effectuer cette expédition (y compris le temps de trajet, le temps d'attente et le temps de service) dépasse les routeDurationLimit du véhicule.

Remarque: Le temps de trajet est calculé dans le meilleur des cas, à savoir une distance géodésique de 36 m/s (environ 130 km/heure).

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Identique à ci-dessus, mais nous ne comparons que la durée de trajet minimale et le travelDurationLimit du véhicule.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS Dans le meilleur des cas, le véhicule ne peut pas effectuer cette expédition (voir CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT pour le calcul du temps) s'il commence à l'heure de départ la plus proche: le temps total indiquerait que le véhicule se terminerait après sa dernière heure d'arrivée.
VEHICLE_NOT_ALLOWED Le champ "allowedVehicleIndices" du colis n'est pas vide, et ce véhicule ne lui appartient pas.