Необходимо сделать микросервис, который будет получать список адресов и возвращать их в порядке, в котором получится оптимальный маршрут движения курьера, с учётом времени указанного к каждому из них и того, что они точки двух типов (забор и вручение).
Всё это хранится в базе. Нам нужен отдельный сервис, который мы сможем развернуть и делать к нему запросы. Желательно чтобы его можно было развернуть на линукс сервере. Какие технологии будут использованы при создании сервиса – решать Вам. Идеальный вариант – передача JSON, как в примере выше и получение ответа в виде отсортированного списка.
Основная задача, чтобы мы могли полностью абстрагироваться от используемого нами стека. Потому что запросы нам надо будет кидать с мобильных приложений, с фронтэнда и бэкэнда. Поэтому нам нужен отдельный сервис, к которому мы сможем делать запросы и получать от него ответы. Если нужна таблица бд – нужно создать её в самом сервисе. Уточнение – сервисы маршрутизации Яндекса использовать не можем.
структура такая: id – id точки dateFrom – время начала визита на точку в UNIX формате dateTo – время конца визита на точку в UNIX формате pickup_dot – id точки, которую надо посетить первой, например, чтобы сделать забор. Если предварительно не надо посещать другие точки, то null
`pickup_dot` – id точки, которую необходимо посетить перед визитом. Скорость передвижения = 25 км/ч Точек на расчет = до 40.