Сегодня в блоге ЛАНИТ я хочу поделиться с вами историей разработки сервиса PASS24.online, который используется в коттеджных посёлках, жилых комплексах и бизнес-центрах для того, чтобы управлять доступом людей и автомобилей на территорию. Фактически за несколько лет мы довели идею полезного и удобного мобильного приложения до функционального сервиса, который уже ищут заказчики. Мой рассказ может быть интересен тем, кто хочет создать свой программный продукт и размышляет о запуске чего-то реально нового. Под катом — некоторые подробности о создании нашего сервиса, а также примеры и критерии выбора дополнительных фич для разработки. 

Запуская стартап, можно пойти двумя путями — создать что-то лучше, чем у других, или сформировать собственную нишу и продвигать свой продукт в ней. Второй вариант звучит интереснее, но на практике он может потребовать даже больше работы и самоотдачи, ведь вы попадаете тем самым в нишу Blue Ocean. “Что? Система управления шлагбаумом? Да она у нас есть. Умная и автоматическая? Нет, спасибо, не нужно…” То есть конкурентов нет. Но и спрос получается нулевой, потому что и про вас не слышали, и про то, что от вашего продукта есть польза, тоже не слышали.

На личном опыте

Без лишней скромности скажу, что идею PASS24.online я придумал сам после очередной перепалки с охранниками на въезде в коттеджный поселок, в котором моя семья завершала ремонт жилья. Если вы проходили через эти адские испытания, то можете себе представить, что в посёлке, где большинство домов строятся, постоянно ввозят какие-то стройматериалы, заходят и выходят рабочие, которые могут меняться, приезжают курьеры и доставки из разных магазинов. Охрана перегружена, не отвечает на телефон, потому что в данный момент разбирается, к кому приехал очередной работник и как именно пишется его имя.

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

В этот момент у меня возникла мысль: хорошо бы взять и оформить пропуск в приложении, просто оставить там заявку. С этого и началась история PASS24.online.

Как работает сервис

Когда я рассказываю эту историю в других местах, обычно до технических подробностей дело не доходит. Но мы же на Хабре. Поэтому расскажу о том, как устроен сегодня сервис внутри.

В качестве основы была взята платформа Laravel v6, которая фактически предоставляет веб-сервис для работы системы. Все данные хранятся в Mysql 8, а поиск по пропускам реализован на базе Elasticsearch. Она же выполняет роль центрифуги для веб-сокетов.

Как видите, ничего особенного, стандартные компоненты. Далее на основе всего вышеперечисленного мы написали сервис с нуля, используя php 7.2.3 и JavaScript. 

Архитектура платформы очень проста. Есть облачный Backend, к которому подключаются клиенты. Они могут быть представлены пользовательскими приложениями, приложениями для управляющих компаний или охранников. 

Backend использует API (REST). Общение с клиентами происходит с помощью JSON-схем по защищенному протоколу https. Опять же тут нет ничего особенного. Используются такие действия, как GET, POST, PUT, DELETE и PATCH.

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

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

Интеграции работают по такому же принципу. Любые сторонние системы сперва авторизуются и получают токен, а потом общаются с системой через API. Например, получают пропуска, создают, изменяют статусы и др.

Базовый функционал и дальнейшее развитие

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

Интерфейс авторизует пользователя по номеру телефона. Он позволяет:

  • заказать пропуск на человека или автомобиль;

  • отозвать пропуск на человека или автомобиль;

  • заказать временный пропуск;

  • сформировать шаблон для заказа пропуска;

  • посмотреть отчеты и статистику — кто из ваших гостей когда пришел и когда ушел;

Приложение пользователя
Приложение пользователя
WEB-интерфейс охранника
WEB-интерфейс охранника
  • предоставляет информацию о выданных пропусках;

  • помогает проверить, есть ли пропуск на определенного человека или автомобиль;

  • позволяет связаться с владельцем недвижимости, если возникла какая-то проблема;

WEB-интерфейс управляющей компании
WEB-интерфейс управляющей компании
  • отображает статистику движения людей и автомобилей;

  • позволяет отслеживать работу охранников.

Уже в таком виде PASS24.online был готов к распространению по тем объектам, где подобное решение действительно нужно. Дальше мы прикручивали к нему авторизацию по различным Bluetooth и NFC-ключам, средства автоматизации и интеграции с другими ИТ-системами, средства компьютерного зрения для распознавания номеров автомобилей и т. д.

Реализация
Реализация

В процессе развития продукта, кстати, мы нашли несколько killer-фичей, которые помогли сделать решение интереснее для пользователей. 

Во-первых, были созданы разные типы пропусков — разовые, постоянные, временные и интервальные. Потому что нередко людям нужно разрешение на вход кого-то только на определенный период. Оказалось, удобнее оформить такой пропуск один раз и разрешить, например, менеджерам по клинингу заходить по вторникам и четвергам с 14 до 16 часов.

Во-вторых, сильно улучшила юзабилити продукта фича, которая помогает экономить время при заказе пропуска на кого-то. Представьте, к вам едет курьер. В этом случае нужно выяснять, как его зовут, как он выглядит, какая у него машина, а потом передать эту информацию охране. Чтобы снизить степень сложности, мы запустили сервис «Приглашение». Это ссылка для внешнего пользователя, где он сам заполняет данные гостя и получает QR-код для входа или въезда на территорию.

В-третьих, важной для пользователей оказалась информация, какое количество гостей находится на территории и кто из них злоупотребляет регламентом. Например, заказали вы машину для разгрузки мебели на час, а она так и не выехала с территории. Что они там делают? Почему задержались? Тут можно принимать разные меры, но охрана уже знает, что посетители такого-то собственника просрочили свое время.

Как начать это продавать?

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

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

Благодаря проделанной работе на сегодняшний день мы имеем более 350 подключенных объектов, и эта сформированная база кейсов позволяет наглядно показать тем, кто еще не планировал автоматизацию КПП на таком уровне, какого именно уровня комфорта они лишены.

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

Комментарии (17)


  1. SGordon123
    18.04.2023 07:14

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


    1. akhromov Автор
      18.04.2023 07:14
      +2

      На объектах, где есть контроль доступа, а это поселки и ЖК с огороженной территорией, всегда надо четко говорить имя и номер авто и время прибытия. С точки зрения цены - тариф начинается от 10 000 рублей в месяц без ограничения пользователей мобильного приложения. Для управляющей компании окупается почти сразу.


  1. Mudrist
    18.04.2023 07:14

    А почему именно Laravel? Я в свое время работала с этой системой как CMS - жесть вообще полная.


    1. akhromov Автор
      18.04.2023 07:14
      +2

      На Laravel можно построить CMS, но его удобство зависит от кривизны рук. :) Для нас это был отличный фреймворк, который полностью покрывает все нужды системы.


  1. Ivan_2424
    18.04.2023 07:14

    Вообще интересное решение, учитывая его относительную простоту. Но не пойму, зачем вам центрифуга веб-сокетов?


    1. akhromov Автор
      18.04.2023 07:14
      +1

      У нас есть большой опыт работы с Центрифугой, причем нам она нравится она "из коробки". За многие годы не было никаких проблем с этим сервисом. Центрифуга делает websocket довольно универсальным: его можно использовать для подключения из веб-приложений, мобильных приложений и других сред, причем без лишних проблем.


  1. Dart55
    18.04.2023 07:14

    Что то не увидел в статье модных слов «телеграмм бот», неужели нет?


    1. akhromov Автор
      18.04.2023 07:14
      +1

      Бот у нас как раз в стадии разработки, в дальнейших статьях - расскажем подробнее :)


  1. aborouhin
    18.04.2023 07:14
    +1

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

    В качестве пожелания - марки машин при создании пропуска лучше бы как-то по популярности сортировать - сначала самые популярные по алфавиту, а потом остальные (типа как на auto.ru) А то когда список начинается с Acura, Alfa Romeo, AMC... и таких же "популярных" марок - по факту всегда приходится набирать вручную, т.к. скроллить это - боль. Ну и совсем супер, если добавили бы фотографирование и распознавание номера. Иногда стоишь рядом с такси / машиной знакомого и пр., на которой поедешь, и проще так, чем вручную забивать.

    А ещё, помнится, года два назад у Вас была какая-то глобальная проблема, из-за чего пришлось переустанавливать приложение (не обновлять, а из маркета ставить новый вариант) и заново регистрироваться с новыми паролями. Не поделитесь, что это было?.. Любопытно :)


    1. akhromov Автор
      18.04.2023 07:14
      +3

      Спасибо большое за обратную связь! Помнится была проблема, связанная с глобальным обновлением платформы, нужно было выпустить новые приложения и очень равномерно перенести на новые рельсы все объекты. На тот момент подумали, что такое переключение будет более понятно для пользователей с точки зрения логики. В текущей версии все обновления летят в установленные приложения, конечно же.


      1. aborouhin
        18.04.2023 07:14

        Ну надо сказать, что среди пользователей тогда царил полный хаос и возмущение :)

        Думаю, тут вообще есть проблема, вытекающая из Вашей бизнес-модели - Вы с пользователями не общаетесь напрямую, между Вами "испорченный телефон" в лице эксплуатирующей компании посёлка. Как пользоваться - объясняют они, что изменилось - тоже, с проблемами - опять к ним. А они же ни разу не техподдержка, ни квалификации, ни мотивации. Рискну предположить, что это затрудняет коммуникацию в обе стороны, обратную связь нормально тоже не собрать.


        1. akhromov Автор
          18.04.2023 07:14
          +1

          Для пользователей приложения всегда работает наша Служба Заботы - в день мы обрабатываем более 100 обращений пользователей мобильного приложения. Постоянно работаем над улучшение качества ответов. Заявку можно отправить из приложения или на адрес support@pass24online.ru


          1. aborouhin
            18.04.2023 07:14

            Это прекрасно, но за несколько лет пользования Вашим приложением я об этом в первый раз узнал из этого комментария :) Думаю, из соседей по посёлку тоже вряд ли кто-то обращался напрямую с проблемами - это же сервис эксплуатирующей компании, все вопросы в единое окно к ней. И точно ни разу ни в самом приложении, ни по другим каналам не просили поделиться обратной связью.

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


  1. EvgenyVilkov
    18.04.2023 07:14
    +1

    Родное Бристолькино :)


    1. akhromov Автор
      18.04.2023 07:14
      +1

      КП Бристоль - был первый подопытным клиентом, где, собственно говоря, родился проект.


      1. EvgenyVilkov
        18.04.2023 07:14

        Да, сосед.

        На самом деле большое спасибо от всех соседей :) Приятная фича что по разным поселкам и ЖК одно приложение и досрочно выбрать куда именно ты хочешь заказать пропуск


        1. akhromov Автор
          18.04.2023 07:14
          +1

          Невероятно приятно! Спасибо! Очень мотивирует развивать проект именно обратная связь и благодарность пользователей. PASS24.online, как мне кажется, стал стандартом удобного доступа на огороженные территории для поселков, ЖК, офисов, больниц и т.д.