Вернуться к блогу
Hola, Amigos! Мы – компания по заказной разработке Amiga.
Когда к нам приходит крупный производственный бизнес, разговор редко начинается с технического задания. Чаще всего на первом созвоне обсуждают операционную боль: сведения теряются, сотрудники обходят процессы, а инструменты не помогают в моменте.
Наша задача – не просто написать код. Сначала проводим системный анализ: разбираемся, почему сценарий ломается, где компания теряет контроль, что мешает пользователю дойти до финального действия и какое решение выдержит реальную нагрузку.
Кейс Vaillant PRO.Expert именно об этом. Это не просто Flutter-разработка, а история о том, как превратить разрозненную базу и неудобные полевые операции в инструмент продаж, лояльности и удержания партнерской сети.
Vaillant – один из крупнейших производителей оборудования для отопления, охлаждения и вентиляции. Технику бренда устанавливают и обслуживают тысячи сервисных специалистов по всей России: монтажники, инженеры и сотрудники компаний-партнеров.
Для производителя такого масштаба отношения с монтажниками – отдельная стратегия. Специалист в поле выбирает оборудование не по рекламе, а по личному опыту: насколько удобно установить, обслужить, зарегистрировать результат и получить поддержку от бренда.
Так появилась PRO.Expert. Механика простая: монтажник фиксирует выполненную установку оборудования Vaillant и получает баллы. Их можно вывести на банковскую карту или потратить в разделе «витрина подарков».
Для мастера это понятный бонус за привычное действие. Для Vaillant – информация о каждой установке, прямой канал коммуникации и способ укреплять партнерскую сеть.
Нам предстояло собрать кроссплатформенное мобильное приложение, через которое вся механика будет работать надежно: на объекте, в подвале, за городом, при слабой связи или без интернета.
До старта проекта автоматизация полевых сотрудников была скорее формальной. Регистрация существовала, но на практике часть мастеров пропускала этот шаг. Причина была не в нежелании работать с брендом, а в самом процессе.
Не было единого стандарта. Адреса объектов вводили вручную. Из-за этого около 30% записей в системе были дублями или содержали критические ошибки: один и тот же объект мог существовать в десятках вариантов написания.
Ручной ввод занимал слишком много времени. Чтобы оформить заявку, монтажнику приходилось вписывать модель, серийный номер и технические параметры оборудования. На объекте это могло занимать до 5 минут. При плотном графике такой шаг легко пропустить.
Онлайн-сценарий не подходил для реальности. Монтажники бывают не только в офисах с хорошим Wi-Fi. Их рабочая среда – подвалы, технические помещения, частные дома за городом, котельные и объекты, где связь пропадает полностью. Сервис, завязанный только на интернет, бесполезен именно там, где нужен больше всего.
Нужна была ролевая логика. У разных групп пользователей отличались сценарии, доступные функции и правила начисления баллов. Значит, интерфейс должен был подстраиваться под профиль человека.
Разработать кроссплатформенный мобильный продукт для Vaillant PRO.Expert, который сделает регистрацию работ простой и быстрой для специалистов разного профиля.
Технически это означало:
Мы сразу проектировали решение с запасом: не только под первый релиз, но и под дальнейшее развитие каталога, геопозиционирование и новые сценарии PRO.Expert.
Постоянный ввод логина и пароля раздражает пользователя и снижает желание заходить в сервис. В полевых условиях это особенно критично: мастеру нужно быстро оформить установку, а не вспоминать пароль на объекте.
Мы интегрировали Keycloak и настроили SSO. После первого входа пользователь получает токен, который держит сессию активной месяц. Один раз авторизовался – и система тебя помнит.
Так мы сохранили безопасность, но убрали лишнее трение из пользовательского сценария.
Экран входа и личного кабинета Vaillant PRO.Expert: один вход позволяет специалисту оставаться в аккаунте без повторной авторизации в течение месяца.
Адрес объекта раньше вводили вручную. Это занимало время и почти всегда оставляло риск ошибки: опечатка в улице, неверный индекс, похожие названия в соседних городах.
Мы подключили Da.Data – сервис справочников адресов. Теперь достаточно начать печатать, а система подсказывает точный вариант. Процесс, который раньше мог занимать до 5 минут, сокращается примерно до 30 секунд.
Сложность была не только в новом вводе. За годы в базе накопились старые адреса, часть из них была некорректной. Нужно было сопоставить прежние записи с валидными вариантами от Da.Data, сохранить историю и не сломать отчетность.
Для этого мы спроектировали нелинейную систему проверки условий ввода: часть логики вынесли на backend, часть – на frontend. Старые и новые данные сверяются на двух уровнях и не конфликтуют друг с другом.
Экран выбора адреса объекта в Vaillant PRO.Expert: интеграция с Da.Data сокращает ручной ввод и помогает привести данные к единому формату.
Чтобы оформить установку, специалисту нужно было внести сведения об оборудовании: модель, серийный номер, технические параметры. Это лишние минуты и повод для опечатки.
Мы добавили сканирование QR-кода прямо с корпуса оборудования. Камера телефона считывает код, значения автоматически подтягиваются в форму, пользователю остается проверить информацию и отправить заявку.
Для монтажника это разница между «заполнить длинную форму вручную» и «отсканировать, подтвердить, отправить». В таких продуктах удобство напрямую влияет на полноту регистрации.
Сканер в Vaillant PRO.Expert автоматически считывает данные оборудования и помогает быстрее зарегистрировать выполненную установку.
Мы понимали: если сервис не открывается без сети, монтажники будут обходить его стороной. Поэтому офлайн-режим был не дополнительной опцией, а базовым требованием.
Форма сохраняется локально на устройстве, даже если связи нет совсем. Когда телефон снова видит интернет, черновик автоматически уходит на сервер, а специалист получает баллы так, будто отправил заявку онлайн.
Для пользователя все выглядит просто: заполнил форму – система сама разберется, когда передать информацию. Для бизнеса это значит, что установки не теряются из-за плохой связи.
Экран регистрации работы в Vaillant PRO.Expert: офлайн-режим сохраняет заявку на устройстве и отправляет ее после восстановления связи.
Сервисом пользуются специалисты разного профиля, и у каждой роли своя логика: доступные функции, набор полей, правила начисления баллов.
При первом запуске пользователь выбирает роль, а дальше интерфейс подстраивается под его задачи. Человек видит только нужный сценарий и не тратит время на лишние шаги.
Здесь помог Flutter: он позволяет выстроить бизнес-логику так, чтобы на iOS и Android опыт оставался одинаково понятным.
Мы заложили архитектуру BLoC (Business Logic Component), которая разделяет продукт на независимые слои: данные, бизнес-логику и интерфейс.
Такой подход нужен не для красоты кода, а для нормального развития. Если завтра нужно обновить каталог продукции, добавить новый тип роли или внедрить геопозиционирование, команда не переписывает все целиком, а дорабатывает нужный слой.
Именно поэтому спустя время продукт можно продолжать развивать без риска, что новая функция сломает уже работающие сценарии.
О том, как технические ограничения начинают влиять на сроки и стоимость доработок, рассказали в статье «Технический долг в разработке: как он влияет на бизнес и что с ним делать».
В личном кабинете монтажник видит накопленные баллы, может перевести их на карту или обменять на подарок в витрине.
Это важная часть программы: пользователь должен не только оформить установку, но и сразу понимать, какую пользу получил. Чем прозрачнее механика баллов, тем выше мотивация возвращаться.
Личный кабинет Vaillant PRO.Expert показывает баланс баллов, статус специалиста и сценарий вывода вознаграждения по программе лояльности.
Пользователи открывают сервис прямо на объектах: в технических помещениях, на высоте, иногда в перчатках, при плохом освещении или на ходу. Интерфейс должен быть таким же уверенным, как в офисе.
Мы сделали акцент на практичности:
В таких продуктах хороший UX – это не про «красиво». Это про то, дойдет ли человек до кнопки «Отправить».
Для Vaillant было важно быстро выйти на iOS и Android без двух отдельных команд и кодовых баз. Flutter хорошо подходит для таких задач: единая логика, высокая скорость разработки и удобная поддержка.
В этом проекте Flutter помог:
По итогам проекта кроссплатформенный подход позволил сэкономить около 30% бюджета по сравнению с двумя отдельными нативными разработками. Подробнее о том, из чего складывается стоимость разработки мобильного приложения, разобрали в отдельной статье.
Мы разработали PRO.Expert на Flutter: с интеграциями, офлайн-режимом, личным кабинетом, QR-сканированием и гибкой системой ролей.
Продукт доступен в App Store, Google Play и с сентября 2022 года в Huawei AppGallery.
Что получилось:
Сейчас программа лояльности временно приостановлена, но сервис продолжает функционировать: специалисты регистрируют установки, баллы копятся и будут доступны к выводу, когда PRO.Expert возобновится.
Мы продолжаем поддерживать и развивать мобильное приложение: дорабатываем каталог продукции и добавляем функционал геопозиционирования.
У нас большие планы на развитие приложения PRO.Expert. Уверен, что дальнейшая работа с командой Amiga будет такой же эффективной и плодотворной!
Артем Растунов, директор по маркетингу Vaillant
Такой сервис помогает выстроить прямую коммуникацию с партнерами и полевыми специалистами. Пользователь получает бонусы за регистрацию установок, а бизнес – информацию об объектах, активности монтажников и эффективности программы.
Flutter позволил быстрее выйти на iOS и Android с единой кодовой базой, сохранить одинаковую бизнес-логику на двух платформах и снизить бюджет примерно на 30% по сравнению с отдельной нативной разработкой.
Да. В проекте Vaillant мы реализовали офлайн-режим: форма сохраняется локально на устройстве, а когда связь появляется, заявка автоматически отправляется на сервер. Это особенно важно для полевых сотрудников.
В Vaillant PRO.Expert мы заменили часть ручного ввода автоподсказками Da.Data и QR-сканированием оборудования. Пользователь не набирает длинные адреса и серийные номера вручную, а подтверждает уже заполненную форму.
Keycloak помогает организовать безопасную авторизацию и удобную сессию. В нашем случае специалист авторизуется один раз, а система помнит его месяц.
Da.Data приводит адреса к единому формату и снижает количество ошибок. Для бизнеса это точнее отчеты, чище база и меньше дублей по объектам.
Если продуктом пользуются разные группы специалистов с разными задачами, правами и правилами начисления бонусов, нужна ролевая модель. Она помогает показывать каждому человеку только релевантные сценарии.
Да, если архитектура заложена правильно. В проекте Vaillant мы использовали BLoC, чтобы разделить данные, бизнес-логику и интерфейс. Благодаря этому можно обновлять каталог, добавлять геопозиционирование и новые роли без полного переписывания.
Удобство влияет на качество базы. Если регистрация занимает больше пары минут, часть специалистов просто не будет ее делать. Автоматизация ввода и QR-сканирование сокращают путь пользователя и повышают полноту записей.
Офлайн-режим для полевых сервисов – базовое требование. Подвалы, технические помещения и объекты за городом – ежедневная реальность монтажников. Инструмент должен быть доступен там, где находится мастер.
«Грязные» данные – задача системы, а не пользователя. Не нужно просить людей вводить адреса аккуратнее. Нужно построить продукт, который сам приводит данные к порядку.
Архитектура с запасом окупается позже. Решение заложить BLoC на старте позволило обновлять каталог, добавлять новые функции и не переписывать продукт с нуля.
Flutter, Dart, BLoC, Keycloak, Da.Data.