Микросервис для макробизнеса

Компания «Колесо»  ― сеть шиномонтажей, включающая  более 150 станций технического обслуживания.


Изначально сервис записи на шиномонтаж у заказчика был реализован на основном сайте Колесо.ру, а управление записями велось через самописную систему управления сайтом.  Монолитность прежнего решения не позволяла быстро вносить изменения и мешала развитию сервиса.

Основные задачи заказчика

  1. Равномерное распределение нагрузки в период сезонного спроса.
  2. Подключение партнеров и реализация возможности записи клиентов «Колеса» на партнерские сервисы (СТО).
  3. Подключение самостоятельного определения правил записи для партнеров, крупных таксопарков, других предприятий с собственным автопарком.
  4. Запись клиентов компаний-партнеров на СТО «Колеса».

Все эти задачи должен решить один IT-продукт. После анализа бизнес-процессов стало понятно, что бесшовно внедрить его будет сложно по ряду причин. Во-первых, он будет очень медленно развиваться. Во-вторых, будет сложно решать локальные задачи, например менять сетку записи для отдельных партнеров.

В итоге было принято решение создать микросервис, который взаимодействует с другими IT-системами либо через API, либо через очередь команд с управлением через виджеты.

КАК МЫ ЭТО СДЕЛАЛИ

Для настройки всего сервиса создана кастомная система управления, данные в которую частично загружаются через API и частично настраиваются непосредственно в системе. Управление ведется с помощью виджетов: публичной записи для клиентов и управления записями.

Виджет публичной записи

Виджет публичной записи для клиентов может запускаться как со специальной кнопки  с гибкой настройкой сезона (зима или лето) так и с любого элемента интерфейса, в котором он встроен.

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

Запись на шиномонтаж. Шаг 1.jpg

Запись на шиномонтаж. Шаг 2.jpg

Виджет самостоятельно определяет город пользователя и предлагает выбрать ближайший удобный центр или любой из списка в выбранном городе.

Также можно выбрать сервисный центр по карте или по свободным временным слотам. Если в выбранном центре нет удобного времени, но оно есть в соседних центрах ― система подсветит выбранный слот и предложит подсказку.

Запись на шиномонтаж. Шаг 3_ карта сервисов.jpg

Запись на шиномонтаж. Шаг 4_ выбор времени.jpg

Расписание сервисных центров строится на лету, в режиме реального времени, чтобы исключить ситуации пересечения записей от нескольких клиентов или сотрудников.

Итоговый шаг записи ― заполнение персональных данных и подтверждение записи.

Запись на шиномонтаж. Шаг 4.jpg

Запись на шиномонтаж. Шаг 5.jpg


После этого система отправит пользователю SMS со всей информацией и ссылкой для самостоятельной отмены или переноса визита.

Виджет управления записями

Виджет управления записями зависит от роли и прав сотрудника. Он меняет свой вид, отображая только доступную этому сотруднику информацию и функционал.

Для просмотра записей предусмотрена фильтрация по городу и магазину, а также по  дате в календаре.

Расписание записей реализовано в виде сетки, которая формируется в реальном времени. Сетка настраивается через административную панель. В ней можно сделать индивидуальные настройки для каждого поста на СТО: перечень услуг, шаг для записи в сетке и график работы.

Записи можно создавать, перемещать и редактировать как в самой сетке, так и через форму справа от нее. Система проверяет, в какой временной слот можно сделать больше одной записи, а в какой нет.

Для наглядности в сетке реализовано цветовое деление в зависимости от типа клиента и наличия шин на хранении, особым цветом выделен статус “Идет запись” для подсветки бронирования слота другим сотрудником или клиентом.

Дополнительно добавлены информационные иконки для обозначения статусов записи, наличия комментариев или проблем при формировании накладной для перемещения колес со склада в точку обслуживания.

Административная панель. Иконки.png

Вся статистика по статусам записей и проблемам сведена в отдельный блок. О проблемах система предупреждает на несколько дней вперед.

Для всех записей ведется лог изменений.

Административная панель. Все записи.png

Микросервис можно внедрить не только на сайт «Колеса», но и на сайты партнеров, чтобы там вести запись в СТО. Таким образом, мы позволили клиенту развивать именно это направление, не оглядываясь на другие продукты компании ― гарантию, хранение шин, ассортиментную матрицу, ценообразование.

Дополнительные материалы

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

Панель работы с заказами в интернет-магазине гастронома «Глобус Гурмэ»

Микросервисы: дань моде или способ выжить