Клиентом была поставлена задача создать универсальный расчётный механизм, который бы учитывал следующие особенности:
- добавление произвольных точек на карте и перерасчёт расстояния;
- тарификация зависит от класса автомобиля и от типа поездки (в одну сторону либо с возвратом);
- тарифы должны меняться в зависимости от указанных администратором временных интервалов;
- должна быть возможность ручной перезаписи тарифа в конкретную географическую точку;
- список объектов представляет собой записи внутри Вордпресса, где на каждый населённый пункт или направление создаётся запись с описанием.
Соответственно, решение должно быть собранным в одну админ-панель и наглядно отображать процесс ценообразования. А посетитель видит маршрут, километраж и стоимость. Всё прозрачно.
Обработка маршрутов была поручена модулю Гугл-карт — Maps API. С её помощью мы отображаем маршрут, а также считаем километраж. Через Гугл-объекты также был реализован механизм добавления произвольных точек, с удобным автозаполнением.
Внутри Вордпресса каждая запись-направление была снабжена полем для возможности перезаписи тарифа. Соответственно, чтобы добавить новое направление, администратор просто создаёт запись с нужным названием. А подробное управление глобальными тарифами представляет собой отдельный плагин к Вордпрессу и вынесено в панель управления, доступную администраторам сайта.
В итоге посетители сайта видят, как они едут и за что платят.