Kurye çalışma saatleri

Varsayılan değer, hizmet yalnızca malların teslimatı için gerekli olan durakları içeren bir rota planlar. Ancak, kuryeler genellikle durmaksızın çalışmazlar: öğle yemeği molası vermeleri gerekir ve rotalar oluşturulurken bunun dikkate alınması gerekir. Ayrıca uzun yollarda, sürücünün belirli bir sürüş süresinden sonra durması gereken bir çalışma ve dinlenme düzenine uyma zorunluluğu vardır.

Molaları

Kurye çalışma düzenini yönetmek için vechicle.rest_schedule.breaks nesnesini kullanın. Dinlenme molaları, bakım ve diğer faaliyetlerin basit veya karmaşık modellerini tanımlayabilirsiniz.

Program şablonları

Molaları her kurye için ayrı ayrı tanımlayabilir veya birden fazla kurye için şablon oluşturabilirsiniz. Özelleştirilmiş programların ve şablon programlarının birleştirilmesi de mümkündür.

Bir şablon oluşturmak için options içine template_rest_schedules parametresini ekleyin ve içinde program dizisini belirtin: [{"id": string, "breaks": [...]}].

Şablonu kullanmak için, vehicles içine rest_schedule_id parametresini ekleyin ve içinde id’den program şablonunun options belirtin.

Mola süresi

Mola süresi, her bir mola için zorunlu olan rest_duration_s parametresi tarafından belirlenir.

Parametre

Değer

Örnek

rest_duration_s

Molanın saniye cinsinden süresi.

"rest_duration_s": 600

Mola 10 dakika (600 saniye) sürmelidir.

Mola başlangıcı koşulları

Molanın başlangıcı bir zaman aralığı (başlangıç ve bitiş) ile belirtilir. Koşullar, aşağıdaki tabloda daha ayrıntılı olarak ele alınan çeşitli şekillerde belirlenebilir.

Parametre

Değer

Örnek

work_time_range_from_start

Rotanın başlangıcından itibaren çalışma süresi. Şunları içerir: seyahat süresi, bekleme süresi ve siparişler ve depolardaki hizmet süresi.

Diğer molaların varlığı ve süresi önemsizdir.

"work_time_range_from_start": "01:00:00-03:00:00"

Rotanın başlangıcından en erken 1 saat ve en geç 3 saat sonra mola başlanmalıdır.

work_time_range_till_rest

Son moladan itibaren (veya ilk molaysa rotanın başlangıcından itibaren) çalışma süresi. Şunları içerir: seyahat süresi, bekleme süresi ve siparişler ve depolardaki hizmet süresi.

"work_time_range_till_rest": "02:00:00-04:00:00"

Molaya, vardiyanın başlamasından en erken 2 saat ve en geç 4 saat sonra başlayın (depoya varış, hizmet süresi, seyahat ve bekleme süreleri dahil)

travel_time_range

Rotanın başlangıcından itibaren seyahat ve bekleme süresi. Bu durumda hizmet süresi dikkate alınmaz.

"travel_time_range": "01:00:00-03:00:00"

Seyahat ve bekleme süreleri dikkate alınarak, ancak siparişler ve depolardaki hizmet süresi hariç olmak üzere, rotanın başlamasından en erken 1 saat ve en geç 3 saat sonra molaya başlanması.

continuous_travel_time_range

Bir önceki siparişin tamamlanmasından itibaren seyahat ve bekleme süresi. Bu durumda hizmet süresi dikkate alınmaz.

"continuous_travel_time_range": "02:00:00-03:00:00"

Molaya en erken 2 saat sonra ve en geç 3 saat sürekli hareket ettikten sonra başlanması.

driving_time_range

Rotanın başlangıcından itibaren seyahat süresi. Bekleme süresi ve hizmet süresi dikkate alınmaz.

"driving_time_range": "01:00:00-03:00:00"

Molayı hareketin başlangıcından itibaren 1 saatten erken ve 3 saatten geç olmamak üzere başlanması.

exact_time_range

Molanın başlangıç zamanı. Mola tekrarlanamaz.

Çalışma başlangıç zamanı, diğer molaların varlığı ve süresi önemsizdir.

Rota, mola başlangıç saatinden önce biterse mola başlamayacaktır.

"exact_time_range": "17:00:00-20:00:00"

Molayı 17.00 ile 20.00 arasında başlatma.

Birden fazla mola varsa, her biri bir önceki mola sona erdikten sonraki çalışma süresi aralığını belirtir. Örneğin, ilk mola 04:00–05:00, ve ikinci mola 02:00–03:00 olarak ayarlanmışsa, bu duurmda ilk mola işe başladıktan sonra 4 ila 5 saatleri arasında başlamalı ve ikinci mola da ilk molanın tamamlanmasından sonra 2 ila 3 çalışma saati arasında başlamalıdır.

Mola planlama koşulları

Ek parametreler belirleyebilirsiniz: molayı zorunlu hale getirebilir veya molayı başlatmak için minimum bir çalışma süresi ayarlayabilirsiniz.

Parametre

Değer

Örnek

necessary_route_duration_s

Rotanın başlangıcından itibaren molanın zorunlu olduğu süre. Saniye cinsinden belirtilir.

"necessary_route_duration_s": 14400

Rotanın başlangıcından itibarne 4 saat (14400 saniye) geçtiğinde mola başlatılması zorunludur.

route_duration_s

Parametre, bir molanın programlanması gereken minimum çalışma süresini ayarlar. Toplam çalışma süresinin daha az olması halinde mola planlanmayacaktır. Saniye cinsinden belirtilir.

"route_duration_s": 14400

Rota en az 4 saat (14400 saniye) sürüyorsa mola başlatma.

Molaların birleştirilmesi koşulları

Parametre

Değer

Örnek

before_first_location

Birinci siparişten önce molanın diğer molalarla birleştirilmesi olasılığı. Mola, yalnızca türleri merge_with_types’de belirtilen molalarla birleştirilebilir.

"before_first_location": true

Mola, mola türünün merge_with_types’de belirtildiği ilk konumdan önceki son mola ile birleştirilecektir. Eğer böyle bir mola yoksa, bu mola ilk konumdan hemen önce olacaktır. Bu tür tüm molalar ayrı bir zincir üzerinde olmalıdır.

after_last_location

Son siparişten sonra molayı diğer molalarla birleştirme olasılığı. Mola, yalnızca türleri merge_with_types’de belirtilen molalarla birleştirilebilir.

"after_last_location": true

Mola, mola türünün merge_with_types içinde belirtildiği son konumdan sonraki ilk mola ile birleştirilecektir. Böyle bir mola yoksa, bu mola son konumdan hemen sonra olacaktır. Bu tür tüm molalar ayrı bir zincir üzerinde olmalıdır.

type

Mola türü.

"type": "yemek"

Bu molanın türü “öğle yemeği”.

merge_with_types

Parametre, belirtilen molanın hangi mola türleriyle birleştirilebileceğini belirtir. Onu sadece after_last_location veya before_first_location ile birlikte kullanmak mümkündür.

"merge_with_types": ["yemek", "uyku"]

Bu mola öğle yemeği veya uyku molası ile birleştirilebilir.

Mola yeri

Parametre

Değer

Örnek

at_rest_place

Türü rest_place olan bir yerde dinlenme fırsatı. Özellik etkinleştirilirse, ya tüm molalar bu konumlarda olmalı ya da tüm molalar bu konumların dışında olmalıdır.

"at_rest_place": true

Tüm molalar, rest_place’e eşit, türü location.type olan konumlarda gerçekleşecektir.

Not

rest_place türüne sahip siparişler için coğrafi bölgeler veya load_types parametresi yardımı ile araçlarla veya diğer türlerdeki siparişlerle uyumluluğu belirtebilirsiniz.

Mola zincirleri

Program rest_schedule birden fazla bağımsız mola zinciri breaks içerebilir. Her zincir, özel koşullara sahip birçok molayı içerebilir. Her zincirde bir molanın meydana gelmesi sadece oluşturulan rotaya bağlıdır ve diğer zincirlerdeki molalardan bağımsızdır.

Mesela

Açıklama

Belirleme imkanı

1. zincir: her 3 saatlik hareketten sonra 15 dakika dinlenme.

2. zincir: vardiyanın başlamasından 8 saat sonra 6 saat dinlenme.

2. zincirdeki molalar yalnızca vardiyanın başlangıcına bağlıdır ve 1. zincirdeki hareket ve dinlenme programından bağımsızdır.

1. zincir: her 3 saatlik hareketten sonra 15 dakika dinlenme.

2. zincir: her 8 saatlik hareketten sonra 6 saat dinlenme.

2. zincirdeki molanın başlangıcı 1. zincirdeki hareket ve dinlenme zaman programına bağlıdır.

Zincirlerin sırası önemli değildir, ancak bir zincirdeki molalar sırayla belirtilmelidir.

Rota, durak gerçekleşmeden önce sona ererse (örneğin rota 3 saatte tamamlanır ve durak 4’te planlanırsa), tamamlanmamış tüm duraklar sıfırlanır.

Örnek

Rota, 4 saatlik çalışmadan sonra yarım saatlik dinlenme molalarıyla oluşturulmuştur ve rotanın başlamasından 10 saat sonra bir uyku molası planlanmıştır. Sonuç olarak, algoritma dinlenme molasından 1 saat sonra bir uyku molası planlamıştır.

API isteği (JSON)API yanıtıHaritada aç

Cezalar

Bazı durumlarda, hizmet dinlenme aralığını ihlal eden rotalar planlayabilir. Bu ihlallere ilişkin para cezalarını tahakkuk ettirmek için penalty.late ve penalty.early alanlarını kullanın. Eğer ceza, aralık ihlalinden elde edilen tasarruftan daha yüksekse, bu durumda rota ihlalsiz olarak planlanacaktır.

Parametre

Değer

Örnek

penalty.early.fixed

Molaya erken başlama cezası.

"penalty": {"early": {"fixed": 1000}}

Erken mola başına 1000 ceza belirler.

penalty.early.minute

Erken molanın her dakikası için ceza.

"penalty": {"early": {"minute": 17}}

Erken molanın her dakikası için 17’lik bir ceza belirler.

penalty.late.fixed

Geç mola vermenin cezası.

"penalty": {"late": {"fixed": 1000}}

Geç mola için 1000 ceza belirler.

penalty.late.minute

Geç molanın her dakikası için ceza.

"penalty": {"late": {"minute": 17}}

Geç molanın her dakika için 17’lik bir ceza belirler.

Tekrarlama koşulları

Parametre

Değer

Örnek

repeatable

Parametre, molanın tekrarlanması gerektiğini belirtir. Sadece zincirdeki son mola için kullanılabilir.

"repeatable": true

Mola, vardiya sonuna kadar tekrarlanacaktır.

Örnek 1

Bu örnekte, 4-5 saatlik çalışmanın ardından öğle yemeği molası verilen bir rota oluşturulmuştur. Sonuç olarak, algoritma teslimatı yapan kurye için bir öğle yemeği molası planlar.

API isteği (JSON)API yanıtıHaritada aç

Örnek 2

Bu örnekte, Moskova ve St. Petersburg arasındaki rota, ilk mola 4-4,5 saat sonra ve daha sonra her 2 saatte bir mola olacak şekilde oluşturulmuştur. Algoritma iki mola tahsis etmiştir.

API isteği (JSON)API yanıtıHaritada aç

Örnek 3

İki kuryeye, işe başladıktan 3-4 saat sonra, ancak toplam sürenin route_duration_s en az 6 saat olması koşuluyla work_time_range_from_start mola verilir. İlk kurye işi 5 saatte bitirir, bu yüzden dinlenmeden çalışır. İkinci kurye 6 saatten fazla çalıştığı için bir kez mola alıyor.

API isteği (JSON)API yanıtıHaritada aç

Örnek 4

Kurye siparişleri komşu bir şehre taşıyor ve aralıklı dinlenmeye ihtiyacı var. repeatable tekrarlama koşulu, rotanın (hard_time_range) her 2 saat bir mola öngörülmüştür. Sonuç olarak, algoritma dört mola planlamıştır.

API isteği (JSON)API yanıtıHaritada aç

Örnek 5

Örnek 4’te olduğu gibi, ancak rota birkaç gün sürer ve her 12 saatte bir uyku için mola verilir:

  • tekrarlama repeatable koşulu kullanılır;

  • dinlenmek için rotanın minimum ve maksimum süresi hard_time_range = 12:00-12:15.

API isteği (JSON)API yanıtıHaritada aç

Örnek 6

Her 55-60 dakikalık kesintisiz hareket için 10 dakikalık molalar belirleniyor continuous_travel_time_range. Sonuç olarak, yolculuk süresinin 55 dakikadan fazla olduğu iki nokta arasında bir mola planlanmıştır.

API isteği (JSON)API yanıtıHaritada aç

Örnek 7

Kuryeler, molanın work_time_range_till_rest son moladan veya ilk mola ise işe başladıktan 2-3 saat sonra başlaması koşuluyla iki mola planlanmıştır.

  • ilk mola – 20 dakika.

  • ikinci mola – 30 dakika.

İlk kurye işi erken bitirir ve sadece ilk molayı alır. İkinci kurye daha uzun çalışıyor ve her iki molayı da alıyor.

API isteği (JSON)API yanıtıHaritada aç

Destek birimine yaz