- JSON काेड में दिखाना
- शिपमेंट
- VisitRequest
- LatLng
- Waypoint
- जगह की जानकारी
- TimeWindow
- वाहन
- TravelMode
- RouteModifiers
- UnloadingPolicy
- LoadLimit
- इंटरवल
- DurationLimit
- DistanceLimit
- BreakRule
- BreakRequest
- FrequencyConstraint
- DurationDistanceMatrix
- पंक्ति
- TransitionAttributes
- ShipmentTypeIncompatibility
- IncompatibilityMode
- ShipmentTypeRequirement
- RequirementMode
- PrecedenceRule
शिपमेंट मॉडल में शिपमेंट का एक सेट होता है. इसे वाहनों के एक सेट से पूरा किया जाना चाहिए. साथ ही, कुल लागत को कम करना चाहिए. कुल लागत में ये चीज़ें शामिल होती हैं:
- वाहनों को रूट करने की लागत (कुल समय के हिसाब से लागत, यात्रा के समय के हिसाब से लागत, और सभी वाहनों के लिए तय लागत का योग).
- शिपमेंट न करने पर लगने वाले जुर्माने.
- शिपमेंट की पूरी अवधि के लिए खरीदार से लिया जाने वाला शुल्क
JSON के काेड में दिखाना |
---|
{ "shipments": [ { object ( |
फ़ील्ड | |
---|---|
shipments[] |
मॉडल में की जाने वाली शिपिंग का सेट. |
vehicles[] |
उन वाहनों का सेट जिनका इस्तेमाल विज़िट करने के लिए किया जा सकता है. |
global |
मॉडल के शुरू और खत्म होने का ग्लोबल समय: इस सीमा से बाहर के किसी भी समय को मान्य नहीं माना जा सकता. मॉडल का टाइम स्पैन एक साल से कम होना चाहिए. इसका मतलब है कि
आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
global |
अगर इसकी वैल्यू सेट नहीं की जाती है, तो डिफ़ॉल्ट रूप से 1 जनवरी, 1971 को 00:00:00 यूटीसी (यानी सेकंड: 31,536,000, नैनो सेकंड: 0) का इस्तेमाल किया जाता है. आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
global |
पूरे प्लान की "ग्लोबल अवधि", सभी वाहनों के शुरू होने के सबसे पहले समय और खत्म होने के सबसे बाद के समय के बीच का अंतर होती है. उदाहरण के लिए, उपयोगकर्ता उस संख्या के लिए हर घंटे की लागत असाइन कर सकते हैं, ताकि जॉब को जल्द से जल्द पूरा करने के लिए उसे ऑप्टिमाइज़ किया जा सके. यह लागत, |
duration |
मॉडल में इस्तेमाल की गई अवधि और दूरी की मैट्रिक के बारे में बताता है. अगर यह फ़ील्ड खाली है, तो इस्तेमाल के उदाहरण:
|
duration |
ये टैग, कुल समय और दूरी की मैट्रिक के सोर्स की जानकारी देते हैं. टैग, |
duration |
कुल समय और दूरी के मैट्रिक के डेस्टिनेशन तय करने वाले टैग; टैग, |
transition |
मॉडल में ट्रांज़िशन एट्रिब्यूट जोड़े गए. |
shipment |
shipment_types के ऐसे सेट जो साथ काम नहीं करते ( |
shipment |
|
precedence |
प्राथमिकता वाले नियमों का सेट, जिसे मॉडल में लागू करना ज़रूरी है. |
max |
यह चालू वाहनों की ज़्यादा से ज़्यादा संख्या को सीमित करता है. किसी वाहन को तब चालू माना जाता है, जब उसके रास्ते पर कम से कम एक शिपमेंट किया गया हो. इसका इस्तेमाल, उन मामलों में रास्तों की संख्या को सीमित करने के लिए किया जा सकता है जहां वाहनों की तुलना में ड्राइवर कम हों और वाहनों का फ़्लीट अलग-अलग तरह का हो. इसके बाद, ऑप्टिमाइज़ेशन की सुविधा, वाहनों के सबसे अच्छे सबसेट को चुनेगी. यह पूरी तरह से पॉज़िटिव होना चाहिए. |
शिपमेंट
किसी एक आइटम को पिकअप करने से लेकर डिलीवरी करने तक की प्रोसेस. शिपमेंट को पूरा होने के तौर पर तब ही माना जाएगा, जब कोई यूनीक वाहन पिकअप करने की किसी जगह पर जाए (और उसके हिसाब से स्पेयर कैपेसिटी कम हो जाए) और बाद में डिलीवरी करने की किसी जगह पर जाए (और उसके हिसाब से स्पेयर कैपेसिटी फिर से बढ़ जाए).
JSON के काेड में दिखाना |
---|
{ "displayName": string, "pickups": [ { object ( |
फ़ील्ड | |
---|---|
display |
शिपमेंट का वह नाम जो उपयोगकर्ता ने तय किया है. इसमें ज़्यादा से ज़्यादा 63 वर्ण हो सकते हैं. साथ ही, UTF-8 वर्णों का इस्तेमाल किया जा सकता है. |
pickups[] |
शिपमेंट से जुड़े पिकअप के विकल्पों का सेट. अगर यह जानकारी नहीं दी गई है, तो वाहन को सिर्फ़ डिलीवरी वाली जगह पर जाना होगा. |
deliveries[] |
शिपमेंट से जुड़ी डिलीवरी के विकल्पों का सेट. अगर यह जानकारी नहीं दी गई है, तो वाहन को सिर्फ़ पिकअप की जगह पर जाना होगा. |
load |
शिपमेंट की लोड की मांग (उदाहरण के लिए, वज़न, वॉल्यूम, पैलेट की संख्या वगैरह). मैप में मौजूद कुंजियां, आइडेंटिफ़ायर होनी चाहिए. इनसे, उससे जुड़े लोड के टाइप के बारे में पता चलता है. साथ ही, इनमें यूनिट भी शामिल होनी चाहिए. उदाहरण के लिए: "weight_kg", "volume_gallons", "pallet_count" वगैरह. अगर कोई दिया गया कुंजी मैप में नहीं दिखता है, तो उससे जुड़े लोड को शून्य माना जाता है. |
allowed |
उन वाहनों का सेट जो इस शिपमेंट को पूरा कर सकते हैं. अगर यह फ़ील्ड खाली है, तो सभी वाहन यह कार्रवाई कर सकते हैं. |
costs |
इससे पता चलता है कि हर वाहन से इस शिपमेंट की डिलीवरी करने पर, कितना खर्च आता है. अगर इसकी वैल्यू दी गई है, तो इसमें इनमें से कोई एक होना चाहिए:
ये लागत, |
costs |
उन वाहनों के इंडेक्स जिन पर |
pickup |
यह पिकअप से डिलीवरी तक के सबसे छोटे रास्ते की तुलना में, सबसे लंबे रास्ते से यात्रा में लगने वाले समय की जानकारी देता है. अगर यह जानकारी दी गई है, तो यह संख्या 0 से बड़ी होनी चाहिए. साथ ही, शिपमेंट में कम से कम एक पिकअप और एक डिलीवरी शामिल होनी चाहिए. उदाहरण के लिए, मान लें कि t, पिकअप के चुने गए विकल्प से सीधे डिलीवरी के चुने गए विकल्प पर जाने में लगने वाला कम से कम समय है. इसके बाद,
अगर एक ही शिपमेंट के लिए, रिलेटिव और एब्सोल्यूट, दोनों तरह की सीमाएं तय की गई हैं, तो पिकअप/डिलीवरी के हर संभावित जोड़े के लिए, ज़्यादा पाबंदी वाली सीमा का इस्तेमाल किया जाता है. अक्टूबर 2017 से, यात्रा में लगने वाला समय वाहनों पर निर्भर न होने पर ही, रास्ते में आने वाली रुकावटों की जानकारी दी जा सकती है. सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
pickup |
इससे यह पता चलता है कि शिपमेंट के पिकअप से लेकर डिलीवरी शुरू होने तक, ज़्यादा से ज़्यादा कितनी देर लग सकती है. अगर यह जानकारी दी गई है, तो यह संख्या 0 से बड़ी होनी चाहिए. साथ ही, शिपमेंट में कम से कम एक पिकअप और एक डिलीवरी शामिल होनी चाहिए. यह इस बात पर निर्भर नहीं करता कि पिकअप और डिलीवरी के लिए कौनसे विकल्प चुने गए हैं. यह वाहन की स्पीड पर भी निर्भर नहीं करता. इसे, रास्ते में आने वाली ज़्यादा से ज़्यादा रुकावटों के साथ भी बताया जा सकता है: समाधान, दोनों खास बातों का ध्यान रखेगा. सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
shipment |
इस शिपमेंट के लिए "टाइप" बताने वाली कोई स्ट्रिंग, जो खाली नहीं होनी चाहिए. इस सुविधा का इस्तेमाल, यह |
label |
इस शिपमेंट के लिए लेबल तय करता है. इस लेबल की जानकारी, जवाब में मौजूद |
ignore |
अगर यह सही है, तो इस शिपमेंट को छोड़ दें, लेकिन अगर मॉडल में कोई
|
penalty |
अगर शिपमेंट पूरा नहीं होता है, तो यह जुर्माना, रूट की कुल कीमत में जोड़ दिया जाता है. अगर शिपमेंट के पिकअप और डिलीवरी के किसी एक विकल्प को चुना जाता है, तो शिपमेंट को पूरा माना जाता है. लागत को उसी यूनिट में दिखाया जा सकता है जिसका इस्तेमाल मॉडल में लागत से जुड़े अन्य सभी फ़ील्ड के लिए किया जाता है. साथ ही, यह यूनिट सकारात्मक होनी चाहिए. अहम जानकारी: अगर इस जुर्माने की जानकारी नहीं दी गई है, तो इसे अनलिमिटेड माना जाता है. इसका मतलब है कि शिपमेंट पूरा करना ज़रूरी है. |
pickup |
यह पिकअप से डिलीवरी तक के सबसे छोटे रास्ते की तुलना में, सबसे लंबे रास्ते पर लगने वाले समय की जानकारी देता है. अगर यह जानकारी दी गई है, तो यह संख्या 0 से बड़ी होनी चाहिए. साथ ही, शिपमेंट में कम से कम एक पिकअप और एक डिलीवरी शामिल होनी चाहिए. उदाहरण के लिए, मान लें कि t, पिकअप के चुने गए विकल्प से सीधे डिलीवरी के चुने गए विकल्प पर जाने में लगने वाला कम से कम समय है. इसके बाद,
अगर एक ही शिपमेंट के लिए, रिलेटिव और एब्सोल्यूट, दोनों तरह की सीमाएं तय की गई हैं, तो पिकअप/डिलीवरी के हर संभावित जोड़े के लिए, ज़्यादा पाबंदी वाली सीमा का इस्तेमाल किया जाता है. अक्टूबर 2017 से, यात्रा में लगने वाला समय वाहनों पर निर्भर न होने पर ही, रास्ते में आने वाली रुकावटों की जानकारी दी जा सकती है. |
VisitRequest
वाहन से की जाने वाली विज़िट का अनुरोध: इसमें एक या दो जगह की जानकारी (नीचे देखें), खुलने और बंद होने का समय, और सेवा की अवधि (सामान लेने या छोड़ने के लिए वाहन के पहुंचने के बाद लगने वाला समय) शामिल है.
JSON के काेड में दिखाना |
---|
{ "arrivalLocation": { object ( |
फ़ील्ड | |
---|---|
arrival |
यह |
arrival |
वह वेपॉइंट जहां यह |
departure |
वह जगह जहां |
departure |
वह वेपॉइंट जहां यह |
tags[] |
विज़िट के अनुरोध से जुड़े टैग की जानकारी देता है. खाली या डुप्लीकेट स्ट्रिंग की अनुमति नहीं है. |
time |
ऐसी टाइम विंडो जो किसी विज़िट के आने के समय को सीमित करती हैं. ध्यान दें कि कोई वाहन, पहुंचने के समय की विंडो के बाहर जा सकता है. इसका मतलब है कि पहुंचने का समय + कुल समय, समय की विंडो में होना ज़रूरी नहीं है. अगर वाहन
टाइम विंडो अलग-अलग होनी चाहिए.इसका मतलब है कि कोई भी टाइम विंडो, किसी दूसरी टाइम विंडो के साथ ओवरलैप नहीं होनी चाहिए या एक-दूसरे के बगल में नहीं होनी चाहिए. साथ ही, वे बढ़ते क्रम में होनी चाहिए.
|
duration |
विज़िट की अवधि, यानी वाहन के आने और जाने के बीच लगने वाला समय.इसे इंतज़ार के संभावित समय में जोड़ना होगा. सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
cost |
वाहन के रास्ते पर, इस विज़िट के अनुरोध को पूरा करने की लागत. इसका इस्तेमाल, शिपमेंट के पिकअप या डिलीवरी के हर विकल्प के लिए अलग-अलग शुल्क चुकाने के लिए किया जा सकता है. यह कीमत, |
load |
इस विज़िट के अनुरोध की मांगें लोड करें. यह |
visit |
विज़िट के टाइप बताता है. इसका इस्तेमाल, किसी वाहन को इस विज़िट को पूरा करने के लिए ज़रूरी अतिरिक्त समय देने के लिए किया जा सकता है ( एक टाइप सिर्फ़ एक बार दिख सकता है. |
label |
इस |
LatLng
अक्षांश/देशांतर के पेयर को दिखाने वाला ऑब्जेक्ट. अक्षांश और देशांतर की डिग्री दिखाने के लिए, इसे दो डबल वैल्यू के तौर पर दिखाया जाता है. अगर इस बारे में अलग से जानकारी नहीं दी गई है, तो यह ऑब्जेक्ट WGS84 स्टैंडर्ड के मुताबिक होना चाहिए. वैल्यू, सामान्य रेंज में होनी चाहिए.
JSON के काेड में दिखाना |
---|
{ "latitude": number, "longitude": number } |
फ़ील्ड | |
---|---|
latitude |
अक्षांश, डिग्री में. यह वैल्यू [-90.0, +90.0] की रेंज में होनी चाहिए. |
longitude |
डिग्री में देशांतर. यह वैल्यू, [-180.0, +180.0] की रेंज में होनी चाहिए. |
वेपॉइंट
वेपॉइंट को एनकैप्सुलेट करता है. वे पॉइंट, विज़िट रिक्वेस्ट के पहुंचने और जाने की जगहों के साथ-साथ, वाहनों के शुरू और खत्म होने की जगहों को मार्क करते हैं.
JSON के काेड में दिखाना |
---|
{ "sideOfRoad": boolean, // Union field |
फ़ील्ड | |
---|---|
side |
ज़रूरी नहीं. इससे पता चलता है कि इस वेपॉइंट की जगह पर, वाहन को सड़क की किसी खास तरफ़ रोकने की प्राथमिकता दी गई है. इस वैल्यू को सेट करने पर, रास्ता उस जगह से होकर गुज़रेगा, ताकि वाहन सड़क के उस हिस्से पर रुक सके जो सड़क के बीच से उस जगह की ओर झुका हुआ है. यह विकल्प, 'पैदल चलना' यात्रा मोड के लिए काम नहीं करता. |
यूनियन फ़ील्ड location_type . किसी जगह की जानकारी दिखाने के अलग-अलग तरीके. location_type इनमें से कोई एक हो सकता है: |
|
location |
भौगोलिक निर्देशांक का इस्तेमाल करके तय किया गया कोई पॉइंट. इसमें हेडिंग भी शामिल हो सकती है. |
place |
वेपॉइंट से जुड़ा लोकप्रिय जगह का आईडी. |
जगह
किसी जगह (भौगोलिक पॉइंट और वैकल्पिक हेडिंग) को एन्कैप्सुलेट करता है.
JSON के काेड में दिखाना |
---|
{
"latLng": {
object ( |
फ़ील्ड | |
---|---|
lat |
वेपॉइंट के भौगोलिक निर्देशांक. |
heading |
ट्रैफ़िक के फ़्लो की दिशा से जुड़ी कम्पास हेडिंग. इस वैल्यू का इस्तेमाल, सड़क की उस साइड की जानकारी देने के लिए किया जाता है जहां से पिकअप और ड्रॉप-ऑफ़ किया जाना है. हेडिंग की वैल्यू 0 से 360 तक हो सकती है. जैसे, 0 का मतलब है कि सड़क की सीधी उत्तर दिशा, 90 का मतलब है कि सड़क की सीधी पूर्व दिशा वगैरह. |
TimeWindow
टाइम विंडो, किसी इवेंट के समय को सीमित करती हैं. जैसे, किसी विज़िट के पहुंचने का समय या किसी वाहन के शुरू और खत्म होने का समय.
टाइम विंडो की सीमाएं, startTime
और endTime
, इवेंट के शुरू और खत्म होने के समय को तय करती हैं, जैसे कि startTime <= event_time <=
endTime
. सॉफ्ट टाइम विंडो की निचली सीमा, softStartTime
, यह बताती है कि इवेंट softStartTime
पर या उसके बाद होना चाहिए. इसके लिए, इवेंट के शुरू होने से सॉफ्टStartTime के बीच के समय के हिसाब से लागत लगाई जाती है. सॉफ़्ट टाइम विंडो की ऊपरी सीमा, softEndTime
, यह बताती है कि इवेंट softEndTime
पर या उससे पहले होना चाहिए. इसके लिए, softEndTime
के बाद इवेंट होने पर, लागत के हिसाब से शुल्क लिया जाता है. startTime
, endTime
, softStartTime
, और softEndTime
वैल्यू, ग्लोबल टाइमसीमा के अंदर होनी चाहिए (ShipmentModel.global_start_time
और ShipmentModel.global_end_time
देखें). साथ ही, ये वैल्यू इन बातों का ध्यान रखनी चाहिए:
0 <= `startTime` <= `endTime` and
0 <= `startTime` <= `softStartTime` and
0 <= `softEndTime` <= `endTime`.
JSON के काेड में दिखाना |
---|
{ "startTime": string, "endTime": string, "softStartTime": string, "softEndTime": string, "costPerHourBeforeSoftStartTime": number, "costPerHourAfterSoftEndTime": number } |
फ़ील्ड | |
---|---|
start |
'रिलीज़ की समयसीमा' की शुरुआत का समय. अगर कोई वैल्यू नहीं दी जाती है, तो यह आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
end |
हार्ड टाइम विंडो खत्म होने का समय. अगर कोई वैल्यू नहीं दी जाती है, तो यह आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
soft |
समयावधि के शुरू होने का समय. आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
soft |
समयसीमा खत्म होने का अनुमानित समय. आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
cost |
अगर इवेंट, softStartTime से पहले होता है, तो मॉडल में अन्य लागतों के साथ हर घंटे की लागत जोड़ी जाती है. इसे इस तरह से कैलकुलेट किया जाता है:
यह लागत, पॉज़िटिव होनी चाहिए. साथ ही, यह फ़ील्ड सिर्फ़ तब सेट किया जा सकता है, जब softStartTime सेट किया गया हो. |
cost |
अगर इवेंट
यह लागत पॉज़िटिव होनी चाहिए. साथ ही, यह फ़ील्ड सिर्फ़ तब सेट किया जा सकता है, जब |
वाहन
शिपिंग में समस्या वाले वाहन का मॉडल. शिपमेंट से जुड़ी समस्या को हल करने पर, इस वाहन के लिए startLocation
से शुरू होकर endLocation
पर खत्म होने वाला रास्ता बन जाएगा. रूट, विज़िट का क्रम होता है (ShipmentRoute
देखें).
JSON के काेड में दिखाना |
---|
{ "displayName": string, "travelMode": enum ( |
फ़ील्ड | |
---|---|
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 |
visitTypes स्ट्रिंग से लेकर अवधि तक के मैप की जानकारी देता है. यह समय, अगर विज़िट के अनुरोध के कई टाइप हैं, तो मैप में हर टाइप के लिए एक अवधि जोड़ी जाएगी. |
break |
इस वाहन पर ब्रेक के लिए तय किए गए शेड्यूल के बारे में बताता है. अगर यह फ़ील्ड खाली है, तो इस वाहन के लिए कोई ब्रेक शेड्यूल नहीं किया जाएगा. |
label |
इस वाहन के लिए लेबल तय करता है. इस लेबल को जवाब में, उससे जुड़े |
ignore |
अगर यह सही है, तो अगर अगर |
travel |
यह एक मल्टीप्लायर फ़ैक्टर होता है. इसका इस्तेमाल, इस वाहन के यात्रा के समय को बढ़ाने या घटाने के लिए किया जा सकता है. उदाहरण के लिए, इसे 2.0 पर सेट करने का मतलब है कि यह वाहन धीमा है और यात्रा में लगने वाला समय, स्टैंडर्ड वाहनों के मुकाबले दोगुना है. इस मल्टीपल का असर, विज़िट के कुल समय पर नहीं पड़ता. अगर चेतावनी: इस मल्टीप्लायर को लागू करने के बाद, यात्रा के समय को सबसे नज़दीकी सेकंड में राउंड किया जाएगा. हालांकि, कोई भी अंकों वाला ऑपरेशन करने से पहले ऐसा किया जाएगा. इसलिए, किसी छोटे मल्टीप्लायर का इस्तेमाल करने पर, यात्रा के समय में थोड़ी गड़बड़ी हो सकती है. नीचे |
TravelMode
यात्रा के ऐसे तरीके जिनका इस्तेमाल वाहनों से किया जा सकता है.
ये, Google Maps Platform Routes Preferred API के यात्रा के मोड के सबसेट होने चाहिए. ज़्यादा जानकारी के लिए, https://developers.google.com/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode पर जाएं.
Enums | |
---|---|
TRAVEL_MODE_UNSPECIFIED |
यात्रा के मोड की जानकारी नहीं दी गई है. यह DRIVING के बराबर है. |
DRIVING |
ड्राइविंग निर्देशों से जुड़ा यात्रा मोड (कार, ...). |
WALKING |
पैदल चलने के निर्देशों से जुड़ा यात्रा मोड. |
RouteModifiers
वाहन के रास्तों का हिसाब लगाते समय, शर्तों के एक सेट को पूरा करने के लिए इस्तेमाल किया जाता है. हालांकि, इन शर्तों को पूरा करना ज़रूरी नहीं है. यह Google Maps Platform के Routes Preferred API में मौजूद RouteModifiers
से मिलता-जुलता है. ज़्यादा जानकारी के लिए, https://developers.google.com/maps/documentation/routes/reference/rest/v2/RouteModifiers देखें.
JSON के काेड में दिखाना |
---|
{ "avoidTolls": boolean, "avoidHighways": boolean, "avoidFerries": boolean, "avoidIndoor": boolean } |
फ़ील्ड | |
---|---|
avoid |
इससे यह तय होता है कि ज़रूरत पड़ने पर, टोल वाली सड़कों से बचना है या नहीं. टोल वाली सड़कों को प्राथमिकता नहीं दी जाएगी. यह सिर्फ़ मोटर वाले यात्रा के मोड पर लागू होता है. |
avoid |
इससे यह तय होता है कि ज़रूरत पड़ने पर, हाइवे से बचना है या नहीं. हाईवे वाले रास्तों के बजाय, अन्य रास्तों को प्राथमिकता दी जाएगी. यह सिर्फ़ मोटर वाले यात्रा के मोड पर लागू होता है. |
avoid |
इससे पता चलता है कि फ़ेरी का इस्तेमाल करने से बचना है या नहीं. उन रास्तों को प्राथमिकता दी जाएगी जिनमें फ़ेरी से यात्रा शामिल नहीं है. यह सिर्फ़ मोटर वाले यात्रा के मोड पर लागू होता है. |
avoid |
ज़रूरी नहीं. इससे यह तय होता है कि जहां ज़रूरी हो वहां अंदरूनी जगहों पर नेविगेट करने से बचना है या नहीं. इनडोर नेविगेशन के बिना के रूट को प्राथमिकता दी जाएगी. यह सिर्फ़ |
UnloadingPolicy
वाहन को अनलोड करने के तरीके से जुड़ी नीति. यह सिर्फ़ उन शिपमेंट पर लागू होता है जिनमें पिकअप और डिलीवरी, दोनों की सुविधा उपलब्ध होती है.
unloadingPolicy
के अलावा, अन्य शिपमेंट के लिए, रूट पर कहीं भी शिपिंग की जा सकती है.
Enums | |
---|---|
UNLOADING_POLICY_UNSPECIFIED |
सामान उतारने की कोई नीति नहीं दी गई है. डिलीवरी, पिकअप के बाद ही होनी चाहिए. |
LAST_IN_FIRST_OUT |
डिलीवरी, पिकअप के उलटे क्रम में होनी चाहिए |
FIRST_IN_FIRST_OUT |
डिलीवरी, पिकअप के क्रम में होनी चाहिए |
LoadLimit
इससे किसी वाहन पर लागू होने वाली लोड सीमा के बारे में पता चलता है. उदाहरण के लिए, "इस ट्रक में सिर्फ़ 3,500 किलो तक का सामान लाया जा सकता है". loadLimits
देखें.
JSON के काेड में दिखाना |
---|
{ "softMaxLoad": string, "costPerUnitAboveSoftMax": number, "startLoadInterval": { object ( |
फ़ील्ड | |
---|---|
soft |
लोड की एक सॉफ्ट सीमा. |
cost |
अगर इस वाहन के रास्ते पर लोड कभी भी |
start |
रास्ते की शुरुआत में, वाहन के लोड इंटरवल की तय सीमा. |
end |
रास्ते के आखिर में, वाहन में लोड करने के लिए स्वीकार की जाने वाली समयावधि. |
max |
लोड की ज़्यादा से ज़्यादा अनुमति वाली रकम. |
इंटरवल
लोड की जाने वाली रकम का इंटरवल.
JSON के काेड में दिखाना |
---|
{ "min": string, "max": string } |
फ़ील्ड | |
---|---|
min |
कम से कम लोड. यह वैल्यू 0 से ज़्यादा होनी चाहिए. अगर दोनों की जानकारी दी गई है, तो |
max |
ज़्यादा से ज़्यादा लोड. यह वैल्यू 0 से ज़्यादा होनी चाहिए. अगर इस एट्रिब्यूट की कोई वैल्यू सबमिट नहीं की जाती है, तो इस मैसेज से ज़्यादा से ज़्यादा लोड पर कोई पाबंदी नहीं होती. अगर दोनों की जानकारी दी गई है, तो |
DurationLimit
वाहन के रास्ते की ज़्यादा से ज़्यादा अवधि तय करने वाली सीमा. यह हार्ड या सॉफ़्ट हो सकता है.
सॉफ्ट लिमिट फ़ील्ड तय करने पर, सॉफ्ट मैक्स थ्रेशोल्ड और उससे जुड़ी लागत, दोनों को एक साथ तय करना ज़रूरी है.
JSON के काेड में दिखाना |
---|
{ "maxDuration": string, "softMaxDuration": string, "quadraticSoftMaxDuration": string, "costPerHourAfterSoftMax": number, "costPerSquareHourAfterQuadraticSoftMax": number } |
फ़ील्ड | |
---|---|
max |
यह एक तय सीमा है, जो वीडियो की अवधि को ज़्यादा से ज़्यादा maxDuration तक सीमित करती है. सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
soft |
यह एक सॉफ्ट लिमिट है, जो वीडियो की अवधि की ज़्यादा से ज़्यादा सीमा लागू नहीं करती. हालांकि, इसकी सीमा का उल्लंघन करने पर, रास्ते के लिए शुल्क लिया जाता है. यह लागत, मॉडल में बताई गई अन्य लागतों के साथ जोड़ दी जाती है. इन सभी लागतों की इकाई एक ही होती है. अगर सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
quadratic |
यह एक सॉफ्ट लिमिट है, जो रन टाइम की ज़्यादा से ज़्यादा सीमा लागू नहीं करती. हालांकि, इसकी सीमा का उल्लंघन करने पर, रन टाइम के हिसाब से रास्ते की कीमत बढ़ जाती है. यह लागत, मॉडल में बताई गई अन्य लागतों के साथ जोड़ दी जाती है. इन सभी लागतों की इकाई एक ही होती है. अगर
सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
cost |
कीमत नेगेटिव नहीं होनी चाहिए. |
cost |
अगर अवधि थ्रेशोल्ड से कम है, तो अतिरिक्त शुल्क 0 होगा. अगर अवधि थ्रेशोल्ड से ज़्यादा है, तो शुल्क इस हिसाब से होगा:
कीमत नेगेटिव नहीं होनी चाहिए. |
DistanceLimit
यह एक सीमा होती है, जो तय करती है कि कितनी दूरी तक यात्रा की जा सकती है. यह हार्ड या सॉफ़्ट हो सकता है.
अगर कोई सॉफ्ट लिमिट तय की गई है, तो softMaxMeters
और costPerKilometerAboveSoftMax
, दोनों की वैल्यू तय होनी चाहिए. साथ ही, यह भी ज़रूरी है कि दोनों की वैल्यू 0 से ज़्यादा हो.
JSON के काेड में दिखाना |
---|
{ "maxMeters": string, "softMaxMeters": string, "costPerKilometerBelowSoftMax": number, "costPerKilometerAboveSoftMax": number } |
फ़ील्ड | |
---|---|
max |
यह एक तय सीमा है, जो दूरी को ज़्यादा से ज़्यादा maxMeters तक सीमित करती है. सीमा, नेगेटिव नहीं होनी चाहिए. |
soft |
सॉफ्ट लिमिट, तय की गई दूरी की सीमा को लागू नहीं करती. हालांकि, इसकी सीमा का उल्लंघन करने पर, मॉडल में तय की गई अन्य लागतों के साथ एक ही यूनिट में लागत जुड़ जाती है. अगर softMaxMeters तय किया गया है, तो यह maxMeters से कम होना चाहिए और यह नॉन-नेगेटिव होना चाहिए. |
cost |
हर किलोमीटर की लागत,
|
cost |
अगर दूरी
कीमत नेगेटिव नहीं होनी चाहिए. |
BreakRule
वाहन के लिए ब्रेक का समय तय करने के नियम. जैसे, लंच ब्रेक. ब्रेक, एक तय समयावधि होती है. इस दौरान, वाहन अपनी मौजूदा जगह पर बिना किसी गतिविधि के खड़ा रहता है और कोई विज़िट नहीं कर सकता. ब्रेक इन स्थितियों में हो सकता है:
- दो विज़िट के बीच की यात्रा के दौरान (इसमें विज़िट से ठीक पहले या ठीक बाद का समय शामिल होता है, लेकिन विज़िट के बीच का समय शामिल नहीं होता), ऐसे में यह विज़िट के बीच के ट्रांज़िट समय को बढ़ा देता है,
- या गाड़ी के शुरू होने से पहले (हो सकता है कि गाड़ी ब्रेक के बीच में शुरू न हो), इस मामले में गाड़ी के शुरू होने के समय पर इसका असर नहीं पड़ता.
- या वाहन के खत्म होने के बाद (वाहन के खत्म होने के समय के साथ).
JSON के काेड में दिखाना |
---|
{ "breakRequests": [ { object ( |
फ़ील्ड | |
---|---|
break |
ब्रेक का क्रम. |
frequency |
एक से ज़्यादा |
BreakRequest
हर वाहन के लिए ब्रेक का क्रम (जैसे, उनकी संख्या और क्रम) पहले से पता होना चाहिए. दोहराए गए BreakRequest
, उस क्रम को उसी क्रम में तय करते हैं जिसमें उन्हें होना चाहिए. उनकी टाइम विंडो (earliestStartTime
/ latestStartTime
) ओवरलैप हो सकती हैं, लेकिन वे ऑर्डर के साथ काम करनी चाहिए (इसकी जांच की जाती है).
JSON के काेड में दिखाना |
---|
{ "earliestStartTime": string, "latestStartTime": string, "minDuration": string } |
फ़ील्ड | |
---|---|
earliest |
ज़रूरी है. ब्रेक की शुरुआत का निचला थ्रेशोल्ड (इसमें शामिल है). आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
latest |
ज़रूरी है. ब्रेक की शुरुआत का ऊपरी बाउंड (शामिल). आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
min |
ज़रूरी है. ब्रेक की कम से कम अवधि. यह संख्या पॉज़िटिव होनी चाहिए. सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
FrequencyConstraint
ऊपर बताए गए ब्रेक की फ़्रीक्वेंसी और अवधि को और भी सीमित किया जा सकता है. इसके लिए, ब्रेक की कम से कम फ़्रीक्वेंसी लागू करें. जैसे, "हर 12 घंटे में कम से कम एक घंटे का ब्रेक होना चाहिए". मान लें कि इसका मतलब "12 घंटे की किसी भी स्लाइडिंग टाइम विंडो में, कम से कम एक घंटे का ब्रेक होना चाहिए" है. इस उदाहरण का अनुवाद इस FrequencyConstraint
में किया जाएगा:
{
minBreakDuration { seconds: 3600 } # 1 hour.
maxInterBreakDuration { seconds: 39600 } # 11 hours (12 - 1 = 11).
}
समाधान में ब्रेक का समय और अवधि, BreakRequest
में पहले से तय की गई समयसीमाओं और कम से कम अवधियों के साथ-साथ, इन सभी सीमाओं का पालन करेगी.
FrequencyConstraint
, लगातार न होने वाले ब्रेक पर लागू हो सकता है. उदाहरण के लिए, नीचे दिया गया शेड्यूल, "हर 12 घंटे में 1 घंटा" के उदाहरण के मुताबिक है:
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 } |
फ़ील्ड | |
---|---|
min |
ज़रूरी है. इस शर्त के लिए, ब्रेक की कम से कम अवधि. शून्य से बड़ी होनी चाहिए. सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
max |
ज़रूरी है. रास्ते में किसी भी समयावधि का ज़्यादा से ज़्यादा स्पैन, जिसमें कम से कम सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
DurationDistanceMatrix
यह विज़िट और वाहन की शुरुआती जगह से लेकर विज़िट और वाहन की आखिरी जगह तक की अवधि और दूरी का मैट्रिक बताता है.
JSON के काेड में दिखाना |
---|
{
"rows": [
{
object ( |
फ़ील्ड | |
---|---|
rows[] |
यह अवधि और दूरी मैट्रिक की पंक्तियों के बारे में बताता है. इसमें |
vehicle |
यह टैग तय करता है कि यह अवधि और दूरी मैट्रिक किन वाहनों पर लागू होती है. अगर यह एट्रिब्यूट खाली है, तो यह सभी वाहनों पर लागू होता है. साथ ही, इसमें सिर्फ़ एक मैट्रिक हो सकती है. हर वाहन की शुरुआत, सिर्फ़ एक मैट्रिक से मेल खानी चाहिए. इसका मतलब है कि उसका एक सभी मैट्रिक में अलग-अलग |
पंक्ति
यह समय और दूरी की मैट्रिक की लाइन तय करता है.
JSON के काेड में दिखाना |
---|
{ "durations": [ string ], "meters": [ number ] } |
फ़ील्ड | |
---|---|
durations[] |
किसी पंक्ति के लिए, अवधि की वैल्यू. इसमें सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
meters[] |
किसी पंक्ति के लिए दूरी की वैल्यू. अगर मॉडल में दूरी से जुड़ी कोई लागत या पाबंदी नहीं है, तो इसे खाली छोड़ा जा सकता है. अगर ऐसा नहीं है, तो इसमें |
TransitionAttributes
किसी रूट पर लगातार दो विज़िट के बीच ट्रांज़िशन के एट्रिब्यूट बताता है. एक ही ट्रांज़िशन पर कई TransitionAttributes
लागू हो सकते हैं: ऐसे में, सभी अतिरिक्त लागतें जोड़ दी जाती हैं और सबसे सख्त शर्त या सीमा लागू होती है (सामान्य "AND" सेमेटिक्स के हिसाब से).
JSON के काेड में दिखाना |
---|
{
"srcTag": string,
"excludedSrcTag": string,
"dstTag": string,
"excludedDstTag": string,
"cost": number,
"costPerKilometer": number,
"distanceLimit": {
object ( |
फ़ील्ड | |
---|---|
src |
ये टैग, (src->dst) ट्रांज़िशन के सेट को तय करते हैं जिन पर ये एट्रिब्यूट लागू होते हैं. सोर्स विज़िट या वाहन शुरू होने की जानकारी तब ही मैच होती है, जब उसके |
excluded |
|
dst |
डेस्टिनेशन विज़िट या वाहन के खत्म होने की जानकारी तब ही मैच होती है, जब उसके |
excluded |
|
cost |
इस ट्रांज़िशन को लागू करने की लागत बताता है. यह मॉडल में मौजूद अन्य सभी लागतों की तरह ही एक ही इकाई में होती है. साथ ही, यह नकारात्मक नहीं होनी चाहिए. यह शुल्क, अन्य सभी मौजूदा शुल्कों के ऊपर लागू होता है. |
cost |
इस ट्रांज़िशन के दौरान, यात्रा की गई दूरी पर लागू होने वाली हर किलोमीटर की कीमत बताता है. यह वैल्यू, वाहनों पर बताए गए किसी भी |
distance |
इस ट्रांज़िशन को लागू करते समय, यात्रा की दूरी की सीमा तय करता है. जून 2021 से, सिर्फ़ सॉफ्ट लिमिट का इस्तेमाल किया जा सकता है. |
delay |
इस ट्रांज़िशन को लागू करने में लगने वाले समय की जानकारी देता है. यह देरी हमेशा सोर्स विज़िट खत्म होने के बाद और डेस्टिनेशन विज़िट शुरू होने से पहले होती है. सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
ShipmentTypeIncompatibility
इससे शिपमेंट के shipmentType के आधार पर, शिपमेंट के बीच की गड़बड़ियों के बारे में पता चलता है. एक ही रास्ते पर, एक-दूसरे के साथ काम न करने वाले शिपमेंट दिखने पर पाबंदी, काम न करने के मोड के आधार पर लगाई जाती है.
JSON के काेड में दिखाना |
---|
{
"types": [
string
],
"incompatibilityMode": enum ( |
फ़ील्ड | |
---|---|
types[] |
काम न करने वाले टाइप की सूची. सूची में शामिल दो शिपमेंट, जिनका |
incompatibility |
काम न करने की समस्या पर लागू मोड. |
IncompatibilityMode
ये मोड बताते हैं कि एक ही रास्ते पर, एक-दूसरे के साथ काम न करने वाले शिपमेंट को कैसे दिखाने से रोका जाता है.
Enums | |
---|---|
INCOMPATIBILITY_MODE_UNSPECIFIED |
काम न करने वाला कोई मोड. इस वैल्यू का कभी भी इस्तेमाल नहीं किया जाना चाहिए. |
NOT_PERFORMED_BY_SAME_VEHICLE |
इस मोड में, एक-दूसरे के साथ काम न करने वाले दो शिपमेंट के लिए, एक ही वाहन का इस्तेमाल नहीं किया जा सकता. |
NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY |
|
ShipmentTypeRequirement
शिपमेंट के shipmentType के आधार पर, शिपमेंट के बीच की ज़रूरी शर्तों के बारे में बताता है. ज़रूरी शर्तों के बारे में जानकारी, ज़रूरी शर्त के मोड से मिलती है.
JSON के काेड में दिखाना |
---|
{
"requiredShipmentTypeAlternatives": [
string
],
"dependentShipmentTypes": [
string
],
"requirementMode": enum ( |
फ़ील्ड | |
---|---|
required |
|
dependent |
ध्यान दें: ज़रूरी शर्तों की ऐसी चेन बनाने की अनुमति नहीं है जिसमें |
requirement |
ज़रूरी शर्त पर लागू मोड. |
RequirementMode
ऐसे मोड जो किसी रूट पर, एक-दूसरे पर निर्भर शिपमेंट के दिखने के तरीके के बारे में बताते हैं.
Enums | |
---|---|
REQUIREMENT_MODE_UNSPECIFIED |
ज़रूरी शर्तों का मोड नहीं बताया गया है. इस वैल्यू का कभी भी इस्तेमाल नहीं किया जाना चाहिए. |
PERFORMED_BY_SAME_VEHICLE |
इस मोड में, सभी "डिपेंडेंट" शिपमेंट के लिए, कम से कम एक "ज़रूरी" शिपमेंट के साथ एक ही वाहन का इस्तेमाल करना होगा. |
IN_SAME_VEHICLE_AT_PICKUP_TIME |
इसलिए, "डिपेंडेंट" शिपमेंट के पिकअप के लिए, इनमें से कोई एक होना चाहिए:
|
IN_SAME_VEHICLE_AT_DELIVERY_TIME |
पहले की तरह ही, सिवाय इसके कि "डिपेंडेंट" शिपमेंट के लिए, डिलीवरी के समय उनके वाहन में "ज़रूरी" शिपमेंट होना चाहिए. |
PrecedenceRule
दो इवेंट के बीच प्राथमिकता का नियम (हर इवेंट, शिपमेंट का पिकअप या डिलीवरी है): "पहले" इवेंट के शुरू होने के कम से कम offsetDuration
बाद, "दूसरे" इवेंट को शुरू करना होगा.
कई प्राथमिकताएं एक ही (या मिलते-जुलते) इवेंट का रेफ़रंस दे सकती हैं. उदाहरण के लिए, "A की डिलीवरी के बाद B को पिकअप किया जाता है" और "B के पिकअप के बाद C को पिकअप किया जाता है".
इसके अलावा, प्राथमिकताएं सिर्फ़ तब लागू होती हैं, जब दोनों शिपमेंट पूरे किए जाते हैं. ऐसा न होने पर, उन्हें अनदेखा कर दिया जाता है.
JSON के काेड में दिखाना |
---|
{ "firstIsDelivery": boolean, "secondIsDelivery": boolean, "offsetDuration": string, "firstIndex": integer, "secondIndex": integer } |
फ़ील्ड | |
---|---|
first |
इससे पता चलता है कि "पहला" इवेंट डिलीवरी है या नहीं. |
second |
इससे पता चलता है कि "दूसरा" इवेंट डिलीवरी है या नहीं. |
offset |
"पहले" और "दूसरे" इवेंट के बीच का ऑफ़सेट. यह नेगेटिव हो सकता है. सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
first |
"पहले" इवेंट का शिपमेंट इंडेक्स. यह फ़ील्ड भरना ज़रूरी है. |
second |
"दूसरे" इवेंट का शिपमेंट इंडेक्स. यह फ़ील्ड भरना ज़रूरी है. |