Расчет стоимости доставки

Микросервис «Расчет стоимости доставки» предназначен для централизованного управления тарифами на доставку и автоматизированного расчета стоимости доставки в зависимости от склада отгрузки, точки доставки и веса груза. 

Он может быть интегрирован во все программные продукты компании (ERP, внешний сайт, b2b-портал и т.д.) через REST API.

Микросервис разработан на framework laravel (PHP + PostgresSQL). Для построения карты используются Яндекс.Карты с доступом через коммерческий аккаунт.

Функционал для клиента

Публичная часть — калькулятор для проверки тарифов и ручного расчета стоимости транспортировки груза. В нем отображаются тарифы на перевозку, для разных видов транспорта предлагается несколько вариантов стоимости.

рис.1.png

Функционал для администратора

В административной части редактируются справочники, необходимые для работы калькулятора:

  • склады;
  • виды транспортных средств;
  • тарифы.

Администратору доступны следующие функции:

  • управление пользователями;
  • просмотр логов изменений данных;
  • просмотр логов обращений по API (запрос / ответ).

Настройка

В сервисе предусмотрено три роли.

  1. Администратор. Главная роль, которой  доступны все функции.
  2. Менеджер. Этой роли доступны управление складами, тарифами, видами транспортных средств.
  3. Логист. Этой роли доступно только управление тарифами.

Управление тарифами

Менеджер настраивает тарифы для определенного склада и транспортного средства.

рис 2.png

На карте можно разметить зоны, для каждой зоны указывается стоимость доставки.

рис 3.png

При наведении на зону появляется подсказка со стоимостью доставки.рис 4.png

Для каждой зоны в административной части сервиса настраиваются название и стоимость доставки.

рис 5.png

Зона создается на карте. Если на карте границы одной зоны пересекаются с границами другой, то система предлагает изменить границы.

рис 6.png

рис 7.png

В микросервисе поддерживается режим «зона в зоне». Это позволяет выделить внутри зоны недоступные для доставки области, например, Московский кремль, или разметить концентрические зоны, например, Бульварное / Садовое / ТТК / МКАД для Москвы.

Тарифы можно копировать и в дальнейшем редактировать. Например, если у компании несколько видов транспортных средств, и для них настроены одинаковые географические зоны доставки, то можно разметить зоны для одного вида, скопировать тариф и задать стоимость каждой зоны для другого вида.

REST API

REST API задокументировано в swagger, позволяет полностью управлять микросервисом: создавать, активировать / деактивировать записи; автоматически задавать запросы на расчет и получать результаты расчета по тарифу. Администратор может выдавать client_id и secret для внешних клиентских приложений, которые будут подключаться к REST API. Он же может отозвать (удалить) ранее выданные доступы. В этом случае клиентское приложение перестанет иметь доступ к API.

Дополнительные возможности

Микросервис можно доработать для использования расчетных тарифов, например, по километражу. В этом случае может быть указана базовая зона и стоимость километра, и тариф будет складываться из стоимости базовой зоны + из километража по автомобильным дорогам (например, доставка за МКАД: 1500 рублей + 30 рублей/километр)

Заказать микросервис