How we developed an application for S7 Airlines flight attendants to save them from paperwork

While passengers on the plane relax, make a choice between chicken and fish and watch the beauty of the world from the window, flight attendants work hard, serving the entire flight from takeoff to landing. It is necessary to pay attention to each passenger, and to this there is also a lot of administrative work with documents and reports. S7 Airlines approached us to develop an assistant application, and we created a unique product with almost 20 integrations and the ability to work without the Internet. In this article we tell you how we succeeded and what technologies we used.

How the work of flight attendants is structured

If you think that the profession of a flight attendant is filled with sheer romance and travel, then you are very mistaken. As in any area, there is a routine that is difficult for an ordinary passenger to notice. For flight attendants, these are endless reports, flight briefs and a lot of documents for each flight.

Before KOTELOV, S7 Airlines flight attendants spent from 20 to 60 minutes filling out all kinds of paperwork, and they had to take about ten kilograms of important documents with them on the flight. The work was complicated by external factors, for example, someone was in a hurry and filled out the form with unclear handwriting or simply forgot to enter the data.

Another pain for the crew is that before the flight, all the data was given out in a paper briefing. If delays appeared during the flight, it was not always possible to find out in time.

Project goals and challenges

These are the goals we have set for ourselves:

  • Reduce time for reporting. During a flight, there are many tasks that require attentiveness and composure, so it is good to ensure that paperwork takes as little time as possible.

  • Always up-to-date information. The crew must be able to obtain all flight data at any time. At the same time, so that you don’t have to take a stack of paper on the flight.

  • Customer service. Data on every business class passenger must be at hand to provide personalized service and unique experiences.

  • Analytics. Filling out reports is half the problem. Then they need to be processed and conclusions drawn in order to improve services. Therefore, the application must have a data collection and analysis system.

Development is also complicated by the fact that most of the time the application will be used without a connection or with a very poor connection, and the flight data needs to be up-to-date. Therefore, about 200 MB of data must be stored locally. You also need to integrate 20 third-party services into the application. This was an important condition of the airline.

You have to think like a flight attendant

The work of an airline remains a mystery to most. No one knows what flight attendants do during a flight, other than announcing safety precautions and serving passengers. Even fewer know about what happens in the office. But without this information, it is difficult to develop a useful application that meets the company's needs. Therefore, we settled our system and business analysts near Domodedovo. For a whole year they went to the S7 Airlines office and studied internal processes.

During this time, analysts managed to communicate with the heads of various services, including passenger service, logistics, security, flight attendants and marketing. As a result, it was possible to identify business requirements, find problems and complicated processes.

After extensive research, we compiled requirements and developed technical specifications for each business unit of the company:

  • library functionality;

  • informative flight calendar;

  • meals for economy class, business class passengers and special meals;

  • block of general information about the flight;

  • notification system for passenger ship defects;

  • display of all kinds of cargo;

  • diagrams of emergency equipment;

  • passenger survey;

  • two types of chats for communication with the service desk and passenger service center;

  • working with reports;

  • block of work with passengers;

  • information about the flight crew.

Introducing the Cabin Crew Pad

We took into account all the requirements and developed Cabin Crew Pad – a service for flight attendants that simplifies work before, during and after the flight. The service consists of three applications:

  • iPad app. It is accessible by the senior flight attendant, offers advanced features, and stores a lot of flight data.

  • Android application. It is used by ordinary flight attendants. It includes a library of regulations, invoices and other documents.

  • Admin Portal. Web application for downloading data, settings and analyzing reports.

Most of the functionality is available in the iPad app, which is used by senior flight attendants. So let's see what it includes:

Flight calendar

A calendar with scheduled flights with the ability to display time by UTC, home airport or place of arrival.

Reports

If previously all reports had to be filled out by hand and then submitted to the administrator, then with the application all data is automatically sent to the service admin area. We had to work hard on this task so that heavy files with photos would not be lost while there was no connection and would always reach the server.

Library

Remember about the 10 kilograms of papers that you had to take on each flight? We digitized them, translated them into a convenient interface and added search, bookmarks and an interactive table of contents. Now, instead of a stack of papers, you can only take a tablet on board.

Flight

All flight information on one dashboard.

Salon map

Data about all passengers is displayed, including late arrivals and special passengers, for example, those with animals or those with limited mobility. We also added a search so that you don’t have to go through everyone on the flight.

Menu

You can quickly find out the meal preferences of passengers in business class.

Questionnaire and feedback

We have built in a questionnaire for passengers – the data is immediately displayed by the head of the flight attendant service.

Compensation

If troubles occur due to the fault of the airline, then it is possible to apply for compensation for the passenger directly in the application.

Invoices

During the flight, the crew consumes the airline's property. It must be purchased on time, and for this we added the ability to fill out invoices in the application.

Crew

You can see which colleagues are flying today, and the senior flight attendant can change crew positions.

Chat

We added a chat for communicating with colleagues on board or with ground services.

Widget

Convenient widget for quick access to important information.

Backend architecture

The backend is based on PHP 7.4 with the Yii framework. We cache the data using Redis and store it in PostgreSQL. All this runs on the NGINX Unit server. We plan to move to PHP 8 or 8.1 by the end of 2024 to improve performance and security of the entire system.

We also have unified integrations for working with third-party services via REST API, including Kafka REST and Kafka connectors for reliable data exchange with remote databases.

We worked separately on the security of the service so that the company’s data was under reliable protection. Firstly, all flight attendant work devices are managed using the MDM (Mobile Device Management) system. If the tablet is lost, it can be remotely locked and formatted.

Secondly, a corporate VPN is installed on each device to encrypt the entire communication channel. In addition, all traffic passes through the servers of the corporate security service, and authorization and backend are located on the S7 Airlines infrastructure and are controlled by the DPI system of the airline security service.

To achieve a 100% SLA, we initially developed a service with great potential for scaling. Thus, the entire system operates in seven containers in Master-Slave mode in real time, and each container is monitored by the Zabbix system.

The most important task was to provide offline access to the application. To do this, we set up synchronization based on the principle of diffs. Before the application goes offline, the server provides it with the entire amount of data, and after that only changes are downloaded so as not to load the already weak communication channel and reduce the cost of transmitting and processing information.

iOS application architecture

We started developing the iOS application in Objective-C, but after some time we moved to Swift. This allowed us to improve the quality of the code and simplify support. For the old code we use the outdated MVC architecture, and we implement all new functions on MVVM. In the development process we mainly use the following frameworks and libraries: SwiftKeychainWrapper, Swinject, Then, AFNetworking, Kingfisher, ReachabilitySwift, Alamofire, GRDB, SnapKit, Firebase and SwiftGen.

The following services have also been integrated into the application:

  • Sales on board. Users can access and manage sales data during the flight.

  • Work offline. So that any operations with data can be carried out without connecting to the network.

  • API integrations. For example, to connect to a local network on board for data exchange.

Android Application Architecture

Android applications were developed in Kotlin, and the architecture is based on the principles of Clean Architecture. Its main components include Navigation, MVVM (partially MVI), Coroutines, Room, WorkManager and Services. We work with the network using Retrofit, and implement dependencies using Koin. Additionally, Glide and Firebase were used in the project.

Even in the case of the Android application, we had to work on optimization. The fact is that iOS is a unified operating system, and Android runs on multiple CPUs, GPUs and different architectures. To make everything work quickly, we used the Offline-first approach and minimized all blocking operations. We also optimized the interior map and PDF files to avoid problems with graphics processing.

What's the result?

Thanks to the work done, the crew now performs tasks more efficiently. Here are some indicators that were improved over five years of development and two versions of the application:

  • Completing post-trip reports now takes two minutes instead of an hour.

  • We saved 60 tons of paper – good for the crew and the environment.

  • Flight attendants always have access to up-to-date flight information, even during the flight.

  • More than 60% of tasks are performed on a tablet.

  • Our software is used on 520 flights per day.

  • Every day we digitize 7.8 thousand reports, and over the entire period we have processed 15 million reports.

  • The system serves about a thousand active users.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *