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 hier den Grund 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 des entsprechenden Shipment.label, falls in Shipment angegeben.

reasons[]

object (Reason)

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

Grund

Wenn wir erklären können, warum die Lieferung übersprungen wurde, werden hier die Gründe aufgeführt. Wenn der Grund nicht für alle Fahrzeuge gleich ist, hat reason mehr als 1 Element. Für eine übersprungene Lieferung darf es keine doppelten Gründe geben, d.h. alle Felder mit Ausnahme von exampleVehicleIndex sind identisch. 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 nicht mit allen Fahrzeugen kompatibel. Die Gründe können für alle Fahrzeuge unterschiedlich sein, aber mindestens für ein Fahrzeug wird die Kapazität für „Äpfel“ überschritten (einschließlich Fahrzeug 1), die Kapazität für „Pears“ bei mindestens einem Fahrzeug würde überschritten (einschließlich Fahrzeug 3) und mindestens eines Fahrzeugs (einschließlich Fahrzeug 1) wird überschritten.

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 überschrittener Kapazitätstyp dokumentiert.

exampleVehicleIndex

integer

Wenn der Grund mit einer Inkompatibilität eines Versandfahrzeugs zusammenhängt, enthält dieses Feld den Index eines relevanten Fahrzeugs.

Code

Code zur Identifizierung des Grundtyps. Die Reihenfolge hier ist bedeutungslos. Insbesondere gibt sie keinen Hinweis darauf, ob ein bestimmter Grund in der Lösung vor einem anderen angezeigt wird, sofern beide Gründe zutreffen.

Enums
CODE_UNSPECIFIED Dies sollte niemals verwendet werden. Wenn wir nicht nachvollziehen können, warum eine Sendung übersprungen wurde, senden wir einfach eine leere Begründungsanfrage zurück.
NO_VEHICLE Das Modell hat kein Fahrzeug, das alle Lieferungen unmöglich macht.
DEMAND_EXCEEDS_VEHICLE_CAPACITY Die Nachfrage nach der Sendung überschreitet die Kapazität eines Fahrzeugs bei einigen Kapazitätstypen. Einer davon ist exampleExceededCapacityType.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

Die Mindestentfernung, die für diesen Versand erforderlich ist, d.h. vom startLocation des Fahrzeugs zu den Abhol- und/oder Lieferorten der Sendung und zum Zielort des Fahrzeugs überschreitet die routeDistanceLimit.

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

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

Die für diesen Versand erforderliche Mindestzeit, einschließlich Fahrt-, 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/Stunde).

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Wie oben, aber es wird 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 nicht ausführen (siehe CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT für Zeitberechnung), wenn es zum frühesten Startzeitpunkt beginnt: 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.