SkippedShipment

Çözümdeki başarılı olmayan gönderimlerin ayrıntılarını belirtir. Önemsiz durumlar için ve/veya atlama nedenini belirleyebiliyorsak nedenini burada bildiririz.

JSON gösterimi
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ]
}
Alanlar
index

integer

Dizin, ShipmentModel kaynağındaki gönderinin dizinine karşılık gelir.

label

string

Shipment içinde belirtilmişse ilgili Shipment.label öğesinin kopyası.

reasons[]

object (Reason)

Gönderimin neden atlandığını açıklayan nedenlerin listesi. Reason numaralı yoruma bakın. Bir gönderimin neden atlandığını anlayamazsak nedenler ayarlanmaz.

Neden

Gönderimin neden atlandığını açıklayabilmemiz durumunda nedenler burada listelenir. Neden tüm araçlar için aynı değilse reason öğesinde birden fazla öğe bulunur. Atlanan gönderimlerde, exampleVehicleIndex hariç tüm alanların aynı olduğu kopya nedenler olamaz. Örnek:

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
}

Atlanan gönderim tüm araçlarla uyumlu değildir. Nedenler tüm araçlar için farklı olabilir ancak en az bir aracın "Elma" kapasitesi aşılır (1. araç dahil), en az bir aracın "Armut" kapasitesi aşılır (3. araç dahil) ve en az bir aracın mesafe sınırı aşılır (1. araç dahil).

JSON gösterimi
{
  "code": enum (Code),
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
Alanlar
code

enum (Code)

Kodun yorumlarına bakın.

exampleExceededCapacityType

string

Neden kodu DEMAND_EXCEEDS_VEHICLE_CAPACITY ise aşılmış bir kapasite türünü belirtir.

exampleVehicleIndex

integer

Neden sevkiyat-araç uyumsuzluğuyla ilgiliyse bu alan ilgili bir aracın dizinini sağlar.

Kod

Neden türünü tanımlayan kod. Buradaki sıra anlamsız. Özellikle, belirli bir nedenin (her ikisi de geçerliyse) çözümde bir diğer nedenden önce görünüp görünmeyeceğini belirtmez.

Sıralamalar
CODE_UNSPECIFIED Bu ifade hiçbir zaman kullanılmamalıdır.
NO_VEHICLE Modelde, tüm gönderimlerin uygulanamaz hale gelmesine neden olan bir araç yok.
DEMAND_EXCEEDS_VEHICLE_CAPACITY Gönderim talebi, biri exampleExceededCapacityType olan bazı kapasite türleri için aracın kapasitesini aşıyor.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

Bu gönderimi gerçekleştirmek için gereken minimum mesafe (yani aracın startLocation noktasından gönderimin teslim alınma ve/veya teslimat konumlarına ve aracın bitiş konumuna olan mesafe) aracın routeDistanceLimit değerini aşıyor.

Bu hesaplamada jeodezik mesafeleri kullandığımıza dikkat edin.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

Seyahat süresi, bekleme süresi ve servis süresi dahil olmak üzere bu gönderimi gerçekleştirmek için gereken minimum süre, aracın routeDurationLimit değerini aşıyor.

Not: Seyahat süresi, en iyi durum senaryosuna göre hesaplanır. Yani jeodezik mesafe x 36 m/sn (yaklaşık 130 km/sa) olarak hesaplanır.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Yukarıdakiyle aynıdır ancak yalnızca minimum seyahat süresini ve aracın travelDurationLimit değerini karşılaştırırız.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS Araç en erken başlangıç zamanında başlıyorsa en iyi durum senaryosunda (zaman hesaplaması için CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT) bu gönderimi gerçekleştiremez: Toplam süre, aracın en son bitiş zamanından sonra bitmesine neden olur.
VEHICLE_NOT_ALLOWED Gönderimin allowedVehicleIndices alanı boş değil ve bu araç ona ait değil.