Как стать автором
Обновить

Как мы разработали приложение для бортпроводников S7 Airlines, чтобы избавить их от бумажной работы

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.7K

Пока пассажиры в самолёте отдыхают, делают выбор между курицей и рыбой и наблюдают за красотой мира из иллюминатора, бортпроводники напряжённо работают, обслуживая весь рейс от взлёта до посадки. Надо уделить внимание каждому пассажиру, а к этому ещё добавляется много административной работы с документами и отчётами. За разработкой приложения-помощника к нам обратилась авиакомпания S7 Airlines, а мы создали уникальный продукт почти с 20 интеграциями и возможностью работы без интернета. В этой статье рассказываем, как нам это удалось и какие технологии использовали.

Как строится работа бортпроводников

Если вы думаете, что профессия бортпроводника наполнена сплошной романтикой и путешествиями, то вы сильно ошибаетесь. Как и в любой сфере здесь есть рутина, которую сложно заметить обычному пассажиру. У бортпроводников это бесконечные отчёты, брифы полётов и множество документов для каждого рейса.

До KOTELOV бортпроводники S7 Airlines тратили от 20 до 60 минут на заполнение всевозможных бумаг, а на рейс приходилось брать с собой около десяти килограмм важных документов. Работу усложняли внешние факторы, например, кто-то спешил и заполнил бланк непонятным почерком или просто забыл вписать данные.

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

Цели и вызовы проекта

Вот какие цели мы поставили перед собой:

  • Сократить время на ведение отчётности. Во время полёта есть множество задач, которые требуют внимательности и собранности, поэтому хорошо бы сделать так, чтобы бумажная работа занимала как можно меньше времени.

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

  • Клиентский сервис. Данные о каждом пассажире бизнес-класса должны быть под рукой, чтобы оказывать персонализированный сервис и предлагать уникальные услуги.

  • Аналитика. Заполнять отчёты — половина беды. Потом их надо обработать и сделать выводы, чтобы улучшить услуги. Поэтому в приложении должна быть система сбора и анализа данных.

Разработка осложняется также тем, что большую часть времени приложение станут использовать без связи или с очень плохим соединением, а данные о рейсе нужны актуальные. Поэтому около 200 МБ данных надо хранить локально. А ещё в приложение надо интегрировать 20 сторонних сервисов. Это было важное условия авиакомпании.

Надо думать как бортпроводник

Работа авиакомпания для большинства остаётся загадкой. Никто не знает, что делают бортпроводники во время полёта, кроме объявления техники безопасности и обслуживания пассажиров. Ещё меньше знают о том, что происходит в офисе. Но без этой информации сложно разработать полезное приложение, отвечающее на потребности компании. Поэтому мы поселили наших системных и бизнес-аналитиков рядом с Домодедово. Целый год они ходили в офис S7 Airlines и изучали внутренние процессы.

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

После большого исследования мы составили требования и разработали технические задания для каждого блока бизнеса компании:

  • функционал библиотеки;

  • информативный календарь рейсов;

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

  • блок общей информации о рейсе;

  • система оповещений о дефектах пассажирского судна;

  • отображение всевозможных грузов;

  • схемы аварийно-спасательного оборудования;

  • анкетирование пассажиров;

  • два вида чатов для коммуникации с service desk и центром обслуживания пассажиров;

  • работа с отчетами;

  • блок работы с пассажирами;

  • информация об экипаже рейса.

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

  • Приложение для iPad. Оно доступно старшим бортпроводником, предлагает расширенные функции, хранит много данных о рейсе.

  • Приложение для Android. Им пользуются рядовые бортпроводником. Оно включает библиотеку нормативных, накладных актов и другие документы.

  • Портал администратора. Веб-приложение для загрузки данных, настроек и анализа отчётов.

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

Оптимизация тестирования и производительности Backend:

Чтобы поддерживать высокую доступность и приближаться к 100% SLA, важно внедрить многоуровневое тестирование и постоянный мониторинг системы. В этом помогают юнит- и функциональные тесты. Они своевременно выявляют и устраняют ошибки, что значительно сокращает вероятность сбоев на этапе разработки.

В основе системы лежит архитектура на базе семи контейнеров, работающих в режиме Master-Slave. Их постоянный мониторинг через Zabbix позволяет поддерживать высокий уровень SLA. Использование распределенной базы данных добавляет надежности и повышает производительность всей системы.

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

Организация оффлайнового Backend и синхронизация данных

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

Почему проект начинался с разработки на iOS

В 2016 году, на старте проекта, у команды был корпоративный сертификат разработки от Apple. Этот инструмент позволял устанавливать приложения на устройства без загрузки в App Store, что значительно упрощало тестирование и ускоряло запуск проекта.

Преимущества разработки на iOS

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

  • Системы MDM. Наличие Mobile Device Management (MDM) позволяет централизованно управлять устройствами, обеспечивает их безопасность и упрощая контроль над корпоративными данными.

  • Высокое качество UI. У iOS качественный интерфейс: можно создавать удобные и привлекательные приложения, улучшать пользовательский опыт.

Интеграции iOS-приложения для полной функциональности на борту

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

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

  • API интеграция. Благодаря подключению к локальной сети на борту (MediaHub) приложение поддерживает обмен данными с другими системами, что позволяет синхронизировать информацию.

  • Операции с данными в оффлайне. Возможности по созданию, изменению и удалению данных в оффлайн-режиме делают приложение гибким и удобным при отсутствии связи.

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

Как мы ускорили и улучшили приложение на iOS

Мы изучили, что больше всего раздражает пользователей, и сразу подготовили решение.

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

  • Фоновая загрузка без «крутилки». Постоянный «крутящийся значок» до полной загрузки страницы вызывал только раздражение. Поэтому теперь данные загружаются на фоне с индикатором прогресса, и приложение кажется заметно шустрее.

С этими обновлениями работать с приложением стало гораздо удобнее и быстрее.

Интеграции и оффлайн-функции Android-приложения

В Android-приложении все ресурсы обрабатываются через API Backend, включая подключение к системе продаж на борту (MediaHub) через отдельное API. Backend воспринимает API сервисы одинаково для Android и iOS, что позволяет поддерживать единый стандарт интеграций.

Оффлайн-функциональность и синхронизация данных

Для стабильной работы оффлайн в приложении используется кэширование данных, что делает переход между оффлайн- и онлайн-режимами почти незаметным для пользователей. Одной из ключевых функций является принудительное обновление данных перед вылетом, которое запускается автоматически через AlarmManager — без участия Backend и пользователя. После завершения рейса данные синхронизируются, чтобы информация оставалась актуальной.

Оптимизация Android-приложения: как мы улучшили производительность

В отличие от iOS, где устройства унифицированы, Android-приложениям приходится работать с множеством разных процессоров, архитектур и графических процессоров (GPU). Это добавляет сложности в разработке и оптимизации.

Основные улучшения производительности

  • Работа с сетью. Мы внедрили стратегию оффлайн-first, которая минимизирует сетевые задержки и блокирующие операции, делая приложение быстрее и более устойчивым.

  • Обработка данных. Чтобы ускорить доступ, данные предгенерируются, что упрощает работу с большими объемами информации.

  • Графика. Карты салона и PDF-файлы были оптимизированы для плавного отображения, что повышает качество визуализации и общую производительность.

Проблемы и решения

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

Тестирование Android-приложения: качественный контроль и результаты

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

Результаты оптимизации

  • Сокращение времени отчетности: Время, затрачиваемое на послерейсовую отчетность, удалось сократить с 60 до 2 минут.

  • Экономия ресурсов: Приложение позволило сэкономить 60 тонн бумаги, переведя все данные в цифровой формат.

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

  • Цифровизация задач: Более 60% задач теперь выполняются на планшетах.

Приложение для бортпроводников: планирование и персонализированный сервис на борту

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

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

Теги:
Хабы:
Всего голосов 7: ↑6 и ↓1+9
Комментарии5

Публикации

Работа

Ближайшие события