Добавлен новый тип перерыва — exact_time_range
Перерыв будет запланирован в указанное время независимо от начала смены / начала маршрута / других перерывов. Удобно использовать в тех случаях, когда нам нужно, чтобы водители всегда отдыхали, например, с 17:00 до 18:00. Такой перерыв не может быть повторяющимся. Если маршрут заканчивается раньше, то перерыв не будет вставлен.
Добавлен новый тип локации — rest_place
В таких локации водитель может заехать на отдых. Для того, чтобы они использовались, у перерыва должен быть выставлен параметр
at_rest_place = true
В задаче планирования все перерывы должны быть в локациях rest_place, либо все не в локациях. Смешанный режим не поддерживается.
Пример запроса с перерывом в локации и точным временем перерыва
{
«depots»: [
…
],
«locations»: [
{
«id»: «rest_place1»,
«type»: «rest_place»,
«time_window»: «09:00-18:00»,
«point»: {
«lat»: 55.750193,
«lon»: 37.817213
}
},
…
],
«vehicles»: [
{
…
«rest_schedule_id»: «schedule1»,
}
],
«options»: {
…
«template_rest_schedules»: [
{
«breaks»: [
{
«rest_duration_s»: 3600,
«exact_time_range»: «14:30-15:30»,
«at_rest_place»: true
}
],
«id»: «schedule1»
}
]
}
При работе с Excel файлами, бывают ситуации, когда не все адреса удалось геокодировать. А найти в исходном файле вручную все проблемные адреса зачастую трудно. С новой функцией «Скачать заказы без координат и удалить их из планирования» можно и запустить решение, временно исключив все неудачные адреса и одновременно получить список таких адресов для их последующей корректировки.
Теперь все значения кастомных полей, заданных при планировании можно увидеть:
1. В разделе Карта
2. В отчете «Качество работы курьера»
3. В карточке курьера
Были добавлены опции, позволяющие влиять на выбор первой/последней локации в маршруте.
За это отвечают два параметра
1. first_edges_penalty_factor — дополнительный штраф за первое ребро заезда, безразмерное число
По умолчанию 0, при значании =0 ничего не меняется.
Если >0, то ТС будет начинать обслуживание с локации, которая ближе к складу
Если <0, то ТС будет начинать обслуживание с локации, которая дальше от склада
2. last_edges_penalty_factor — полностью аналогичный параметр для последней локации.
Пример настройки в json
"vehicles": [
{
"id": 1,
"ref": "one",
"tags": ["one"],
"first_edges_penalty_factor": -10,
"last_edges_penalty_factor": 10
},
{
"id": 2,
"ref": "two",
"cost": "distance_km * 100 + 10 * first_edges_distance_km - 10 * last_edges_distance_km",
"tags": ["two"]
}
]
Первая машина должна начинать маршрут дальше от склада, заканчивать ближе, машина без кастомных костов.
Вторая машина наоборот, должна начинать маршрут ближе к складу и заканчивать дальше, машина с кастомными костами.
На этом сегодня все, по всем вопросам пишите на routing-support@yandex-team.ru