Określa szczegóły niezrealizowanych dostaw w rozwiązaniu. W najprostszych przypadkach lub jeśli jesteśmy w stanie zidentyfikować przyczynę pominięcia, podajemy tutaj jej przyczynę.
| Zapis JSON | 
|---|
| {
  "index": integer,
  "label": string,
  "reasons": [
    {
      object ( | 
| Pola | |
|---|---|
| index | 
 Indeks odpowiada indeksowi przesyłki w źródle  | 
| label | 
 Kopia odpowiedniego elementu  | 
| reasons[] | 
 Lista powodów, dla których dostawa została pominięta. Zobacz komentarz powyżej  | 
Przyczyna
Jeśli możemy wyjaśnić, dlaczego przesyłka została pominięta, podamy tutaj powody. Jeśli przyczyna nie jest taka sama w przypadku wszystkich pojazdów, element reason będzie zawierał więcej niż 1 element. Przesyłka pominięta nie może mieć zduplikowanych przyczyn, czyli wszystkich pól, z wyjątkiem pola exampleVehicleIndex. Przykład:
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
}
Przesyłka, która została pominięta, jest niezgodna ze wszystkimi pojazdami. Powody mogą być różne w przypadku poszczególnych pojazdów, ale w przynajmniej jednym z nich przekroczona byłaby pojemność „jabłek” (w tym w pojazdzie 1), w przynajmniej jednym z nich przekroczona byłaby pojemność „gruszek” (w tym w pojazdzie 3), a w przynajmniej jednym z nich przekroczony byłby limit odległości (w tym w pojazdzie 1).
| Zapis JSON | 
|---|
| {
  "code": enum ( | 
| Pola | |
|---|---|
| code | 
 Zapoznaj się z komentarzami w kodzie. | 
| exampleExceededCapacityType | 
 Jeśli kod przyczyny to  | 
| exampleVehicleIndex | 
 Jeśli przyczyna dotyczy niezgodności przesyłki z pojazdem, to pole zawiera indeks odpowiedniego pojazdu. | 
Kod
Kod identyfikujący typ przyczyny. Ta kolejność jest bez znaczenia. W szczególności nie wskazuje, czy dana przyczyna pojawi się przed inną w rozwiązaniu, jeśli obie są stosowane.
| Wartości w polu enum | |
|---|---|
| CODE_UNSPECIFIED | Nie należy jej nigdy używać. | 
| NO_VEHICLE | W modelu nie ma żadnego pojazdu, przez co wszystkie dostawy są niemożliwe. | 
| DEMAND_EXCEEDS_VEHICLE_CAPACITY | Zapotrzebowanie na dostawę przekracza pojemność pojazdu w przypadku niektórych typów pojemności, z których jeden wynosi exampleExceededCapacityType. | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT | Minimalna odległość niezbędna do wykonania tej dostawy, czyli od  Pamiętaj, że do tego obliczenia używamy odległości geodezyjnych. | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT | Minimalny czas niezbędny do wykonania tej przesyłki, w tym czas podróży, czas oczekiwania i obsługa, przekracza  Uwaga: czas podróży jest obliczany w najlepszym możliwym scenariuszu, czyli jako odległość geodezyjna × 36 m/s (około 130 km/h). | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT | Tak jak powyżej, ale porównujemy tylko minimalny czas podróży z travelDurationLimitpojazdu. | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS | Pojazd nie może wykonać tej dostawy w najlepszym scenariuszu (patrz CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMITw celu obliczenia czasu), jeśli rozpoczyna się w najwcześniejszym możliwym czasie: łączny czas pracy pojazdu spowoduje, że zakończy on pracę po upływie najpóźniejszego czasu zakończenia. | 
| VEHICLE_NOT_ALLOWED | Pole allowedVehicleIndicesprzesyłki nie jest puste, a pojazd do niego nie należy. |