SkippedShipment

솔루션에서 실행되지 않은 배송의 세부정보를 지정합니다. 사소한 케이스이거나 건너뛰는 이유를 파악할 수 있는 경우 여기에 이유를 보고합니다.

JSON 표현
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
필드
index

integer

색인은 소스 ShipmentModel의 배송 색인에 해당합니다.

label

string

Shipment에 지정된 경우 해당 Shipment.label의 사본입니다.

reasons[]

object (Reason)

배송이 건너뛴 이유를 설명하는 이유 목록입니다. Reason 위의 주석을 참고하세요. 배송이 건너뛴 이유를 파악할 수 없는 경우 사유가 설정되지 않습니다.

이유

배송이 건너뛴 이유를 설명할 수 있는 경우 여기에 이유가 표시됩니다. 모든 차량의 이유가 동일하지 않은 경우 reason에는 요소가 2개 이상 있습니다. 건너뛴 배송에는 중복된 이유가 있을 수 없습니다. 즉, 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

배송 차량 비호환성과 관련된 이유인 경우 이 필드에 관련 차량 1대의 색인이 표시됩니다.

코드

이유 유형을 식별하는 코드입니다. 여기서 순서는 의미가 없습니다. 특히 두 가지 이유가 모두 적용되는 경우 솔루션에서 어떤 이유가 먼저 표시될지 나타내지 않습니다.

열거형
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 36m/s (약 130km/시간)로 계산됩니다.

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 필드가 비어 있지 않으며 이 차량이 배송에 속하지 않습니다.