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

Отечественная авиа отрасль постепенно восстанавливается и поставляет на рынок новые типы самолетов, которые нужно осваивать. Для качественной подготовки и переподготовки летчиков авиа-концерны разрабатывают тренажеры. Их мало, время их работы стоит дорого, поэтому для проведения тренировок эксплуатантам воздушных судов нужно заранее бронировать временные диапазоны (слоты) в учебном центре.

С целью создания функционала бронирования летных тренажеров к нам обратился Авиационный учебный центр. В 2022 году мы сделали для них сайт на CMS «1С-Битрикс: Управление сайтом» (БУС). Позже они вернулись с запросом автоматизации процесса записи на летные тренажеры для партнеров. Партнёры – топовые Российские авиакомпании.

Летные тренажеры РАТА.jpg

Вот такие тренажеры есть в учебном центре.

Почему Google Календарь, Yclients и Dikidi не подходят

Первая мысль, которая приходит в голову при получении ТЗ на разработку сервиса бронирования: а почему нельзя использовать работающие сервисы онлайн-записи? Бизнес-смысл ведь тот же самый.

Как покажем далее — не совсем.

  • Во-первых, не понятно где владельцы сервисов хранят и как распоряжаются персональными данными.

  • Во-вторых, нет уверенности, что сервис будет доступен в любой момент.

  • В-третьих, нужен был вполне конкретный функционал личного кабинета, который не могут обеспечить «облачные» календари. Например, требовалась выгрузка в xls списка забронированных слотов в конкретном диапазоне дат.

  • В-четвертых, бронировать время для обучения летчиков там, где записываются «на ноготочки» несерьезно для «дочки» Ростеха.

Что должен уметь сервис бронирования

В плане логики и UI/UX не требовалось ничего инновационного. На сайте нужно было создать закрытый раздел (Личный кабинет), попасть в который могут только партнеры после авторизации. Всё должно быть просто, лаконично, по делу, как в нашей B2B-платформе.

  • ЛК должен содержать сведения об организации, расписание тренажеров и инструкцию по бронированию;

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

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

  • слоты по 4 часа, можно бронировать на годы вперед, смотреть расписание прошлых месяцев;

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

  • администратор может поставить в расписание часы на техническое обслуживание тренажеров. Это время не бронируется.

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

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

Как делается календарь бронирования

На работу заложили 2 месяца:

  • в первый месяц делаем календарь, форму записи, «всю начинку» для дальнейших этапов;

  • во второй месяц доделываем интерфейсы администратора, финально полируем и релизим.

Времени достаточно, тем более, что сделана уже не первая сотня проектов по доработкам модулей для БУС.

За это время:

  1. Провели аналитические сессии, на которых проработали требования и UI/UX. Выбрали функциональный и хорошо документированный open source плагин календаря на js.

  2. Написали подробную декомпозицию: работу REST API, входные параметры, таблицы в БД, структуру модуля. В основе всего — наш собственный модуль для БУС «Интерволга: Бронирование тренажеров». Этот модуль умеет обрабатывать API-запросы, создавать разделы сайта «Расписание бронирования» (для пользователя) и «Заявки» (для администратора), а также необходимые им компоненты для вывода календаря. Это полностью самостоятельный продукт: администратору достаточно просто установить его на сайт чтобы начать пользоваться функционалом бронирования тренажеров.

  3. Затем сели писать публичную и серверную части (REST API). Пока творческая часть команды создавала модульные сетки, рисовала прототип, верстала окончательные версии страниц и оптимизировала плагин для вывода календаря, на бэке писали свою часть начинки (методы запросов к базе данных, маршрутизация, приведение ответов сервера в нужный формат и др.).

  4. Frame 3.png

    Путь от идеи в excel до прототипа.

  5. Потом ревью кода, тестирование, отладка, снова тестирование, и, наконец, деплой.

Что получилось и как работает модуль «Расписание бронирования»

Сценарии пользователя

Представитель авиакомпании авторизуется в Личном кабинете, выбирает локацию и тренажер. После этого ему становится доступно Расписание. Всем пользователям показывается одинаковая таблица, в которой видно: свободные слоты (белые), забронированные слоты (серые), включенные в текущую заявку слоты (зеленые). Пользователь может выбрать один или несколько 2-х или 4-х часовых слотов. Выбранные данные автоматически фиксируются в форму, заполняются данные из ЛК авиакомпании: название компании и номер договора. Фамилии пилотов вносятся вручную. После этого заявку можно отправить на согласование.

После отправки заявки выбранные слоты становятся забронированными и недоступными для других пользователей.

Расписание работы на тренажерах.jpg

Сценарии администратора.

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

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

Администратор может:

  1. Отклонять (удалять) забронированные слоты, что снова делает слот доступным для бронирования обычными пользователями.

  2. Согласовывать или отклонять заявки, поданные с учетом субсидии.

  3. Изменять слот, заменять время слота на одно из свободных.

  4. Добавлять слоты.

  5. Изменять созданные заявки: уже забронированные партнером слоты в заявке останутся зелеными, а новые, добавленные администратором, - желтым.

При изменении заявки пользователю придет уведомление на e-mail, а в разделе «Мои записи -> История изменений» появится новая строчка.

Что еще умеет календарь

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

Полнофункциональная версия умеет гораздо больше:

  • календарь полностью настраиваемый, с пользовательскими триггерами и настраиваемым текстом (с возможностью перевода);

  • по умолчанию поддерживается 51 язык;

  • просмотр дня, недели, месяца, года, всех событий и временной шкалы с возможностью выбора даты, виджета и pop-up;

  • выбор начала недели;

  • поиск по событиям;

  • импорт и экспорт событий из других календарей;

  • экспорт событий в форматы CSV, XML, JSON, TEXT, iCal, MD, HTML и TSV с поддержкой настройки системного буфера обмена;

  • импорт событий из файлов iCal и JSON;

  • изменение времени и даты события простым перетаскиванием (в режиме просмотра за день /неделю);

  • вырезание/ копирование/ вставка (с поддержкой множественного выбора) и дублирование событий;

  • сохранение данных с помощью локального хранилища;

  • поддержка привязки данных и плагинов jQuery.

Не хотите платить за подписку на сервисы онлайн-записи и конкурировать с другими компаниями в стороннем приложении? Не хотите рисковать персональными данными клиентов и обременять их установкой мобильных приложений?

Если вашему сайту нужен мощный и гибкий сервис для бронирования, а не комбайн со складским учетом, эквайрингом и онлайн-кассой, — опишите задачу в форме обратной связи. Наш эксперт перезвонит, ответит на вопросы и предложит решение.

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



Оцените статью
23.05.2024
Понравилась статья?
Поделитесь ссылкой с друзьями и коллегами!

Статьи по теме

Выжимаем максимум скорости из PHPКогда дело доходит до запуска PHP-приложений, выбор подходящего веб-сервера критически важен. Цель статьи — помочь в выборе оптимального решения для своих проек...
Организация поиска на сайте: выбираем между поиском Битрикса, Sphinx и ElasticsearchВ статье разбираем популярные поисковые движки, чтобы выбрать лучший под задачи конкретного проекта. Даем советы по индексации каталога и построении «умного» фи...
Доработка системы LMS KnomaryMust have для бизнеса, где главный актив это люди, — стратегия обучения и развития персонала. Рассказываем как помогли доработать LMS-систему для компании ЕВРАЗ...
«Как раньше» больше не работает — B2B-система продаж сейчасВ этой статье хотим поговорить с чем сейчас сталкивается оптовый бизнес (множеством вызовов и изменений, которые требуют адаптации, а также оптимизации процессо...
Интеграция B2B-платформы на Битрикс с системой авторизации KeycloakВ период бурного роста компании менеджмент учетных записей сотрудников и клиентов может стать проблемой. Решение — интеграция с брокером авторизаций Keycloak ил...
Мы работаем по одному из двух форматов:
  • аренда команды (от 2 человек, не менее 3 месяцев);
  • итерации с фиксированной ценой (1-3 месяца длительностью).
ИНТЕРВОЛГА предоставляет:
  • регулярные онлайн-планерки с заказчиком;
  • квалифицированных специалистов;
  • организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
  • полную прозрачность и регулярность отчетов о результатах.
Ключевые услуги:
  • нагруженный интернет-магазин;
  • личный кабинет;
  • оптовые продажи — B2B-платформа;
  • маркетплейс;
  • технический аудит сайта;
  • Битрикс24 — корпоративные HR-порталы;
  • Битрикс24 — построение CRM-системы;
  • Битрикс24 — личные кабинеты сотрудников;
  • Битрикс24 — аудит портала;
  • 1С — интеграция с другими системами;
  • 1С — доработка системы;
  • маркетинг — комплексное интернет-продвижение;
  • маркетинг — продвижение для B2B.
Хотите получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишитесь на рассылку — спамить не будем