SkippedShipment

Gibt Details zu nicht ausgeführten Sendungen in einer Lösung an. In einfachen Fällen und/oder wenn wir den Grund 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 Shipment angegeben.

reasons[]

object (Reason)

Eine Liste mit Gründen, warum die Sendung übersprungen wurde. Siehe Kommentar oben: Reason.

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 identisch ist, hat „reason“ mehr als ein Element. Eine übersprungene Sendung darf keine doppelten Gründe haben, d.h. alle Felder mit Ausnahme von exampleVehicleIndex müssen 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
}

Die übersprungene Sendung ist mit keinem Fahrzeug kompatibel. Die Gründe können für alle Fahrzeuge unterschiedlich sein, aber mindestens ein Fahrzeug hat die Bezeichnung „Äpfel“ Kapazität überschritten würde (einschließlich Fahrzeug 1), mindestens ein Fahrzeug „Birnen“ Kapazität (einschließlich Fahrzeug 3) überschritten und die Distanzbeschränkung für mindestens ein Fahrzeug überschritten wird (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 Versand und Fahrzeug zusammenhängt, wird in diesem Feld der Index eines relevanten Fahrzeugs angegeben.

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 Dies sollte niemals verwendet werden. Wenn wir nicht nachvollziehen können, warum eine Sendung übersprungen wurde, geben wir einfach eine leere Liste mit Gründen zurück.
NO_VEHICLE Das Modell enthält kein Fahrzeug, das Sendungen verhindert.
DEMAND_EXCEEDS_VEHICLE_CAPACITY Die Nachfrage nach der Sendung überschreitet die Kapazität eines Fahrzeugs bei einigen 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.

Beachten Sie, dass wir für diese Berechnung die geodätischen Entfernungen verwenden.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

Die für den Versand erforderliche Mindestzeit, einschließlich Reise-, 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, wird aber nur die minimale Fahrtzeit und die travelDurationLimit des Fahrzeugs verglichen.
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.