SkippedShipment

Chỉ định chi tiết về các lô hàng chưa thực hiện trong một giải pháp. Đối với các trường hợp nhỏ và/hoặc nếu chúng tôi có thể xác định được nguyên nhân bỏ qua, chúng tôi sẽ báo cáo lý do tại đây.

Biểu diễn dưới dạng JSON
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
Trường
index

integer

Chỉ mục này tương ứng với chỉ mục của lô hàng trong nguồn ShipmentModel.

label

string

Bản sao của Shipment.label tương ứng, nếu được chỉ định trong Shipment.

reasons[]

object (Reason)

Danh sách các lý do giải thích tại sao đơn đặt hàng bị bỏ qua. Xem nhận xét phía trên Reason.

Lý do

Nếu chúng tôi có thể giải thích lý do đơn đặt hàng bị bỏ qua, lý do sẽ được liệt kê ở đây. Nếu lý do không giống nhau cho tất cả xe, reason sẽ có nhiều hơn 1 phần tử. Lô hàng bị bỏ qua không được có lý do trùng lặp, tức là tất cả các trường đều giống nhau ngoại trừ exampleVehicleIndex. Ví dụ:

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
}

Lô hàng đã bỏ qua không tương thích với tất cả xe. Có thể có nhiều lý do khác nhau cho tất cả các xe, nhưng có ít nhất một xe vượt quá dung lượng "Táo" (kể cả xe 1), ít nhất một xe vượt quá tải trọng "Lê" (kể cả xe 3) và vượt quá giới hạn khoảng cách của ít nhất một xe (kể cả xe 1).

Biểu diễn dưới dạng JSON
{
  "code": enum (Code),
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
Trường
code

enum (Code)

Hãy tham khảo nhận xét của Mã.

exampleExceededCapacityType

string

Nếu mã lý do là DEMAND_EXCEEDS_VEHICLE_CAPACITY, hãy ghi lại một loại dung lượng bị vượt quá.

exampleVehicleIndex

integer

Nếu lý do này có liên quan đến vấn đề không tương thích với xe vận chuyển, thì trường này sẽ cung cấp chỉ số của một chiếc xe có liên quan.

Mã xác định loại lý do. Thứ tự ở đây không có ý nghĩa. Cụ thể, phương pháp này không cho biết liệu một lý do cụ thể có xuất hiện trước một lý do khác trong giải pháp hay không, nếu cả hai nguyên nhân đều phù hợp.

Enum
CODE_UNSPECIFIED Tuyệt đối không sử dụng thuộc tính này. Nếu không thể hiểu được lý do đơn hàng bị bỏ qua, chúng tôi chỉ cần trả lại một nhóm lý do không có lý do.
NO_VEHICLE Không có chiếc xe nào trong mô hình khiến mọi quá trình vận chuyển đều không khả thi.
DEMAND_EXCEEDS_VEHICLE_CAPACITY Nhu cầu vận chuyển vượt quá hạn mức của xe đối với một số loại sức chứa, một trong số đó là exampleExceededCapacityType.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

Quãng đường tối thiểu cần thiết để thực hiện lô hàng này, tức là từ startLocation của xe đến vị trí đến lấy hàng và/hoặc giao hàng, và đến vị trí cuối của xe vượt quá routeDistanceLimit của xe.

Xin lưu ý rằng để tính toán này, chúng tôi sử dụng khoảng cách trắc địa.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

Thời gian tối thiểu cần thiết để thực hiện lô hàng này, bao gồm cả thời gian di chuyển, thời gian chờ và thời gian phục vụ vượt quá routeDurationLimit của xe.

Lưu ý: thời gian di chuyển được tính trong trường hợp tốt nhất, cụ thể là khoảng cách trắc địa x 36 m/s (khoảng 130 km/giờ).

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Tương tự như trên, nhưng chúng tôi chỉ so sánh thời gian di chuyển tối thiểu và travelDurationLimit của xe.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS Xe không thể thực hiện việc vận chuyển này trong trường hợp tốt nhất (xem CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT để tính thời gian) nếu bắt đầu tại thời điểm bắt đầu sớm nhất: tổng thời gian sẽ khiến xe kết thúc sau thời gian kết thúc gần nhất.
VEHICLE_NOT_ALLOWED Trường allowedVehicleIndices của lô hàng không được để trống và chiếc xe này không thuộc về trường hợp vận chuyển đó.