Указывает сведения о невыполненных отгрузках в решении. В тривиальных случаях и/или если мы можем определить причину пропуска, мы сообщаем о причине здесь.
| JSON-представление | 
|---|
| {
  "index": integer,
  "label": string,
  "reasons": [
    {
      object ( | 
| Поля | |
|---|---|
| index |    Индекс соответствует индексу отгрузки в исходном  | 
| label |    Копия соответствующей  | 
| reasons[] |    Список причин, объясняющих, почему отгрузка была пропущена. См. комментарий выше.  | 
Причина
 Если мы сможем объяснить, почему отправка была пропущена, причины будут перечислены здесь. Если причина не одинакова для всех автомобилей, 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 |    Если код причины —  | 
| exampleVehicleIndex |   Если причина связана с несовместимостью груза и транспортного средства, в этом поле указывается индекс одного соответствующего транспортного средства. | 
Код
Код, определяющий тип причины. Порядок здесь бессмысленен. В частности, он не дает указания на то, появится ли данная причина перед другой в решении, если обе применимы.
| Перечисления | |
|---|---|
| CODE_UNSPECIFIED | Это никогда не следует использовать. | 
| NO_VEHICLE | В модели нет транспортного средства, что делает все перевозки невозможными. | 
| DEMAND_EXCEEDS_VEHICLE_CAPACITY | Потребность в отправке превышает вместимость транспортного средства для некоторых типов мощности, одним из которых является exampleExceededCapacityType. | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |  Минимальное расстояние, необходимое для выполнения этой перевозки, т. е. от  Обратите внимание, что для этого расчета мы используем геодезические расстояния. | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT |  Минимальное время, необходимое для выполнения этой перевозки, включая время в пути, время ожидания и время обслуживания, превышает  Примечание: время в пути рассчитывается в лучшем случае, а именно как геодезическое расстояние 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отправления не пустое и данное транспортное средство ему не принадлежит. |