Подсчет количества машин и заказов
Мониторинг
Утром каждого дня анализируются все маршруты с датой route.date
, равной вчерашнему дню.
При тарификации по машинам подсчитывается количество уникальных машин vehicle.id
в этих маршрутах и формируется значение счетчика «Мониторинг: количество ТС».
При тарификации по заказам подсчитывается количество уникальных выполненных заказов location.id
и формируется значение счетчика «Мониторинг: количество заказов».
Эти счетчики доступны в Кабинете разработчика в разделе «Статистика».
.
Планирование
Сервис Планирования решает два типа задач:
- оптимальное распределение заказов и планирование маршрутов для нескольких курьеров (задачи MVRP);
- оптимизация последовательности выполнения заказов на маршруте для одного курьера (задачи SVRP).
Подробнее см. в разделе Сравнение групп методов MVRP и SVRP. Тарифы на эти два вида задач могут различаться. Для тарификации подсчитывается и количество машин, и количество выполненных заказов в трех разрезах:
- для всех задач;
- только для задач MVRP;
- только для задач SVRP.
Результаты можно видеть в счетчиках «Планирование: количество ТС» и «Планирование: количество заказов» в Кабинете разработчика в разделе «Статистика».
.
Определение даты
Каждое утро выставляются счета по задачам с датой options.date
, равной вчерашнему дню, за исключением следующих случаев:
- в момент запроса дата маршрута не была указана;
- в момент запроса была указана дата маршрута в прошлом;
- в момент запроса была указана дата маршрута в будущем более чем через 7 дней от даты запроса.
Такие задачи будут учтены биллингом на дату выполнения запроса.
Рекомендуется планировать задачи на сегодняшний или завтрашний день либо не более чем на 7 дней вперед — в этом случае задачи будут учтены биллингом день, указанный в поле options.date
.
Важно
Мы настоятельно рекомендуем указывать в поле options.date
реальную дату поездки курьера. Это позволит не только избежать неправильно выставленных счетов, но и получать максимально корректные и оптимально спланированные маршруты, так как в разные дни маршруты могут существенно различаться.
Подсчет количества заказов
При подсчете количества заказов в маршрутах анализируются все элементы массива locations
. Из них исключаются все элементы с типами garage
, anchor
и parking
. Затем исключаются одинаковые заказы — те, у которых совпадают координаты (с точностью до 6 знака), поля location.id
и location.type
. Оставшееся количество заказов записывается в счетчик «Планирование: количество заказов».
Если при планировании заказы делились на несколько частей, то тарифицируются заказы, а не отдельные части.
Примечание
Сложные заказы pickup&delivery
(необходимо сначала забрать заказ в одной или нескольких точках, а затем доставить в точку получения) тарифицируются как несколько заказов — по количеству разных точек.
Важно
Не рекомендуется использовать в поле location.id
какие-либо теги или другие вставки, уникальные для конкретной задачи, иначе один и тот же заказ будет посчитан несколько раз.
Подсчет количества машин
При подсчете количества машин в маршрутах анализируются все элементы массива locations
. Из них исключаются все элементы с типами garage
, anchor
и parking
. Задачи со схожими множествами заказов объединяются в кластеры — это позволяет не тарифицировать повторно задачи, которые решались несколько раз с различным набором условий (см. Особенности тарификации).
Если задача меньшего размера (по числу заказов) хотя бы на 50% пересекается с большей, эти задачи будут отнесены в один кластер. При этом в итоге в один кластер могут быть отнесены задачи, вообще не имеющие общих точек. Например, на рисунке ниже задача 1 и задача 3 не имеют ни одного общего заказа, но при этом попадают в общий кластер с задачей 2.
В каждом кластере выбирается задача, в которой используется наибольшее количество машин. Эти значения суммируются по всем кластерам, и получившееся количество машин записывается в счетчик «Планирование: количество ТС».
Примечание
При подсчете учитываются именно используемые машины, а не все перечисленные в запросе.