SkippedShipment

Nêu thông tin chi tiết về những lô hàng không thực hiện được trong một giải pháp. Đối với các trường hợp không đáng kể và/hoặc nếu chúng tôi có thể xác định 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 vì sao lô 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 thì lý do sẽ được liệt kê ở đây. Nếu lý do không giống nhau cho tất cả các phương tiện, reason sẽ có nhiều hơn 1 phần tử. Mộ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ả phương tiện. Có thể mỗi loại xe sẽ có những lý do khác nhau, nhưng có ít nhất một mẫu xe có thể là "Táo" vượt quá sức chứa (bao gồm cả xe 1), có ít nhất một chiếc "Lê" của xe vượt quá sức chứa (bao gồm cả xe 3) và vượt quá giới hạn khoảng cách của ít nhất một xe (bao gồm 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 trong Code.

exampleExceededCapacityType

string

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

exampleVehicleIndex

integer

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

Mã xác định loại lý do. Thứ tự ở đây là vô nghĩa. Cụ thể, nguyên tắc này không cho biết liệu một lý do nhất định 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 đều phù hợp.

Enum
CODE_UNSPECIFIED Bạn tuyệt đối không nên sử dụng thuộc tính này. Nếu chúng tôi không thể hiểu lý do vì sao lô hàng bị bỏ qua, chúng tôi chỉ trả về một tập hợp lý do trống.
NO_VEHICLE Không có chiếc xe nào trong mô hình khiến tất cả các lô hàng đều không khả thi.
DEMAND_EXCEEDS_VEHICLE_CAPACITY Nhu cầu của lô hàng vượt quá sức chứa 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

Khoảng cách tối thiểu cần thiết để vận chuyển hàng (tức là từ startLocation của xe đến vị trí nhận hàng và/hoặc giao hàng của lô hàng và đến vị trí kết thúc của xe vượt quá routeDistanceLimit của xe).

Lưu ý rằng đối với 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 bảo dưỡng) 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à theo 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ể vận chuyển hàng trong trường hợp tốt nhất (xem CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT để biết cách tính thời gian) nếu xe 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 điểm kết thúc muộn nhất.
VEHICLE_NOT_ALLOWED Trường allowedVehicleIndices của lô hàng không trống và chiếc xe này không thuộc về trường đó.