SkippedShipment

किसी समाधान में, पूरे नहीं किए गए शिपमेंट की जानकारी देता है. मामूली मामलों और/या वीडियो स्किप करने की वजह का पता चलने पर, हम इसकी वजह यहां बताते हैं.

JSON के काेड में दिखाना
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ],
  "penaltyCost": number,
  "estimatedIncompatibleVehicleRatio": number
}
फ़ील्ड
index

integer

इंडेक्स, सोर्स ShipmentModel में शिपमेंट के इंडेक्स से मेल खाता है.

label

string

अगर Shipment में बताया गया है, तो उससे जुड़े Shipment.label की कॉपी.

reasons[]

object (Reason)

शिपमेंट को छोड़ने की वजहों की सूची. Reason के ऊपर मौजूद टिप्पणी देखें. अगर हमें यह समझ नहीं आता कि शिपमेंट को क्यों छोड़ा गया था, तो वजहें सेट नहीं की जाएंगी.

penaltyCost

number

यह Shipment.penalty_cost की एक कॉपी है. इसे यहां इसलिए शामिल किया गया है, ताकि किसी शिपमेंट को छोड़ने की गंभीरता को आसानी से देखा जा सके.

एक्सपेरिमेंटल: आने वाले समय में, इस फ़ील्ड के काम करने के तरीके या इसकी मौजूदगी में बदलाव हो सकता है.

estimatedIncompatibleVehicleRatio

number

उन वाहनों का अनुमानित अनुपात जो इनमें से कम से कम एक वजह से, शिपमेंट नहीं कर सकते. ध्यान दें: यह सिर्फ़ तब भरा जाता है, जब वजहों में वाहन शामिल हो.

एक्सपेरिमेंटल: आने वाले समय में, इस फ़ील्ड के काम करने के तरीके या इसकी मौजूदगी में बदलाव हो सकता है.

कारण

अगर हम शिपमेंट को छोड़ने की वजह बता सकते हैं, तो इसकी वजहें यहां दी जाएंगी. अगर सभी वाहनों के लिए वजह एक जैसी नहीं है, तो reason में एक से ज़्यादा एलिमेंट होंगे. जिस शिपमेंट को छोड़ा गया है उसकी वजहें डुप्लीकेट नहीं हो सकतीं. इसका मतलब है कि exampleVehicleIndex के अलावा सभी फ़ील्ड एक जैसे होने चाहिए. उदाहरण:

reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 1
  exampleExceededCapacityType: "Apples"
}
reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 3
  exampleExceededCapacityType: "Pears"
}
reasons {
  code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
  exampleVehicleIndex: 1
}

छोड़ा गया शिपमेंट, सभी वाहनों के साथ काम नहीं करता. सभी वाहनों के लिए वजहें अलग-अलग हो सकती हैं. हालांकि, कम से कम एक वाहन में "सेब" की क्षमता से ज़्यादा सेव किए गए होंगे. इसमें वाहन 1 भी शामिल है. साथ ही, कम से कम एक वाहन में "नाशपाती" की क्षमता से ज़्यादा सेव किए गए होंगे. इसमें वाहन 3 भी शामिल है. इसके अलावा, कम से कम एक वाहन की दूरी की सीमा से ज़्यादा की गई होगी. इसमें वाहन 1 भी शामिल है.

JSON के काेड में दिखाना
{
  "code": enum (Code),
  "exampleVehicleIndices": [
    integer
  ],
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
फ़ील्ड
code

enum (Code)

कोड की टिप्पणियां देखें.

exampleVehicleIndices[]

integer

यह exampleVehicleIndex जैसा ही है. हालांकि, हम पहचाने गए कई वाहनों की सूची देते हैं. यह ज़रूरी नहीं है कि इस सूची में सभी प्रॉडक्ट शामिल हों. यह सिर्फ़ तब भरा जाता है, जब [fill_example_vehicle_indices_in_skipped_reasons][] सही हो.

एक्सपेरिमेंटल: आने वाले समय में, इस फ़ील्ड के काम करने के तरीके या इसकी मौजूदगी में बदलाव हो सकता है.

exampleExceededCapacityType

string

अगर वजह का कोड DEMAND_EXCEEDS_VEHICLE_CAPACITY है, तो इसका मतलब है कि आपने एक तरह की क्षमता से ज़्यादा की है.

exampleVehicleIndex

integer

अगर वजह, शिपमेंट और वाहन के काम न करने से जुड़ी है, तो इस फ़ील्ड में उस वाहन का इंडेक्स दिया जाता है जो शिपमेंट के लिए सही है.

कोड

वजह के टाइप की पहचान करने वाला कोड. यहां दिए गए क्रम का कोई मतलब नहीं है. खास तौर पर, इससे यह पता नहीं चलता कि अगर दोनों वजहें लागू होती हैं, तो समाधान में कोई वजह किसी दूसरी वजह से पहले दिखेगी या नहीं.

Enums
CODE_UNSPECIFIED इसका कभी इस्तेमाल नहीं किया जाना चाहिए.
NO_VEHICLE मॉडल में कोई वाहन नहीं है, इसलिए सभी शिपमेंट की सुविधा उपलब्ध नहीं है.
DEMAND_EXCEEDS_VEHICLE_CAPACITY शिपमेंट की मांग, कुछ तरह की कपैसिटी के लिए वाहन की कपैसिटी से ज़्यादा है. इनमें से एक exampleExceededCapacityType है.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

इस शिपमेंट को पूरा करने के लिए, वाहन की startLocation से शिपमेंट की पिकअप और/या डिलीवरी की जगहों और वाहन की आखिरी जगह तक की कम से कम दूरी, वाहन की routeDistanceLimit से ज़्यादा है.

ध्यान दें कि इस गिनती के लिए, हम जियोडेसिक दूरियों का इस्तेमाल करते हैं.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

इस शिपमेंट को पूरा करने में लगने वाला कम से कम समय, वाहन के routeDurationLimit से ज़्यादा है. इसमें यात्रा का समय, इंतज़ार का समय, और सेवा का समय शामिल है.

ध्यान दें: यात्रा में लगने वाले समय का हिसाब, सबसे बेहतर स्थिति के हिसाब से लगाया जाता है. जैसे, जियोडेसिक दूरी x 36 मीटर/सेकंड (लगभग 130 कि॰मी॰/घं॰).

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT यह ऊपर बताए गए तरीके जैसा ही है. हालांकि, हम सिर्फ़ यात्रा के कम से कम समय और वाहन के travelDurationLimit की तुलना करते हैं.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS अगर वाहन सबसे पहले शुरू होने के समय पर शुरू होता है, तो वह सबसे अच्छी स्थिति में भी यह शिपमेंट नहीं कर सकता (समय का हिसाब लगाने के लिए CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT देखें): कुल समय के हिसाब से, वाहन के खत्म होने का समय, उसके खत्म होने के सबसे बाद के समय के बाद होगा.
VEHICLE_NOT_ALLOWED शिपमेंट का allowedVehicleIndices फ़ील्ड खाली नहीं है और यह वाहन उससे जुड़ा नहीं है.
VEHICLE_IGNORED

वाहन के ignore फ़ील्ड की वैल्यू 'सही' है.

एक्सपेरिमेंटल: आने वाले समय में, इस फ़ील्ड के काम करने के तरीके या इसकी मौजूदगी में बदलाव हो सकता है.

SHIPMENT_IGNORED

शिपमेंट के ignore फ़ील्ड की वैल्यू 'सही' है.

एक्सपेरिमेंटल: आने वाले समय में, इस फ़ील्ड के काम करने के तरीके या इसकी मौजूदगी में बदलाव हो सकता है.

SKIPPED_IN_INJECTED_SOLUTION_CONSTRAINT

injectedSolutionConstraint में शिपमेंट नहीं किया गया.

एक्सपेरिमेंटल: आने वाले समय में, इस फ़ील्ड के काम करने के तरीके या इसकी मौजूदगी में बदलाव हो सकता है.

VEHICLE_ROUTE_IS_FULLY_SEQUENCE_CONSTRAINED

injectedSolutionConstraint में बताए गए वाहन के रास्ते से जुड़े नियमों में, किसी भी विज़िट को शामिल करने की अनुमति नहीं है.

एक्सपेरिमेंटल: आने वाले समय में, इस फ़ील्ड के काम करने के तरीके या इसकी मौजूदगी में बदलाव हो सकता है.

ZERO_PENALTY_COST

शिपमेंट के लिए, जुर्माने की कोई लागत नहीं है. यह मॉडलिंग के बेहतर विकल्प के तौर पर काम का हो सकता है. हालांकि, यह इस बात की जानकारी भी दे सकता है कि किसी शिपमेंट को क्यों छोड़ा गया.

एक्सपेरिमेंटल: आने वाले समय में, इस फ़ील्ड के काम करने के तरीके या इसकी मौजूदगी में बदलाव हो सकता है.