SkippedShipment

指定解决方案中未执行的运单的详细信息。对于无关紧要的情况和/或如果我们能够确定跳过的原因,我们会在此处报告原因。

JSON 表示法
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
字段
index

integer

该指数与来源 ShipmentModel 中的运单对应的索引。

label

string

相应 Shipment.label 的副本(如果在 Shipment 中指定)。

reasons[]

object (Reason)

解释为何跳过发货的原因列表。查看 Reason 上方的评论。

原因

如果我们能说明跳过发货的原因,则会在此处列出相关原因。如果所有车辆的原因各不相同,reason 将包含多个元素。跳过的运单不能有重复的原因,即除“exampleVehicleIndex”以外的所有字段都相同。示例:

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
}

跳过的运单与所有车辆都不兼容。所有车辆的原因可能不同,但至少有一辆车是“苹果”会超出容量限制(包括车辆 1),而至少有一辆车的“梨”超出容量限制(包括车辆 3),且至少会超出一辆车的距离限制(包括车辆 1)。

JSON 表示法
{
  "code": enum (Code),
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
字段
code

enum (Code)

请参阅代码的注释。

exampleExceededCapacityType

string

如果原因代码为 DEMAND_EXCEEDS_VEHICLE_CAPACITY,则记录一个超出的容量类型。

exampleVehicleIndex

integer

如果原因与运输车辆不兼容,则此字段会提供一个相关车辆的索引。

代码

标识原因类型的代码。这里的顺序没有意义。特别是,它不会指出给定原因是否会在解决方案中的另一个原因出现之前(如果两者都适用)。

枚举
CODE_UNSPECIFIED 切勿使用此字段。如果我们不清楚某个发货为什么被跳过,我们只需返回一组空白的原因即可。
NO_VEHICLE 模型中没有车辆,使得所有运送都无法进行。
DEMAND_EXCEEDS_VEHICLE_CAPACITY 此运单的需求超出某辆车的承载能力,无法承载部分容量类型,其中包括 exampleExceededCapacityType
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

完成此运单所需的最短距离(即从车辆的startLocation到货物的上车点和/或送货地点,以及到车辆的末端的距离)超出了车辆的 routeDistanceLimit

请注意,我们使用测地距离进行此计算。

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

完成此发货所需的最短时间(包括行程时间、等待时间和维修时间)超过车辆的routeDurationLimit

请注意:行程时间在最佳情况下计算,即为测地距离 x 36 米/秒(约为 130 公里/小时)。

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT 同上,但我们仅比较最短行程时间和车辆的 travelDurationLimit
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS 如果车辆在最早的开始时间开始,则车辆无法在最佳情况下进行此装运(请参阅 CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT 中的时间计算方法):总时间会使车辆在最晚结束时间之后结束。
VEHICLE_NOT_ALLOWED 运单的“allowedVehicleIndices”字段不为空,且不属于该车辆。