تُحدِّد تفاصيل الشحنات غير المنفَّذة في أحد الحلول. في الحالات البسيطة و/أو إذا تمكّنا من تحديد سبب التخطّي، سنُبلغ عن السبب هنا.
تمثيل JSON |
---|
{
"index": integer,
"label": string,
"reasons": [
{
object ( |
الحقول | |
---|---|
index |
يتطابق الفهرس مع فهرس الشحنة في المصدر |
label |
نسخة من |
reasons[] |
قائمة بالأسباب التي توضّح سبب تخطّي الشحنة راجِع التعليق أعلاه |
السبب
إذا تمكّنا من توضيح سبب عدم تسليم الشحنة، سيتم إدراج الأسباب هنا. إذا لم يكن السبب متطابقًا لجميع المركبات، سيتضمّن 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 |
راجِع التعليقات في الرمز البرمجي. |
example |
إذا كان رمز السبب هو |
example |
إذا كان السبب مرتبطًا بعدم توافق الشحنة مع المركبة، يقدّم هذا الحقل فهرسًا لمركبة واحدة ذات صلة. |
الرمز
رمز يحدِّد نوع السبب لا معنى للترتيب هنا. على وجه الخصوص، لا يشير ذلك إلى ما إذا كان سبب معيّن سيظهر قبل سبب آخر في الحل، إذا كان كلاهما ينطبق.
عمليات التعداد | |
---|---|
CODE_UNSPECIFIED |
ولا يُفترَض استخدام هذا الإجراء مطلقًا. |
NO_VEHICLE |
لا تتوفّر مركبة في النموذج، ما يجعل جميع الشحنات غير قابلة للتنفيذ. |
DEMAND_EXCEEDS_VEHICLE_CAPACITY |
يتجاوز طلب الشحن سعة المركبة لبعض أنواع السعة، ومن بينها exampleExceededCapacityType . |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
تتجاوز الحدّ الأدنى للمسافة اللازمة لتنفيذ هذه الشحنة، أي من يُرجى العلم أنّنا نستخدم المسافات الجيوديسية لإجراء هذا الحساب. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT |
يتجاوز الحدّ الأدنى للوقت اللازم لتنفيذ هذه الشحنة، بما في ذلك وقت السفر ووقت الانتظار ووقت الخدمة، ملاحظة: يتم احتساب وقت التنقّل في أفضل السيناريوهات، أي المسافة الجيوديسية مضروبة في 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 في الشحنة ليس فارغًا وهذه المركبة لا تنتمي إليه. |