SkippedShipment

Gibt Details zu nicht ausgeführten Sendungen in einer Lösung an. Bei einfachen Fällen und/oder wenn wir die Ursache für das Überspringen ermitteln können, geben wir den Grund hier an.

JSON-Darstellung
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
Felder
index

integer

Der Index entspricht dem Index der Sendung in der Quelle ShipmentModel.

label

string

Kopie der entsprechenden Shipment.label, sofern in der Shipment angegeben.

reasons[]

object (Reason)

Eine Liste der Gründe, warum die Sendung übersprungen wurde. Siehe Kommentar oben Reason. Wenn wir nicht nachvollziehen können, warum eine Sendung übersprungen wurde, werden keine Gründe angegeben.

Grund

Falls wir erklären können, warum die Sendung übersprungen wurde, werden hier die Gründe aufgeführt. Wenn der Grund nicht für alle Fahrzeuge gleich ist, enthält reason mehr als ein Element. Für eine übersprungene Sendung dürfen keine doppelten Gründe angegeben werden, d. h. alle Felder müssen mit Ausnahme von exampleVehicleIndex identisch sein. Beispiel:

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
}

Der übersprungene Versand ist mit allen Fahrzeugen nicht kompatibel. Die Gründe können für alle Fahrzeuge unterschiedlich sein, aber die Kapazität von mindestens einem Fahrzeug wird überschritten (einschließlich Fahrzeug 1), mindestens eines Fahrzeugs für „Birnen“ wird überschritten (einschließlich Fahrzeug 3) und mindestens eines Fahrzeugs wird überschritten (einschließlich Fahrzeug 1).

JSON-Darstellung
{
  "code": enum (Code),
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
Felder
code

enum (Code)

Weitere Informationen finden Sie in den Kommentaren zum Code.

exampleExceededCapacityType

string

Wenn der Ursachencode DEMAND_EXCEEDS_VEHICLE_CAPACITY lautet, wird ein Kapazitätstyp dokumentiert, der überschritten wurde.

exampleVehicleIndex

integer

Wenn der Grund mit einer Inkompatibilität zwischen Sendung und Fahrzeug zusammenhängt, enthält dieses Feld den Index eines entsprechenden Fahrzeugs.

Code

Code, der den Grundtyp identifiziert. Die Reihenfolge hier ist bedeutungslos. Insbesondere gibt sie keinen Hinweis darauf, ob ein bestimmter Grund in der Lösung vor einem anderen steht, wenn beide zutreffen.

Enums
CODE_UNSPECIFIED Dieser Wert sollte nicht verwendet werden.
NO_VEHICLE Das Modell enthält kein Fahrzeug, das Sendungen verhindert.
DEMAND_EXCEEDS_VEHICLE_CAPACITY Die Anforderungen der Sendung übersteigen die Kapazität eines Fahrzeugs für einige Kapazitätstypen, darunter exampleExceededCapacityType.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

Der Mindestabstand, der für diese Sendung erforderlich ist, d.h. vom startLocation des Fahrzeugs zu den Abhol- und/oder Lieferorten der Sendung und zum Endstandort des Fahrzeugs, überschreitet den routeDistanceLimit-Wert des Fahrzeugs.

Für diese Berechnung verwenden wir die geodätischen Entfernungen.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

Die für diese Lieferung erforderliche Mindestzeit, einschließlich Fahrzeit, Wartezeit und Servicezeit, überschreitet die routeDurationLimit des Fahrzeugs.

Hinweis: Die Fahrtzeit wird im Best-Case-Szenario berechnet, nämlich als geodätische Entfernung x 36 m/s (etwa 130 km/h).

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Wie oben, aber wir vergleichen nur die minimale Reisezeit und die travelDurationLimit des Fahrzeugs.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS Das Fahrzeug kann diese Sendung im Best-Case-Szenario (siehe CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT zur Zeitberechnung) nicht ausführen, wenn es zum frühesten Startzeitpunkt startet: Die Gesamtzeit würde das Fahrzeug nach der letzten Endzeit enden.
VEHICLE_NOT_ALLOWED Das Feld allowedVehicleIndices der Sendung ist nicht leer und dieses Fahrzeug gehört nicht dazu.