SkippedShipment

جزئیات محموله های انجام نشده را در یک راه حل مشخص می کند. برای موارد بی اهمیت و/یا اگر بتوانیم علت پرش را شناسایی کنیم، دلیل را در اینجا گزارش می کنیم.

نمایندگی JSON
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
زمینه های
index

integer

این فهرست با نمایه محموله در مبدا ShipmentModel مطابقت دارد.

label

string

کپی مربوطه Shipment.label , در صورتی که در Shipment مشخص شده باشد .

reasons[]

object ( Reason )

فهرستی از دلایلی که توضیح می دهد چرا حمل و نقل نادیده گرفته شده است. نظر بالا Reason ببینید.

دلیل

اگر بتوانیم دلیل حذف محموله را توضیح دهیم، دلایل در اینجا ذکر می شود. اگر دلیل برای همه وسایل نقلیه یکسان نباشد، reason بیش از 1 عنصر خواهد داشت. یک محموله نادیده گرفته نمی‌تواند دلایل تکراری داشته باشد، یعنی جایی که همه فیلدها یکسان هستند به جز برای 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 )

به نظرات کد مراجعه کنید.

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 محموله خالی نیست و این وسیله نقلیه متعلق به آن نیست.