टूर ऑप्टिमाइज़ेशन की समस्या को हल करने के बाद मिलने वाला जवाब. इसमें हर वाहन के लिए तय किए गए रास्ते, छोड़े गए शिपमेंट, और समस्या को हल करने की कुल लागत की जानकारी होती है.
| JSON के काेड में दिखाना | 
|---|
| { "routes": [ { object ( | 
| फ़ील्ड | |
|---|---|
| routes[] | 
 हर वाहन के लिए कैलकुलेट किए गए रास्ते; i-वां रास्ता, मॉडल में i-वें वाहन से जुड़ा होता है. | 
| requestLabel | 
 अगर अनुरोध में कोई लेबल दिया गया था, तो  | 
| skippedShipments[] | 
 उन सभी शिपमेंट की सूची जिन्हें स्किप किया गया है. | 
| validationErrors[] | 
 पुष्टि करने से जुड़ी उन सभी गड़बड़ियों की सूची जिन्हें हमने खुद से पता लगाया है.  | 
| metrics | 
 इस समाधान के लिए, कुल समय, दूरी, और इस्तेमाल की मेट्रिक. | 
OptimizeToursValidationError
OptimizeToursRequest की पुष्टि करते समय मिली गड़बड़ी या चेतावनी के बारे में बताता है.
| JSON के काेड में दिखाना | 
|---|
| {
  "code": integer,
  "displayName": string,
  "fields": [
    {
      object ( | 
| फ़ील्ड | |
|---|---|
| code | 
 पुष्टि करने से जुड़ी गड़बड़ी की जानकारी, ( नीचे दिए गए अन्य फ़ील्ड में, गड़बड़ी के बारे में ज़्यादा जानकारी मिलती है. एक से ज़्यादा गड़बड़ियां: कई गड़बड़ियां होने पर, पुष्टि करने की प्रोसेस में, उनमें से कई गड़बड़ियां दिखाने की कोशिश की जाती है. कंपाइलर की तरह ही, यह प्रोसेस भी पूरी तरह से सटीक नहीं होती. पुष्टि करने से जुड़ी कुछ गड़बड़ियां "गंभीर" होंगी. इसका मतलब है कि वे पुष्टि की पूरी प्रक्रिया को रोक देंगी. अन्य मामलों के साथ-साथ,  स्थिरता:  REFERENCE: सभी (कोड, नाम) जोड़े की सूची: 
 | 
| displayName | 
 गड़बड़ी का डिसप्ले नेम. | 
| fields[] | 
 गड़बड़ी के संदर्भ में, ज़्यादातर समय 0 या 1 फ़ील्ड शामिल होते हैं. हालांकि, इसमें एक से ज़्यादा फ़ील्ड भी शामिल हो सकते हैं. उदाहरण के लिए, वाहन #4 और शिपमेंट #2 का पहला पिकअप इस तरह से किया जा सकता है: हालांकि, ध्यान दें कि किसी दिए गए गड़बड़ी कोड के लिए,  | 
| errorMessage | 
 इस स्ट्रिंग में गड़बड़ी के बारे में ऐसी जानकारी होती है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है.  स्टेबलिटी: स्टेबल नहीं है: किसी  | 
| offendingValues | 
 इसमें फ़ील्ड की वैल्यू शामिल हो सकती हैं. यह सुविधा हमेशा उपलब्ध नहीं होती. आपको इस पर बिलकुल भरोसा नहीं करना चाहिए और इसका इस्तेमाल सिर्फ़ मैन्युअल मॉडल डीबग करने के लिए करना चाहिए. | 
FieldReference
पुष्टि करने से जुड़ी गड़बड़ी के लिए संदर्भ बताता है. FieldReference हमेशा इस फ़ाइल में मौजूद किसी फ़ील्ड को रेफ़र करता है और एक ही हैरारकी वाले स्ट्रक्चर का पालन करता है. उदाहरण के लिए, हम वाहन #5 के startTimeWindows का एलिमेंट #2 तय करने के लिए इनका इस्तेमाल कर सकते हैं:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
हालांकि, मैसेज को इकट्ठा न करने के लिए, हम OptimizeToursRequest या ShipmentModel जैसी टॉप लेवल की इकाइयों को छोड़ देते हैं.
| JSON के काेड में दिखाना | 
|---|
| { "name": string, "subField": { object ( | 
| फ़ील्ड | |
|---|---|
| name | 
 फ़ील्ड का नाम, जैसे कि "वाहन". | 
| subField | 
 अगर ज़रूरी हो, तो बार-बार नेस्ट किया गया सब-फ़ील्ड. | 
| यूनियन फ़ील्ड  
 | |
| index | 
 अगर फ़ील्ड दोहराया गया है, तो उसका इंडेक्स. | 
| key | 
 अगर फ़ील्ड एक मैप है, तो कुंजी डालें. | 
मेट्रिक
सभी रूट की एग्रीगेट की गई कुल मेट्रिक.
| JSON के काेड में दिखाना | 
|---|
| {
  "aggregatedRouteMetrics": {
    object ( | 
| फ़ील्ड | |
|---|---|
| aggregatedRouteMetrics | 
 यह डेटा, सभी रास्तों के लिए इकट्ठा किया जाता है. हर मेट्रिक, एक ही नाम के सभी  | 
| skippedMandatoryShipmentCount | 
 ज़रूरी शिपमेंट की संख्या. | 
| usedVehicleCount | 
 इस्तेमाल किए गए वाहनों की संख्या. ध्यान दें: अगर वाहन का रास्ता खाली है और  | 
| earliestVehicleStartTime | 
 किसी इस्तेमाल किए गए वाहन के शुरू होने का सबसे पुराना समय, जिसका हिसाब  आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण:  | 
| latestVehicleEndTime | 
 इस्तेमाल किए गए वाहन के खत्म होने का सबसे नया समय, जिसका हिसाब  आरएफ़सी3339 यूटीसी के "ज़ुलू" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंक हैं. उदाहरण:  | 
| costs | 
 सॉल्यूशन की लागत, जिसे लागत से जुड़े अनुरोध फ़ील्ड के हिसाब से बांटा गया है. कुंजियां, इनपुट OptimizeToursRequest, जैसे कि "model.shipments.pickups.cost" के मुताबिक प्रोटो पाथ होती हैं और वैल्यू वह कुल लागत होती है जो इससे जुड़ी लागत फ़ील्ड के ज़रिए जनरेट होती है और जिसे पूरे समाधान में जोड़ा जाता है. दूसरे शब्दों में, costs["model.shipments.pickups.cost"] का मतलब है, पिकअप के लिए खरीदार से लिए जाने वाले सभी शुल्कों का कुल योग. मॉडल में तय की गई सभी कीमतों के बारे में यहां पूरी जानकारी दी गई है. हालांकि, ट्रांज़िशन एट्रिब्यूट से जुड़ी लागत को छोड़कर, ये कीमतें सिर्फ़ 2022/01 तक के डेटा के आधार पर रिपोर्ट की गई हैं. ऐसा ऑब्जेक्ट जिसमें  | 
| totalCost | 
 समाधान की कुल लागत. लागत मैप में सभी मानों का योग. |