Разработка календаря бронирования для сайта на Битрикс авиационного учебного центра

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

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

С целью создания функционала бронирования летных тренажеров к нам обратился Авиационный учебный центр. В 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
Оцените статью
Мы работаем по одному из двух форматов:
  • аренда команды (от 2 человек, не менее 3 месяцев);
  • итерации с фиксированной ценой (1-3 месяца длительностью).
ИНТЕРВОЛГА предоставляет:
  • регулярные онлайн-планерки с заказчиком;
  • квалифицированных специалистов;
  • организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
  • полную прозрачность и регулярность отчетов о результатах.
Ключевые услуги:
  • нагруженный интернет-магазин;
  • личный кабинет;
  • оптовые продажи — B2B-платформа;
  • маркетплейс;
  • технический аудит сайта;
  • Битрикс24 — корпоративные HR-порталы;
  • Битрикс24 — построение CRM-системы;
  • Битрикс24 — личные кабинеты сотрудников;
  • Битрикс24 — аудит портала;
  • 1С — интеграция с другими системами;
  • 1С — доработка системы;
  • маркетинг — комплексное интернет-продвижение;
  • маркетинг — продвижение для B2B.

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

Автоматизация пропускного режима в промышленном холдинге: 3 часа от заявки до результатаОформление пропусков на предприятие — задача не менее ответственная, чем выплавка стали. Расскажем, как превратить бумажную бюрократию в управляемый процесс. ...
Миграция с MySQL на PostgreSQL в Битрикс24Выбираете между MySQL и PostgreSQL для своего проекта на Битрикс? Подготовили аргументы, которые помогут большим и маленьким компаниям сделать правильный выбор...
Интеграция CMS Битрикс: Управление сайтом с Тильдой (Tilda)Ваш сайт на Битрикс? Без знания HTML/CSS в его редакторе можно создавать лишь статичные страницы. Добавить объем и движение поможет Tilda. Здесь про их интеграц...
Автоматизация мониторинга закупок в Битрикс24 для MR GroupРассказываем как помогли крупному девелоперу объединить в Битрикс24 всю ключевую информацию о ходе строительных проектов с данными о состоянии процесса закупок...
Система лояльности в B2B-продажах: как создать и будут ли результаты В B2B-продажах клиенты ищут не просто продукт, а партнера, который поможет им решить их бизнес-проблемы. Привлечение и удержание клиентов — одна из ...
Создаем контент-хаб товарных данных на PimcoreНаступит день, когда ваши 1С или БД сайта перестанут справляться с возросшим объемом товарного медиаконтента. Рассказываем как организовать правильное хранение ...
Хотите получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишитесь на рассылку — спамить не будем