- การแสดง JSON
- การจัดส่ง
- VisitRequest
- LatLng
- จุดอ้างอิง
- ตำแหน่ง
- TimeWindow
- ยานพาหนะ
- TravelMode
- UnloadingPolicy
- LoadLimit
- ช่วงเวลา
- DurationLimit
- DistanceLimit
- BreakRule
- BreakRequest
- FrequencyConstraint
- DurationDistanceMatrix
- แถว
- TransitionAttributes
- ShipmentTypeIncompatibility
- IncompatibilityMode
- ShipmentTypeRequirement
- RequirementMode
- PrecedenceRule
รูปแบบการจัดส่งประกอบด้วยชุดการจัดส่งที่ต้องดำเนินการโดยยานพาหนะหลายคัน ในขณะเดียวกันก็ลดค่าใช้จ่ายโดยรวม ซึ่งเป็นผลรวมของสิ่งต่อไปนี้
- ค่าใช้จ่ายในการกำหนดเส้นทางพาหนะ (ผลรวมของค่าใช้จ่ายต่อเวลาทั้งหมด ค่าใช้จ่ายต่อเวลาเดินทาง และค่าใช้จ่ายคงที่สำหรับยานพาหนะทุกคัน)
- บทลงโทษด้านการจัดส่งที่ไม่สมบูรณ์
- ต้นทุนของระยะเวลาการจัดส่งทั่วโลก
การแสดง JSON |
---|
{ "shipments": [ { object ( |
ช่อง | |
---|---|
shipments[] |
ชุดการจัดส่งที่ต้องดำเนินการในโมเดล |
vehicles[] |
ชุดยานพาหนะที่สามารถใช้ในการเข้าชม |
globalStartTime |
เวลาเริ่มต้นและสิ้นสุดโดยรวมของโมเดล: ไม่มีเวลานอกช่วงนี้ถือว่าถูกต้อง ช่วงเวลาของโมเดลต้องน้อยกว่า 1 ปี กล่าวคือ เมื่อใช้ช่อง การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
globalEndTime |
หากไม่ได้ตั้งค่า ระบบจะใช้ 00:00:00 UTC วันที่ 1 มกราคม 1971 (เช่น วินาที 31536000, nanos: 0) เป็นค่าเริ่มต้น การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
globalDurationCostPerHour |
"ระยะเวลาทั่วโลก" ของแผนโดยรวมคือความแตกต่างระหว่างเวลาเริ่มต้นที่มีประสิทธิภาพเร็วที่สุดกับเวลาสิ้นสุดที่มีประสิทธิภาพล่าสุดของยานพาหนะทั้งหมด เช่น ผู้ใช้กำหนดค่าใช้จ่ายต่อชั่วโมงให้กับจำนวนนั้นได้เพื่อพยายามเพิ่มประสิทธิภาพให้งานเสร็จเร็วที่สุด เป็นต้น ค่าใช้จ่ายนี้ต้องอยู่ในหน่วยเดียวกับ |
durationDistanceMatrices[] |
ระบุระยะเวลาและเมทริกซ์ระยะทางที่ใช้ในโมเดล หากช่องนี้เว้นว่างไว้ ระบบจะใช้ Google Maps หรือระยะทางทางภูมิศาสตร์แทน ทั้งนี้ขึ้นอยู่กับค่าของช่อง ตัวอย่างการใช้
|
durationDistanceMatrixSrcTags[] |
แท็กกำหนดแหล่งที่มาของระยะเวลาและเมทริกซ์ระยะทาง แท็กจะสอดคล้องกับ |
durationDistanceMatrixDstTags[] |
แท็กที่กำหนดปลายทางของระยะเวลาและเมทริกซ์ระยะทาง แท็กจะสอดคล้องกับ |
transitionAttributes[] |
เพิ่มแอตทริบิวต์การเปลี่ยนลงในโมเดลแล้ว |
shipmentTypeIncompatibilities[] |
ชุด shipping_types ที่ใช้ร่วมกันไม่ได้ (ดู |
shipmentTypeRequirements[] |
ชุดข้อกำหนดของ |
precedenceRules[] |
ชุดกฎลำดับความสำคัญซึ่งต้องบังคับใช้ในโมเดล |
maxActiveVehicles |
จำกัดจำนวนยานพาหนะที่ใช้งานอยู่สูงสุด ยานพาหนะจอดอยู่หากเส้นทางมีการจัดส่งอย่างน้อย 1 ครั้ง ซึ่งสามารถใช้เพื่อจำกัดจำนวนเส้นทางในกรณีที่มีผู้ขับขี่น้อยกว่ายานพาหนะและยานพาหนะจำนวนมากเป็นยานพาหนะต่างกัน จากนั้นการเพิ่มประสิทธิภาพจะเลือกชุดย่อยของยานพาหนะที่ดีที่สุดที่จะใช้ ต้องเป็นเชิงบวกอย่างเคร่งครัด |
การจัดส่ง
การจัดส่งสินค้ารายการเดียวจากการรับสินค้าไปยังสินค้าจัดส่งหนึ่งชิ้น หากต้องการให้ถือว่าการจัดส่งดำเนินการสำเร็จ ยานพาหนะที่ไม่ซ้ำกันต้องไปที่จุดรับเองแห่งใดแห่งหนึ่ง (และลดขีดจำกัดสำรองให้สอดคล้องกัน) จากนั้นจึงไปยังสถานที่นำส่งแห่งใดแห่งหนึ่งในภายหลัง (และจะเพิ่มขีดจำกัดสำรองอีกครั้งตามความเหมาะสม)
การแสดง JSON |
---|
{ "displayName": string, "pickups": [ { object ( |
ช่อง | |
---|---|
displayName |
ชื่อที่แสดงที่ผู้ใช้กำหนดของการจัดส่ง โดยมีความยาวได้สูงสุด 63 อักขระและใช้อักขระ UTF-8 ได้ |
pickups[] |
ชุดตัวเลือกการรับสินค้าที่เชื่อมโยงกับการจัดส่ง หากไม่ระบุ ยานพาหนะจะต้องไปยังสถานที่ตั้งที่เกี่ยวข้องกับการนำส่งเท่านั้น |
deliveries[] |
ชุดทางเลือกในการนำส่งที่เชื่อมโยงกับการจัดส่ง หากไม่ระบุ ยานพาหนะจะต้องไปยังสถานที่ตั้งที่เกี่ยวข้องกับการรับสินค้าเท่านั้น |
loadDemands |
น้ำหนักของการขนส่ง (เช่น น้ำหนัก ปริมาณ จำนวนพาเลต ฯลฯ) คีย์ในแผนที่ควรเป็นตัวระบุที่อธิบายประเภทของการโหลดที่เกี่ยวข้อง และควรรวมหน่วยไว้ด้วย ยกตัวอย่างเช่น "weight_kg", "Volume_gallons", "pallet_count" ฯลฯ หากคีย์ที่ระบุไม่ปรากฏในแผนที่ โหลดที่เกี่ยวข้องจะถือเป็นค่าว่าง ออบเจ็กต์ที่มีรายการคู่ |
allowedVehicleIndices[] |
ชุดยานพาหนะที่สามารถดำเนินการจัดส่งนี้ได้ หากปล่อยว่างไว้ ยานพาหนะทุกคันอาจทำงานได้ ระบบระบุยานพาหนะตามดัชนีไว้ในรายชื่อ |
costsPerVehicle[] |
ระบุค่าใช้จ่ายที่เกิดขึ้นเมื่อยานพาหนะแต่ละคันได้รับการจัดส่งนี้ หากระบุไว้ ไฟล์จะต้องมีอย่างใดอย่างหนึ่งต่อไปนี้
ค่าใช้จ่ายเหล่านี้ต้องอยู่ในหน่วยเดียวกับ |
costsPerVehicleIndices[] |
ดัชนียานพาหนะที่ |
pickupToDeliveryAbsoluteDetourLimit |
ระบุเวลาเปลี่ยนเส้นทางสัมบูรณ์สูงสุดเทียบกับเส้นทางที่สั้นที่สุดจากการรับสินค้าจนถึงการนำส่ง หากระบุ ค่านั้นต้องไม่ติดลบและการจัดส่งต้องมีการรับสินค้าและการนำส่งเป็นอย่างน้อย เช่น ระบุระยะเวลาที่สั้นที่สุดในการเดินทางจากตัวเลือกการรับสินค้าที่เลือกไว้ไปยังทางเลือกการจัดส่งที่เลือกโดยตรง จากนั้นการตั้งค่า
หากระบุทั้งขีดจำกัดแบบสัมพัทธ์และสัมบูรณ์ในการจัดส่งเดียวกัน ระบบจะใช้ขีดจำกัดของข้อจำกัดที่มากขึ้นสำหรับคู่สินค้าที่จะมารับ/นำส่งแต่ละคู่ ตั้งแต่วันที่ 10/10/2017 เป็นต้นไป ระบบจะรองรับการเปลี่ยนเส้นทางในกรณีที่ระยะเวลาการเดินทางไม่ได้ขึ้นอยู่กับยานพาหนะเท่านั้น ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
pickupToDeliveryTimeLimit |
ระบุระยะเวลาสูงสุดตั้งแต่เริ่มรับสินค้าไปจนถึงเวลาเริ่มนำส่งพัสดุ หากระบุ ค่านั้นต้องไม่ติดลบและการจัดส่งต้องมีการรับสินค้าและการนำส่งเป็นอย่างน้อย ข้อมูลนี้ไม่ได้ขึ้นอยู่กับทางเลือกต่างๆ ที่เราเลือกใช้สำหรับการมารับที่ร้านและจัดส่ง หรือขึ้นอยู่กับความเร็วของยานพาหนะ สามารถระบุร่วมกับข้อจำกัดทางอ้อมสูงสุด: โซลูชันจะเป็นไปตามข้อกำหนดทั้ง 2 อย่าง ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
shipmentType |
สตริงที่ไม่ว่างเปล่าที่ระบุ "ประเภท" สำหรับการจัดส่งนี้ ฟีเจอร์นี้สามารถใช้เพื่อกำหนดความไม่เข้ากันหรือข้อกำหนดระหว่าง แตกต่างจาก |
label |
ระบุป้ายกำกับสำหรับการจัดส่งนี้ ป้ายกำกับนี้มีการรายงานในคำตอบใน |
ignore |
หากเป็นจริง ให้ข้ามการจัดส่งนี้ แต่อย่าใช้ การละเว้นการจัดส่งจะทำให้เกิดข้อผิดพลาดในการตรวจสอบเมื่อมี อนุญาตให้เพิกเฉยต่อการจัดส่งที่ดำเนินการใน |
penaltyCost |
หากการจัดส่งไม่เสร็จสมบูรณ์ ค่าปรับนี้จะรวมอยู่ในค่าใช้จ่ายโดยรวมของเส้นทาง ระบบจะถือว่าการจัดส่งเสร็จสมบูรณ์หากมีการไปรับสินค้าที่ร้านหรือจัดส่งถึงบ้าน ค่าใช้จ่ายอาจแสดงในหน่วยเดียวกันกับที่ใช้สำหรับช่องที่เกี่ยวข้องกับค่าใช้จ่ายอื่นๆ ทั้งหมดในโมเดล และต้องเป็นค่าบวก สําคัญ: หากไม่ได้ระบุบทลงโทษนี้ จะถือว่าไม่มีที่สิ้นสุด กล่าวคือ ต้องดําเนินการจัดส่งให้เสร็จสมบูรณ์ |
pickupToDeliveryRelativeDetourLimit |
ระบุเวลาทางอ้อมสูงสุดเมื่อเทียบกับเส้นทางที่สั้นที่สุดจากการรับสินค้าไปจนถึงการจัดส่ง หากระบุ ค่านั้นต้องไม่ติดลบและการจัดส่งต้องมีการรับสินค้าและการนำส่งเป็นอย่างน้อย เช่น ระบุระยะเวลาที่สั้นที่สุดในการเดินทางจากตัวเลือกการรับสินค้าที่เลือกไว้ไปยังทางเลือกการจัดส่งที่เลือกโดยตรง จากนั้นการตั้งค่า
หากระบุทั้งขีดจำกัดแบบสัมพัทธ์และสัมบูรณ์ในการจัดส่งเดียวกัน ระบบจะใช้ขีดจำกัดของข้อจำกัดที่มากขึ้นสำหรับคู่สินค้าที่จะมารับ/นำส่งแต่ละคู่ ตั้งแต่วันที่ 10/10/2017 เป็นต้นไป ระบบจะรองรับการเปลี่ยนเส้นทางในกรณีที่ระยะเวลาการเดินทางไม่ได้ขึ้นอยู่กับยานพาหนะเท่านั้น |
VisitRequest
ขอเข้าชมในยานพาหนะได้ด้วย โดยมีการระบุตำแหน่งทางภูมิศาสตร์ (หรือ 2 ตำแหน่ง ดูด้านล่าง) เวลาเปิดและปิดซึ่งแสดงเป็นกรอบเวลา และระยะเวลาการให้บริการ (เวลาที่ยานพาหนะใช้เมื่อมาถึงเพื่อไปรับหรือส่งคืนสินค้า)
การแสดง JSON |
---|
{ "arrivalLocation": { object ( |
ช่อง | |
---|---|
arrivalLocation |
ตำแหน่งทางภูมิศาสตร์ที่ยานพาหนะมาถึงเมื่อปฏิบัติ |
arrivalWaypoint |
จุดอ้างอิงที่ยานพาหนะมาถึงเมื่อออก |
departureLocation |
ตำแหน่งทางภูมิศาสตร์ที่พาหนะออกเดินทางหลังจาก |
departureWaypoint |
จุดอ้างอิงที่ยานพาหนะจะออกหลังจากเสร็จสิ้น |
tags[] |
ระบุแท็กที่แนบมากับคำขอการเข้าชม ไม่อนุญาตให้มีสตริงว่างหรือซ้ำกัน |
timeWindows[] |
กรอบเวลาที่จํากัดเวลาถึงที่การเข้าชม โปรดทราบว่ายานพาหนะอาจออกเดินทางนอกกรอบเวลาถึง เช่น เวลาถึง + ระยะเวลาไม่จำเป็นต้องอยู่ในกรอบเวลา ซึ่งอาจส่งผลให้ต้องใช้เวลารอหากยานพาหนะมาถึงก่อน ไม่มี กรอบเวลาต้องไม่ต่อเนื่อง กล่าวคือ ไม่มีกรอบเวลาต้องทับซ้อนหรืออยู่ติดกันและต้องเรียงกันมากขึ้น ตั้งค่า |
duration |
ระยะเวลาการเข้าชม เช่น เวลาที่รถใช้ระหว่างขาเข้าและขาออก (หากต้องการรวมกับระยะเวลารอที่เป็นไปได้ โปรดดู ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
cost |
ค่าใช้จ่ายในการให้บริการคำขอเยี่ยมชมนี้บนเส้นทางสำหรับยานพาหนะ ซึ่งสามารถใช้เพื่อชำระค่าใช้จ่ายที่แตกต่างกันสำหรับการมารับที่ร้านหรือการจัดส่งแต่ละรายการ ค่าใช้จ่ายนี้ต้องอยู่ในหน่วยเดียวกับ |
loadDemands |
ความต้องการโหลดของคำขอการเข้าชมนี้ ซึ่งเหมือนกับช่อง ออบเจ็กต์ที่มีรายการคู่ |
visitTypes[] |
ระบุประเภทการเข้าชม ซึ่งอาจใช้ในการจัดสรรเวลาเพิ่มเติมที่ต้องใช้ในการเดินทางไปยังยานพาหนะนี้ให้เสร็จสมบูรณ์ (ดู ประเภทหนึ่งๆ จะแสดงได้เพียงครั้งเดียวเท่านั้น |
label |
ระบุป้ายกำกับสำหรับ |
LatLng
วัตถุที่แสดงคู่ละติจูด/ลองจิจูด ค่านี้แสดงเป็นเลขคู่คู่แทนองศาละติจูดและลองจิจูดองศา ออบเจ็กต์นี้ต้องเป็นไปตาม มาตรฐาน WGS84 เว้นแต่จะระบุไว้เป็นอย่างอื่น ค่าต้องอยู่ภายในช่วงมาตรฐาน
การแสดง JSON |
---|
{ "latitude": number, "longitude": number } |
ช่อง | |
---|---|
latitude |
ละติจูดเป็นองศา ค่าต้องอยู่ในช่วง [-90.0, +90.0] |
longitude |
ลองจิจูด หน่วยเป็นองศา ค่าต้องอยู่ในช่วง [-180.0, +180.0] |
จุดบอกทาง
ล้อมรอบจุดอ้างอิง จุดอ้างอิงจะระบุตำแหน่งขาเข้าและขาออกของ ReachRequests รวมถึงตำแหน่งเริ่มต้นและสิ้นสุดของยานพาหนะ
การแสดง JSON |
---|
{ "sideOfRoad": boolean, // Union field |
ช่อง | |
---|---|
sideOfRoad |
ไม่บังคับ ระบุว่าตำแหน่งจุดอ้างอิงนี้ต้องการให้รถจอดที่ฝั่งใดฝั่งหนึ่งของถนน เมื่อคุณกำหนดค่านี้ เส้นทางจะผ่านตำแหน่งเพื่อให้รถสามารถหยุดที่ด้านข้างถนนที่ตำแหน่งดังกล่าวมีความคลาดเคลื่อนจากกึ่งกลางของถนน ตัวเลือกนี้ใช้ไม่ได้กับโหมดการเดินทาง "เดินเท้า" |
ฟิลด์สหภาพ location_type วิธีต่างๆ ในการนำเสนอสถานที่ location_type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
location |
จุดที่ระบุโดยใช้พิกัดทางภูมิศาสตร์ รวมถึงส่วนหัวที่ไม่บังคับ |
placeId |
รหัสสถานที่ของจุดที่น่าสนใจที่เชื่อมโยงกับการชี้ทาง |
ตำแหน่ง
มีการล้อมรอบสถานที่ตั้ง (จุดทางภูมิศาสตร์ และหัวข้อที่ไม่บังคับ)
การแสดง JSON |
---|
{
"latLng": {
object ( |
ช่อง | |
---|---|
latLng |
พิกัดทางภูมิศาสตร์ของจุดอ้างอิง |
heading |
ทิศทางของเข็มทิศที่เชื่อมโยงกับทิศทางการเคลื่อนที่ของการจราจร ค่านี้ใช้เพื่อระบุด้านข้างของถนนที่จะใช้สำหรับการไปรับและส่งคืน ค่าส่วนหัวอาจอยู่ระหว่าง 0 ถึง 360 โดย 0 ระบุทิศทางของทิศเหนือ และ 90 ระบุทิศทางของ "ตะวันออกเฉียงเหนือ" ฯลฯ |
TimeWindow
กรอบเวลาจะจํากัดเวลาของเหตุการณ์ เช่น เวลาที่มาถึงเมื่อเข้าชม หรือเวลาเริ่มต้นและสิ้นสุดของยานพาหนะ
ขอบเขตของกรอบเวลาแบบเข้มงวด startTime
และ endTime
จะบังคับใช้เวลาแรกสุดและล่าสุดของเหตุการณ์เพื่อให้ startTime <= event_time <=
endTime
ขอบเขตล่างของกรอบเวลาชั่วคราว softStartTime
แสดงค่ากำหนดของเหตุการณ์ให้เกิดขึ้นที่หรือหลังจาก softStartTime
โดยระบุต้นทุนตามสัดส่วนของระยะเวลาก่อน softStartTime ที่เหตุการณ์จะเกิดขึ้น ขอบเขตบนของกรอบเวลาชั่วคราว softEndTime
จะแสดงค่ากําหนดให้เหตุการณ์เกิดขึ้นในหรือก่อน softEndTime
โดยทําให้ต้นทุนเป็นสัดส่วนกับระยะเวลาหลังจาก softEndTime
ที่เกิดเหตุการณ์ startTime
, endTime
, softStartTime
และ softEndTime
ควรอยู่ภายในขีดจำกัดเวลาทั่วโลก (ดู ShipmentModel.global_start_time
และ ShipmentModel.global_end_time
) และควรเป็นไปตามข้อกำหนดต่อไปนี้
0 <= `startTime` <= `softStartTime` <= `endTime` and
0 <= `startTime` <= `softEndTime` <= `endTime`.
การแสดง JSON |
---|
{ "startTime": string, "endTime": string, "softStartTime": string, "softEndTime": string, "costPerHourBeforeSoftStartTime": number, "costPerHourAfterSoftEndTime": number } |
ช่อง | |
---|---|
startTime |
เวลาเริ่มต้นของกรอบเวลาที่ยากลำบาก หากไม่ระบุ ระบบจะตั้งค่าเป็น การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
endTime |
เวลาสิ้นสุดของกรอบเวลาที่ยากลำบาก หากไม่ระบุ ระบบจะตั้งค่าเป็น การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
softStartTime |
เวลาเริ่มต้นแบบซอฟต์สตาร์ทของกรอบเวลา การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
softEndTime |
เวลาสิ้นสุดแบบนุ่มนวลของกรอบเวลา การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
costPerHourBeforeSoftStartTime |
ค่าใช้จ่ายต่อชั่วโมงที่เพิ่มลงในค่าใช้จ่ายอื่นๆ ในโมเดลหากเหตุการณ์เกิดขึ้นก่อน softStartTime โดยคำนวณจาก
ค่าใช้จ่ายนี้ต้องเป็นบวกและสามารถตั้งค่าช่องนี้ได้ก็ต่อเมื่อมีการตั้งค่า softStartTime แล้วเท่านั้น |
costPerHourAfterSoftEndTime |
ค่าใช้จ่ายต่อชั่วโมงที่เพิ่มลงในค่าใช้จ่ายอื่นๆ ในโมเดล หากเหตุการณ์เกิดขึ้นหลังจาก
ค่าใช้จ่ายนี้ต้องเป็นค่าบวก และจะตั้งค่าช่องนี้ได้ก็ต่อเมื่อได้ตั้งค่า |
ยานพาหนะ
สร้างโมเดลยานพาหนะที่มีปัญหาเกี่ยวกับการจัดส่ง การแก้ไขปัญหาเกี่ยวกับการจัดส่งจะสร้างเส้นทางที่เริ่มจาก startLocation
และสิ้นสุดที่ endLocation
สำหรับยานพาหนะนี้ เส้นทางคือลำดับการเข้าชม (ดู ShipmentRoute
)
การแสดง JSON |
---|
{ "displayName": string, "travelMode": enum ( |
ช่อง | |
---|---|
displayName |
ชื่อที่แสดงของยานพาหนะที่ผู้ใช้กำหนด โดยมีความยาวได้สูงสุด 63 อักขระและใช้อักขระ UTF-8 ได้ |
travelMode |
รูปแบบการเดินทางซึ่งส่งผลต่อถนนที่รถวิ่งอยู่และความเร็ว ดู |
startLocation |
สถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะสตาร์ทก่อนไปรับการจัดส่ง หากไม่ระบุ รถจะสตาร์ทตั้งแต่การมารับครั้งแรก หากรูปแบบการจัดส่งมีระยะเวลาและเมทริกซ์ระยะทาง ก็ต้องไม่ระบุ |
startWaypoint |
จุดอ้างอิงที่แสดงสถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะสตาร์ทก่อนไปรับการจัดส่ง หากไม่ได้ระบุทั้ง |
endLocation |
สถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะสิ้นสุดหลังจากสิ้นสุด |
endWaypoint |
จุดอ้างอิงที่แสดงสถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะสิ้นสุดหลังจากสิ้นสุด |
startTags[] |
ระบุแท็กที่ติดอยู่กับจุดเริ่มต้นของเส้นทางของยานพาหนะ ไม่อนุญาตให้มีสตริงว่างหรือซ้ำกัน |
endTags[] |
ระบุแท็กที่ติดอยู่ท้ายเส้นทางของยานพาหนะ ไม่อนุญาตให้มีสตริงว่างหรือซ้ำกัน |
startTimeWindows[] |
กรอบเวลาที่รถอาจออกเดินทางจากตำแหน่งเริ่มต้น โดยต้องอยู่ในขีดจำกัดเวลาทั่วโลก (ดู กรอบเวลาที่อยู่ในช่องที่ซ้ำเดียวกันต้องไม่ต่อเนื่องกัน กล่าวคือ ไม่มีกรอบเวลาดังกล่าวทับซ้อนหรืออยู่ติดกันได้ และต้องไม่อยู่ตามลำดับเวลา ตั้งค่า |
endTimeWindows[] |
กรอบเวลาที่ยานพาหนะอาจจะมาถึงปลายทาง โดยต้องอยู่ในขีดจำกัดเวลาทั่วโลก (ดู กรอบเวลาที่อยู่ในช่องที่ซ้ำเดียวกันต้องไม่ต่อเนื่องกัน กล่าวคือ ไม่มีกรอบเวลาดังกล่าวทับซ้อนหรืออยู่ติดกันได้ และต้องไม่อยู่ตามลำดับเวลา ตั้งค่า |
unloadingPolicy |
บังคับใช้นโยบายการยกเลิกการโหลดบนยานพาหนะแล้ว |
loadLimits |
ความจุของยานพาหนะ (เช่น น้ำหนัก ปริมาตร จำนวนพาเลต) คีย์ในแผนที่คือตัวระบุประเภทการโหลด ซึ่งสอดคล้องกับคีย์ของช่อง ออบเจ็กต์ที่มีรายการคู่ |
costPerHour |
ค่าใช้จ่ายสำหรับยานพาหนะ: ค่าใช้จ่ายทั้งหมดรวมกันและต้องอยู่ในหน่วยเดียวกับ ค่าใช้จ่ายต่อชั่วโมงของเส้นทางพาหนะ ค่าใช้จ่ายนี้จะใช้กับเวลารวมที่ใช้เส้นทางนั้นๆ ซึ่งรวมถึงเวลาในการเดินทาง เวลาที่รอ และเวลาในการเยี่ยมชม การใช้ |
costPerTraveledHour |
ต้นทุนต่อชั่วโมงในการเดินทางของเส้นทางยานพาหนะ ค่าใช้จ่ายนี้มีผลเฉพาะกับระยะเวลาเดินทางที่ใช้เส้นทาง (ซึ่งรายงานในเดือน |
costPerKilometer |
ค่าใช้จ่ายต่อกิโลเมตรของเส้นทางยานพาหนะ ค่าใช้จ่ายนี้ใช้กับระยะทางที่รายงานใน |
fixedCost |
จะมีค่าบริการคงที่หากใช้ยานพาหนะนี้ในการจัดส่ง |
usedIfRouteIsEmpty |
ช่องนี้ใช้กับยานพาหนะเมื่อเส้นทางไม่ได้ให้บริการการจัดส่งเท่านั้น ซึ่งจะระบุว่าในกรณีนี้ ระบบควรพิจารณาว่ายานพาหนะเป็นรถมือสองหรือไม่ หากเป็นจริง พาหนะจะเดินทางจากต้นทางถึงปลายทางแม้ว่าจะไม่ได้ให้บริการส่งสินค้าก็ตาม และคำนึงถึงค่าใช้จ่ายด้านเวลาและระยะทางที่เกิดขึ้นเมื่อเริ่มต้น --> การเดินทางเมื่อสิ้นสุดจะนำมาพิจารณาด้วย มิเช่นนั้น จะไม่เดินทางจากต้นทางถึงปลายทาง และไม่มีกำหนดเวลา |
routeDurationLimit |
ขีดจำกัดมีผลกับระยะเวลารวมของเส้นทางที่ใช้ยานพาหนะ ใน |
travelDurationLimit |
ขีดจำกัดมีผลกับระยะเวลาเดินทางของเส้นทางรถยนต์ ใน |
routeDistanceLimit |
ขีดจำกัดมีผลกับระยะทางรวมของเส้นทางรถ ใน |
extraVisitDurationForVisitType |
ระบุแมปจากสตริง trafficTypes ไปจนถึงระยะเวลา ระยะเวลาเป็นเวลานอกเหนือจาก หากคำขอเข้าชมมีหลายประเภท ระบบจะเพิ่มระยะเวลาสำหรับแต่ละประเภทในแผนที่ ออบเจ็กต์ที่มีรายการคู่ |
breakRule |
อธิบายกำหนดเวลาพักที่จะบังคับใช้กับยานพาหนะนี้ หากเว้นว่างไว้ จะไม่มีการกำหนดเวลาพักสำหรับยานพาหนะคันนี้ |
label |
ระบุป้ายกำกับสำหรับยานพาหนะนี้ ป้ายกำกับนี้มีการรายงานในคำตอบเป็น |
ignore |
หากเป็น "จริง" หากดำเนินการจัดส่งโดยยานพาหนะที่ละเว้นใน หากดำเนินการจัดส่งโดยยานพาหนะที่เพิกเฉยใน |
travelDurationMultiple |
ระบุตัวคูณที่ใช้ซ้ำเพื่อเพิ่มหรือลดระยะเวลาเดินทางของยานพาหนะนี้ได้ ตัวอย่างเช่น การตั้งค่าเป็น 2.0 หมายความว่ายานพาหนะคันนี้จะช้ากว่าและมีระยะเวลาเดินทางมากกว่ายานพาหนะมาตรฐานถึง 2 เท่า หลายรายการนี้ไม่มีผลต่อระยะเวลาการเข้าชม และจะมีผลต่อค่าใช้จ่ายหากระบุ คำเตือน: เวลาเดินทางจะปัดเศษเป็นวินาทีที่ใกล้เคียงที่สุดหลังจากใช้ตัวคูณนี้ แต่ก่อนที่จะดำเนินการตัวเลข ดังนั้น การปัดเศษหลายครั้งอาจทำให้ความแม่นยําลดลง โปรดดู |
TravelMode
รูปแบบการเดินทางที่สามารถใช้โดยรถยนต์
โหมดเหล่านี้ควรเป็นส่วนหนึ่งของโหมดการเดินทางของ Google Maps Platform Routes ที่ต้องการ ดูใน https://developers.google.com/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode
Enum | |
---|---|
TRAVEL_MODE_UNSPECIFIED |
โหมดการเดินทางที่ไม่ระบุ เทียบเท่ากับ DRIVING |
DRIVING |
รูปแบบการเดินทางที่สอดคล้องกับเส้นทางการขับขี่ (รถยนต์, ...) |
WALKING |
รูปแบบการเดินทางที่สอดคล้องกับเส้นทางเดินเท้า |
UnloadingPolicy
นโยบายเกี่ยวกับวิธียกเลิกการขนย้ายยานพาหนะ มีผลเฉพาะกับการจัดส่งที่มีทั้งการรับสินค้าและการจัดส่ง
การจัดส่งอื่นๆ ไม่มีค่าใช้จ่ายใดๆ เกิดขึ้นได้ทุกที่ในเส้นทางที่ไม่ขึ้นกับ unloadingPolicy
Enum | |
---|---|
UNLOADING_POLICY_UNSPECIFIED |
นโยบายการยกเลิกการโหลดที่ไม่ได้ระบุ การจัดส่งต้องเกิดขึ้นหลังจากการมารับสินค้าที่เกี่ยวข้องเท่านั้น |
LAST_IN_FIRST_OUT |
ต้องนำส่งสินค้าตามลําดับการรับสินค้า |
FIRST_IN_FIRST_OUT |
การนำส่งต้องดำเนินการในลำดับเดียวกับการรับสินค้า |
LoadLimit
กำหนดขีดจำกัดการบรรทุกที่ใช้กับยานพาหนะ เช่น "รถบรรทุกนี้รับน้ำหนักได้สูงสุด 3, 500 กก. เท่านั้น" ดูloadLimits
การแสดง JSON |
---|
{ "softMaxLoad": string, "costPerUnitAboveSoftMax": number, "startLoadInterval": { object ( |
ช่อง | |
---|---|
softMaxLoad |
ขีดจำกัดการโหลดแบบไม่เข้มงวด ดู |
costPerUnitAboveSoftMax |
หากน้ำหนักบรรทุกเกิน |
startLoadInterval |
ช่วงการบรรทุกที่ยอมรับได้ของยานพาหนะที่จุดเริ่มต้นของเส้นทาง |
endLoadInterval |
ช่วงการบรรทุกที่ยอมรับได้ของยานพาหนะเมื่อถึงจุดสิ้นสุดของเส้นทาง |
maxLoad |
จำนวนการโหลดสูงสุดที่ยอมรับได้ |
ช่วงเวลา
ระยะเวลาของการโหลดที่ยอมรับได้
การแสดง JSON |
---|
{ "min": string, "max": string } |
ช่อง | |
---|---|
min |
การโหลดขั้นต่ำที่ยอมรับได้ ต้องเท่ากับ ≥ 0 หากระบุไว้ทั้ง 2 แบบ |
max |
น้ำหนักสูงสุดที่ยอมรับได้ ต้องเท่ากับ ≥ 0 หากไม่ระบุ ข้อความนี้จะไม่มีการจำกัดการโหลดสูงสุด หากระบุไว้ทั้ง 2 แบบ |
DurationLimit
ขีดจำกัดที่กำหนดระยะเวลาสูงสุดของเส้นทางของยานพาหนะ อาจแข็งหรืออ่อนก็ได้
เมื่อมีการกำหนดช่องขีดจำกัด Soft จะต้องกำหนดทั้งเกณฑ์ Soft Max และค่าใช้จ่ายที่เกี่ยวข้องร่วมกัน
การแสดง JSON |
---|
{ "maxDuration": string, "softMaxDuration": string, "quadraticSoftMaxDuration": string, "costPerHourAfterSoftMax": number, "costPerSquareHourAfterQuadraticSoftMax": number } |
ช่อง | |
---|---|
maxDuration |
ขีดจำกัดแบบเข้มงวดจะจำกัดระยะเวลาสูงสุดเป็น maxDuration ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
softMaxDuration |
ขีดจำกัดแบบไม่เข้มงวดที่บังคับใช้ขีดจำกัดระยะเวลาสูงสุด แต่หากมีการละเมิดจะทำให้เส้นทางนั้นเสียค่าใช้จ่าย ค่าใช้จ่ายนี้จะรวมกันกับค่าใช้จ่ายอื่นๆ ที่กำหนดไว้ในโมเดลโดยใช้หน่วยเดียวกัน หากกำหนดไว้ ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
quadraticSoftMaxDuration |
ขีดจำกัดแบบไม่เข้มงวดที่บังคับใช้ระยะเวลาสูงสุด แต่การละเมิดจะทำให้เส้นทางนั้นมีค่าใช้จ่ายเป็นเลขกำลังสองในช่วงเวลาดังกล่าว ค่าใช้จ่ายนี้จะรวมกันกับค่าใช้จ่ายอื่นๆ ที่กำหนดไว้ในโมเดลโดยใช้หน่วยเดียวกัน หากกำหนดไว้
ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
costPerHourAfterSoftMax |
จะมีค่าใช้จ่ายต่อชั่วโมงหากละเมิดเกณฑ์
ค่าใช้จ่ายต้องไม่ติดลบ |
costPerSquareHourAfterQuadraticSoftMax |
ค่าใช้จ่ายต่อตารางชั่วโมงที่เกิดขึ้นหากละเมิดเกณฑ์ ค่าใช้จ่ายเพิ่มเติมจะเป็น 0 หากระยะเวลาต่ำกว่าเกณฑ์ ไม่เช่นนั้น ค่าใช้จ่ายจะขึ้นอยู่กับระยะเวลาดังนี้
ค่าใช้จ่ายต้องไม่ติดลบ |
DistanceLimit
ขีดจำกัดเป็นตัวกำหนดระยะทางสูงสุดที่เดินทางได้ อาจแข็งหรืออ่อนก็ได้
หากกำหนดขีดจำกัดรอง ต้องกำหนดทั้ง softMaxMeters
และ costPerKilometerAboveSoftMax
และไม่เป็นค่าลบ
การแสดง JSON |
---|
{ "maxMeters": string, "softMaxMeters": string, "costPerKilometerAboveSoftMax": number } |
ช่อง | |
---|---|
maxMeters |
ขีดจำกัดแบบเข้มงวดจะจํากัดระยะทางที่ไม่เกิน maxMeters ขีดจำกัดต้องไม่ติดลบ |
softMaxMeters |
ค่าจำกัดชั่วคราวที่ไม่ได้บังคับใช้ขีดจำกัดระยะทางสูงสุด แต่หากมีการละเมิดจะส่งผลให้เกิดค่าใช้จ่ายที่บวกกับค่าใช้จ่ายอื่นๆ ที่กำหนดไว้ในโมเดลด้วยหน่วยเดียวกัน หาก softMaxMeters กำหนดไว้ต้องน้อยกว่า maxMeters และต้องไม่เป็นค่าลบ |
costPerKilometerAboveSoftMax |
ต้นทุนต่อกิโลเมตรที่เกิดขึ้นหากระยะทางเกินขีดจํากัด
ค่าใช้จ่ายต้องไม่ติดลบ |
BreakRule
กฎในการสร้างช่วงพักสำหรับยานพาหนะ (เช่น ช่วงพักกลางวัน) ช่วงพักคือระยะเวลาที่ต่อเนื่องกันระหว่างที่พาหนะไม่มีการใช้งานที่ตำแหน่งปัจจุบันและไม่สามารถเยี่ยมชมได้ เวลาพักอาจเกิดเหตุการณ์ต่อไปนี้
- ระหว่างการเดินทางระหว่างการเข้าชม 2 ครั้ง (ซึ่งรวมถึงเวลาที่อยู่ก่อนหรือหลังการเข้าชม แต่ไม่ใช่ระหว่างการเข้าชม) ซึ่งในกรณีนี้จะเป็นการขยายเวลาขนส่งในระหว่างการเข้าชมนั้นๆ
- หรือก่อนที่รถจะสตาร์ท (รถอาจไม่สตาร์ทระหว่างหยุดพัก) ซึ่งในกรณีนี้จะไม่มีผลต่อเวลาเริ่มต้นของรถ
- หรือหลังสิ้นสุดยานพาหนะ (ด้วยเวลาสิ้นสุดของยานพาหนะ)
การแสดง JSON |
---|
{ "breakRequests": [ { object ( |
ช่อง | |
---|---|
breakRequests[] |
ลำดับของช่วงพัก ดูข้อความ |
frequencyConstraints[] |
อาจมี |
BreakRequest
คุณต้องทราบลำดับของการพัก (เช่น หมายเลขและลำดับ) ที่ใช้กับยานพาหนะแต่ละคันล่วงหน้า BreakRequest
ที่ซ้ำจะกำหนดลำดับดังกล่าว ตามลำดับที่ต้องแสดง กรอบเวลา (earliestStartTime
/ latestStartTime
) อาจซ้อนทับกัน แต่ต้องเข้ากันได้กับคำสั่งซื้อ (เลือกไว้)
การแสดง JSON |
---|
{ "earliestStartTime": string, "latestStartTime": string, "minDuration": string } |
ช่อง | |
---|---|
earliestStartTime |
ต้องระบุ ขอบเขตล่าง (รวม) เมื่อเริ่มต้นช่วงพัก การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
latestStartTime |
ต้องระบุ ขอบเขตบน (รวม) เมื่อเริ่มต้นช่วงพัก การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
minDuration |
ต้องระบุ ระยะเวลาขั้นต่ำของช่วงพัก ต้องเป็นค่าบวก ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
FrequencyConstraint
เราอาจจำกัดความถี่และระยะเวลาของช่วงพักที่ระบุไว้ข้างต้นด้วยการบังคับใช้ความถี่ช่วงพักขั้นต่ำ เช่น "ต้องมีช่วงพักอย่างน้อย 1 ชั่วโมงทุก 12 ชั่วโมง" สมมติว่าค่านี้แปลได้ว่า "ภายในกรอบเวลาการเลื่อนที่ 12 ชม. ต้องมีช่วงพักอย่างน้อย 1 ชั่วโมงอย่างน้อย 1 ชั่วโมง" ตัวอย่างนั้นจะแปลค่าเป็น FrequencyConstraint
ต่อไปนี้
{
minBreakDuration { seconds: 3600 } # 1 hour.
maxInterBreakDuration { seconds: 39600 } # 11 hours (12 - 1 = 11).
}
เวลาและระยะเวลาของช่วงพักในโซลูชันจะเป็นไปตามข้อจำกัดดังกล่าวทั้งหมด นอกเหนือจากกรอบเวลาและระยะเวลาขั้นต่ำที่ระบุไว้ใน BreakRequest
แล้ว
FrequencyConstraint
ในทางปฏิบัติอาจมีผลกับช่วงพักโฆษณาที่ไม่ต่อเนื่อง ตัวอย่างเช่น กำหนดเวลาต่อไปนี้เป็นไปตามตัวอย่าง "1h ทุก 12h"
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
การแสดง JSON |
---|
{ "minBreakDuration": string, "maxInterBreakDuration": string } |
ช่อง | |
---|---|
minBreakDuration |
ต้องระบุ ระยะเวลาช่วงพักขั้นต่ำสำหรับข้อจำกัดนี้ ไม่ใช่ค่าลบ ดูคำอธิบายของ ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
maxInterBreakDuration |
ต้องระบุ ช่วงเวลาสูงสุดที่อนุญาตของช่วงเวลาใดก็ได้ในเส้นทางที่ไม่มีช่วงพักของ ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
DurationDistanceMatrix
ระบุระยะเวลาและเมทริกซ์ระยะทางจากตำแหน่งการเยี่ยมชมและตำแหน่งเริ่มต้นของรถเพื่อไปยังสถานที่สุดท้ายของรถ
การแสดง JSON |
---|
{
"rows": [
{
object ( |
ช่อง | |
---|---|
rows[] |
ระบุแถวของระยะเวลาและเมทริกซ์ระยะทาง ต้องมีองค์ประกอบเท่ากับ |
vehicleStartTag |
แท็กระบุว่ายานพาหนะใดที่ใช้ระยะเวลานี้และเมตริกระยะทางนี้ หากเว้นว่างไว้ การตั้งค่านี้จะมีผลกับยานพาหนะทั้งหมด และจะมีเมทริกซ์ได้เพียงรายการเดียว การสตาร์ทรถแต่ละครั้งต้องตรงกับเมทริกซ์ 1 ตัวเท่านั้น เช่น ช่อง เมทริกซ์ทั้งหมดต้องมี |
แถว
ระบุแถวของเมทริกซ์ระยะเวลาและระยะทาง
การแสดง JSON |
---|
{ "durations": [ string ], "meters": [ number ] } |
ช่อง | |
---|---|
durations[] |
ค่าระยะเวลาของแถวหนึ่งๆ ต้องมีองค์ประกอบเท่ากับ ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
meters[] |
ค่าระยะทางสำหรับแถวที่กำหนด หากไม่มีค่าใช้จ่ายหรือข้อจํากัดอ้างอิงถึงระยะทางในโมเดล คุณสามารถเว้นว่างไว้ได้ ไม่เช่นนั้นต้องมีองค์ประกอบมากเท่ากับ |
TransitionAttributes
ระบุแอตทริบิวต์ของการเปลี่ยนระหว่างการเข้าชม 2 ครั้งติดต่อกันบนเส้นทาง TransitionAttributes
หลายรายการอาจมีผลกับการเปลี่ยนเดียวกัน ในกรณีนั้น ค่าใช้จ่ายเพิ่มเติมทั้งหมดจะรวมกันและมีข้อจํากัดหรือขีดจำกัดที่เข้มงวดที่สุด (ตามความหมาย "และ" ตามธรรมชาติ)
การแสดง JSON |
---|
{
"srcTag": string,
"excludedSrcTag": string,
"dstTag": string,
"excludedDstTag": string,
"cost": number,
"costPerKilometer": number,
"distanceLimit": {
object ( |
ช่อง | |
---|---|
srcTag |
แท็กที่กำหนดชุดของ (src->dst) การเปลี่ยนแอตทริบิวต์เหล่านี้จะมีผล การเยี่ยมชมต้นทางหรือการสตาร์ทรถตรงกับ |
excludedSrcTag |
ดู |
dstTag |
การเข้าชมปลายทางหรือจุดสิ้นสุดของพาหนะตรงกับ |
excludedDstTag |
ดู |
cost |
ระบุค่าใช้จ่ายในการทำการเปลี่ยนแปลงนี้ นี่คือหน่วยเดียวกับค่าใช้จ่ายอื่นๆ ทั้งหมดในโมเดลและต้องไม่เป็นค่าลบ โดยจะมีผลกับค่าใช้จ่ายอื่นๆ ทั้งหมดที่มีอยู่ |
costPerKilometer |
ระบุต้นทุนต่อกิโลเมตรที่ใช้กับระยะทางที่เดินทางในระหว่างดําเนินการเปลี่ยนนี้ โดยจะรวมกันเป็น |
distanceLimit |
ระบุการจำกัดระยะทางในการเดินทางขณะดำเนินการเปลี่ยนนี้ ตั้งแต่วันที่ 06/06/2021 เป็นต้นไป ระบบจะรองรับเฉพาะขีดจำกัดคำขอชั่วคราวเท่านั้น |
delay |
ระบุการหน่วงเวลาที่เกิดขึ้นเมื่อดำเนินการเปลี่ยน ความล่าช้านี้จะเกิดขึ้นเสมอหลังจากสิ้นสุดการเข้าชมต้นทางและก่อนเริ่มต้นการเข้าชมปลายทาง ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
ShipmentTypeIncompatibility
ระบุความไม่เข้ากันระหว่างการจัดส่งโดยขึ้นอยู่กับประเภทการจัดส่ง ลักษณะที่ปรากฏของการจัดส่งที่เข้ากันไม่ได้ในเส้นทางเดียวกันถูกจำกัดตามโหมดความไม่เข้ากัน
การแสดง JSON |
---|
{
"types": [
string
],
"incompatibilityMode": enum ( |
ช่อง | |
---|---|
types[] |
รายการประเภทที่ใช้ร่วมกันไม่ได้ การจัดส่ง 2 รายการที่มี |
incompatibilityMode |
ใช้โหมดกับความเข้ากันไม่ได้แล้ว |
IncompatibilityMode
โหมดที่กำหนดวิธีจำกัดลักษณะที่ปรากฏของการจัดส่งที่เข้ากันไม่ได้ในเส้นทางเดียวกัน
Enum | |
---|---|
INCOMPATIBILITY_MODE_UNSPECIFIED |
โหมดความไม่เข้ากันที่ไม่ได้ระบุ คุณไม่ควรใช้ค่านี้ |
NOT_PERFORMED_BY_SAME_VEHICLE |
ในโหมดนี้ การจัดส่ง 2 รายการที่มีประเภทที่ใช้ร่วมกันไม่ได้จะใช้ยานพาหนะคันเดียวกันไม่ได้ |
NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY |
สำหรับการจัดส่ง 2 รายการที่มีประเภทที่เข้ากันไม่ได้กับ
|
ShipmentTypeRequirement
ระบุข้อกำหนดระหว่างการจัดส่งตามประเภทการจัดส่ง รายละเอียดของข้อกำหนดจะกำหนดโดยโหมดข้อกำหนด
การแสดง JSON |
---|
{
"requiredShipmentTypeAlternatives": [
string
],
"dependentShipmentTypes": [
string
],
"requirementMode": enum ( |
ช่อง | |
---|---|
requiredShipmentTypeAlternatives[] |
รายการประเภทการจัดส่งทางเลือกที่ |
dependentShipmentTypes[] |
การจัดส่งทั้งหมดที่มีประเภทในช่อง หมายเหตุ: ไม่อนุญาตให้ใช้ข้อกำหนดชุดที่ |
requirementMode |
ใช้โหมดกับข้อกำหนดแล้ว |
RequirementMode
รูปแบบที่กำหนดลักษณะของการจัดส่งที่ต้องพึ่งพาบนเส้นทาง
Enum | |
---|---|
REQUIREMENT_MODE_UNSPECIFIED |
โหมดข้อกำหนดที่ไม่ได้ระบุ คุณไม่ควรใช้ค่านี้ |
PERFORMED_BY_SAME_VEHICLE |
ในโหมดนี้ การจัดส่งที่ "ขึ้นอยู่กับ" ทั้งหมดต้องใช้ยานพาหนะเดียวกันกับการจัดส่งที่ "จำเป็น" อย่างน้อย 1 รายการ |
IN_SAME_VEHICLE_AT_PICKUP_TIME |
เมื่อใช้โหมด ดังนั้น การรับสินค้าที่ "ขึ้นอยู่กับ" การจัดส่งจำเป็นต้องมี
|
IN_SAME_VEHICLE_AT_DELIVERY_TIME |
เช่นเดียวกับก่อนหน้านี้ ยกเว้นการจัดส่งที่ "ขึ้นอยู่กับ" จะต้องมีการจัดส่งที่ "จำเป็น" ในยานพาหนะ ณ เวลาที่นำส่ง |
PrecedenceRule
กฎที่มีความสำคัญระหว่าง 2 เหตุการณ์ (แต่ละเหตุการณ์คือการรับสินค้าหรือการนำส่งการจัดส่ง): เหตุการณ์ที่ "ที่ 2" ต้องเริ่มขึ้นอย่างน้อย offsetDuration
หลังจากเริ่มต้น "ครั้งแรก"
ลำดับความสำคัญหลายรายการอาจอ้างอิงถึงเหตุการณ์เดียวกัน (หรือที่เกี่ยวข้อง) เช่น "การรับสินค้า ข. จะเกิดขึ้นหลังจากการรับสินค้า ก." และ "การรับสินค้า ข. จะเกิดขึ้นหลังการรับสินค้า ข."
นอกจากนี้ ลำดับความสำคัญจะมีผลเมื่อมีการดำเนินการจัดส่งทั้ง 2 รายการและระบบจะไม่สนใจลำดับความสำคัญเท่านั้น
การแสดง JSON |
---|
{ "firstIsDelivery": boolean, "secondIsDelivery": boolean, "offsetDuration": string, "firstIndex": integer, "secondIndex": integer } |
ช่อง | |
---|---|
firstIsDelivery |
ระบุว่าเหตุการณ์ "แรก" เป็นการแสดงโฆษณาหรือไม่ |
secondIsDelivery |
ระบุว่าเหตุการณ์ "ที่ 2" เป็นการแสดงโฆษณาหรือไม่ |
offsetDuration |
ค่าชดเชยระหว่างเหตุการณ์ "แรก" กับ "วินาที" ซึ่งอาจเป็นค่าลบได้ ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
firstIndex |
ดัชนีการจัดส่งของเหตุการณ์ "แรก" ต้องระบุข้อมูลในช่องนี้ |
secondIndex |
ดัชนีการจัดส่งของเหตุการณ์ "ที่สอง" ต้องระบุข้อมูลในช่องนี้ |