SkippedShipment

Spécifie les détails des envois non effectués dans une solution. Dans les cas exceptionnels et/ou si nous sommes en mesure d'identifier la cause de l'omission, nous signalons la raison ici.

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

integer

L'indice correspond à l'indice 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 la livraison a été ignorée. Voir le commentaire au-dessus de Reason.

Motif

Si nous pouvons vous expliquer pourquoi la livraison a été ignorée, les motifs seront indiqués ici. Si le motif n'est pas le même pour tous les véhicules, reason comportera plusieurs éléments. Un colis ignoré ne peut pas avoir de motifs en double (c'est-à-dire lorsque 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
}

L'envoi ignoré est incompatible avec tous les véhicules. Les raisons peuvent être différentes pour tous les véhicules, mais les "Apples" d'au moins un véhicule est dépassée (y compris pour le véhicule 1), la capacité d'au moins un véhicule est dépassée la capacité serait dépassée (véhicule 3 compris) et la limite de distance d'au moins un véhicule serait dépassée (véhicule 1 compris).

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, indique un type de capacité qui est dépassé.

exampleVehicleIndex

integer

Si le motif est lié à une incompatibilité avec un véhicule de livraison, ce champ fournit l'index d'un véhicule pertinent.

Code

Code identifiant le type de motif. L'ordonnance n'a aucun sens ici. En particulier, elle n'indique pas si une raison donnée apparaîtra avant une autre dans la solution, si les deux s'appliquent.

Enums
CODE_UNSPECIFIED Elle ne doit jamais être utilisée. Si nous ne comprenons pas pourquoi une livraison a été ignorée, nous renvoyons simplement un ensemble vide de motifs.
NO_VEHICLE Aucun véhicule du modèle ne rend toutes les expéditions impossibles.
DEMAND_EXCEEDS_VEHICLE_CAPACITY La demande de livraison dépasse la capacité d'un véhicule pour certains types de capacité, dont exampleExceededCapacityType.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

La distance minimale nécessaire pour effectuer cette livraison, c'est-à-dire entre le startLocation du véhicule, les lieux de prise en charge et/ou de livraison du véhicule et le lieu d'arrivée du véhicule, dépasse les 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 livraison, y compris le temps de trajet, le temps d'attente et le temps de maintenance, dépasse la valeur routeDurationLimit du véhicule.

Remarque : dans le meilleur des cas, le temps de trajet est calculé comme suit : distance géodésique x 36 m/s (soit environ 130 km/heure).

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Mêmes données que ci-dessus, mais nous ne comparons que la durée minimale du trajet et le travelDurationLimit du véhicule.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS Le véhicule ne peut pas effectuer cette livraison dans le meilleur des cas (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 mettra fin au véhicule après son heure de fin.
VEHICLE_NOT_ALLOWED Le champ allowedVehicleIndices du colis n'est pas vide, et ce véhicule n'en fait pas partie.