SkippedShipment

Menentukan detail pengiriman yang belum dilakukan dalam solusi. Untuk kasus yang sepele dan/atau jika kami dapat mengidentifikasi penyebab lewati, kami akan melaporkan alasannya di sini.

Representasi JSON
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
Kolom
index

integer

Indeks ini sesuai dengan indeks pengiriman di ShipmentModel sumber.

label

string

Salinan Shipment.label yang sesuai, jika ditentukan dalam Shipment.

reasons[]

object (Reason)

Daftar alasan yang menjelaskan mengapa pengiriman dilewati. Lihat komentar di atas Reason.

Alasan

Jika kami dapat menjelaskan alasan pengiriman dilewati, alasannya akan dicantumkan di sini. Jika alasannya tidak sama untuk semua kendaraan, reason akan memiliki lebih dari 1 elemen. Pengiriman yang dilewati tidak boleh memiliki alasan duplikat, yaitu jika semua kolom sama kecuali untuk exampleVehicleIndex. Contoh:

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
}

Pengiriman yang dilewati tidak kompatibel dengan semua kendaraan. Alasannya mungkin berbeda untuk semua kendaraan, tetapi setidaknya satu "Apel" kendaraan kapasitas akan terlampaui (termasuk kendaraan 1), setidaknya satu "Pear" kendaraan kapasitas akan terlampaui (termasuk kendaraan 3) dan setidaknya satu batas jarak satu kendaraan akan terlampaui (termasuk kendaraan 1).

Representasi JSON
{
  "code": enum (Code),
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
Kolom
code

enum (Code)

Lihat komentar Kode.

exampleExceededCapacityType

string

Jika kode alasannya adalah DEMAND_EXCEEDS_VEHICLE_CAPACITY, mendokumentasikan satu jenis kapasitas yang terlampaui.

exampleVehicleIndex

integer

Jika alasannya terkait dengan ketidakcocokan kendaraan pengiriman, kolom ini memberikan indeks satu kendaraan yang relevan.

Kode

Kode yang mengidentifikasi jenis alasan. Urutan di sini tidak bermakna. Secara khusus, contoh ini tidak memberikan indikasi apakah alasan tertentu akan muncul sebelum alasan yang lain dalam solusi, jika keduanya berlaku.

Enum
CODE_UNSPECIFIED Metode ini tidak boleh digunakan. Jika kami tidak dapat memahami alasan pengiriman dilewati, kami hanya akan mengembalikan sekumpulan alasan kosong.
NO_VEHICLE Tidak ada kendaraan dalam model ini yang membuat semua pengiriman tidak dapat dilakukan.
DEMAND_EXCEEDS_VEHICLE_CAPACITY Permintaan pengiriman melebihi kapasitas kendaraan untuk beberapa jenis kapasitas, salah satunya adalah exampleExceededCapacityType.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

Jarak minimum yang diperlukan untuk melakukan pengiriman ini, yaitu dari startLocation kendaraan ke lokasi pengambilan dan/atau pengiriman pengiriman dan ke lokasi akhir kendaraan melebihi routeDistanceLimit kendaraan.

Perhatikan bahwa untuk komputasi ini, kita menggunakan jarak geodesi.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

Waktu minimum yang diperlukan untuk melakukan pengiriman ini, termasuk waktu perjalanan, waktu tunggu, dan waktu layanan melebihi routeDurationLimit kendaraan.

Catatan: waktu tempuh dihitung dalam skenario kasus terbaik, yaitu sebagai jarak geodesi x 36 m/s (sekitar 130 km/jam).

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Sama seperti di atas, tetapi kita hanya membandingkan waktu perjalanan minimum dan travelDurationLimit kendaraan.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS Kendaraan tidak dapat melakukan pengiriman ini dalam skenario kasus terbaik (lihat CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT untuk komputasi waktu) jika dimulai pada waktu mulai paling awal: total waktu akan membuat kendaraan berakhir setelah waktu berakhir terbarunya.
VEHICLE_NOT_ALLOWED Kolom allowedVehicleIndices pengiriman tidak boleh kosong dan kendaraan ini bukan miliknya.