SkippedShipment

تُحدِّد تفاصيل الشحنات غير المنفَّذة في أحد الحلول. وفي الحالات البسيطة و/أو إذا تمكّنا من تحديد سبب التخطّي، يمكنك الإبلاغ عن السبب هنا.

تمثيل JSON
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
الحقول
index

integer

يتطابق الفهرس مع فهرس الشحنة في المصدر ShipmentModel.

label

string

نسخة من Shipment.label المقابلة لها، إذا تم تحديدها في Shipment

reasons[]

object (Reason)

قائمة بالأسباب التي تفسّر سبب تخطّي الشحنة عرض التعليق فوق Reason. إذا تعذّر علينا فهم سبب تخطي الشحنة، لن يتم تحديد الأسباب.

السبب

إذا تمكّنا من توضيح سبب تخطي الشحنة، سيتم إدراج الأسباب هنا. إذا لم يكن السبب هو نفسه لكل المركبات، ستتضمّن السمة 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),
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
الحقول
code

enum (Code)

يمكنك الرجوع إلى تعليقات Code.

exampleExceededCapacityType

string

إذا كان رمز السبب هو DEMAND_EXCEEDS_VEHICLE_CAPACITY، يُرجى تسجيل نوع سعة واحد تم تجاوزه.

exampleVehicleIndex

integer

إذا كان السبب مرتبطًا بعدم توافق مركبة شحن، يوفر هذا الحقل المؤشر الخاص بمركبة واحدة ذات صلة.

الرمز

رمز يحدِّد نوع السبب لا معنى للترتيب هنا. وعلى وجه التحديد، لا يوفر أي مؤشر على ما إذا كان سبب معيّن سيظهر قبل سبب آخر في الحل، إذا انطبق كلا السببين.

عمليات التعداد
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 المركبة.

ملاحظة: يتم احتساب وقت التنقّل في أفضل السيناريوهات، أي المسافة الجيوديسية مضروبة في 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 في الشحنة ليس فارغًا وهذه المركبة لا تنتمي إليه.