Odpowiedź po rozwiązaniu problemu optymalizacji trasy zawierająca trasy przebyte przez każdy pojazd, przesyłki, które zostały pominięte, oraz łączny koszt rozwiązania.
| Zapis JSON | 
|---|
| { "routes": [ { object ( | 
| Pola | |
|---|---|
| routes[] | 
 Trasy obliczone dla każdego pojazdu; i-ta trasa odpowiada i-temu pojazdowi w modelu. | 
| requestLabel | 
 Kopia  | 
| skippedShipments[] | 
 Lista wszystkich pominiętych przesyłek. | 
| validationErrors[] | 
 Lista wszystkich błędów weryfikacji, które udało nam się wykryć. Więcej informacji o komunikacie  | 
| processedRequest | 
 W niektórych przypadkach modyfikujemy przychodzące żądanie przed jego rozwiązaniem, np. dodając koszty. Jeśli parametr solvingMode ma wartość TRANSFORM_AND_RETURN_REQUEST, zmodyfikowane żądanie zostanie zwrócone tutaj. Funkcja eksperymentalna: więcej informacji znajdziesz na stronie https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request. | 
| metrics | 
 Dane o czasie trwania, odległości i użytkowaniu tego rozwiązania. | 
OptimizeToursValidationError
Opisuje błąd lub ostrzeżenie występujące podczas sprawdzania poprawności OptimizeToursRequest.
| Zapis JSON | 
|---|
| {
  "code": integer,
  "displayName": string,
  "fields": [
    {
      object ( | 
| Pola | |
|---|---|
| code | 
 Błąd weryfikacji jest zdefiniowany przez parę ( Pola w sekcji po tej sekcji zawierają więcej informacji o błędzie. WIELE BŁĘDÓW: gdy występuje wiele błędów, proces weryfikacji próbuje wygenerować kilka z nich. Podobnie jak w przypadku kompilatorów, jest to proces niedoskonały. Niektóre błędy weryfikacji są „krytyczne”, co oznacza, że powodują przerwanie całego procesu weryfikacji. Dotyczy to m.in. błędów  STABILNOŚĆ:  | 
| displayName | 
 Wyświetlana nazwa błędu. | 
| fields[] | 
 Kontekst błędu może obejmować 0, 1 (najczęściej) lub więcej pól. Na przykład pierwszy odbiór pojazdu 4 w ramach dostawy 2 można wykonać w ten sposób: Pamiętaj jednak, że liczba elementów  | 
| errorMessage | 
 Zrozumiały dla człowieka ciąg tekstowy opisujący błąd. Wartości  STAŁOŚĆ: niestabilna: komunikat o błędzie powiązany z danym  | 
| offendingValues | 
 Może zawierać wartości pól. Ta opcja nie jest zawsze dostępna. Nie należy się na niego w żaden sposób opierać. Należy go używać tylko do ręcznego debugowania modelu. | 
FieldReference
Określa kontekst błędu weryfikacji. Element FieldReference zawsze odnosi się do określonego pola w tym pliku i podąża za tą samą strukturą hierarchiczną. Możemy na przykład określić element 2 w elementach startTimeWindows pojazdu 5 za pomocą:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Jednak pomijamy elementy najwyższego poziomu, takie jak OptimizeToursRequest lub ShipmentModel, aby nie zaśmiecać wiadomości.
| Zapis JSON | 
|---|
| { "name": string, "subField": { object ( | 
| Pola | |
|---|---|
| name | 
 Nazwa pola, np. „vehicles”. | 
| subField | 
 W razie potrzeby rekurencyjnie zagnieżdżone podpole. | 
| Pole unii  
 | |
| index | 
 Indeks pola, jeśli jest powtarzany. | 
| key | 
 klucz, jeśli pole jest mapą; | 
Dane
Ogólne dane, zagregowane na podstawie wszystkich tras.
| Zapis JSON | 
|---|
| {
  "aggregatedRouteMetrics": {
    object ( | 
| Pola | |
|---|---|
| aggregatedRouteMetrics | 
 Zagregowane według tras. Każde dane to suma (lub wartość maksymalna w przypadku obciążeń) wszystkich pól  | 
| skippedMandatoryShipmentCount | 
 Liczba pominiętych przesyłek obowiązkowych. | 
| usedVehicleCount | 
 Liczba używanych pojazdów. Uwaga: jeśli trasa pojazdu jest pusta, a wartość atrybutu  | 
| earliestVehicleStartTime | 
 Najwcześniejszy czas rozpoczęcia dla używanego pojazdu, obliczony jako minimalny dla wszystkich używanych pojazdów  Używa standardu RFC 3339, w którym wygenerowany wynik jest zawsze znormalizowany według normy Z i zawiera 0, 3, 6 lub 9 cyfr ułamkowych. Dopuszczalne są też przesunięcia inne niż „Z”. Przykłady:  | 
| latestVehicleEndTime | 
 Najpóźniejszy czas zakończenia dla używanego pojazdu, obliczony jako maksymalny dla wszystkich używanych pojazdów  Używa standardu RFC 3339, w którym wygenerowany wynik jest zawsze znormalizowany według normy Z i zawiera 0, 3, 6 lub 9 cyfr ułamkowych. Dopuszczalne są też przesunięcia inne niż „Z”. Przykłady:  | 
| costs | 
 Koszt rozwiązania z podziałem według pól żądania związanych z kosztami. Klucze to ścieżki proto, odnoszące się do wejścia OptimizeToursRequest, np. „model.shipments.pickups.cost”, a wartości to łączny koszt wygenerowany przez odpowiednie pole kosztu, zsumowany w całym rozwiązaniu. Inaczej mówiąc, costs["model.shipments.pickups.cost"] to suma wszystkich kosztów odbioru w ramach rozwiązania. Wszystkie koszty zdefiniowane w modelu są tutaj szczegółowo raportowane, z wyjątkiem kosztów związanych z atributem TransitionAttributes, które od 1 stycznia 2022 r. są raportowane tylko w sposób zagregowany. | 
| totalCost | 
 Łączny koszt rozwiązania. Suma wszystkich wartości w mapie kosztów. |