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

Wenn wir den Grund für das Überspringen der Sendung erklären können, wird er hier 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 für „Äpfel“ wird bei mindestens einem Fahrzeug überschritten (einschließlich Fahrzeug 1), die Kapazität für „Birnen“ wird bei mindestens einem Fahrzeug überschritten (einschließlich Fahrzeug 3) und die Entfernungsbeschränkung wird bei mindestens einem Fahrzeug ü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 Grundcode DEMAND_EXCEEDS_VEHICLE_CAPACITY ist, wird ein Kapazitätstyp angegeben, 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 angibt. Die Reihenfolge spielt hier keine Rolle. Insbesondere gibt es keinen Hinweis darauf, ob ein bestimmter Grund in der Lösung vor einem anderen erscheint, wenn beide zutreffen.

Enums
CODE_UNSPECIFIED Dieser Wert sollte nicht verwendet werden.
NO_VEHICLE Im Modell ist kein Fahrzeug vorhanden, sodass alle Lieferungen nicht möglich sind.
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

Die für die Durchführung dieser Lieferung erforderliche Mindeststrecke, d.h. von der startLocation des Fahrzeugs zu den Abhol- und/oder Lieferorten der Sendung und zum Endort des Fahrzeugs, überschreitet die routeDistanceLimit des Fahrzeugs.

Für diese Berechnung werden die geodätischen Entfernungen verwendet.

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 Reisezeit wird im Best-Case-Szenario berechnet, nämlich als geodätische Entfernung × 36 m/s (ungefähr 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 Lieferung im Bestfall nicht ausführen (siehe CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT für die Zeitberechnung), wenn es zum frühestmöglichen Startzeitpunkt startet: Die Gesamtzeit würde dazu führen, dass das Fahrzeug nach seiner spätesten Endzeit endet.
VEHICLE_NOT_ALLOWED Das Feld allowedVehicleIndices der Sendung ist nicht leer und dieses Fahrzeug gehört nicht dazu.