SkippedShipment

Chỉ định thông tin 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 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 ShipmentModel nguồn.

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 lý do giải thích lý do lô hàng bị bỏ qua. Xem bình luận ở trên Reason. Nếu chúng tôi không hiểu lý do một lô hàng bị bỏ qua, thì hệ thống sẽ không đặt lý do.

Lý do

Nếu chúng tôi có thể giải thích lý do bỏ qua đơn hàng, thì lý do sẽ được liệt kê tại đây. Nếu lý do không giống nhau đối với tất cả các xe, reason sẽ có nhiều 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ị bỏ qua không tương thích với tất cả xe. Lý do có thể khác nhau đối với tất cả các xe, nhưng ít nhất một xe sẽ vượt quá hạn mức "Táo" (bao gồm cả xe 1), ít nhất một xe sẽ vượt quá hạn mức "Lê" (bao gồm cả xe 3) và ít nhất một xe sẽ vượt quá hạn mức quãng đường (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)

Tham khảo các nhận xét về 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 đã vượt quá.

exampleVehicleIndex

integer

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

Mã xác định loại lý do. Thứ tự ở đây không có ý nghĩa. Cụ thể, thuộc tính 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 áp dụng.

Enum
CODE_UNSPECIFIED Bạn không nên sử dụng thuộc tính này.
NO_VEHICLE Không có phương tiện nào trong mô hình khiến tất cả các lô hàng đều không thể thực hiện được.
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, trong đó có exampleExceededCapacityType.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

Khoảng cách 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 địa điểm lấy hàng và/hoặc giao hàng của lô hàng và đến vị trí cuối cùng của xe vượt quá routeDistanceLimit của xe.

Xin lưu ý rằng để tính toán này, chúng ta 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 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 theo trường hợp tốt nhất, cụ thể là quãng đường trắc địa x 36 m/giây (khoảng 130 km/giờ).

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Tương tự như trên, nhưng chúng ta 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 chuyến hàng này trong trường hợp tốt nhất (xem CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT để tính toán thời gian) nếu xe bắt đầu vào 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à xe này không thuộc lô hàng đó.