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 )

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

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