WestJet Takes Flight with Booking Experience Powered by Neo4j
Discover how one of Canada’s largest airlines transformed flight scheduling into a seamless, customer-friendly experience.
5 million
relationships connecting 500,000 nodes in flight schedule graph
530%
faster for IT team to update online flight schedule with Neo4j Enterprise
30 million
WestJet passengers served annually by 2028
Today’s travelers demand an intuitive booking experience. Canadian airline WestJet knows this well: since launching in 1996, it has grown from serving five destinations in Canada to flying more than 180 aircraft to over 100 destinations in 26 countries. Canadians looking to fly to Hawaii, Mexico, the Caribbean, Europe, and Asia can book tickets on a growing number of WestJet flights, some of which are seasonal and only operate on certain days of the week.
As its route network expanded, WestJet needed to ensure customers searching for flights could view the best options for their trip. Customers might initially think they could fly from their local airport to their desired vacation spot on specific dates, only to find later that the route was unavailable. With an average of more than 750 flights per day system-wide resulting in many potential flight options, the airline needed to provide better flight schedule information to customers for flights not operating daily or year-round.
“We needed a flight schedule solution that could handle large volumes of scheduling information and account for necessary rules about origin and destination combinations,” says Dave Pirie, Delivery Manager for Digital Check-In at WestJet. “When we realized relational databases could not easily handle all the required layers of information and relationships, we sought a Neo4j graph database solution.”
Exploring itinerary options with a Neo4j graph
WestJet needed to make its process for updating schedule information on its website less manual and labor-intensive. The airline needed more automation to handle the intricate rules and data structures within Sabre, the Global Distribution System (GDS) used for airline bookings, availability checks, and pricing information.
For instance, a new route to Cancún might create dozens of possible passenger itineraries, each with its own scheduling intricacies. This situation underscored the need for a scalable solution for communicating flight schedule information.
WestJet wanted to develop an API that anyone in the business could use for determining valid flight routes and combinations. The team outlined several requirements for project success, including:
- The tool needed to automate Standard Schedules Information Manual (SSIM) data used by International Air Transport Association (IATA) members. The IATA SSIM format is a standardized way for airlines to share flight schedule information, making it easier to create itineraries, sell tickets, and manage operations across the global air travel network.
- The tool needed to account for rules, such as allowing 35 minutes between domestic flight connections or 75 minutes for passengers needing to go through customs after an international arrival.
- The tool needed to factor in that some WestJet flights are seasonal or can’t connect because of the days of the week they’re offered.
Index-free adjacency is a feature of graph databases that allows for quick and efficient traversal of relationships between data points without needing to consult a separate index, much like following a map where each location directly points to its connected destinations. This efficient traversal capability proved crucial for WestJet’s routing needs, leading the team to Neo4j.
“Only about 35% of our entire network is routable, given every origin and destination airport we serve. Learning more about index-free adjacency was valuable for us as we considered the efficiencies of traversals through the graph.”
The team built the first iteration of its online schedule solution using Neo4j Community Edition before upgrading to Neo4j Enterprise Edition. “We heard great things about Neo4j and found a graph traversal made our process very easy to carry out, especially given our varied flight schedules,” says Pirie. “Cypher is an incredibly powerful language and is such a pleasure to write in that it made sense for us to upgrade with Neo4j.”
The upgrade improved performance for WestJet. “Neo4j Enterprise is much faster than Community Edition. Running the model and building the online schedule with each update took almost six hours. Now it’s twice as fast,” says Sean Hu, Senior Software Developer, WestJet.
In 2024, WestJet migrated its Neo4j database to Neo4j AuraDB on Microsoft Azure. “With Neo4j AuraDB on Azure, we don’t worry about database maintenance. We can run a cluster of Neo4j VMs on Azure to increase reliability, removing the bottleneck of having just one VM per region,” says Vasily Smagin, Senior Software Engineering Manager, WestJet. “It’s important for us to have Neo4j inside Azure for better control and security, plus slightly reduced latency.”
Scaling for growth with better tools for developers and travelers
A Neo4j graph database consists of three core entities: nodes, relationships, and paths. The data points in a Neo4j graph database are called nodes. Nodes in a graph can be connected with relationships, forming a path.
WestJet’s Neo4j database includes approximately 500,000 nodes and five million relationships, mapping its flight network with object tags in English, French, Spanish, Chinese, and Japanese. The database grows as WestJet adds more airport and schedule options to meet increasing travel demand, including new destinations and new city pairs. With Neo4j, WestJet is better prepared for major disruptions like storms and other unexpected events that might affect flight schedules for weeks.
By 2028, WestJet projections call for serving 30 million passengers annually, up from 25.5 million in 2018. “The online flight schedule is key to how we sell flights to our guests. It’s imperative their experience using the scheduling tool is as smooth and intuitive as possible,” says Smagin. “We also want to keep ticket prices low. Offering effective self-service tools for looking up schedules allows us to do both as we scale to serve more people.”
Get in Touch
Curious about what insights you could unlock for your business with graph-powered solutions? Let’s talk — reach out, and we’ll get in touch.