On Time, On Point, On Budget!

Domophone Business Thrives: Innovations to Manual Labour

The work of mechanics, who are in charge of all buzzers, serviceable and broken, never was easy – lockings, unreliable contacts, active teenagers and ubiquitous vandals. In these cases, defective mechanisms should be fixed as soon as possible. Residents don’t need to catch a flu standing in front of the locked door.

Specialists of the buzzer company aren’t able to visit each address during their shifts. Too many requests, routine activities, road traffic, etc. They do their best for sure. It can’t be doubted. Operators put urgent orders the first. Besides, the communication inside the company is really scrappy. There is no unified system.

Client

The offer to create a «Domophone-service» app for Android came from the company management of the multisectoral firm named the same as the requested product. This business has been effectively running since April 1996. The result – 14 branches in 20 towns.

Company’s professional field is a production of metal doors, metal constructions, electronics. Moreover, they provide the full range of related services:

  1. Installation and maintenance of audio- and video buzzers, video monitoring systems, energy-saving equipment.
  2. Apartment building and organization territory protection – installation of barriers, automatic gates, lifting gates.

The customers are apartments’ owners; social services; building companies, which are responsible for the infrastructure of the new city areas.

Nowadays «Domophone-service» successfully operates in six Siberian regions.

Task

Enterra developers had to create an app to evaluate the level of buzzers repair service quality and to optimize business processes. We wanted to give our client a tool for a quick and easy monitoring. So that they would be able to learn more about their team and what stops them from keeping all buzzers in order.

Working principles

Each engineer should have an Android tablet. This way they will be able to get the information on their tasks just in time. All requests will be automatically placed on the map.

App Elements:

  • Tools to manage active orders – allocating requests to workers, order status monitoring.
  • Tools to control and monitor engineers’ journey.

Development

Our developers had to write a code, integrate it with 1С and configure notifications.
Almost each member of the Enterra team was a part of this project to create an app that will be considered as modern for a couple of years at least.

Basic instruments

Instruments and frameworks: .NET, ASP.NET MVC, EF, WSDL, web API,
AngularJS.

Libraries: NLog, Autofac, Automapper, GraphDiff.

The system has two parts: the Android app and the service to monitor masters’ journeys.

Integration with 1С

«Domophone-service» document management runs in 1С. So, we had to combine document circulation and information about orders from the app.

What for the integration must be done:

  • Getting detailed information about orders and workers
  • New order registration
  • Modification of the current order
  • Sending a notification of shutting down the order remotely

To integrate properly, our specialists decided to benefit from experiences of their predecessors from Habrahabr.

Integration stages:

  1. Installation of 1С with web-expansions
  2. Describing all data types for the exchange
  3. Creating service methods
  4. Deploying to the IIS server
  5. Adding a link, which generates the data exchange interface using WSDL (Web Services Description Language), standard element of 1C

Integration with SMS service

Also, Enterra specialists used the PushSharp library which is useful for sending notifications to clients’ devices; self-written client that could be changed and Aramba service for sending SMS-notifications.

Geolocation

We have used Google Maps API and GeocodeSharp, open source geocoder, to provide actual data of the client location and to place orders on the map. They convert API request to JSON, and the answer from Google is displayed correctly.

Earlier the user couldn’t filter the search by city. Our team upgraded GeocodeSharp and added API results filtration.

Working basics

App interface includes the user account, the map and the necessary functionality to receive and manage requests.

User account

Only authorized users are able to use the app, so before starting to work each engineer has to complete the registration. After that, each user will have access to the list of the current requests.

Domophone app login

User account login

Map

Built-in module helps to control all current orders. Monitoring operators and engineers put new points on the map marking the addresses of new orders.

Order coloring:

  • Green – created today.
  • Yellow – created yesterday.
  • Red – created the day before yesterday or earlier.

If there are several orders made from the same address, street and house number, the spot will be colored according to the status of the oldest request. Besides, there will be the precise number of the active orders.

Orders classification

Order status is marked with color

Users can zoom the map.

Also, in a popup window you can read a summary of the order or go and check each detail.
If there are more than one order, a popup will show a full list of them. All orders on the map might be filtered (there’s a special indication of the filter applied).

Movement tracking

Map with location tracking

Map with location tracking

The map shows all spots of the engineer’s journey. The data are updated in real time. Placing a cursor on the spot, you can see the time of the tracked location. Moreover, on the map there are requests, labeled «Registered» and «In work», which have been allocated to the specialist, whose route is tracked. You can check the address, type of the defect, registration date.

All data are stored for one month.

Orders

Users can create, filter, sort their orders and set notifications for them. The order contains the following information:

  • Address
  • Malfunction type
  • Date of the order registration (current date)
  • Phone (optional)
  • Note (optional)

The order can be modified only before it was registered in 1С.

After accepting a request, the engineer gets access to the location of the order on the map and the client’s phone. If it is needed, he can contact the client and initiate the modification of the date and the time when the defect should be fixed.

Order filtration

Users can filter their orders by their status, type of the defect, street, registration date in the order from the oldest to the newest, fixed status date from the oldest to the newest ones.

Orders filtration

Orders filtration

Order notifications

Users receive notifications when the time of engineer’s visit is getting closer, as it was chosen in the settings. There are three options, the notification can be sent 30 minutes, 1 hour or two hours to the time of the engineer’s arrival.

Push notifications

Our app has different types of notifications according to the case to be sure that each request will be tracked and completed.

Push notifications on the new order contain the client’s address, so the user can directly go to the request details screen.

If the user doesn’t want to receive push notifications, he can easily turn them off.

SMS

SMS is sent to two first contact numbers, which were mentioned in the order when:

  • new request has been received,
  • the status of the request has been switched to «Done».

Design

There are many schemes and charts with all essential data. Design is simple and understandable.

Nothing should distract engineers. Work and clients are always prioritized.

Order information

Order information

The Result

Today buzzer engineers as always are ready to jump in a car and go to their client, if they know that he needs them. And they are also provided with the ultimate tool to have all the orders details and to solve the problems without wasting time.

Домофон спасен! Мобильное приложение для обработки заявок «Домофон-сервис»

Труд механика, отвечающего за исправность домофонов, совсем не прост – замыкания, ненадежные контакты, активные подростки и вездесущие вандалы. В таких ситуациях требуется срочный ремонт, иначе жители дома останутся на улице. Специалисты домофонной службы не всегда могут оперативно приехать на вызов. Часто количество заявок не сопоставимо с имеющимися человеческими и временными ресурсами. Задачи решаются исходя из их неотложности. Кроме того, все коммуникации внутри компании обрывочны – нет единой системы. Но выход есть! И это мобильное приложение под Android, которое мы разработали специально для того, чтобы помочь домофонной службе решить эти проблемы.

Заказчик

Руководители «Домофон-сервис» обратились к нам с целью получить современное Android-приложение, которое поможет оптимизировать труд коллектива предприятия. История компании началась еще в апреле 1996 года, и с тех пор количество её клиентов только растет. На данный момент специалисты «Домофон-сервис» заботятся о жизни населения 20 сибирских городов, открыто 14 филиалов. «Домофон-сервис» производит металлические двери, металлоконструкции, электронику. Предоставляет весь спектр услуг:
  1. По установке и обслуживанию домофонов/видеодомофонов, систем видеонаблюдения, энергосберегающего оборудования;
  2. По защите территории жилых домов и организаций – установку ограждений, шлагбаумов, автоматических ворот.
Клиенты – товарищества собственников жилья, объекты социальной сферы, строительные компании, обустраивающие инфраструктуру новых городских микрорайонов. Сегодня «Домофон-сервис» обслуживает домофоны, установленные по всему Алтайскому краю и в соседних регионах.

Задача

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

Принципы работы

Для использования сервиса каждый мастер должен иметь планшет на базе Android. Именно так через включенное приложение специалисты должны узнавать о вновь поступивших заявках, отображающихся на карте. В приложение должны быть встроены:
  • инструменты управления заявками – распределение заявок на ремонт между инженерами, отслеживание статусов заявок;
  • инструменты контроля и мониторинга перемещения мастеров.

Разработка

Перед нашими разработчиками стояли три задачи – написать код, интегрировать его с 1С и настроить уведомления. Поэтому в разработке мы задействовали практически весь наш арсенал технологий.

Основные инструменты

Инструменты и фреймворки: .NET, ASP.NET MVC, EF, WSDL, web API, AngularJS. Библиотеки: NLog, Autofac, Automapper, GraphDiff. Система состоит из двух частей: мониторинга движения мастеров и непосредственно самого Android-приложения.

Интеграция приложения с 1С

«Домофон-сервис» ведет документооборот в 1С. Соответственно нужно было связать документооборот с информацией о заявках в приложении. Зачем была нужна интеграция?
  • Получение подробной информации о заявках и мастерах
  • Регистрация новой заявки
  • Модификация текущей заявки
  • Отправка уведомлений об «удаленном» закрытии заявки
При осуществлении интеграции наши специалисты решили обратиться к опыту предшественников с Хабра. Если кратко, то интеграция проходила следующим образом.
  1. Установка 1С с web-расширениями
  2. Описание типов данных для обмена
  3. Создание методов сервиса
  4. Развертывание(deployment) на сервере IIS
  5. Добавление ссылки, генерирующей интерфейс для обмена данными, который происходит при помощи 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 отправляются на первые два контактных номера, указанных в заявке, если:
  • Получена новая заявка
  • Статус заявки сменен на «Сделано»

Дизайн

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

Готовый проект

Теперь нашим сибирским мастерам хватает времени для починки всех домофонов на вверенной территории. Все работы производятся точно в срок. Никто больше не окажется в ситуации: на улице мороз, техника не функционирует, и все специалисты на вызовах. С нашим приложением команда «Домофон-сервис» точно знает, где ее ждут. И если Ваш домофон оказался вдруг сломан, знайте, к Вам уже спешит мастер!