SkippedShipment

Указывает сведения о невыполненных отгрузках в решении. В тривиальных случаях и/или если мы можем определить причину пропуска, мы сообщаем о причине здесь.

JSON-представление
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
Поля
index

integer

Индекс соответствует индексу отгрузки в исходном ShipmentModel .

label

string

Копия соответствующей Shipment.label , если она указана в Shipment .

reasons[]

object ( Reason )

Список причин, объясняющих, почему отгрузка была пропущена. См. комментарий выше. Reason . Если мы не сможем понять, почему отправка была пропущена, причины не будут установлены.

Причина

Если мы сможем объяснить, почему отправка была пропущена, причины будут перечислены здесь. Если причина не одинакова для всех автомобилей, reason будет иметь более 1 элемента. Пропущенная отправка не может иметь повторяющихся причин, т. е. когда все поля одинаковы, за исключением 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 )

Обратитесь к комментариям Кодекса.

example Exceeded Capacity Type

string

Если код причины — DEMAND_EXCEEDS_VEHICLE_CAPACITY , документируется один тип мощности, который превышен.

example Vehicle Index

integer

Если причина связана с несовместимостью груза и транспортного средства, в этом поле указывается индекс одного соответствующего транспортного средства.

Код

Код, определяющий тип причины. Порядок здесь бессмысленен. В частности, он не дает никаких указаний на то, появится ли данная причина перед другой в решении, если обе применимы.

Перечисления
CODE_UNSPECIFIED Это никогда не следует использовать.
NO_VEHICLE В модели нет транспортного средства, что делает все перевозки невозможными.
DEMAND_EXCEEDS_VEHICLE_CAPACITY Потребность в отправке превышает вместимость транспортного средства для некоторых типов мощности, одним из которых является exampleExceededCapacityType .
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

Минимальное расстояние, необходимое для выполнения этой перевозки, т. е. от startLocation транспортного средства до мест получения и/или доставки груза и до конечного местоположения транспортного средства, превышает routeDistanceLimit транспортного средстваDistanceLimit .

Обратите внимание, что для этого расчета мы используем геодезические расстояния.

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 отправления не пустое и данное транспортное средство ему не принадлежит.