Разработка приложения для вызова мастера (сантехник, электрик)

Разработка мобильного приложения для вызова мастера (сантехник, электрик) Диспетчерская служба принимает 50 заявок в час, мастера разъезжаются по городу, клиенты звонят с вопросом «где мастер?». Без мобильного приложения — хаос. Средний мастер теряет 20% времени на перезвоны, а диспетчеры тратят

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Разработка приложения для вызова мастера (сантехник, электрик)
Средний
от 1 недели до 3 месяцев

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    599

Разработка мобильного приложения для вызова мастера (сантехник, электрик)

Диспетчерская служба принимает 50 заявок в час, мастера разъезжаются по городу, клиенты звонят с вопросом «где мастер?». Без мобильного приложения — хаос. Средний мастер теряет 20% времени на перезвоны, а диспетчеры тратят до 10 минут на согласование каждой заявки. Автоматизация с помощью мобильного приложения позволяет сократить время назначения до 30 секунд и повысить коэффициент закрытия заявок на 40%. Типичный сценарий: клиент вызывает сантехника через сайт, мастеру звонят по телефону, статус не синхронизируется. Результат — мастер приезжает, а клиент уже ушел, или два мастера едут на один адрес. Геолокация мастеров в реальном времени, push-уведомления о смене статуса, встроенный чат — эти модули тиражируются из проекта в проект, но требуют точной настройки под конкретный бизнес. Мы разрабатываем приложения под ключ: соединяем клиента с мастером за минуты, обеспечиваем прозрачность статусов и онлайн-оплату. Закажите разработку — и получите предварительную оценку за один день.

Что реально ломается при разработке

Главная боль — живая карта с мастерами. Если каждый мастер шлёт location каждые 3 секунды через REST, при 50 одновременных исполнителях сервер получает 1000 запросов в минуту только на обновление позиции. Решение: WebSocket-канал (на Flutter — пакет web_socket_channel 2.x) плюс серверный throttle. Клиент получает дельта-обновления, а не полный список. На карте — flutter_map с TileLayer от OpenStreetMap или Google Maps SDK, в зависимости от бюджета лицензии. Сравнение подходов:

Подход Задержка обновления Нагрузка на сервер Пример использования
REST poll каждые 3 с ~3 с 1000 запр./мин при 50 мастерах Устаревший вариант
WebSocket push <200 мс 50 сообщений/мин (дельта) Наш типовой проект

WebSocket обеспечивает в 10 раз меньшую задержку и снижает нагрузку на сервер в 20 раз.

Как синхронизировать статусы заявки в реальном времени?

Вторая проблема — статусная машина заявки. Типичный граф: created → assigned → accepted → in_progress → completed | cancelled. Если не зафиксировать переходы на уровне бэкенда и не синхронизировать их с локальным состоянием (Riverpod StateNotifier или BLoC), клиент видит «мастер едет» даже после отмены — потому что push-уведомление пришло позже, чем пользователь обновил экран вручную. Решаем через FCM data messages вместо notification messages: приложение само решает, что показать, исходя из текущего состояния.

Ещё момент: рейтинги и отзывы нельзя открывать до завершения заявки. Если не добавить серверную проверку статуса перед записью отзыва, мастера получают оценки за несостоявшиеся визиты — видел такое в нескольких проектах.

Стек и архитектура

Flutter + Dart как основной выбор для cross-platform: одной кодовой базой закрываем iOS и Android, при этом нативные вызовы через MethodChannel — для фоновой геолокации (background_locator_2) и обработки входящих звонков через VOIP (на iOS — CallKit, на Android — ConnectionService). Встроенный чат — через Firebase Realtime Database или собственный WebSocket, медиафайлы (фото неисправности) — через Firebase Storage или S3 с presigned URLs.

Архитектурно: Clean Architecture со слоями domain / data / presentation. Репозитории изолируют логику от источника данных — легко менять Firebase на собственный API без переписывания UI. GetIt как service locator для DI, Dio с interceptors для REST, hive для кэша заявок офлайн.

Ключевые интеграции:

  • Google Maps SDK / Yandex MapKit — маршрут мастера до клиента
  • Firebase Cloud Messaging — уведомления о смене статуса
  • Stripe / CloudPayments / ЮKassa — оплата после выполнения
  • Twilio или Vonage — маскировка номеров при звонке
  • OneSignal — маркетинговые пуши и retention-кампании

Согласно App Store Review Guidelines, приложение должно выполнять заявленную функцию, поэтому фоновая геолокация используется только на время активного заказа.

Почему стоит выбрать Flutter для разработки?

Flutter позволяет на 30% сократить время разработки по сравнению с нативными подходами и на 20% — по сравнению с React Native (по нашим замерам на пяти проектах). Единая кодовая база упрощает поддержку, а нативные каналы (MethodChannel) дают полный доступ к API iOS/Android. Для приложения с картами, геолокацией и push-уведомлениями это оптимальный выбор.

Отдельно про онбординг мастеров

Верификация исполнителя — не просто форма с полями. Нужна загрузка документов (паспорт, лицензия), ручная модерация или интеграция с сервисом проверки (например, российский «Контур.Фокус» для ИП). На Flutter: image_picker + dio multipart upload, статус проверки через polling или WebSocket. Пока аккаунт не верифицирован — флаг is_verified: false блокирует приём заявок на уровне API middleware.

Что входит в работу

  • Мобильное приложение для клиентов (iOS + Android)
  • Приложение для мастеров с отдельным интерфейсом
  • Админ-панель (веб) для диспетчеров
  • Чат между клиентом и мастером
  • Push-уведомления (FCM / APNs)
  • Интеграция платёжной системы
  • Документация (API-спецификация, инструкции по деплою)
  • Поддержка после публикации (2 месяца бесплатно)

Процесс работы

  1. Аудит требований — выясняем: монетизация (комиссия с заявки или подписка мастера), geography (один город или федеральная сеть), нужен ли веб-кабинет диспетчера.
  2. Проектирование — ERD, State Machine диаграмма заявки, API контракты (OpenAPI 3.0).
  3. UI/UX — Figma-прототип, отдельные флоу для клиента и мастера.
  4. Разработка — спринты по 2 недели, CI/CD через Fastlane + GitHub Actions.
  5. Тестирование — интеграционные тесты на flutter_test, ручное QA на реальных устройствах.
  6. Публикация — App Store + Google Play, настройка ASO, скриншоты и описания.

Сроки и опыт

Этап Длительность
MVP (клиент + мастер, основы) 10–16 недель
Полная платформа с админкой 20–28 недель

Мы разрабатываем мобильные приложения более 7 лет, выпустили 15+ продуктов в сфере услуг. Стоимость рассчитывается после анализа ТЗ — слишком многое зависит от количества категорий мастеров и географии охвата. Получите консультацию — пришлём предварительную оценку за один день.

Типичные ошибки, которые стоят дорого

  • Реализовать геолокацию без background_locator — мастер «пропадает» с карты, когда сворачивает приложение на Android 12 и выше из-за Doze Mode.
  • Хранить токены FCM в локальной БД без TTL — через 3 месяца 30% токенов протухают, пуши перестают доставляться.
  • Не разделять FCM-каналы для клиента и мастера в одном приложении — оба получают чужие уведомления при смене роли.