ดัชนี
- RouteOptimization(อินเทอร์เฟซ)
- AggregatedMetrics(ข้อความ)
- BatchOptimizeToursMetadata(ข้อความ)
- BatchOptimizeToursRequest(ข้อความ)
- BatchOptimizeToursRequest.AsyncModelConfig(ข้อความ)
- BatchOptimizeToursResponse(ข้อความ)
- BreakRule(ข้อความ)
- BreakRule.BreakRequest(ข้อความ)
- BreakRule.FrequencyConstraint(ข้อความ)
- DataFormat(enum)
- DistanceLimit(ข้อความ)
- GcsDestination(ข้อความ)
- GcsSource(ข้อความ)
- InjectedSolutionConstraint(ข้อความ)
- InjectedSolutionConstraint.ConstraintRelaxation(ข้อความ)
- InjectedSolutionConstraint.ConstraintRelaxation.Relaxation(ข้อความ)
- InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level(enum)
- InputConfig(ข้อความ)
- Location(ข้อความ)
- OptimizeToursRequest(ข้อความ)
- OptimizeToursRequest.SearchMode(enum)
- OptimizeToursRequest.SolvingMode(enum)
- OptimizeToursResponse(ข้อความ)
- OptimizeToursResponse.Metrics(ข้อความ)
- OptimizeToursValidationError(ข้อความ)
- OptimizeToursValidationError.FieldReference(ข้อความ)
- OutputConfig(ข้อความ)
- RouteModifiers(ข้อความ)
- Shipment(ข้อความ)
- Shipment.Load(ข้อความ)
- Shipment.VisitRequest(ข้อความ)
- ShipmentModel(ข้อความ)
- ShipmentModel.DurationDistanceMatrix(ข้อความ)
- ShipmentModel.DurationDistanceMatrix.Row(ข้อความ)
- ShipmentModel.Objective(ข้อความ)
- ShipmentModel.Objective.Type(enum)
- ShipmentModel.PrecedenceRule(ข้อความ)
- ShipmentRoute(ข้อความ)
- ShipmentRoute.Break(ข้อความ)
- ShipmentRoute.EncodedPolyline(ข้อความ)
- ShipmentRoute.Transition(ข้อความ)
- ShipmentRoute.VehicleLoad(ข้อความ)
- ShipmentRoute.Visit(ข้อความ)
- ShipmentTypeIncompatibility(ข้อความ)
- ShipmentTypeIncompatibility.IncompatibilityMode(enum)
- ShipmentTypeRequirement(ข้อความ)
- ShipmentTypeRequirement.RequirementMode(enum)
- SkippedShipment(ข้อความ)
- SkippedShipment.Reason(ข้อความ)
- SkippedShipment.Reason.Code(enum)
- TimeWindow(ข้อความ)
- TransitionAttributes(ข้อความ)
- Vehicle(ข้อความ)
- Vehicle.DurationLimit(ข้อความ)
- Vehicle.LoadLimit(ข้อความ)
- Vehicle.LoadLimit.Interval(ข้อความ)
- Vehicle.TravelMode(enum)
- Vehicle.UnloadingPolicy(enum)
- Waypoint(ข้อความ)
RouteOptimization
บริการสำหรับเพิ่มประสิทธิภาพการทัวร์ชมด้วยยานพาหนะ
ระยะเวลาที่ใช้ฟิลด์บางประเภทได้
- google.protobuf.Timestamp- เวลาเป็นเวลา Unix: วินาทีนับตั้งแต่ 1970-01-01T00:00:00+00:00
- วินาทีต้องอยู่ในช่วง [0, 253402300799] เช่น อยู่ในช่วง [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00]
- ต้องยกเลิกการตั้งค่า nanos หรือตั้งค่าเป็น 0
 
- google.protobuf.Duration- วินาทีต้องอยู่ในช่วง [0, 253402300799] เช่น อยู่ในช่วง [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00]
- ต้องยกเลิกการตั้งค่า nanos หรือตั้งค่าเป็น 0
 
- google.type.LatLng- ละติจูดต้องอยู่ในช่วง [-90.0, 90.0]
- ลองจิจูดต้องอยู่ภายใน [-180.0, 180.0]
- ละติจูดและลองจิจูดต้องไม่เท่ากับ 0 อย่างน้อย 1 ค่า
 
| BatchOptimizeTours | 
|---|
| 
 เพิ่มประสิทธิภาพทัวร์ชมยานพาหนะสำหรับข้อความ  เมธอดนี้เป็นการดำเนินการที่ใช้เวลานาน (LRO) ระบบจะอ่านอินพุตสำหรับการเพิ่มประสิทธิภาพ (ข้อความ  ผู้ใช้สามารถตรวจสอบสถานะของ LRO ได้โดยเรียกใช้  หากช่อง LRO  หากฟิลด์  
 
 | 
| OptimizeTours | 
|---|
| 
 ส่ง  โมเดล  เป้าหมายคือมอบหมาย  
 
 | 
AggregatedMetrics
เมตริกรวมสําหรับองค์ประกอบ ShipmentRoute (สําหรับ OptimizeToursResponse ใน Transition และ/หรือ Visit ทั้งหมดตามลำดับ)ShipmentRoute
| ช่อง | |
|---|---|
| performed_ | 
 จำนวนการจัดส่งที่ดำเนินการ โปรดทราบว่าระบบจะนับคู่การรับและการนำส่งเพียงครั้งเดียว | 
| travel_ | ระยะเวลาการเดินทางทั้งหมดสำหรับเส้นทางหรือโซลูชัน | 
| wait_ | ระยะเวลารอทั้งหมดสำหรับเส้นทางหรือโซลูชัน | 
| delay_ | ระยะเวลาความล่าช้าทั้งหมดของเส้นทางหรือโซลูชัน | 
| break_ | ระยะเวลาพักทั้งหมดของเส้นทางหรือโซลูชัน | 
| visit_ | ระยะเวลาการเข้าชมทั้งหมดสําหรับเส้นทางหรือโซลูชัน | 
| total_ | ระยะเวลาทั้งหมดควรเท่ากับผลรวมของระยะเวลาทั้งหมดข้างต้น สำหรับเส้นทาง ข้อมูลนี้ยังสอดคล้องกับข้อมูลต่อไปนี้ด้วย  | 
| travel_ | 
 ระยะทางรวมในการเดินทางสำหรับเส้นทางหรือโซลูชัน | 
| max_ | 
 น้ำหนักบรรทุกสูงสุดที่ทำได้ตลอดทั้งเส้นทาง (โซลูชันที่เกี่ยวข้อง) สำหรับปริมาณแต่ละรายการในเส้นทางนี้ (โซลูชันที่เกี่ยวข้อง) ซึ่งคํานวณเป็นค่าสูงสุดของ  | 
BatchOptimizeToursMetadata
ประเภทนี้ไม่มีช่อง
ข้อมูลเมตาการดำเนินการสำหรับการเรียก BatchOptimizeToursRequest
BatchOptimizeToursRequest
คำขอเพิ่มประสิทธิภาพทัวร์แบบเป็นกลุ่มเป็นการดำเนินการแบบอะซิงโครนัส ไฟล์อินพุตแต่ละไฟล์ควรมี OptimizeToursRequest 1 รายการ และไฟล์เอาต์พุตแต่ละไฟล์จะมี OptimizeToursResponse 1 รายการ คำขอมีข้อมูลสำหรับการอ่าน/เขียนและแยกวิเคราะห์ไฟล์ ไฟล์อินพุตและเอาต์พุตทั้งหมดควรอยู่ในโปรเจ็กต์เดียวกัน
| ช่อง | |
|---|---|
| parent | 
 ต้องระบุ กำหนดโปรเจ็กต์และสถานที่ที่จะโทร รูปแบบ: *  หากไม่ได้ระบุสถานที่ ระบบจะเลือกภูมิภาคโดยอัตโนมัติ | 
| model_ | ต้องระบุ ข้อมูลอินพุต/เอาต์พุตของรูปแบบการซื้อแต่ละรูปแบบ เช่น เส้นทางไฟล์และรูปแบบข้อมูล | 
AsyncModelConfig
ข้อมูลสำหรับการแก้ปัญหาโมเดลการเพิ่มประสิทธิภาพ 1 รายการแบบไม่พร้อมกัน
| ช่อง | |
|---|---|
| display_ | 
 ไม่บังคับ ชื่อโมเดลที่ผู้ใช้กําหนด ซึ่งผู้ใช้สามารถใช้เป็นชื่อแทนเพื่อติดตามโมเดล | 
| input_ | ต้องระบุ ข้อมูลเกี่ยวกับโมเดลอินพุต | 
| output_ | ต้องระบุ ข้อมูลตำแหน่งเอาต์พุตที่ต้องการ | 
BatchOptimizeToursResponse
ประเภทนี้ไม่มีช่อง
การตอบกลับ BatchOptimizeToursRequest ระบบจะแสดงผลลัพธ์นี้ในการดําเนินการแบบดำเนินอยู่นานหลังจากการดำเนินการเสร็จสมบูรณ์
BreakRule
กฎในการสร้างช่วงพักสำหรับยานพาหนะ (เช่น ช่วงพักกลางวัน) ช่วงพักคือช่วงเวลาต่อเนื่องที่ยานพาหนะไม่ได้ทำงานอยู่ที่ตำแหน่งปัจจุบันและไม่สามารถเข้าชมได้ ช่วงพักอาจเกิดขึ้นในกรณีต่อไปนี้
- ระหว่างการเดินทางระหว่างการเข้าชม 2 ครั้ง (ซึ่งรวมถึงเวลาก่อนหรือหลังการเข้าชม แต่ไม่ใช่ในระหว่างการเข้าชม) ในกรณีนี้ ระบบจะขยายเวลาเดินทางที่เกี่ยวข้องระหว่างการเข้าชม
- หรือก่อนที่รถจะเริ่มทำงาน (รถอาจไม่สตาร์ทในช่วงพัก) ในกรณีนี้ ระยะเวลาดังกล่าวจะไม่ส่งผลต่อเวลาเริ่มต้นของรถ
- หรือหลังจากสิ้นสุดการให้บริการของยานพาหนะ (เช่นเดียวกับเวลาสิ้นสุดการให้บริการของยานพาหนะ)
| ช่อง | |
|---|---|
| break_ | ลำดับของช่วงพัก ดูข้อความ  | 
| frequency_ | อาจมี  | 
BreakRequest
คุณต้องทราบลำดับของช่วงพัก (เช่น จำนวนและลำดับ) ที่มีผลกับยานพาหนะแต่ละคันล่วงหน้า BreakRequest ที่ซ้ำกันจะกำหนดลำดับนั้นตามลำดับที่ต้องทำ กรอบเวลา (earliest_start_time / latest_start_time) อาจทับซ้อนกัน แต่ต้องเข้ากันได้กับคำสั่งซื้อ (ระบบจะตรวจสอบ)
| ช่อง | |
|---|---|
| earliest_ | ต้องระบุ ขอบเขตล่าง (รวม) ของช่วงพัก | 
| latest_ | ต้องระบุ ขอบเขตบน (รวม) ของจุดเริ่มต้นของช่วงพัก | 
| min_ | ต้องระบุ ระยะเวลาขั้นต่ำของช่วงพัก ต้องเป็นค่าบวก | 
FrequencyConstraint
คุณสามารถจำกัดความถี่และระยะเวลาของช่วงพักที่ระบุไว้ข้างต้นเพิ่มเติมได้โดยการบังคับใช้ความถี่ของช่วงพักขั้นต่ำ เช่น "ต้องมีช่วงพักอย่างน้อย 1 ชั่วโมงทุก 12 ชั่วโมง" สมมติว่าสามารถตีความได้ว่า "ภายในกรอบเวลาแบบเลื่อนได้ 12 ชั่วโมง ต้องมีช่วงพักอย่างน้อย 1 ชั่วโมงอย่างน้อย 1 ช่วง" ตัวอย่างดังกล่าวจะแปลเป็น FrequencyConstraint ดังนี้
{
   min_break_duration { seconds: 3600 }         # 1 hour.
   max_inter_break_duration { seconds: 39600 }  # 11 hours (12 - 1 = 11).
}
ช่วงเวลาและระยะเวลาของช่วงพักในโซลูชันจะเป็นไปตามข้อจำกัดดังกล่าวทั้งหมด นอกเหนือจากกรอบเวลาและระยะเวลาขั้นต่ำที่ระบุไว้ใน BreakRequest แล้ว
ในทางปฏิบัติ FrequencyConstraint อาจใช้กับช่วงพักที่ไม่ต่อเนื่อง ตัวอย่างเช่น กำหนดการต่อไปนี้เป็นไปตามตัวอย่าง "1 ชั่วโมงทุก 12 ชั่วโมง"
  04:00 vehicle start
   .. performing travel and visits ..
  09:00 1 hour break
  10:00 end of the break
   .. performing travel and visits ..
  12:00 20-min lunch break
  12:20 end of the break
   .. performing travel and visits ..
  21:00 1 hour break
  22:00 end of the break
   .. performing travel and visits ..
  23:59 vehicle end
| ช่อง | |
|---|---|
| min_ | ต้องระบุ ระยะเวลาขั้นต่ำของช่วงพักสำหรับข้อจำกัดนี้ มีค่าไม่ติดลบ ดูคำอธิบายของ  | 
| max_ | ต้องระบุ ช่วงเวลาสูงสุดที่อนุญาตของเส้นทางที่ไม่มีช่วงพัก  | 
DataFormat
รูปแบบข้อมูลสำหรับไฟล์อินพุตและเอาต์พุต
| Enum | |
|---|---|
| DATA_FORMAT_UNSPECIFIED | ค่าไม่ถูกต้อง รูปแบบต้องไม่ใช่ "ไม่ได้ระบุ" | 
| JSON | รูปแบบออบเจ็กต์ JavaScript | 
| PROTO_TEXT | รูปแบบข้อความบัฟเฟอร์โปรโตคอล ดูที่ https://protobuf.dev/reference/protobuf/textformat-spec/ | 
DistanceLimit
ขีดจำกัดที่กำหนดระยะทางสูงสุดที่เดินทางได้ โดยอาจเป็นแบบแข็งหรือแบบอ่อนก็ได้
หากกําหนดขีดจํากัดสูงสุดที่อนุญาตไว้ จะต้องกําหนดทั้ง soft_max_meters และ cost_per_kilometer_above_soft_max และต้องไม่เป็นค่าลบ
| ช่อง | |
|---|---|
| max_ | 
 ขีดจํากัดสูงสุดที่กําหนดระยะทางได้ไม่เกิน max_meters ขีดจํากัดต้องไม่ติดลบ | 
| soft_ | 
 ขีดจํากัดแบบไม่บังคับจะไม่บังคับใช้ขีดจํากัดระยะทางสูงสุด แต่หากมีการละเมิด ค่าใช้จ่ายจะเพิ่มขึ้นตามค่าใช้จ่ายอื่นๆ ที่กําหนดไว้ในรูปแบบเดียวกัน หากมีการกําหนด soft_max_meters ต้องน้อยกว่า max_meters และต้องไม่เป็นค่าลบ | 
| cost_ | 
 ค่าใช้จ่ายต่อกิโลเมตรที่เกิดขึ้น ซึ่งเพิ่มขึ้นสูงสุด  
 | 
| cost_ | 
 ค่าใช้จ่ายต่อกิโลเมตรที่เกิดขึ้นหากระยะทางเกินขีดจำกัด  ค่าใช้จ่ายต้องไม่ติดลบ | 
GcsDestination
ตำแหน่งใน Google Cloud Storage ที่ระบบจะเขียนไฟล์เอาต์พุต
| ช่อง | |
|---|---|
| uri | 
 ต้องระบุ URI ของ Google Cloud Storage | 
GcsSource
ตำแหน่ง Google Cloud Storage ที่ระบบจะอ่านไฟล์อินพุต
| ช่อง | |
|---|---|
| uri | 
 ต้องระบุ URI ของออบเจ็กต์ Google Cloud Storage ที่มีรูปแบบ  | 
InjectedSolutionConstraint
โซลูชันที่แทรกในคําขอ รวมถึงข้อมูลเกี่ยวกับการเข้าชมที่ต้องจํากัดและวิธีจํากัด
| ช่อง | |
|---|---|
| routes[] | เส้นทางของโซลูชันที่จะแทรก ระบบอาจละเว้นเส้นทางบางเส้นทางจากโซลูชันเดิม เส้นทางและการจัดส่งที่ข้ามต้องเป็นไปตามสมมติฐานพื้นฐานเกี่ยวกับความถูกต้องที่ระบุไว้สำหรับ  | 
| skipped_ | ข้ามการจัดส่งโซลูชันที่จะแทรก บางรายการอาจไม่รวมอยู่ในโซลูชันต้นฉบับ ดูที่ช่อง  | 
| constraint_ | สำหรับกลุ่มยานพาหนะตั้งแต่ 0 กลุ่มขึ้นไป ให้ระบุเวลาและจำนวนที่จะผ่อนคลายข้อจำกัด หากช่องนี้ว่างเปล่า เส้นทางยานพาหนะที่ไม่ใช่ค่าว่างทั้งหมดจะถูกจำกัดอย่างสมบูรณ์ | 
ConstraintRelaxation
สําหรับกลุ่มยานพาหนะ ให้ระบุเกณฑ์ที่ระบบจะผ่อนคลายข้อจํากัดการเข้าชมและระดับที่ผ่อนคลาย ระบบจะข้ามการจัดส่งที่แสดงในช่อง skipped_shipment กล่าวคือ การดำเนินการดังกล่าวจะดำเนินการไม่ได้
| ช่อง | |
|---|---|
| relaxations[] | การผ่อนคลายข้อจำกัดการเข้าชมทั้งหมดที่จะมีผลกับการเข้าชมในเส้นทางที่มียานพาหนะใน  | 
| vehicle_ | 
 ระบุดัชนียานพาหนะที่ข้อจำกัดการเข้าชม  ดัชนียานพาหนะจะแมปเหมือนกับ  | 
การพักผ่อน
หาก relaxations ว่างเปล่า ระบบจะจำกัดเวลาเริ่มต้นและลําดับการเข้าชมทั้งหมดใน routes อย่างสมบูรณ์ และจะไม่แทรกหรือเพิ่มการเข้าชมใหม่ลงในเส้นทางเหล่านั้น นอกจากนี้ เวลาเริ่มต้นและสิ้นสุดของยานพาหนะใน routes จะถูกจำกัดอย่างสมบูรณ์ เว้นแต่ยานพาหนะจะว่างเปล่า (กล่าวคือ ไม่มีการเข้าชมและตั้งค่า used_if_route_is_empty เป็นเท็จในโมเดล)
relaxations(i).level ระบุระดับการผ่อนคลายข้อจำกัดที่ใช้กับการเข้าชม #j ที่ตรงตามเงื่อนไขต่อไปนี้
- route.visits(j).start_time >= relaxations(i).threshold_timeAND
- j + 1 >= relaxations(i).threshold_visit_count
ในทำนองเดียวกัน ระบบจะผ่อนปรนการสตาร์ทยานพาหนะเป็น relaxations(i).level หากมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้
- vehicle_start_time >= relaxations(i).threshold_timeAND
- relaxations(i).threshold_visit_count == 0และปลายรถจะผ่อนปรนเป็น- relaxations(i).levelหากเป็นไปตามข้อกำหนดต่อไปนี้
- vehicle_end_time >= relaxations(i).threshold_timeAND
- route.visits_size() + 1 >= relaxations(i).threshold_visit_count
หากต้องการใช้ระดับการผ่อนคลายในกรณีที่การเข้าชมตรงกับ threshold_visit_count หรือ threshold_time ให้เพิ่ม relaxations 2 รายการที่มี level เดียวกัน โดยรายการหนึ่งตั้งค่าเป็น threshold_visit_count เท่านั้น และอีกรายการตั้งค่าเป็น threshold_time เท่านั้น หากการเข้าชมตรงตามเงื่อนไขของ relaxations หลายรายการ ระบบจะใช้ระดับที่ผ่อนปรนที่สุด ด้วยเหตุนี้ ตั้งแต่จุดเริ่มต้นของยานพาหนะไปจนถึงจุดสิ้นสุดของยานพาหนะ ระดับความผ่อนคลายจะผ่อนคลายมากขึ้น กล่าวคือ ระดับความผ่อนคลายจะไม่ลดลงเมื่อเส้นทางดำเนินไป
ช่วงเวลาและลําดับการเข้าชมเส้นทางที่ไม่เป็นไปตามเงื่อนไขเกณฑ์ของ relaxations ใดๆ จะถูกจํากัดอย่างสมบูรณ์และจะแทรกการเข้าชมลงในลําดับเหล่านี้ไม่ได้ นอกจากนี้ หากการเริ่มต้นหรือสิ้นสุดของยานพาหนะไม่เป็นไปตามเงื่อนไขของการผ่อนปรนใดๆ ระบบจะกำหนดเวลาให้คงที่ เว้นแต่ว่ายานพาหนะจะว่างเปล่า
| ช่อง | |
|---|---|
| level | ระดับการผ่อนคลายข้อจำกัดที่มีผลเมื่อเงื่อนไขตั้งแต่  | 
| threshold_ | เวลาตั้งแต่หรือหลังจากที่มีการใช้การผ่อนปรน  | 
| threshold_ | 
 จํานวนการเข้าชมที่จะเริ่มใช้การผ่อนปรน  หากเป็น  | 
ระดับ
แสดงระดับการผ่อนคลายข้อจำกัดต่างๆ ซึ่งมีผลกับการเข้าชมและการเข้าชมที่ตามมาเมื่อเป็นไปตามเงื่อนไขเกณฑ์
การแจกแจงด้านล่างนี้จัดเรียงตามระดับความผ่อนคลายที่เพิ่มขึ้น
| Enum | |
|---|---|
| LEVEL_UNSPECIFIED | ระดับการผ่อนปรนเริ่มต้นโดยนัย: ไม่มีการผ่อนปรนข้อจำกัด กล่าวคือ การเข้าชมทั้งหมดถูกจํากัดอย่างเต็มรูปแบบ ต้องไม่ใช้ค่านี้ใน  | 
| RELAX_VISIT_TIMES_AFTER_THRESHOLD | ระบบจะผ่อนปรนเวลาเริ่มต้นของการเข้าชมและเวลาเริ่มต้น/สิ้นสุดของยานพาหนะ แต่การเข้าชมแต่ละครั้งจะยังคงเชื่อมโยงกับยานพาหนะคันเดียวกันและต้องเป็นไปตามลําดับการเข้าชม โดยจะต้องไม่มีการแทรกการเข้าชมระหว่างหรือก่อนการเข้าชม | 
| RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD | เหมือนกับ RELAX_VISIT_TIMES_AFTER_THRESHOLDแต่ลำดับการเข้าชมจะผ่อนปรนด้วย โดยการเข้าชมจะดำเนินการโดยยานพาหนะคันนี้เท่านั้น แต่อาจไม่ดำเนินการ | 
| RELAX_ALL_AFTER_THRESHOLD | เหมือนกับ RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLDแต่ยานพาหนะจะผ่อนปรนด้วยเช่นกัน นั่นคือการเข้าชมจะฟรีโดยสมบูรณ์เมื่อถึงหรือหลังจากเวลาที่กำหนด และอาจไม่มีการเรียกใช้ | 
InputConfig
ระบุอินพุตสําหรับ [BatchOptimizeTours][google.maps.routeoptimization.v1.RouteOptimizationService.BatchOptimizeTours]
| ช่อง | |
|---|---|
| data_ | ต้องระบุ รูปแบบข้อมูลอินพุต | 
| ฟิลด์สหภาพ sourceต้องระบุsourceต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น | |
| gcs_ | ตำแหน่งของ Google Cloud Storage โดยต้องเป็นออบเจ็กต์ (ไฟล์) รายการเดียว | 
ตำแหน่ง
บรรจุสถานที่ตั้ง (จุดทางภูมิศาสตร์และส่วนหัวที่ไม่บังคับ)
| ช่อง | |
|---|---|
| lat_ | พิกัดทางภูมิศาสตร์ของจุดสังเกต | 
| heading | 
 เข็มทิศที่เชื่อมโยงกับทิศทางของการเข้าชม ค่านี้ใช้เพื่อระบุฝั่งถนนที่จะใช้รับและส่งผู้โดยสาร ค่าทิศทางมีตั้งแต่ 0 ถึง 360 โดยที่ 0 ระบุทิศทางเป็นทิศเหนือ 90 ระบุทิศทางเป็นทิศตะวันออก เป็นต้น | 
OptimizeToursRequest
คำขอที่จะส่งไปยังโปรแกรมโซลูชันการเพิ่มประสิทธิภาพการทัวร์ชม ซึ่งจะกำหนดรูปแบบการจัดส่งที่จะแก้ปัญหา รวมถึงพารามิเตอร์การเพิ่มประสิทธิภาพ
| ช่อง | |
|---|---|
| parent | 
 ต้องระบุ กำหนดโปรเจ็กต์หรือสถานที่ที่จะโทร รูปแบบ: *  หากไม่ได้ระบุสถานที่ ระบบจะเลือกภูมิภาคโดยอัตโนมัติ | 
| timeout | หากตั้งค่าการหมดเวลานี้ไว้ เซิร์ฟเวอร์จะแสดงผลลัพธ์ก่อนที่ระยะเวลาหมดเวลาจะสิ้นสุดลงหรือก่อนที่เซิร์ฟเวอร์จะถึงกำหนดเวลาของคำขอแบบซิงค์ แล้วแต่ว่าเวลาใดจะถึงก่อน สําหรับคําขอแบบไม่พร้อมกัน เซิร์ฟเวอร์จะสร้างโซลูชัน (หากเป็นไปได้) ก่อนที่เวลาหมด | 
| model | รูปแบบการจัดส่งที่จะแก้ปัญหา | 
| solving_ | โดยค่าเริ่มต้น โหมดการแก้ปัญหาจะเป็น  | 
| search_ | โหมดการค้นหาที่ใช้เพื่อแก้ปัญหา | 
| injected_ | แนะนําอัลกอริทึมการเพิ่มประสิทธิภาพในการค้นหาวิธีแก้ปัญหาแรกซึ่งคล้ายกับวิธีแก้ปัญหาก่อนหน้า โมเดลจะถูกจํากัดเมื่อสร้างโซลูชันแรก ระบบจะข้ามการจัดส่งที่ไม่ได้ดำเนินการในเส้นทางหนึ่งๆ โดยปริยายในโซลูชันแรก แต่อาจดำเนินการในโซลูชันต่อๆ ไป โซลูชันต้องเป็นไปตามสมมติฐานพื้นฐานบางอย่างเกี่ยวกับความถูกต้อง ดังนี้ 
 หากโซลูชันที่แทรกไม่สามารถทำได้ ระบบอาจไม่แสดงข้อผิดพลาดในการตรวจสอบและแสดงข้อผิดพลาดที่ระบุว่าไม่สามารถทำได้แทน | 
| injected_ | จำกัดอัลกอริทึมการเพิ่มประสิทธิภาพเพื่อค้นหาวิธีแก้ปัญหาสุดท้ายที่คล้ายกับวิธีแก้ปัญหาก่อนหน้า เช่น สามารถใช้เพื่อหยุดเส้นทางบางส่วนที่เสร็จสมบูรณ์แล้วหรือที่กำลังจะเสร็จสมบูรณ์แต่ต้องไม่แก้ไข หากโซลูชันที่แทรกไม่สามารถทำได้ ระบบอาจไม่แสดงข้อผิดพลาดในการตรวจสอบและแสดงข้อผิดพลาดที่ระบุว่าไม่สามารถทำได้แทน | 
| refresh_ | หากไม่ใช่ค่าว่าง ระบบจะรีเฟรชเส้นทางที่ระบุโดยไม่แก้ไขลําดับการเข้าชมหรือเวลาเดินทางที่อยู่เบื้องหลัง ระบบจะอัปเดตเฉพาะรายละเอียดอื่นๆ เท่านั้น การดำเนินการนี้ไม่ได้แก้ปัญหาโมเดล ในเดือน 11/2020 การดำเนินการนี้จะสร้างเฉพาะรูปหลายเหลี่ยมของเส้นทางที่ไม่ใช่ค่าว่าง และกำหนดให้  ฟิลด์  ห้ามใช้ช่องนี้ร่วมกับ  
 | 
| interpret_ | 
 เงื่อนไข "เป็นจริง" 
 การตีความนี้มีผลกับช่อง  หากเป็น "จริง" ป้ายกำกับในหมวดหมู่ต่อไปนี้ต้องปรากฏในหมวดหมู่นั้นๆ ไม่เกิน 1 ครั้ง 
 หาก  การนําการเข้าชมเส้นทางหรือทั้งเส้นทางออกจากโซลูชันที่แทรกอาจส่งผลต่อข้อจํากัดโดยนัย ซึ่งอาจทําให้เกิดการเปลี่ยนแปลงโซลูชัน ข้อผิดพลาดในการตรวจสอบ หรือความเป็นไปไม่ได้ หมายเหตุ: ผู้โทรต้องตรวจสอบว่า  | 
| consider_ | 
 พิจารณาการประมาณการเข้าชมในการคำนวณช่อง  | 
| populate_ | 
 หากเป็น "จริง" ระบบจะสร้างเส้นประกอบใน | 
| populate_ | 
 หากเป็น "จริง" ระบบจะป้อนข้อมูลเส้นประกอบและโทเค็นเส้นทางในการตอบกลับ  | 
| allow_ | 
 หากตั้งค่านี้ไว้ คำขอจะมีกำหนดเวลา (ดูที่ https://grpc.io/blog/deadlines) ได้สูงสุด 60 นาที ไม่เช่นนั้น กำหนดเวลาสูงสุดคือ 30 นาทีเท่านั้น โปรดทราบว่าคําขอที่มีอายุการใช้งานนานมีความเสี่ยงที่จะหยุดชะงักมากกว่า (แต่ก็ยังถือว่าน้อย) | 
| use_ | 
 หากเป็นจริง ระบบจะคำนวณระยะทางในการเดินทางโดยใช้ระยะทางตามแนวเส้นโค้งแทนระยะทางของ Google Maps และคำนวณเวลาในการเดินทางโดยใช้ระยะทางตามแนวเส้นโค้งที่มีความเร็วที่ระบุโดย  | 
| label | 
 ป้ายกำกับที่อาจใช้ระบุคำขอนี้ซึ่งรายงานกลับใน  | 
| geodesic_ | 
 เมื่อ  | 
| max_ | 
 ตัดจำนวนข้อผิดพลาดในการตรวจสอบที่แสดงผล โดยปกติแล้ว ข้อผิดพลาดเหล่านี้จะแนบไปกับเพย์โหลดข้อผิดพลาด INVALID_ARGUMENT เป็นรายละเอียดข้อผิดพลาด BadRequest (https://cloud.google.com/apis/design/errors#error_details) เว้นแต่ว่า solving_mode=VALIDATE_ONLY: ดูช่อง  | 
SearchMode
โหมดที่กําหนดลักษณะการทํางานของการค้นหา โดยแลกเปลี่ยนเวลาในการตอบสนองกับคุณภาพของโซลูชัน ระบบจะบังคับใช้กำหนดเวลาของคำขอทั่วโลกในทุกโหมด
| Enum | |
|---|---|
| SEARCH_MODE_UNSPECIFIED | โหมดการค้นหาที่ไม่ระบุ ซึ่งเทียบเท่ากับ RETURN_FAST | 
| RETURN_FAST | หยุดการค้นหาหลังจากพบวิธีแก้ปัญหาแรกที่ได้ผล | 
| CONSUME_ALL_AVAILABLE_TIME | ใช้เวลาทั้งหมดที่มีเพื่อค้นหาวิธีแก้ปัญหาที่ดีกว่า | 
SolvingMode
กําหนดวิธีที่โปรแกรมแก้ปัญหาควรจัดการคําขอ ในโหมดทั้งหมดยกเว้น VALIDATE_ONLY หากคําขอไม่ถูกต้อง คุณจะได้รับข้อผิดพลาด INVALID_REQUEST ดู max_validation_errors เพื่อจำกัดจำนวนข้อผิดพลาดที่แสดง
| Enum | |
|---|---|
| DEFAULT_SOLVE | แก้ปัญหาโมเดล ระบบอาจแสดงคำเตือนใน [OptimizeToursResponse.validation_errors][google.cloud.optimization.v1.OptimizeToursResponse.validation_errors] | 
| VALIDATE_ONLY | ตรวจสอบโมเดลเท่านั้นโดยไม่แก้: สร้าง OptimizeToursResponse.validation_errorsให้ได้มากที่สุด | 
| DETECT_SOME_INFEASIBLE_SHIPMENTS | แสดงเฉพาะ  สำคัญ: ระบบจะไม่แสดงการจัดส่งที่ไม่สามารถทำได้ทั้งหมดที่นี่ แต่เฉพาะการจัดส่งที่ตรวจพบว่าไม่สามารถทำได้ในระหว่างการประมวลผลก่อน | 
| TRANSFORM_AND_RETURN_REQUEST | โหมดนี้จะใช้งานได้ก็ต่อเมื่อ ShipmentModel.objectivesไม่ได้ว่างเปล่า คำขอยังไม่ได้รับการแก้ไข แต่จะได้รับการตรวจสอบและป้อนค่าใช้จ่ายที่สอดคล้องกับวัตถุประสงค์ที่ระบุเท่านั้น โปรดดูเอกสารประกอบของShipmentModel.objectivesด้วย คำขอที่ได้จะแสดงผลเป็นOptimizeToursResponse.processed_request | 
OptimizeToursResponse
การตอบกลับหลังจากแก้ปัญหาการเพิ่มประสิทธิภาพการทัวร์ชมซึ่งมีเส้นทางที่ยานพาหนะแต่ละคันใช้ การจัดส่งที่ข้ามไป และต้นทุนโดยรวมของโซลูชัน
| ช่อง | |
|---|---|
| routes[] | เส้นทางที่คำนวณสำหรับยานพาหนะแต่ละคัน โดยเส้นทางที่ i จะสอดคล้องกับยานพาหนะลำดับที่ i ในโมเดล | 
| request_ | 
 สําเนา  | 
| skipped_ | รายการการจัดส่งทั้งหมดที่ข้าม | 
| validation_ | รายการข้อผิดพลาดทั้งหมดในการตรวจสอบที่เราตรวจพบได้ ดูคำอธิบาย "ข้อผิดพลาดหลายรายการ" สำหรับข้อความ  | 
| processed_ | ในบางกรณี เราอาจแก้ไขคำขอขาเข้าก่อนที่จะแก้ปัญหา เช่น เพิ่มค่าใช้จ่าย หาก solving_mode == TRANSFORM_AND_RETURN_REQUEST ระบบจะแสดงคำขอที่แก้ไขแล้วที่นี่ | 
| metrics | เมตริกระยะเวลา ระยะทาง และการใช้งานสําหรับโซลูชันนี้ | 
เมตริก
เมตริกโดยรวมที่รวบรวมจากทุกเส้นทาง
| ช่อง | |
|---|---|
| aggregated_ | รวบรวมจากเส้นทางต่างๆ เมตริกแต่ละรายการคือผลรวม (หรือค่าสูงสุดสําหรับการโหลด) ของช่อง  | 
| skipped_ | 
 จำนวนการจัดส่งที่ต้องข้าม | 
| used_ | 
 จํานวนยานพาหนะที่ใช้งาน หมายเหตุ: หากเส้นทางของยานพาหนะว่างเปล่าและ  | 
| earliest_ | เวลาเริ่มต้นเร็วที่สุดของยานพาหนะมือสอง ซึ่งคำนวณจากค่าต่ำสุดของ  | 
| latest_ | เวลาสิ้นสุดล่าสุดของยานพาหนะมือสอง ซึ่งคํานวณเป็นค่าสูงสุดของ  | 
| costs | 
 ค่าใช้จ่ายของโซลูชันที่แจกแจงตามช่องคำขอที่เกี่ยวข้องกับค่าใช้จ่าย คีย์คือเส้นทางโปรโตคอลซึ่งสัมพันธ์กับอินพุต OptimizeToursRequest เช่น "model.shipments.pickups.cost" และค่าคือต้นทุนทั้งหมดที่สร้างขึ้นจากช่องต้นทุนที่เกี่ยวข้อง ซึ่งรวบรวมจากโซลูชันทั้งหมด กล่าวคือ costs["model.shipments.pickups.cost"] คือผลรวมของค่าบริการรับสินค้าทั้งหมดในโซลูชัน ระบบจะรายงานต้นทุนทั้งหมดที่กําหนดไว้ในรูปแบบโดยละเอียดที่นี่ ยกเว้นต้นทุนที่เกี่ยวข้องกับ TransitionAttributes ซึ่งจะรายงานแบบรวมเท่านั้น ณ วันที่ 01/2022 | 
| total_ | 
 ต้นทุนรวมของโซลูชัน ผลรวมของค่าทั้งหมดในแผนที่ต้นทุน | 
OptimizeToursValidationError
อธิบายข้อผิดพลาดหรือคำเตือนที่พบเมื่อตรวจสอบ OptimizeToursRequest
| ช่อง | |
|---|---|
| code | 
 ข้อผิดพลาดในการตรวจสอบจะกำหนดโดยคู่ ( ช่องต่างๆ ที่อยู่ถัดจากส่วนนี้จะให้บริบทเพิ่มเติมเกี่ยวกับข้อผิดพลาด ข้อผิดพลาดหลายรายการ: เมื่อมีข้อผิดพลาดหลายรายการ กระบวนการตรวจสอบจะพยายามแสดงข้อผิดพลาดหลายรายการ กระบวนการนี้ไม่สมบูรณ์แบบเช่นเดียวกับคอมไพเลอร์ ข้อผิดพลาดในการตรวจสอบบางอย่างจะเป็น "ข้อผิดพลาดร้ายแรง" ซึ่งหมายความว่าจะหยุดกระบวนการตรวจสอบทั้งหมด กรณีนี้รวมถึงข้อผิดพลาด  ความเสถียร:  | 
| display_ | 
 ชื่อที่แสดงของข้อผิดพลาด | 
| fields[] | บริบทของข้อผิดพลาดอาจเกี่ยวข้องกับฟิลด์ 0, 1 (ส่วนใหญ่) หรือมากกว่า ตัวอย่างเช่น การอ้างอิงถึงการไปรับรถคันที่ 4 และการจัดส่งที่ 2 ครั้งแรกทำได้ดังนี้ อย่างไรก็ตาม โปรดทราบว่า Cardinality ของ  | 
| error_ | 
 สตริงที่มนุษย์อ่านได้ซึ่งอธิบายข้อผิดพลาด มีการแมป 1:1 ระหว่าง  ความเสถียร: ไม่เสถียร: ข้อความแสดงข้อผิดพลาดที่เชื่อมโยงกับ  | 
| offending_ | 
 อาจมีค่าของช่อง แต่ฟีเจอร์นี้อาจไม่พร้อมใช้งานเสมอไป คุณไม่ควรใช้ฟีเจอร์นี้และควรใช้เพื่อแก้ไขข้อบกพร่องของโมเดลด้วยตนเองเท่านั้น | 
FieldReference
ระบุบริบทสําหรับข้อผิดพลาดในการตรวจสอบ FieldReference จะอ้างอิงถึงฟิลด์หนึ่งๆ ในไฟล์นี้เสมอและเป็นไปตามโครงสร้างตามลําดับชั้นเดียวกัน ตัวอย่างเช่น เราอาจระบุองค์ประกอบ #2 ของ start_time_windows ในยานพาหนะ #5 โดยใช้
name: "vehicles" index: 5 sub_field { name: "end_time_windows" index: 2 }
อย่างไรก็ตาม เราจะไม่ใส่เอนทิตีระดับบนสุด เช่น OptimizeToursRequest หรือ ShipmentModel เพื่อไม่ให้ข้อความดูรก
| ช่อง | |
|---|---|
| name | 
 ชื่อช่อง เช่น "vehicles" | 
| sub_ | ช่องย่อยที่ฝังแบบซ้ำซ้อน หากจำเป็น | 
| ฟิลด์สหภาพ  
 | |
| index | 
 ดัชนีของช่องหากซ้ำ | 
| key | 
 คีย์หากช่องเป็นแผนที่ | 
OutputConfig
ระบุปลายทางสำหรับผลลัพธ์ของ [BatchOptimizeTours][google.maps.routeoptimization.v1.RouteOptimizationService.BatchOptimizeTours]
| ช่อง | |
|---|---|
| data_ | ต้องระบุ รูปแบบข้อมูลเอาต์พุต | 
| ฟิลด์สหภาพ destinationต้องระบุdestinationต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น | |
| gcs_ | ตำแหน่ง Google Cloud Storage ที่จะเขียนเอาต์พุต | 
RouteModifiers
บรรจุชุดเงื่อนไขที่ไม่บังคับเพื่อใช้เมื่อคำนวณเส้นทางของยานพาหนะ ซึ่งคล้ายกับ RouteModifiers ใน Routes Preferred API ของ Google Maps Platform โปรดดูที่ https://developers.google.com/maps/documentation/routes/reference/rest/v2/RouteModifiers
| ช่อง | |
|---|---|
| avoid_ | 
 ระบุว่าจะหลีกเลี่ยงถนนที่มีค่าผ่านทางหรือไม่ ระบบจะให้ความสำคัญกับเส้นทางที่ไม่มีถนนที่ต้องเสียค่าผ่านทาง ใช้ได้กับโหมดการเดินทางที่ใช้เครื่องยนต์เท่านั้น | 
| avoid_ | 
 ระบุว่าจะเลี่ยงทางหลวงหรือไม่เมื่อพิจารณาแล้วว่าเหมาะสม ระบบจะให้ความสำคัญกับเส้นทางที่ไม่มีทางหลวง ใช้ได้กับโหมดการเดินทางที่ใช้เครื่องยนต์เท่านั้น | 
| avoid_ | 
 ระบุว่าจะหลีกเลี่ยงเส้นทางเรือหรือไม่ ระบบจะให้ความสำคัญกับเส้นทางที่ไม่มีการเดินทางด้วยเรือข้ามฟาก ใช้ได้กับโหมดการเดินทางที่ใช้เครื่องยนต์เท่านั้น | 
| avoid_ | 
 ไม่บังคับ ระบุว่าควรหลีกเลี่ยงการนำทางภายในอาคารหรือไม่ ระบบจะให้ความสำคัญกับเส้นทางที่ไม่มีการนำทางในอาคาร ใช้กับโหมดการเดินทาง  | 
การจัดส่ง
การจัดส่งสินค้ารายการเดียว ตั้งแต่การยกขึ้นรถไปจนถึงการนำส่ง เพื่อให้ระบบถือว่ามีการจัดส่งเกิดขึ้น รถคันเดียวต้องไปที่จุดรับสินค้าแห่งหนึ่ง (และลดกำลังการผลิตที่เหลือตามนั้น) จากนั้นไปที่จุดนำส่งแห่งหนึ่งในภายหลัง (และเพิ่มกำลังการผลิตที่เหลือตามนั้นอีกครั้ง)
| ช่อง | |
|---|---|
| display_ | 
 ชื่อที่แสดงที่กำหนดโดยผู้ใช้ของการจัดส่ง โดยชื่อมีความยาวได้สูงสุด 63 อักขระ และใช้อักขระ UTF-8 ได้ | 
| pickups[] | ชุดตัวเลือกการรับพัสดุที่เชื่อมโยงกับการจัดส่ง หากไม่ได้ระบุ ยานพาหนะจะต้องไปที่สถานที่ที่สอดคล้องกับการนำส่งเท่านั้น | 
| deliveries[] | ชุดตัวเลือกการนำส่งที่เชื่อมโยงกับการจัดส่ง หากไม่ได้ระบุ ยานพาหนะจะต้องไปที่สถานที่ที่สอดคล้องกับการรับส่งเท่านั้น | 
| load_ | 
 ความต้องการในการบรรทุกของการจัดส่ง (เช่น น้ำหนัก ปริมาณ จำนวนพาเลต ฯลฯ) คีย์ในแผนที่ควรเป็นตัวระบุที่อธิบายประเภทของโหลดที่เกี่ยวข้อง และควรระบุหน่วยด้วย เช่น "weight_kg", "volume_gallons", "pallet_count" เป็นต้น หากคีย์หนึ่งๆ ไม่ปรากฏในแผนที่ ระบบจะถือว่าการโหลดที่เกี่ยวข้องเป็นค่าว่าง | 
| allowed_ | 
 ชุดยานพาหนะที่อาจทำการขนส่งนี้ หากเป็นค่าว่าง หมายความว่ารถทุกรุ่นจะดำเนินการได้ ยานพาหนะจะระบุตามดัชนีในรายการ  | 
| costs_ | 
 ระบุค่าใช้จ่ายที่เกิดขึ้นเมื่อนำส่งการจัดส่งนี้โดยยานพาหนะแต่ละคัน หากระบุไว้ จะต้องมีอย่างใดอย่างหนึ่งต่อไปนี้ 
 ค่าใช้จ่ายเหล่านี้ต้องเป็นหน่วยเดียวกับ  | 
| costs_ | 
 ดัชนีของยานพาหนะที่  | 
| pickup_ | ระบุเวลาอ้อมสูงสุดสัมบูรณ์เทียบกับเส้นทางที่สั้นที่สุดตั้งแต่การไปรับจนถึงการนำส่ง หากระบุ ต้องไม่เป็นค่าลบ และการจัดส่งต้องมีการรับและการนำส่งอย่างน้อย 1 รายการ ตัวอย่างเช่น สมมติให้ t เป็นเวลาที่สั้นที่สุดจากทางเลือกการรับสินค้าซึ่งเลือกไว้ไปยังทางเลือกการนำส่งซึ่งเลือกไว้โดยตรง จากนั้นการตั้งค่า  หากระบุทั้งขีดจำกัดแบบสัมพัทธ์และแบบสัมบูรณ์ในการจัดส่งเดียวกัน ระบบจะใช้ขีดจำกัดที่จำกัดมากขึ้นสำหรับคู่การรับ/การนำส่งที่เป็นไปได้แต่ละคู่ ในเดือนตุลาคม 2017 ระบบรองรับการอ้อมเส้นทางเฉพาะในกรณีที่ระยะเวลาเดินทางไม่ขึ้นอยู่กับยานพาหนะ | 
| pickup_ | ระบุระยะเวลาสูงสุดตั้งแต่เริ่มรับพัสดุไปจนถึงเริ่มนำส่งพัสดุ หากระบุ ต้องไม่เป็นค่าลบ และการจัดส่งต้องมีการรับและการนำส่งอย่างน้อย 1 รายการ ซึ่งไม่ได้ขึ้นอยู่กับว่าเลือกบริการใดสำหรับการรับและการนำส่ง หรือความเร็วของยานพาหนะ ซึ่งสามารถระบุควบคู่ไปกับข้อจำกัดทางอ้อมสูงสุดได้ โดยโซลูชันจะเป็นไปตามข้อกำหนดทั้ง 2 ข้อ | 
| shipment_ | 
 สตริงที่ไม่ใช่ค่าว่างซึ่งระบุ "ประเภท" สำหรับการจัดส่งนี้ ฟีเจอร์นี้ใช้เพื่อกำหนดความเข้ากันไม่ได้หรือข้อกำหนดระหว่าง  แตกต่างจาก  | 
| label | 
 ระบุป้ายกำกับสำหรับการจัดส่งนี้ ระบบจะรายงานป้ายกำกับนี้ในการตอบกลับใน  | 
| ignore | 
 หากเป็นจริง ให้ข้ามการจัดส่งนี้ แต่อย่าใช้  การละเว้นการจัดส่งจะทำให้เกิดข้อผิดพลาดในการตรวจสอบเมื่อมี  ระบบอนุญาตให้ละเว้นการจัดส่งที่ดำเนินการใน  | 
| penalty_ | 
 หากการจัดส่งไม่เสร็จสมบูรณ์ ระบบจะเพิ่มค่าปรับนี้ลงในต้นทุนโดยรวมของเส้นทาง ระบบจะถือว่าการจัดส่งเสร็จสมบูรณ์หากมีการนำส่งหรือรับสินค้าตามทางเลือกใดทางเลือกหนึ่ง ค่าใช้จ่ายอาจแสดงเป็นหน่วยเดียวกับที่ใช้กับช่องอื่นๆ ทั้งหมดที่เกี่ยวข้องกับต้นทุนในโมเดล และต้องมีค่าเป็นบวก สำคัญ: หากไม่ได้ระบุค่าปรับนี้ ระบบจะถือว่าไม่มีขีดจำกัด ซึ่งหมายความว่าการจัดส่งต้องเสร็จสมบูรณ์ | 
| pickup_ | 
 ระบุเวลาอ้อมสูงสุดแบบสัมพัทธ์เทียบกับเส้นทางที่สั้นที่สุดตั้งแต่การไปรับจนถึงการนำส่ง หากระบุ ต้องไม่เป็นค่าลบ และการจัดส่งต้องมีการรับและการนำส่งอย่างน้อย 1 รายการ ตัวอย่างเช่น สมมติให้ t เป็นเวลาที่สั้นที่สุดจากทางเลือกการรับสินค้าซึ่งเลือกไว้ไปยังทางเลือกการนำส่งซึ่งเลือกไว้โดยตรง จากนั้นการตั้งค่า  หากระบุทั้งขีดจำกัดแบบสัมพัทธ์และแบบสัมบูรณ์ในการจัดส่งเดียวกัน ระบบจะใช้ขีดจำกัดที่จำกัดมากขึ้นสำหรับคู่การรับ/การนำส่งที่เป็นไปได้แต่ละคู่ ในเดือนตุลาคม 2017 ระบบรองรับการอ้อมเส้นทางเฉพาะในกรณีที่ระยะเวลาเดินทางไม่ขึ้นอยู่กับยานพาหนะ | 
โหลด
เมื่อทำการเข้าชม ระบบอาจเพิ่มน้ำหนักที่กำหนดไว้ล่วงหน้าลงในน้ำหนักบรรทุกของยานพาหนะหากเป็นการไปรับสินค้า หรือหักออกหากเป็นการนำส่ง ข้อความนี้กําหนดจํานวนเงินดังกล่าว ดูload_demands
| ช่อง | |
|---|---|
| amount | 
 น้ำหนักบรรทุกของยานพาหนะที่ทำการเข้าชมที่เกี่ยวข้องจะแตกต่างกันไป เนื่องจากเป็นจำนวนเต็ม เราจึงขอแนะนำให้ผู้ใช้เลือกหน่วยที่เหมาะสมเพื่อไม่ให้ความแม่นยำลดลง ต้องมากกว่าหรือเท่ากับ 0 | 
VisitRequest
คำขอเข้าชมที่ยานพาหนะสามารถทำได้: ยานพาหนะมีตำแหน่งทางภูมิศาสตร์ (หรือ 2 ตำแหน่ง โปรดดูด้านล่าง) เวลาเปิดและปิดที่แสดงเป็นกรอบเวลา และระยะเวลาของบริการ (เวลาที่ยานพาหนะใช้ในการรับหรือส่งสินค้าเมื่อมาถึง)
| ช่อง | |
|---|---|
| arrival_ | ตำแหน่งทางภูมิศาสตร์ที่ยานพาหนะมาถึงเมื่อทำการ  | 
| arrival_ | จุดที่รถมาถึงเมื่อทำ  | 
| departure_ | ตำแหน่งทางภูมิศาสตร์ที่ยานพาหนะออกเดินทางหลังจากทำ  | 
| departure_ | จุดสังเกตที่ยานพาหนะออกเดินทางหลังจากทำ  | 
| tags[] | 
 ระบุแท็กที่แนบมากับคําขอเข้าชม ไม่อนุญาตให้ใช้สตริงที่ว่างเปล่าหรือซ้ำกัน | 
| time_ | กรอบเวลาที่จํากัดเวลามาถึงในการเข้าชม โปรดทราบว่ายานพาหนะอาจออกเดินทางนอกกรอบเวลาการมาถึง เช่น เวลามาถึง + ระยะเวลาไม่จำเป็นต้องอยู่ภายในกรอบเวลา ซึ่งอาจส่งผลให้ต้องรอหากยานพาหนะมาถึงก่อน  หากไม่มี  กรอบเวลาต้องไม่ซ้อนทับกัน เช่น กรอบเวลาต้องไม่ซ้อนทับหรืออยู่ติดกับกรอบเวลาอื่น และต้องเป็นลำดับเวลาจากน้อยไปมาก คุณจะตั้งค่า  | 
| duration | ระยะเวลาในการเข้าชม เช่น เวลาที่ใช้โดยยานพาหนะระหว่างที่มาถึงและออกเดินทาง (จะเพิ่มไปยังเวลารอที่เป็นไปได้ ดู  | 
| cost | 
 ค่าบริการตามคำขอเข้าชมนี้ในเส้นทางของยานพาหนะ ซึ่งสามารถใช้ชำระค่าใช้จ่ายที่แตกต่างกันสำหรับการรับหรือการนำส่งพัสดุทางเลือกแต่ละรายการ ค่าใช้จ่ายนี้ต้องเป็นหน่วยเดียวกับ  | 
| load_ | 
 โหลดดีมานด์ของคำขอเข้าชมนี้ ช่องนี้เหมือนกับช่อง  | 
| visit_ | 
 ระบุประเภทการเข้าชม ข้อมูลนี้อาจใช้เพื่อจัดสรรเวลาเพิ่มเติมที่จําเป็นสําหรับยานพาหนะในการเข้าชมนี้ให้เสร็จสมบูรณ์ (ดู  ประเภทหนึ่งๆ จะปรากฏได้เพียงครั้งเดียว | 
| label | 
 ระบุป้ายกำกับสำหรับ  | 
ShipmentModel
รูปแบบการจัดส่งประกอบด้วยชุดการจัดส่งที่ต้องทำโดยชุดยานพาหนะ โดยลดต้นทุนโดยรวมให้เหลือน้อยที่สุด ซึ่งก็คือผลรวมของ
- ค่าใช้จ่ายในการกำหนดเส้นทางของยานพาหนะ (ผลรวมของต้นทุนต่อเวลาทั้งหมด ต้นทุนต่อเวลาเดินทาง และต้นทุนคงที่สำหรับยานพาหนะทั้งหมด)
- บทลงโทษสำหรับการจัดส่งที่ไม่ได้ดำเนินการ
- ค่าใช้จ่ายของระยะเวลาการจัดส่งทั่วโลก
| ช่อง | |
|---|---|
| shipments[] | ชุดการจัดส่งที่ต้องดำเนินการในโมเดล | 
| vehicles[] | ชุดยานพาหนะที่สามารถใช้เพื่อเข้าชม | 
| objectives[] | ชุดวัตถุประสงค์ของรูปแบบนี้ ซึ่งเราจะเปลี่ยนเป็นค่าใช้จ่าย หากไม่ได้เป็นค่าว่าง โมเดลอินพุตต้องไม่มีค่าใช้จ่าย หากต้องการดูคําขอที่แก้ไขแล้ว โปรดใช้  | 
| global_ | เวลาเริ่มต้นและสิ้นสุดแบบรวมของโมเดล: ระบบจะไม่ถือว่าเวลาที่อยู่นอกช่วงนี้ถูกต้อง ช่วงเวลาของโมเดลต้องน้อยกว่า 1 ปี กล่าวคือ  เมื่อใช้ช่อง  | 
| global_ | หากไม่ได้ตั้งค่า ระบบจะใช้ 00:00:00 UTC, 1 มกราคม 1971 (เช่น วินาที: 31536000, นีโอน: 0) เป็นค่าเริ่มต้น | 
| global_ | 
 "ระยะเวลาโดยรวม" ของแผนโดยรวมคือความแตกต่างระหว่างเวลาเริ่มต้นที่มีประสิทธิภาพเร็วที่สุดและเวลาสิ้นสุดที่มีประสิทธิภาพล่าสุดของยานพาหนะทั้งหมด ผู้ใช้สามารถกำหนดต้นทุนต่อชั่วโมงให้กับจำนวนดังกล่าวเพื่อพยายามเพิ่มประสิทธิภาพให้งานเสร็จเร็วที่สุด เป็นต้น ค่าใช้จ่ายนี้ต้องอยู่ในหน่วยเดียวกับ  | 
| duration_ | ระบุเมทริกซ์ระยะเวลาและระยะทางที่ใช้ในโมเดล หากช่องนี้ว่างเปล่า ระบบจะใช้ Google Maps หรือระยะทางเชิงเรขาคณิตแทน ทั้งนี้ขึ้นอยู่กับค่าของช่อง  ตัวอย่างการใช้งาน 
 
  | 
| duration_ | 
 แท็กที่กําหนดแหล่งที่มาของเมตริกระยะเวลาและระยะทาง  แท็กสอดคล้องกับ  | 
| duration_ | 
 แท็กที่กําหนดปลายทางของเมตริกระยะเวลาและระยะทาง  แท็กสอดคล้องกับ  | 
| transition_ | เพิ่มแอตทริบิวต์ทรานซิชันลงในโมเดล | 
| shipment_ | ชุดของ shipment_types ที่ใช้ร่วมกันไม่ได้ (ดู  | 
| shipment_ | ชุดข้อกำหนด  | 
| precedence_ | ชุดกฎลําดับความสําคัญที่ต้องบังคับใช้ในโมเดล สำคัญ: การใช้กฎลําดับความสําคัญจะจํากัดขนาดของปัญหาที่เพิ่มประสิทธิภาพได้ คำขอที่ใช้กฎลําดับความสําคัญซึ่งมีการจัดส่งหลายรายการอาจถูกปฏิเสธ | 
| max_ | 
 จำกัดจำนวนยานพาหนะที่ใช้งานอยู่สูงสุด ยานพาหนะจะถือว่าใช้งานอยู่หากเส้นทางของยานพาหนะมีการจัดส่งอย่างน้อย 1 รายการ สามารถใช้เพื่อจำกัดจำนวนเส้นทางในกรณีที่มีคนขับน้อยกว่ายานพาหนะและกลุ่มยานพาหนะมีความหลากหลาย จากนั้นการเพิ่มประสิทธิภาพจะเลือกกลุ่มย่อยของยานพาหนะที่ดีที่สุดที่จะใช้ ต้องเป็นค่าบวก | 
DurationDistanceMatrix
ระบุระยะเวลาและเมตริกระยะทางจากสถานที่เริ่มต้นของยานพาหนะและการเข้าชมไปจนถึงสถานที่สิ้นสุดของยานพาหนะและการเข้าชม
| ช่อง | |
|---|---|
| rows[] | ระบุแถวของเมทริกซ์ระยะเวลาและระยะทาง โดยต้องมีองค์ประกอบเท่ากับ  | 
| vehicle_ | 
 แท็กที่กําหนดว่าเมตริกระยะเวลาและระยะทางนี้มีผลกับยานพาหนะใด หากเป็นค่าว่าง รายการนี้จะมีผลกับยานพาหนะทุกคัน และจะมีได้เพียงเมทริกซ์เดียวเท่านั้น การเริ่มต้นยานพาหนะแต่ละรายการต้องตรงกับเมทริกซ์เพียงรายการเดียวเท่านั้น กล่าวคือ ช่อง  เมทริกซ์ทั้งหมดต้องมี  | 
แถว
ระบุแถวของเมทริกซ์ระยะเวลาและระยะทาง
| ช่อง | |
|---|---|
| durations[] | ค่าระยะเวลาของแถวหนึ่งๆ โดยต้องมีองค์ประกอบเท่ากับ  | 
| meters[] | 
 ค่าระยะทางของแถวหนึ่งๆ หากไม่มีต้นทุนหรือข้อจำกัดที่อ้างอิงถึงระยะทางในโมเดล คุณก็ปล่อยว่างไว้ได้ แต่หากมี องค์ประกอบต้องมีจำนวนเท่ากับ  | 
วัตถุประสงค์
วัตถุประสงค์จะแทนที่รูปแบบต้นทุนโดยสมบูรณ์ จึงใช้ร่วมกับต้นทุนที่มีอยู่ไม่ได้ วัตถุประสงค์แต่ละรายการจะเชื่อมโยงกับค่าใช้จ่ายที่กำหนดไว้ล่วงหน้าจำนวนหนึ่ง เช่น แอตทริบิวต์ยานพาหนะ การจัดส่ง หรือการเปลี่ยน
| ช่อง | |
|---|---|
| type | ประเภทของวัตถุประสงค์ | 
| weight | 
 ความสําคัญของวัตถุประสงค์นี้เมื่อเทียบกับวัตถุประสงค์อื่นๆ ซึ่งอาจเป็นจำนวนใดก็ได้ที่ไม่ใช่ค่าลบ โดยน้ำหนักไม่จำเป็นต้องรวมกันได้เท่ากับ 1 น้ำหนักเริ่มต้นคือ 1.0 | 
ประเภท
ประเภทวัตถุประสงค์ที่จะแมปกับชุดค่าใช้จ่าย
| Enum | |
|---|---|
| DEFAULT | ระบบจะใช้ชุดค่าใช้จ่ายเริ่มต้นเพื่อให้ได้โซลูชันที่สมเหตุสมผล หมายเหตุ: วัตถุประสงค์นี้สามารถใช้เพียงอย่างเดียวได้ แต่ระบบจะเพิ่มวัตถุประสงค์นี้ด้วยน้ำหนัก 1.0 เสมอเป็นพื้นฐานให้กับวัตถุประสงค์ที่ผู้ใช้ระบุไว้ หากยังไม่มีวัตถุประสงค์ดังกล่าว | 
| MIN_DISTANCE | วัตถุประสงค์ "MIN" ลดระยะทางรวมในการเดินทาง | 
| MIN_WORKING_TIME | ลดเวลาทํางานทั้งหมดโดยรวมของยานพาหนะทั้งหมด | 
| MIN_TRAVEL_TIME | เหมือนกับด้านบน แต่เน้นที่เวลาเดินทางเท่านั้น | 
| MIN_NUM_VEHICLES | ลดจำนวนยานพาหนะที่ใช้งาน | 
PrecedenceRule
กฎลําดับความสําคัญระหว่าง 2 เหตุการณ์ (แต่ละเหตุการณ์คือการไปรับหรือการนำส่งการจัดส่ง): เหตุการณ์ "ที่ 2" ต้องเริ่มอย่างน้อย offset_duration นาทีหลังจากที่เหตุการณ์ "ที่ 1" เริ่ม
ลําดับความสําคัญหลายรายการอาจอ้างอิงถึงเหตุการณ์เดียวกัน (หรือที่เกี่ยวข้อง) เช่น "การไปรับ B เกิดขึ้นหลังจากการนำส่ง A" และ "การไปรับ C เกิดขึ้นหลังจากการไปรับ B"
นอกจากนี้ ลําดับความสําคัญจะมีผลก็ต่อเมื่อมีการจัดส่งทั้ง 2 รายการเท่านั้น มิเช่นนั้นระบบจะไม่สนใจ
| ช่อง | |
|---|---|
| first_ | 
 ระบุว่าเหตุการณ์ "แรก" เป็นการนําส่งหรือไม่ | 
| second_ | 
 ระบุว่าเหตุการณ์ "ที่ 2" เป็นการแสดงโฆษณาหรือไม่ | 
| offset_ | ส่วนต่างระหว่างเหตุการณ์ "แรก" กับ "ที่ 2" อาจเป็นค่าลบได้ | 
| first_ | 
 ดัชนีการจัดส่งของเหตุการณ์ "แรก" ต้องระบุข้อมูลในช่องนี้ | 
| second_ | 
 ดัชนีการจัดส่งของเหตุการณ์ "ที่ 2" ต้องระบุข้อมูลในช่องนี้ | 
ShipmentRoute
เส้นทางของยานพาหนะสามารถแยกวิเคราะห์ตามแกนเวลาได้ดังนี้ (สมมติว่ามีการเข้าชม n ครั้ง)
  |            |            |          |       |  T[2], |        |      |
  | Transition |  Visit #0  |          |       |  V[2], |        |      |
  |     #0     |    aka     |   T[1]   |  V[1] |  ...   | V[n-1] | T[n] |
  |  aka T[0]  |    V[0]    |          |       | V[n-2],|        |      |
  |            |            |          |       | T[n-1] |        |      |
  ^            ^            ^          ^       ^        ^        ^      ^
vehicle    V[0].start   V[0].end     V[1].   V[1].    V[n].    V[n]. vehicle
 start     (arrival)   (departure)   start   end      start    end     end
โปรดทราบว่าเราแยกความแตกต่างระหว่าง
- "เหตุการณ์ตามเวลา" เช่น จุดเริ่มต้นและจุดสิ้นสุดของยานพาหนะ รวมถึงจุดเริ่มต้นและจุดสิ้นสุดของการเข้าชมแต่ละครั้ง (หรือที่เรียกว่าการมาถึงและออกเดินทาง) เหตุการณ์เหล่านี้เกิดขึ้นในวินาทีหนึ่งๆ
- "ช่วงเวลา" เช่น การเข้าชมเอง และการเปลี่ยนระหว่างการเข้าชม แม้ว่าบางครั้งช่วงเวลาอาจมีระยะเวลาเป็น 0 เช่น เริ่มต้นและสิ้นสุดในเวลาวินาทีเดียวกัน แต่มักจะมีระยะเวลาเป็นบวก
อินตัวแปร
- หากมีการเข้าชม n ครั้ง ก็จะมีการเปลี่ยน 1+n ครั้ง
- การเข้าชมจะอยู่ระหว่างการเปลี่ยนก่อน (ดัชนีเดียวกัน) และการเปลี่ยนหลังจากนั้น (ดัชนี + 1) เสมอ
- การเปลี่ยน #0 จะตามหลังการสตาร์ทรถเสมอ
- ส่วน "สิ้นสุดยานพาหนะ" จะมีการเปลี่ยน #n นำหน้าเสมอ
เมื่อซูมเข้า สิ่งที่จะเกิดขึ้นระหว่าง Transition และ Visit มีดังนี้
---+-------------------------------------+-----------------------------+-->
   |           TRANSITION[i]             |           VISIT[i]          |
   |                                     |                             |
   |  * TRAVEL: the vehicle moves from   |      PERFORM the visit:     |
   |    VISIT[i-1].departure_location to |                             |
   |    VISIT[i].arrival_location, which |  * Spend some time:         |
   |    takes a given travel duration    |    the "visit duration".    |
   |    and distance                     |                             |
   |                                     |  * Load or unload           |
   |  * BREAKS: the driver may have      |    some quantities from the |
   |    breaks (e.g. lunch break).       |    vehicle: the "demand".   |
   |                                     |                             |
   |  * WAIT: the driver/vehicle does    |                             |
   |    nothing. This can happen for     |                             |
   |    many reasons, for example when   |                             |
   |    the vehicle reaches the next     |                             |
   |    event's destination before the   |                             |
   |    start of its time window         |                             |
   |                                     |                             |
   |  * DELAY: *right before* the next   |                             |
   |    arrival. E.g. the vehicle and/or |                             |
   |    driver spends time unloading.    |                             |
   |                                     |                             |
---+-------------------------------------+-----------------------------+-->
   ^                                     ^                             ^
V[i-1].end                           V[i].start                    V[i].end
สุดท้ายนี้ มาดูวิธีจัดเรียง TRAVEL, BREAKS, DELAY และ WAIT ระหว่างการเปลี่ยนเส้นทาง
- โดยไม่ซ้อนทับกัน
- DELAY ต้องเป็นค่าที่ไม่ซ้ำกันและต้องเป็นระยะเวลาติดต่อกันก่อนการเข้าชมครั้งถัดไป (หรือจุดสิ้นสุดของยานพาหนะ) ดังนั้น คุณก็ทราบเวลาเริ่มต้นและเวลาสิ้นสุดได้เพียงแค่ดูระยะเวลาการเลื่อน
- ช่วงพักคือช่วงเวลาที่ต่อเนื่องกันและไม่ทับซ้อนกัน การตอบกลับจะระบุเวลาเริ่มต้นและระยะเวลาของช่วงพักแต่ละช่วง
- TRAVEL และ WAIT เป็น "สถานะที่หยุดชั่วคราวได้" ซึ่งอาจถูกขัดจังหวะหลายครั้งในระหว่างการเปลี่ยนสถานะนี้ ลูกค้าจะถือว่าการเดินทางเกิดขึ้น "โดยเร็วที่สุด" และ "รอ" จะแสดงเวลาที่เหลือ
ตัวอย่าง (ที่ซับซ้อน)
                               TRANSITION[i]
--++-----+-----------------------------------------------------------++-->
  ||     |       |           |       |           |         |         ||
  ||  T  |   B   |     T     |       |     B     |         |    D    ||
  ||  r  |   r   |     r     |   W   |     r     |    W    |    e    ||
  ||  a  |   e   |     a     |   a   |     e     |    a    |    l    ||
  ||  v  |   a   |     v     |   i   |     a     |    i    |    a    ||
  ||  e  |   k   |     e     |   t   |     k     |    t    |    y    ||
  ||  l  |       |     l     |       |           |         |         ||
  ||     |       |           |       |           |         |         ||
--++-----------------------------------------------------------------++-->
| ช่อง | |
|---|---|
| vehicle_ | 
 ยานพาหนะที่วิ่งเส้นทาง ซึ่งระบุด้วยดัชนีในแหล่งที่มา  | 
| vehicle_ | 
 ป้ายกำกับของยานพาหนะที่วิ่งเส้นทางนี้ ซึ่งเท่ากับ  | 
| vehicle_ | เวลารถเริ่มออกเดินทาง | 
| vehicle_ | เวลาที่พาหนะวิ่งเส้นทางเสร็จสิ้น | 
| visits[] | ลําดับการเข้าชมตามลําดับที่แสดงถึงเส้นทาง โดย visits[i] คือการเข้าชมที่ i ในเส้นทาง หากช่องนี้ว่างเปล่า ระบบจะถือว่ายานพาหนะไม่ได้ใช้งาน | 
| transitions[] | รายการทรานซิชันตามลําดับของเส้นทาง | 
| has_ | 
 เมื่อตั้งค่า  เวลาที่มาถึงที่ next_visit มีแนวโน้มที่จะเกิดช้ากว่ากรอบเวลาปัจจุบันเนื่องจากเวลาเดินทางโดยประมาณ  | 
| route_ | การนำเสนอเส้นประกอบที่เข้ารหัสของเส้นทาง ระบบจะป้อนข้อมูลในช่องนี้เฉพาะในกรณีที่ตั้งค่า  | 
| breaks[] | ช่วงพักที่กำหนดไว้สำหรับยานพาหนะที่วิ่งเส้นทางนี้ ลำดับ  | 
| metrics | เมตริกระยะเวลา ระยะทาง และน้ำหนักบรรทุกของเส้นทางนี้ ระบบจะรวมช่อง  | 
| route_ | 
 ค่าใช้จ่ายของเส้นทางที่แจกแจงตามช่องคำขอที่เกี่ยวข้องกับค่าใช้จ่าย คีย์คือเส้นทางโปรโตคอลซึ่งสัมพันธ์กับอินพุต OptimizeToursRequest เช่น "model.shipments.pickups.cost" และค่าคือต้นทุนทั้งหมดที่สร้างขึ้นจากช่องค่าใช้จ่ายที่เกี่ยวข้อง ซึ่งรวบรวมจากทั่วทั้งเส้นทาง กล่าวคือ costs["model.shipments.pickups.cost"] คือผลรวมของค่าใช้จ่ายในการรับสินค้าทั้งหมดในเส้นทาง ระบบจะรายงานต้นทุนทั้งหมดที่กําหนดไว้ในรูปแบบโดยละเอียดที่นี่ ยกเว้นต้นทุนที่เกี่ยวข้องกับ TransitionAttributes ซึ่งจะรายงานแบบรวมเท่านั้น ณ วันที่ 01/2022 | 
| route_ | 
 ต้นทุนรวมของเส้นทาง ผลรวมของค่าใช้จ่ายทั้งหมดในแผนที่ต้นทุน | 
พัก
ข้อมูลที่แสดงถึงการดำเนินการของช่วงพัก
| ช่อง | |
|---|---|
| start_ | เวลาเริ่มต้นของช่วงพัก | 
| duration | ระยะเวลาของช่วงพัก | 
EncodedPolyline
การนำเสนอที่เข้ารหัสของเส้นประกอบ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเข้ารหัสเส้นประกอบได้ที่ https://developers.google.com/maps/documentation/utilities/polylinealgorithm https://developers.google.com/maps/documentation/javascript/reference/geometry#encoding
| ช่อง | |
|---|---|
| points | 
 สตริงที่แสดงจุดที่เข้ารหัสของเส้นประกอบ | 
ทรานซิชัน
การเปลี่ยนระหว่างเหตุการณ์ 2 รายการในเส้นทาง ดูคำอธิบายของ ShipmentRoute
หากยานพาหนะไม่มี start_location และ/หรือ end_location เมตริกการเดินทางที่เกี่ยวข้องจะเป็น 0
| ช่อง | |
|---|---|
| travel_ | ระยะเวลาการเดินทางระหว่างการเปลี่ยนผ่านนี้ | 
| travel_ | 
 ระยะทางที่เดินทางระหว่างการเปลี่ยน | 
| traffic_ | 
 เมื่อมีการขอข้อมูลการเข้าชมผ่าน  | 
| delay_ | ผลรวมของระยะเวลาการเลื่อนเวลาที่ใช้กับทรานซิชันนี้ หากมี หน่วงเวลาจะเริ่มขึ้น  | 
| break_ | ผลรวมของระยะเวลาของช่วงพักที่เกิดขึ้นระหว่างการเปลี่ยนนี้ หากมี ระบบจะจัดเก็บรายละเอียดเกี่ยวกับเวลาเริ่มต้นและระยะเวลาของช่วงพักแต่ละช่วงไว้ใน  | 
| wait_ | เวลาที่ใช้ในการรอระหว่างการเปลี่ยนนี้ ระยะเวลารอจะสอดคล้องกับเวลาที่ไม่ได้ใช้งาน และไม่รวมเวลาพัก และโปรดทราบว่าเวลารอนี้อาจแบ่งออกเป็นหลายช่วงเวลาที่ไม่ต่อเนื่องกัน | 
| total_ | ระยะเวลาทั้งหมดของการเปลี่ยน ซึ่งระบุไว้เพื่อความสะดวก ซึ่งมีค่าเท่ากับ 
 | 
| start_ | เวลาเริ่มต้นของการเปลี่ยนนี้ | 
| route_ | การนำเสนอเส้นประกอบที่เข้ารหัสของเส้นทางที่ไปตามระหว่างการเปลี่ยน ระบบจะป้อนข้อมูลในช่องนี้เฉพาะในกรณีที่ตั้งค่า  | 
| route_ | 
 เอาต์พุตเท่านั้น โทเค็นแบบทึบที่สามารถส่งไปยัง Navigation SDK เพื่อสร้างเส้นทางใหม่ในระหว่างการนําทาง และในกรณีที่มีการเปลี่ยนเส้นทาง ให้ยึดตามเจตนาเดิมเมื่อสร้างเส้นทาง ถือว่าโทเค็นนี้เป็น Blob แบบทึบ อย่าเปรียบเทียบค่าของเส้นทางนี้ในคำขอต่างๆ เนื่องจากค่าอาจเปลี่ยนแปลงได้แม้ว่าบริการจะแสดงผลเส้นทางเดียวกันทุกประการก็ตาม ระบบจะป้อนข้อมูลในช่องนี้เฉพาะในกรณีที่ตั้งค่า  | 
| vehicle_ | 
 น้ำหนักบรรทุกของยานพาหนะในระหว่างการเปลี่ยนผ่านนี้สำหรับแต่ละประเภทที่ปรากฏใน  น้ำหนักบรรทุกระหว่างการเปลี่ยนเส้นทางครั้งแรกคือน้ำหนักบรรทุกเริ่มต้นของเส้นทางยานพาหนะ จากนั้นหลังจากการเข้าชมแต่ละครั้ง ระบบจะเพิ่มหรือลบ  | 
VehicleLoad
รายงานน้ำหนักบรรทุกจริงของยานพาหนะ ณ จุดหนึ่งๆ บนเส้นทางสำหรับประเภทหนึ่งๆ (ดู Transition.vehicle_loads)
| ช่อง | |
|---|---|
| amount | 
 น้ำหนักบรรทุกของยานพาหนะสำหรับประเภทที่ระบุ โดยปกติแล้ว ประเภทของน้ำหนักบรรทุกจะระบุหน่วยของน้ำหนักบรรทุก ดู | 
ไปที่
การเข้าชมที่เกิดขึ้นระหว่างเส้นทาง การเข้าชมนี้สอดคล้องกับการรับหรือการนำส่ง Shipment
| ช่อง | |
|---|---|
| shipment_ | 
 ดัชนีของช่อง  | 
| is_ | 
 หากเป็นจริง การเข้าชมจะสอดคล้องกับการรับ  | 
| visit_ | 
 ดัชนีของ  | 
| start_ | เวลาที่การเข้าชมเริ่มต้น โปรดทราบว่ายานพาหนะอาจมาถึงสถานที่เข้าชมเร็วกว่านี้ เวลาสอดคล้องกับ  | 
| load_ | 
 ดีมานด์การโหลดการเข้าชมทั้งหมดเป็นผลรวมของการจัดส่งและคำขอเข้าชม  | 
| detour | เวลาอ้อมทางเพิ่มเติมเนื่องจากมีการเข้าชมการจัดส่งในเส้นทางก่อนการเข้าชม และเวลารอที่อาจเกิดขึ้นเนื่องจากกรอบเวลา หากการเข้าชมเป็นการนําส่ง ระบบจะคํานวณการอ้อมเส้นทางจากการเข้าชมเพื่อรับสินค้าที่เกี่ยวข้องและเท่ากับ มิเช่นนั้น ระบบจะคํานวณจากยานพาหนะ   | 
| shipment_ | 
 สําเนาของ  | 
| visit_ | 
 สําเนาของ  | 
ShipmentTypeIncompatibility
ระบุความเข้ากันไม่ได้ระหว่างการจัดส่งโดยขึ้นอยู่กับ shipment_type การแสดงการจัดส่งที่เข้ากันไม่ได้ในเส้นทางเดียวกันจะถูกจำกัดตามโหมดที่เข้ากันไม่ได้
| ช่อง | |
|---|---|
| types[] | 
 รายการประเภทที่ใช้ร่วมกันไม่ได้ การจัดส่ง 2 รายการที่มี  | 
| incompatibility_ | โหมดที่ใช้กับการทำงานร่วมกันไม่ได้ | 
IncompatibilityMode
โหมดที่กําหนดวิธีจํากัดการแสดงผลของการจัดส่งที่เข้ากันไม่ได้ในเส้นทางเดียวกัน
| Enum | |
|---|---|
| INCOMPATIBILITY_MODE_UNSPECIFIED | โหมดที่เข้ากันไม่ได้ซึ่งไม่ได้ระบุ คุณไม่ควรใช้ค่านี้ | 
| NOT_PERFORMED_BY_SAME_VEHICLE | ในโหมดนี้ การจัดส่ง 2 รายการที่มีประเภทเข้ากันไม่ได้จะแชร์ยานพาหนะคันเดียวกันไม่ได้ | 
| NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY | สำหรับการจัดส่ง 2 รายการที่มีประเภทที่ใช้ร่วมกันไม่ได้กับโหมดการทำงานร่วมกันไม่ได้ของ  
 | 
ShipmentTypeRequirement
ระบุข้อกำหนดระหว่างการจัดส่งตาม shipment_type ข้อมูลจำเพาะของข้อกำหนดจะกำหนดโดยโหมดข้อกำหนด
| ช่อง | |
|---|---|
| required_ | 
 รายการประเภทการจัดส่งทางเลือกที่  | 
| dependent_ | 
 การจัดส่งทั้งหมดที่มีประเภทในช่อง  หมายเหตุ: ไม่อนุญาตให้ใช้เงื่อนไขแบบเชน เช่น  | 
| requirement_ | โหมดที่ใช้กับข้อกําหนด | 
RequirementMode
โหมดที่กําหนดลักษณะของการจัดส่งแบบขึ้นต่อกันในเส้นทาง
| Enum | |
|---|---|
| REQUIREMENT_MODE_UNSPECIFIED | โหมดข้อกำหนดที่ไม่ได้ระบุ คุณไม่ควรใช้ค่านี้ | 
| PERFORMED_BY_SAME_VEHICLE | ในโหมดนี้ การจัดส่ง "ที่ต้องอาศัย" ทั้งหมดต้องใช้ยานพาหนะเดียวกันกับการจัดส่ง "ที่ต้องใช้" อย่างน้อย 1 รายการ | 
| IN_SAME_VEHICLE_AT_PICKUP_TIME | เมื่อใช้โหมด  ดังนั้นการรับพัสดุ "แบบมีเงื่อนไข" จึงต้องมีสิ่งใดสิ่งหนึ่งต่อไปนี้ 
 | 
| IN_SAME_VEHICLE_AT_DELIVERY_TIME | เช่นเดียวกับก่อนหน้านี้ ยกเว้นการจัดส่งที่ "ขึ้นอยู่กับ" จะต้องมีการจัดส่งที่ "จำเป็น" ในยานพาหนะ ณ เวลานำส่ง | 
SkippedShipment
ระบุรายละเอียดของการจัดส่งที่ไม่ได้ดำเนินการในโซลูชัน สำหรับกรณีที่ไม่สำคัญและ/หรือหากเราระบุสาเหตุของการข้ามได้ เราจะรายงานสาเหตุที่นี่
| ช่อง | |
|---|---|
| index | 
 ดัชนีนี้สอดคล้องกับดัชนีของการจัดส่งในแหล่งที่มา  | 
| label | 
 สําเนาของ  | 
| reasons[] | รายการเหตุผลที่อธิบายสาเหตุที่ข้ามการจัดส่ง ดูความคิดเห็นด้านบน  | 
เหตุผล
หากอธิบายสาเหตุที่ข้ามการจัดส่งได้ ระบบจะแสดงเหตุผลไว้ที่นี่ หากเหตุผลไม่เหมือนกันสำหรับยานพาหนะทั้งหมด reason จะมีองค์ประกอบมากกว่า 1 รายการ การจัดส่งที่ข้ามต้องไม่มีเหตุผลที่ซ้ำกัน เช่น ฟิลด์ทั้งหมดเหมือนกันยกเว้น example_vehicle_index ตัวอย่าง
reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  example_vehicle_index: 1
  example_exceeded_capacity_type: "Apples"
}
reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  example_vehicle_index: 3
  example_exceeded_capacity_type: "Pears"
}
reasons {
  code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
  example_vehicle_index: 1
}
การจัดส่งที่ข้ามไม่รองรับยานพาหนะบางรุ่น เหตุผลอาจแตกต่างกันไปสำหรับยานพาหนะทุกคัน แต่จะมียานพาหนะอย่างน้อย 1 คันที่มีจำนวน "แอปเปิล" เกินขีดจำกัด (รวมถึงยานพาหนะ 1) จะมียานพาหนะอย่างน้อย 1 คันที่มีจำนวน "ลูกแพร์" เกินขีดจำกัด (รวมถึงยานพาหนะ 3) และจะมียานพาหนะอย่างน้อย 1 คันที่เกินขีดจำกัดระยะทาง (รวมถึงยานพาหนะ 1)
| ช่อง | |
|---|---|
| code | โปรดดูความคิดเห็นของโค้ด | 
| example_ | 
 หากรหัสเหตุผลคือ  | 
| example_ | 
 หากเหตุผลเกี่ยวข้องกับความเข้ากันไม่ได้ของยานพาหนะกับการจัดส่ง ฟิลด์นี้จะแสดงดัชนีของยานพาหนะที่เกี่ยวข้อง 1 คัน | 
รหัส
โค้ดที่ระบุประเภทเหตุผล ลําดับนี้ไม่มีความหมาย โดยเฉพาะอย่างยิ่ง จะไม่มีการแสดงว่าเหตุผลหนึ่งๆ จะปรากฏก่อนเหตุผลอื่นในโซลูชันหรือไม่ หากมีเหตุผลทั้ง 2 รายการ
| Enum | |
|---|---|
| CODE_UNSPECIFIED | ไม่ควรใช้ | 
| NO_VEHICLE | ไม่มียานพาหนะในโมเดลทำให้การจัดส่งทั้งหมดเป็นไปไม่ได้ | 
| DEMAND_EXCEEDS_VEHICLE_CAPACITY | ดีมานด์ของการจัดส่งเกินความจุของยานพาหนะสำหรับประเภทความจุบางประเภท ซึ่งหนึ่งในนั้นคือ example_exceeded_capacity_type | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT | ระยะทางขั้นต่ำที่จำเป็นในการดำเนินการจัดส่งนี้ เช่น จาก โปรดทราบว่าเราใช้ระยะทางเชิงเรขาคณิตในการคํานวณนี้ | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT | เวลาขั้นต่ำที่จำเป็นในการดำเนินการจัดส่งนี้ รวมถึงเวลาเดินทาง เวลารอ และเวลาบริการนานกว่า  หมายเหตุ: ระบบจะคำนวณเวลาเดินทางในสถานการณ์ที่ดีที่สุด ซึ่งก็คือระยะทางตามเส้น geodesic x 36 เมตร/วินาที (ประมาณ 130 กิโลเมตร/ชั่วโมง) | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT | เหมือนกับด้านบน แต่เราจะเปรียบเทียบเฉพาะเวลาเดินทางขั้นต่ำและ travel_duration_limitของยานพาหนะ | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS | ยานพาหนะไม่สามารถทำการขนส่งนี้ในสถานการณ์ที่ดีที่สุด (ดู CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMITสำหรับการคํานวณเวลา) หากเริ่มที่เวลาเริ่มต้นเร็วที่สุด เนื่องจากเวลาทั้งหมดจะทำให้ยานพาหนะสิ้นสุดหลังจากเวลาสิ้นสุดล่าสุด | 
| VEHICLE_NOT_ALLOWED | ช่อง allowed_vehicle_indicesของการจัดส่งไม่ได้ว่างเปล่าและยานพาหนะนี้ไม่ได้อยู่ในการจัดส่งดังกล่าว | 
TimeWindow
กรอบเวลาจะจำกัดเวลาของเหตุการณ์ เช่น เวลามาถึงที่จุดแวะพัก หรือเวลาเริ่มต้นและสิ้นสุดของยานพาหนะ
ขอบเขตกรอบเวลาแบบบังคับ start_time และ end_time จะบังคับใช้เวลาเริ่มต้นเร็วที่สุดและช้าสุดของเหตุการณ์ เช่น start_time <= event_time <=
          end_time ขอบเขตล่างของกรอบเวลาแบบยืดหยุ่น soft_start_time แสดงค่ากําหนดให้เหตุการณ์เกิดขึ้นตั้งแต่หรือหลังจาก soft_start_time โดยจะมีต้นทุนตามสัดส่วนกับระยะเวลาก่อนที่เหตุการณ์จะเกิดขึ้นก่อน soft_start_time ขอบบนของกรอบเวลาแบบยืดหยุ่น soft_end_time แสดงถึงค่ากําหนดให้เหตุการณ์เกิดขึ้นในหรือก่อนวันที่ soft_end_time โดยจะมีต้นทุนตามสัดส่วนกับระยะเวลาหลังจากที่เกิดเหตุการณ์ soft_end_time start_time, end_time, soft_start_time และ soft_end_time ควรอยู่ภายในขีดจำกัดเวลาส่วนกลาง (ดู ShipmentModel.global_start_time และ ShipmentModel.global_end_time) และควรเป็นไปตามข้อกำหนดต่อไปนี้
  0 <= `start_time` <= `end_time` and
  0 <= `start_time` <= `soft_start_time` and
  0 <= `soft_end_time` <= `end_time`.
| ช่อง | |
|---|---|
| start_ | เวลาเริ่มต้นของกรอบเวลาที่เจาะจง หากไม่ได้ระบุ ระบบจะตั้งค่าเป็น  | 
| end_ | เวลาสิ้นสุดของกรอบเวลา หากไม่ได้ระบุ ระบบจะตั้งค่าเป็น  | 
| soft_ | เวลาเริ่มต้นแบบค่อยเป็นค่อยไปของกรอบเวลา | 
| soft_ | เวลาสิ้นสุดโดยประมาณของกรอบเวลา | 
| cost_ | 
 ค่าใช้จ่ายต่อชั่วโมงที่เพิ่มลงในค่าใช้จ่ายอื่นๆ ในโมเดลหากเหตุการณ์เกิดขึ้นก่อน soft_start_time โดยคํานวณดังนี้ ค่าจัดส่งนี้ต้องเป็นค่าบวก และคุณจะตั้งค่าช่องนี้ได้ก็ต่อเมื่อมีการตั้งค่า soft_start_time ไว้เท่านั้น | 
| cost_ | 
 ค่าใช้จ่ายต่อชั่วโมงที่เพิ่มลงในค่าใช้จ่ายอื่นๆ ในโมเดลหากเหตุการณ์เกิดขึ้นหลังจาก  ต้นทุนนี้ต้องเป็นค่าบวก และคุณจะตั้งค่าช่องนี้ได้ก็ต่อเมื่อตั้งค่า  | 
TransitionAttributes
ระบุแอตทริบิวต์ของการเปลี่ยนระหว่างการเข้าชม 2 ครั้งติดต่อกันในเส้นทาง TransitionAttributes หลายรายการอาจใช้กับการเปลี่ยนผ่านเดียวกันได้ ในกรณีนี้ ระบบจะรวมค่าใช้จ่ายเพิ่มเติมทั้งหมดเข้าด้วยกันและใช้ข้อจำกัดหรือขีดจำกัดที่เข้มงวดที่สุด (ตามความหมาย "AND" ที่เป็นธรรมชาติ)
| ช่อง | |
|---|---|
| src_ | 
 แท็กที่กําหนดชุดการเปลี่ยน (src->dst) ที่แอตทริบิวต์เหล่านี้มีผล การเข้าชมแหล่งที่มาหรือจุดเริ่มต้นของยานพาหนะจะตรงกันก็ต่อเมื่อ  | 
| excluded_ | 
 ดู | 
| dst_ | 
 การเข้าชมปลายทางหรือจุดสิ้นสุดของยานพาหนะจะตรงกันก็ต่อเมื่อ  | 
| excluded_ | 
 ดู | 
| cost | 
 ระบุค่าใช้จ่ายในการเปลี่ยนผ่านนี้ ค่านี้อยู่ในรูปแบบเดียวกับค่าใช้จ่ายอื่นๆ ทั้งหมดในโมเดลและต้องไม่ติดลบ โดยจะมีผลเพิ่มเติมจากค่าใช้จ่ายอื่นๆ ทั้งหมดที่มีอยู่ | 
| cost_ | 
 ระบุต้นทุนต่อกิโลเมตรที่ใช้กับระยะทางที่เดินทางขณะทำการเปลี่ยนนี้ ซึ่งจะรวมกับ  | 
| distance_ | ระบุขีดจํากัดของระยะทางที่เดินทางขณะทําการเปลี่ยนนี้ ในเดือนมิถุนายน 2021 ระบบจะรองรับเฉพาะขีดจำกัดที่ไม่บังคับเท่านั้น | 
| delay | ระบุความล่าช้าที่เกิดขึ้นเมื่อทำการเปลี่ยนนี้ ความล่าช้านี้จะเกิดขึ้นหลังจากการเข้าชมแหล่งที่มาสิ้นสุดลงและก่อนเริ่มการเข้าชมปลายทางเสมอ | 
ยานพาหนะ
จำลองยานพาหนะในปัญหาการจัดส่ง การแก้ปัญหาการจัดส่งจะสร้างเส้นทางที่เริ่มต้นจาก start_location และสิ้นสุดที่ end_location สำหรับยานพาหนะนี้ เส้นทางคือลําดับการเข้าชม (ดู ShipmentRoute)
| ช่อง | |
|---|---|
| display_ | 
 ชื่อที่แสดงของยานพาหนะที่ผู้ใช้กำหนด โดยชื่อมีความยาวได้สูงสุด 63 อักขระ และใช้อักขระ UTF-8 ได้ | 
| travel_ | โหมดการเดินทางที่ส่งผลต่อถนนที่ยานพาหนะใช้ได้และความเร็วของยานพาหนะ โปรดดู | 
| route_ | ชุดเงื่อนไขที่ต้องเป็นไปตามที่ส่งผลต่อวิธีคำนวณเส้นทางสำหรับยานพาหนะหนึ่งๆ | 
| start_ | สถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะเริ่มต้นก่อนไปรับการจัดส่ง หากไม่ได้ระบุ ยานพาหนะจะเริ่มที่จุดรับส่งแรก หากรูปแบบการจัดส่งมีเมทริกซ์ระยะเวลาและระยะทาง คุณไม่จำเป็นต้องระบุ  | 
| start_ | จุดสังเกตที่แสดงสถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะเริ่มต้นก่อนรับการจัดส่ง หากไม่ได้ระบุ  | 
| end_ | สถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะสิ้นสุดการเดินทางหลังจาก  | 
| end_ | จุดสังเกตที่แสดงสถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะสิ้นสุดการเดินทางหลังจากทำ  | 
| start_ | 
 ระบุแท็กที่แนบมากับจุดเริ่มต้นของเส้นทางของยานพาหนะ ไม่อนุญาตให้ใช้สตริงที่ว่างเปล่าหรือซ้ำกัน | 
| end_ | 
 ระบุแท็กที่แนบมากับส่วนท้ายของเส้นทางของยานพาหนะ ไม่อนุญาตให้ใช้สตริงที่ว่างเปล่าหรือซ้ำกัน | 
| start_ | ช่วงเวลาที่ยานพาหนะอาจออกจากจุดเริ่มต้น โดยต้องอยู่ภายในขีดจำกัดเวลาส่วนกลาง (ดูช่อง  กรอบเวลาของช่องที่เกิดซ้ำเดียวกันต้องไม่ซ้อนทับกัน เช่น กรอบเวลาต้องไม่ซ้อนทับหรืออยู่ติดกับกรอบเวลาอื่น และต้องเป็นลำดับตามลำดับเวลา คุณจะตั้งค่า  | 
| end_ | กรอบเวลารถอาจมาถึงจุดหมาย โดยต้องอยู่ภายในขีดจำกัดเวลาส่วนกลาง (ดูช่อง  กรอบเวลาของช่องที่เกิดซ้ำเดียวกันต้องไม่ซ้อนทับกัน เช่น กรอบเวลาต้องไม่ซ้อนทับหรืออยู่ติดกับกรอบเวลาอื่น และต้องเป็นลำดับตามลำดับเวลา คุณจะตั้งค่า  | 
| unloading_ | นโยบายการขนถ่ายที่บังคับใช้กับยานพาหนะ | 
| load_ | 
 ความจุของยานพาหนะ (น้ำหนัก ปริมาณ จำนวนพาเลต เป็นต้น) คีย์ในแผนที่คือตัวระบุประเภทของการโหลด ซึ่งสอดคล้องกับคีย์ของฟิลด์  | 
| cost_ | 
 ค่ายานพาหนะ: ค่าใช้จ่ายทั้งหมดจะรวมกันและต้องเป็นหน่วยเดียวกับ  ค่าบริการต่อชั่วโมงของเส้นทางยานพาหนะ ค่าใช้จ่ายนี้จะมีผลกับเวลาทั้งหมดที่ใช้ในเส้นทาง ซึ่งรวมถึงเวลาเดินทาง เวลารอ และเวลาเข้าชม การใช้  | 
| cost_ | 
 ค่าบริการต่อชั่วโมงที่เดินทางของเส้นทางยานพาหนะ ต้นทุนนี้มีผลกับเวลาเดินทางตามเส้นทางเท่านั้น (นั่นคือเวลาที่รายงานใน  | 
| cost_ | 
 ค่าบริการต่อกิโลเมตรของเส้นทางยานพาหนะ โดยค่าใช้จ่ายนี้จะมีผลกับระยะทางที่รายงานใน  | 
| fixed_ | 
 ค่าใช้จ่ายคงที่จะมีผลหากใช้ยานพาหนะนี้เพื่อจัดการการจัดส่ง | 
| used_ | 
 ช่องนี้จะใช้ได้กับยานพาหนะเมื่อเส้นทางของยานพาหนะนั้นไม่มีการจัดส่ง ข้อมูลนี้ระบุว่าควรพิจารณายานพาหนะเป็นยานพาหนะมือสองหรือไม่ในกรณีนี้ หากเป็น "จริง" ยานพาหนะจะเดินทางจากจุดเริ่มต้นไปยังจุดสิ้นสุดแม้ว่าจะไม่ได้ให้บริการขนส่งใดๆ ก็ตาม และระบบจะพิจารณาเวลาและค่าใช้จ่ายจากระยะทางที่เกิดขึ้นจากการเดินทางจากจุดเริ่มต้นไปยังจุดสิ้นสุด ไม่เช่นนั้น ยานพาหนะจะไม่เดินทางจากจุดเริ่มต้นไปยังจุดสิ้นสุด และไม่มีการกำหนดเวลา  | 
| route_ | ขีดจํากัดที่มีผลกับระยะเวลาทั้งหมดของเส้นทางยานพาหนะ ใน  | 
| travel_ | ขีดจํากัดมีผลกับระยะเวลาการเดินทางของเส้นทางยานพาหนะ ใน  | 
| route_ | ขีดจํากัดที่มีผลกับระยะทางรวมของเส้นทางยานพาหนะ ใน  | 
| extra_ | 
 ระบุการแมปจากสตริง visit_types ไปยังระยะเวลา ระยะเวลาคือเวลาที่เพิ่มขึ้นจาก  หากคำขอเข้าชมมีหลายประเภท ระบบจะเพิ่มระยะเวลาสำหรับแต่ละประเภทในแผนที่ | 
| break_ | อธิบายกำหนดเวลาพักที่จะบังคับใช้กับยานพาหนะนี้ หากว่างเปล่า ระบบจะไม่กำหนดเวลาพักสำหรับยานพาหนะนี้ | 
| label | 
 ระบุป้ายกำกับสำหรับยานพาหนะนี้ ระบบจะรายงานป้ายกำกับนี้ในการตอบกลับเป็น  | 
| ignore | 
 หากเป็นจริง  หากการจัดส่งดำเนินการโดยยานพาหนะที่ละเว้นใน  หากการจัดส่งดำเนินการโดยยานพาหนะที่ละเว้นใน  | 
| travel_ | 
 ระบุตัวคูณที่สามารถใช้เพื่อเพิ่มหรือลดเวลาเดินทางของยานพาหนะนี้ เช่น การตั้งค่านี้เป็น 2.0 หมายความว่ายานพาหนะนี้ช้ากว่าและมีเวลาเดินทางเป็น 2 เท่าของยานพาหนะมาตรฐาน อัตราส่วนนี้ไม่ส่งผลต่อระยะเวลาในการเข้าชม แต่จะมีผลต่อต้นทุนหากมีการระบุ  โปรดทราบว่าระบบจะปัดเศษเวลาเดินทางเป็นวินาทีที่ใกล้ที่สุดหลังจากใช้ตัวคูณนี้ แต่ก่อนที่จะดำเนินการทางตัวเลขใดๆ ดังนั้นตัวคูณขนาดเล็กอาจทำให้ความแม่นยำลดลง ดูข้อมูลเพิ่มเติมได้ที่  | 
DurationLimit
ขีดจํากัดที่กําหนดระยะเวลาสูงสุดของเส้นทางยานพาหนะ โดยอาจเป็นแบบแข็งหรือแบบอ่อนก็ได้
เมื่อกําหนดช่องขีดจํากัดสูงสุดแบบยืดหยุ่น คุณต้องกําหนดทั้งเกณฑ์สูงสุดแบบยืดหยุ่นและต้นทุนที่เกี่ยวข้องร่วมกัน
| ช่อง | |
|---|---|
| max_ | ขีดจํากัดสูงสุดที่กําหนดให้ระยะเวลาต้องไม่เกิน max_duration | 
| soft_ | ขีดจํากัดแบบไม่บังคับจะไม่บังคับใช้ขีดจํากัดระยะเวลาสูงสุด แต่หากมีการละเมิด เส้นทางจะมีค่าใช้จ่าย ต้นทุนนี้จะรวมกับต้นทุนอื่นๆ ที่กําหนดไว้ในโมเดลซึ่งมีหน่วยเดียวกัน หากมีการกําหนด  | 
| quadratic_ | ขีดจํากัดแบบไม่บังคับจะไม่บังคับใช้ขีดจํากัดระยะเวลาสูงสุด แต่หากมีการละเมิด เส้นทางจะมีต้นทุนแบบ 2 เท่าตามระยะเวลา ต้นทุนนี้จะรวมกับต้นทุนอื่นๆ ที่กําหนดไว้ในโมเดลซึ่งมีหน่วยเดียวกัน หากมีการกําหนด  
 | 
| cost_ | 
 ค่าใช้จ่ายต่อชั่วโมงที่เกิดขึ้นหากมีการละเมิดเกณฑ์  ค่าใช้จ่ายต้องไม่ติดลบ | 
| cost_ | 
 ค่าใช้จ่ายต่อชั่วโมงสี่เหลี่ยมจัตุรัสที่เกิดขึ้นหากมีการละเมิดเกณฑ์  ค่าใช้จ่ายเพิ่มเติมจะเป็น 0 หากระยะเวลาอยู่ต่ำกว่าเกณฑ์ มิเช่นนั้นค่าใช้จ่ายจะขึ้นอยู่กับระยะเวลา ดังนี้ ค่าใช้จ่ายต้องไม่ติดลบ | 
LoadLimit
กําหนดขีดจํากัดน้ำหนักบรรทุกที่ใช้กับยานพาหนะ เช่น "รถบรรทุกนี้บรรทุกได้สูงสุด 3, 500 กก." ดูload_limits
| ช่อง | |
|---|---|
| soft_ | 
 ขีดจำกัดแบบไม่เข้มงวดของการโหลด ดู | 
| cost_ | 
 หากน้ำหนักบรรทุกเกิน  | 
| start_ | ช่วงเวลาของน้ำหนักบรรทุกที่ยอมรับได้ของยานพาหนะเมื่อเริ่มเส้นทาง | 
| end_ | ช่วงเวลาของการบรรทุกที่ยอมรับได้ของยานพาหนะเมื่อสิ้นสุดเส้นทาง | 
| max_ | 
 จำนวนการโหลดสูงสุดที่ยอมรับได้ | 
ช่วงเวลา
ช่วงเวลาของปริมาณการโหลดที่ยอมรับได้
| ช่อง | |
|---|---|
| min | 
 น้ำหนักบรรทุกขั้นต่ำที่ยอมรับได้ ต้องมากกว่าหรือเท่ากับ 0 หากระบุทั้ง 2 รายการ  | 
| max | 
 น้ำหนักบรรทุกสูงสุดที่ยอมรับได้ ต้องมากกว่าหรือเท่ากับ 0 หากไม่ได้ระบุ ระบบจะไม่จำกัดน้ำหนักบรรทุกสูงสุดด้วยข้อความนี้ หากระบุทั้ง 2 รายการ  | 
TravelMode
โหมดการเดินทางที่ยานพาหนะใช้ได้
ซึ่งควรเป็นชุดย่อยของโหมดการเดินทางของ Google Maps Platform Routes API ดูได้ที่ https://developers.google.com/maps/documentation/routes/reference/rest/v2/RouteTravelMode
หมายเหตุ: เส้นทาง WALKING อยู่ในรุ่นเบต้าและบางครั้งอาจไม่มีทางเท้าหรือทางเท้าที่ชัดเจน คุณต้องแสดงคำเตือนนี้ต่อผู้ใช้สำหรับเส้นทางเดินทั้งหมดที่คุณแสดงในแอป
| Enum | |
|---|---|
| TRAVEL_MODE_UNSPECIFIED | โหมดการเดินทางที่ไม่ระบุ ซึ่งเทียบเท่ากับ DRIVING | 
| DRIVING | โหมดการเดินทางที่สอดคล้องกับเส้นทางการขับรถ (รถยนต์ ฯลฯ) | 
| WALKING | โหมดการเดินทางที่สอดคล้องกับเส้นทางเดิน | 
UnloadingPolicy
นโยบายเกี่ยวกับวิธีขนถ่ายยานพาหนะ ใช้กับการจัดส่งที่มีทั้งการรับสินค้าและการนำส่งเท่านั้น
การจัดส่งอื่นๆ จะเกิดขึ้นที่ใดก็ได้ในเส้นทางโดยไม่ขึ้นอยู่กับ unloading_policy
| Enum | |
|---|---|
| UNLOADING_POLICY_UNSPECIFIED | นโยบายการขนถ่ายที่ไม่ได้ระบุไว้ การนำส่งต้องเกิดขึ้นหลังจากการไปรับสินค้าที่เกี่ยวข้อง | 
| LAST_IN_FIRST_OUT | การนำส่งต้องเกิดขึ้นในลำดับที่กลับกันของการรับสินค้า | 
| FIRST_IN_FIRST_OUT | การนำส่งต้องเกิดขึ้นตามลำดับเดียวกับการรับสินค้า | 
จุดบอกทาง
บรรจุจุดอ้างอิง จุดสังเกตจะระบุตำแหน่งมาถึงและออกเดินทางของคำขอเข้าชม รวมถึงตำแหน่งเริ่มต้นและสิ้นสุดของยานพาหนะ
| ช่อง | |
|---|---|
| side_ | 
 ไม่บังคับ บ่งบอกว่าตําแหน่งของจุดแวะพักนี้มีไว้เพื่อกำหนดค่ากำหนดให้ยานพาหนะหยุดที่ด้านใดด้านหนึ่งของถนน เมื่อคุณตั้งค่านี้ เส้นทางจะผ่านสถานที่ตั้งเพื่อให้ยานพาหนะหยุดที่ด้านข้างถนนซึ่งสถานที่ตั้งเอียงไปจากจุดกึ่งกลางของถนน ตัวเลือกนี้ใช้ไม่ได้กับโหมดการเดินทาง "เดิน" | 
| ฟิลด์สหภาพ location_typeวิธีต่างๆ ในการแสดงสถานที่location_typeต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น | |
| location | จุดที่ระบุโดยใช้พิกัดทางภูมิศาสตร์ รวมถึงส่วนหัวที่ไม่บังคับ | 
| place_ | 
 รหัสสถานที่จุดที่น่าสนใจที่เชื่อมโยงกับจุดสังเกต เมื่อใช้รหัสสถานที่เพื่อระบุสถานที่ถึงหรือออกเดินทางของคำขอเข้าชม ให้ใช้รหัสสถานที่ที่เฉพาะเจาะจงเพียงพอที่จะระบุตำแหน่ง LatLng สำหรับการไปยังสถานที่นั้น เช่น รหัสสถานที่ที่แสดงถึงอาคารเหมาะที่จะใช้ แต่เราไม่แนะนำให้ใช้รหัสสถานที่ที่แสดงถึงถนน |