Труд механика, отвечающего за исправность домофонов, совсем не прост – замыкания, ненадежные контакты, активные подростки и вездесущие вандалы. В таких ситуациях требуется срочный ремонт, иначе жители дома останутся на улице.
Специалисты домофонной службы не всегда могут оперативно приехать на вызов. Часто количество заявок не сопоставимо с имеющимися человеческими и временными ресурсами. Задачи решаются исходя из их неотложности. Кроме того, все коммуникации внутри компании обрывочны – нет единой системы.
Но выход есть! И это мобильное приложение под Android, которое мы разработали специально для того, чтобы помочь домофонной службе решить эти проблемы.
Заказчик
Руководители «Домофон-сервис» обратились к нам с целью получить современное Android-приложение, которое поможет оптимизировать труд коллектива предприятия. История компании началась еще в апреле 1996 года, и с тех пор количество её клиентов только растет. На данный момент специалисты «Домофон-сервис» заботятся о жизни населения 20 сибирских городов, открыто 14 филиалов.
«Домофон-сервис» производит металлические двери, металлоконструкции, электронику. Предоставляет весь спектр услуг:
- По установке и обслуживанию домофонов/видеодомофонов, систем видеонаблюдения, энергосберегающего оборудования;
- По защите территории жилых домов и организаций – установку ограждений, шлагбаумов, автоматических ворот.
Клиенты – товарищества собственников жилья, объекты социальной сферы, строительные компании, обустраивающие инфраструктуру новых городских микрорайонов.
Сегодня «Домофон-сервис» обслуживает домофоны, установленные по всему Алтайскому краю и в соседних регионах.
Задача
Разработчикам Энтерры было необходимо создать мобильное приложение для улучшения качества обслуживания домофонов и оптимизации бизнес-процессов. Планировалось, что главной функцией этого приложения станет мониторинг работы инженеров.
Принципы работы
Для использования сервиса каждый мастер должен иметь планшет на базе Android. Именно так через включенное приложение специалисты должны узнавать о вновь поступивших заявках, отображающихся на карте.
В приложение должны быть встроены:
- инструменты управления заявками – распределение заявок на ремонт между инженерами, отслеживание статусов заявок;
- инструменты контроля и мониторинга перемещения мастеров.
Разработка
Перед нашими разработчиками стояли три задачи – написать код, интегрировать его с 1С и настроить уведомления.
Поэтому в разработке мы задействовали практически весь наш арсенал технологий.
Основные инструменты
Инструменты и фреймворки: .NET, ASP.NET MVC, EF, WSDL, web API, AngularJS.
Библиотеки: NLog, Autofac, Automapper, GraphDiff.
Система состоит из двух частей: мониторинга движения мастеров и непосредственно самого Android-приложения.
Интеграция приложения с 1С
«Домофон-сервис» ведет документооборот в 1С.
Соответственно нужно было связать документооборот с информацией о заявках в приложении.
Зачем была нужна интеграция?
- Получение подробной информации о заявках и мастерах
- Регистрация новой заявки
- Модификация текущей заявки
- Отправка уведомлений об «удаленном» закрытии заявки
При осуществлении интеграции наши специалисты решили обратиться к опыту предшественников с Хабра. Если кратко, то интеграция проходила следующим образом.
- Установка 1С с web-расширениями
- Описание типов данных для обмена
- Создание методов сервиса
- Развертывание(deployment) на сервере IIS
- Добавление ссылки, генерирующей интерфейс для обмена данными, который происходит при помощи WSDL (WebServices Description Language), стандартного элемента 1C
Интеграция с сервисом отправки SMS
Дополнительно в процессе разработки применяли библиотеку PushSharp для отправки уведомлений пользователям на их устройства.
А для отправки SMS-уведомлений – самописный клиент с возможностью последующей замены и сервис Aramba.
Геолокация
Для определения местоположения пользователя и размещение заявок на карте использовалось API Google Maps и open source геокодер GeocodeSharp. С их помощью запросы к API преобразовываются в JSON формат и корректно отображается ответ от Google.
Мы усовершенствовали GeocodeSharp, и добавили возможность фильтровать результаты API. До этого нельзя было конкретизировать город, в котором происходит поиск места.
Принцип работы
Интерфейс приложения включает в себя все необходимые для оптимизации работы элементы: учетную запись, карту, функционал для сбора и обработки заявок.
Учетная запись
Только авторизованные пользователи могут работать с приложением, поэтому перед началом работы каждый мастер должен авторизоваться и заполнить свою учетную запись. Пользователь будет видеть только закрепленные за ним заявки.
Карта
Встроенный модуль с картой помогает отследить все текущие заявки. На карте инженеры и операторы мониторинга отмечают точки – адреса заявок.
Цветовая маркировка заявок:
- Зеленый индикатор – заявка создана сегодня.
- Желтый индикатор – заявка создана вчера.
- Красный индикатор – заявка создана позавчера или ранее.
Если на один адрес (улица + номер дома) приходится несколько заявок, то будет показан один индикатор. Дополнительно будет указываться число заявок на этот адрес. В этом случае цвет индикатора определяется по самой старой заявке.
Пользователь может менять масштаб карты.
Также во всплывающем окне можно просмотреть краткую информацию о заявке или перейти к деталям заявки.
Если выбранному индикатору соответствует несколько заявок, то во всплывающем окне будет представлен весь список заявок по этому адресу. К списку заявок, отображаемых на карте, применяется фильтр.
Мониторинг движения
На карте отображается маршрут мастера. Обновление происходит в режиме реального времени. При наведении курсора показывается время, соответствующее выбранной точке маршрута мастера.
Помимо этого, на карте отображаются заявки со статусами «Поступило» и «В работе», назначенные на мастера, маршрут которого просматривается. При просмотре доступны сведения об адресе, типе неисправности, дате поступления.
Срок хранения данных трекинга – 1 месяц.
Заявки
Заявки можно создавать, фильтровать, сортировать, настраивать к ним уведомления.
Создание новой заявки
В заявке отображается следующая информация:
- Адрес
- Вид неисправности
- Дата поступления заявки (по умолчанию текущая дата)
- Телефон (опционально)
- Примечание (опционально)
Редактировать заявку можно только до внесения сведений в 1С.
Приняв заявку в работу, инженер получает доступ к местоположению заявки на карте и контактному номеру телефона. Кроме того, он может стать инициатором смены даты и времени выполнения заявки.
Фильтрация заявок
Пользователь может применять к заявкам фильтры статуса, типа неисправностей, улицы, дате создания заявки, возрастания (от более старых к более новым), предполагаемой даты и времени выполнения заявки (по возрастанию – от более старых к более новым).
Напоминания о заявках
Пользователь получает уведомления о приближении предполагаемого времени выполнения заявок в соответствии с настройками. Доступны напоминания за 30 минут, 1 час и 2 часа до предполагаемого времени выполнения.
Push-уведомления
В приложении есть напоминания для каждой задачи. Ни одна заявка не будет утеряна или забыта.
Push-уведомление о новой заявке содержит указанный адрес, чтобы пользователь мог сразу перейти на экран деталей приложения.
Если пользователь не хочет получать push-уведомления, то их можно с легкостью отключить.
Отправка SMS
SMS отправляются на первые два контактных номера, указанных в заявке, если:
- Получена новая заявка
- Статус заявки сменен на «Сделано»
Дизайн
Все данные упорядочены в таблицы и схемы. Дизайн строг и лаконичен. Ничто не должно отвлекать внимания мастеров от их работы. Цветом выделяются сами заявки и в самом верху на панели приложения есть голубая линия.
Готовый проект
Теперь нашим сибирским мастерам хватает времени для починки всех домофонов на вверенной территории. Все работы производятся точно в срок. Никто больше не окажется в ситуации: на улице мороз, техника не функционирует, и все специалисты на вызовах.
С нашим приложением команда «Домофон-сервис» точно знает, где ее ждут. И если Ваш домофон оказался вдруг сломан, знайте, к Вам уже спешит мастер!