I travel for work and have found that some of the common flight booking and management journeys are complicated to achieve with a mobile app. For instance changing your flight to a later flight because you are running late. In an app you would likely have to go through:
- Open Mobile App
- Open My Flight Details
- Find and open Flight
- Modify Change
- Find New Flight
- Accept New Flight
- Confirm Payment
- Complete transaction This whole process is long winded and time consuming so it is not readily accessible for customers to do or frustrates the customer with poor user experience. For many business people managing travel is difficult and time consuming. Business users do not have much time and want a solution fast and want information fast. There must be a better way... a more personal way ... a more premium way ... and one that doesn't having to make a telephone call ..
I am also interested in the next generation of computing into Natural Language Processing and the recently emerged bots that people can interact with. This provides a whole new interface for people and makes multi stage processes easy to complete. So how about a personal assistant that talk to customers and handle their requests easily and quickly. Hence Alexa airberlin was born.
What it does
Alexa airberlin combines airberlin's data into a Natural Language processing analysis and connects it to Alexa's voice recognition making adjusting, making and tracking your flights as easy as just asking. Alexa can be in your home, at your office, integrated into the self service kiosks at the airport or even in your car and all you do is with my voice ask it:
My Flight Details
- "is my flight is on time"
- "what upcoming travel do I have?"
- "when is my next flight?"
- "when do I fly to Germany?"
New Flight Information
- "what is the cheapest time to fly to Paris next week?"
- "what flights to Berlin are available next Thursday afternoon?"
- "when can I travel to Spain next week?"
Making and Changing Bookings
- "I want to book a flight to Barcelona on Friday evening?"
- "can you change my next flight to tomorrow morning?"
- "can you move my flight to Rome to later on?" Overall this application provides a personal assistant that can be used across a travellers normal work day.
How I built it
I built this with a Nodejs application with Natural Language Processing techniques including: Stemmers - for language stripping (plurals, synonyms etc), Clarifiers - language estimation, Phonetics - (for similar sounding words). I also needed some careful state management to remember requests for which I used Mysql as storage. I connected this application to the AirBerlin APIs:
- Passenger Details for User identification
- Passenger Bookings for contextual reference and management
- Flight details for booking and alternatives
- Flight pricing to find differences in fares
- Flight booking to make new user bookings
This application is platformed on AWS Lambda for the Nodejs application and the Mysql DB is on AWS-RDS so the application can scale and run globally.
Accomplishments that I'm proud of
The Natural Language Processor I have written goes above the standard language processing systems and uses intelligence of who the customer is, a customer's upcoming flights, where they are making the request from and date aware requests to make a more personal and relevant response. For instance when a user asks for moving a flight on a particular date it checks the user flight details finds the flights and then looks up flights that match those destinations regardless of if you are asking the request from the UK.
I am also proud f the extent that my language model goes to understand possible variations of questions. Something as simple as asking when your next flight is can be achieved numerous ways such as "when is my next flight", "what do I have upcoming", "when do I fly", "how long until I am off to Barcelona" etc. and all of these have been factored into the language processing system to make it intuitive and seamless for a user interaction.
What I learned
I learned that NLP and voice recognition is a true viable means of working with and managing and tracking flight bookings and contextual responses are of the upmost importance.
What's next for Air Berlin Alexa
Air Berlin Alexa is a Natural Language Processing engine and there are a wide array of other platforms that this application could feature in beyond Alexa such as Facebook Messenger, WeeChat, Skype and others. This means that throughout your day you can interact with a powerful flight management engine across many different methods. For example ask Alexa in your meeting room or at home, message Facebook Messenger Bot on the train to work and go to AirBerlin.com and have in page chat during the day.