การตอบกลับหลังจากแก้ปัญหาการเพิ่มประสิทธิภาพทัวร์ชมซึ่งมีเส้นทางที่ยานพาหนะแต่ละคันใช้ การจัดส่งที่ข้ามไป และต้นทุนโดยรวมของโซลูชัน
| การแสดง JSON | 
|---|
{ "routes": [ { object (  | 
            
| ช่อง | |
|---|---|
routes[] | 
              
                 
 เส้นทางที่คำนวณสำหรับยานพาหนะแต่ละคัน โดยเส้นทางที่ i จะสอดคล้องกับยานพาหนะลำดับที่ i ในโมเดล  | 
            
requestLabel | 
              
                 
 สําเนา   | 
            
skippedShipments[] | 
              
                 
 รายการการจัดส่งทั้งหมดที่ข้าม  | 
            
validationErrors[] | 
              
                 
 รายการข้อผิดพลาดทั้งหมดในการตรวจสอบที่เราตรวจพบได้เอง ดูคำอธิบาย "ข้อผิดพลาดหลายรายการ" สำหรับข้อความ   | 
            
processedRequest | 
              
                 
 ในบางกรณี เราอาจแก้ไขคำขอขาเข้าก่อนแก้ปัญหา เช่น เพิ่มค่าใช้จ่าย หาก solvingMode == TRANSFORM_AND_RETURN_REQUEST ระบบจะแสดงคำขอที่แก้ไขแล้วที่นี่ เวอร์ชันทดลอง: ดูรายละเอียดเพิ่มเติมได้ที่ https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request  | 
            
metrics | 
              
                 
 เมตริกระยะเวลา ระยะทาง และการใช้งานสําหรับโซลูชันนี้  | 
            
OptimizeToursValidationError
อธิบายข้อผิดพลาดหรือคำเตือนที่พบเมื่อตรวจสอบ OptimizeToursRequest
| การแสดง JSON | 
|---|
{
  "code": integer,
  "displayName": string,
  "fields": [
    {
      object ( | 
              
| ช่อง | |
|---|---|
code | 
                
                   
 ข้อผิดพลาดในการตรวจสอบจะกำหนดโดยคู่ ( ช่องต่างๆ ที่อยู่ถัดจากส่วนนี้จะให้บริบทเพิ่มเติมเกี่ยวกับข้อผิดพลาด ข้อผิดพลาดหลายรายการ: เมื่อมีข้อผิดพลาดหลายรายการ กระบวนการตรวจสอบจะพยายามแสดงข้อผิดพลาดหลายรายการ กระบวนการนี้ไม่สมบูรณ์แบบเช่นเดียวกับคอมไพเลอร์ ข้อผิดพลาดในการตรวจสอบบางอย่างจะเป็น "ข้อผิดพลาดร้ายแรง" ซึ่งหมายความว่าจะหยุดกระบวนการตรวจสอบทั้งหมด กรณีนี้รวมถึงข้อผิดพลาด  ความเสถียร:   | 
              
displayName | 
                
                   
 ชื่อที่แสดงของข้อผิดพลาด  | 
              
fields[] | 
                
                   
 บริบทของข้อผิดพลาดอาจเกี่ยวข้องกับฟิลด์ 0, 1 (ส่วนใหญ่) หรือมากกว่า ตัวอย่างเช่น การอ้างอิงถึงการไปรับรถคันที่ 4 และการจัดส่งที่ 2 ครั้งแรกทำได้ดังนี้ อย่างไรก็ตาม โปรดทราบว่า Cardinality ของ   | 
              
errorMessage | 
                
                   
 สตริงที่มนุษย์อ่านได้ซึ่งอธิบายข้อผิดพลาด มีการแมป 1:1 ระหว่าง  ความเสถียร: ไม่เสถียร: ข้อความแสดงข้อผิดพลาดที่เชื่อมโยงกับ   | 
              
offendingValues | 
                
                   
 อาจมีค่าของช่อง แต่ฟีเจอร์นี้อาจไม่พร้อมใช้งานเสมอไป คุณไม่ควรใช้วิธีการนี้และควรใช้เพื่อแก้ไขข้อบกพร่องของโมเดลด้วยตนเองเท่านั้น  | 
              
FieldReference
ระบุบริบทสําหรับข้อผิดพลาดในการตรวจสอบ FieldReference จะอ้างอิงถึงฟิลด์หนึ่งๆ ในไฟล์นี้เสมอและเป็นไปตามโครงสร้างลำดับชั้นเดียวกัน ตัวอย่างเช่น เราอาจระบุองค์ประกอบ #2 ของ startTimeWindows ในยานพาหนะ #5 โดยใช้
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
อย่างไรก็ตาม เราจะไม่ใส่เอนทิตีระดับบนสุด เช่น OptimizeToursRequest หรือ ShipmentModel เพื่อไม่ให้ข้อความดูรก
| การแสดง JSON | 
|---|
{ "name": string, "subField": { object (  | 
              
| ช่อง | |
|---|---|
name | 
                
                   
 ชื่อช่อง เช่น "vehicles"  | 
              
subField | 
                
                   
 ช่องย่อยที่ฝังแบบซ้ำซ้อน หากจำเป็น  | 
              
ฟิลด์สหภาพ  
  | 
              |
index | 
                
                   
 ดัชนีของช่องหากซ้ำ  | 
              
key | 
                
                   
 คีย์หากช่องเป็นแผนที่  | 
              
เมตริก
เมตริกโดยรวมที่รวบรวมจากทุกเส้นทาง
| การแสดง JSON | 
|---|
{
  "aggregatedRouteMetrics": {
    object ( | 
              
| ช่อง | |
|---|---|
aggregatedRouteMetrics | 
                
                   
 รวบรวมจากเส้นทางต่างๆ เมตริกแต่ละรายการคือผลรวม (หรือค่าสูงสุดสําหรับการโหลด) ของช่อง   | 
              
skippedMandatoryShipmentCount | 
                
                   
 จำนวนการจัดส่งที่ต้องข้าม  | 
              
usedVehicleCount | 
                
                   
 จํานวนยานพาหนะที่ใช้งาน หมายเหตุ: หากเส้นทางของยานพาหนะว่างเปล่าและ   | 
              
earliestVehicleStartTime | 
                
                   
 เวลาเริ่มต้นที่เร็วที่สุดของยานพาหนะมือสอง ซึ่งคำนวณจากค่าต่ำสุดของ  ใช้ RFC 3339 ซึ่งเอาต์พุตที่สร้างขึ้นจะเป็นรูปแบบ Z-normalized เสมอ และใช้ตัวเลขทศนิยม 0, 3, 6 หรือ 9 ระบบยังยอมรับออฟเซตอื่นๆ นอกเหนือจาก "Z" ด้วย ตัวอย่างเช่น   | 
              
latestVehicleEndTime | 
                
                   
 เวลาสิ้นสุดล่าสุดของยานพาหนะมือสอง ซึ่งคํานวณเป็นค่าสูงสุดของ  ใช้ RFC 3339 ซึ่งเอาต์พุตที่สร้างขึ้นจะเป็นรูปแบบ Z-normalized เสมอ และใช้ตัวเลขทศนิยม 0, 3, 6 หรือ 9 ระบบยังยอมรับออฟเซตอื่นๆ นอกเหนือจาก "Z" ด้วย ตัวอย่างเช่น   | 
              
costs | 
                
                   
 ค่าใช้จ่ายของโซลูชันที่แจกแจงตามช่องคำขอที่เกี่ยวข้องกับค่าใช้จ่าย คีย์คือเส้นทางโปรโตคอลซึ่งสัมพันธ์กับอินพุต OptimizeToursRequest เช่น "model.shipments.pickups.cost" และค่าคือต้นทุนทั้งหมดที่สร้างขึ้นจากช่องต้นทุนที่เกี่ยวข้อง ซึ่งรวบรวมจากโซลูชันทั้งหมด กล่าวคือ costs["model.shipments.pickups.cost"] คือผลรวมของค่าใช้จ่ายในการรับสินค้าทั้งหมดในโซลูชัน ระบบจะรายงานต้นทุนทั้งหมดที่กําหนดไว้ในรูปแบบอย่างละเอียดที่นี่ ยกเว้นต้นทุนที่เกี่ยวข้องกับ TransitionAttributes ซึ่งจะรายงานแบบรวมเท่านั้น ณ วันที่ 01/2022  | 
              
totalCost | 
                
                   
 ต้นทุนรวมของโซลูชัน ผลรวมของค่าทั้งหมดในการแมปต้นทุน  |