Planning a vacation is hard. You need to choose travel dates and a destination, and line up flights, car rentals, and hotels. Pricing is variable, availability is constantly changing, and you’re competing with other travelers for limited inventory.
A typical shopper will search 48 times across different sites before booking their flight. From laptop to phone and back again, start-and-stop research can last days. Most people forget what they’ve looked at and end up repeating past searches. Some even resort to pen and paper to jot down notes and zero in on a decision.
For millions of customers seeking their perfect trip, Expedia has a better way.
Out with the sticky notes. In with Scratchpad – a new feature from Expedia powered by MongoDB.
Travel shoppers discover their ideal trip in different ways. Some might start with a hotel, others with their preferred airline, and others still with dates and a list of destinations in mind. With Scratchpad, Expedia members can chose the strategy that works best for them.
The online travel marketplace is dynamic and complex. On one side, suppliers constantly change inventory and pricing information behind the scenes. On the other, shoppers are interacting with the site from lots of different device and browser combinations. This creates a huge volume of highly variable data.
“Online travel is a hard nut to crack,” said Expedia’s technical director of engineering Murari Gopalan. While requirements for the Scratchpad app have existed for years, the rigidity of traditional RDBMS options has stifled development.
MongoDB opened new doors. Expedia was able to make its vision a reality. Much faster than expected.
A team of only three developers built the first prototype for Scratchpad in less than two months, and launched it to production only two months later.
Instantaneous Personalization Powered by MongoDB
Expedia searches span multiple lines of business, from flights to hotels to activities, all of which have different attributes: the time and number of connections for a flight; the size and model of a rental car. Customers can be logged in or anonymous. They look at different products, pictures, and reviews. They want to enter text notes about things they find. All of this amounts to a great deal of unstructured data.
With a relational database, it would be slow and difficult to normalize all the customer, session and product data through an ETL process, put it in a data warehouse and run only prescribed queries. That wasn’t an option for Scratchpad.
In the world of online travel, customers demand instantaneous, relevant results.
MongoDB’s flexible document store and simple horizontal scale-out make it possible for Expedia to create a feature that gives every user a relevant, seamless shopping experience. That collects highly-dynamic customer information in real-time and presents personalized offers on the fly. And that accomplishes all of this at scale.
MongoDB’s flexible data model makes it easy to store any combination of city pairs, dates and destinations. Expedia can even continue shopping for someone after that customer has closed out a session. When the customer returns, all the latest pricing and availability for their searches are displayed side by side on their Scratchpad.
MongoDB's rich indexes are used to power analytics that make personalized suggestions to users while they shop. Expedia can also analyze patterns to pinpoint trends that offer a better understanding of what customers are looking for.
For the consumer, personalization saves time, saves money, and gets them one step closer to what they’re really after: a vacation. For Expedia, real-time personalization powered by MongoDB means customer loyalty, increased conversions, and a competitive edge that goes straight to the bottom line.
Radical Schema Changes in Real Time – Minus the Pain
Use cases change. The vision evolves. Without database flexibility, innovation hits a wall. After putting “Scratchpad” into production and seeing heavy customer use and feedback, the Expedia team radically changed the schema structure three times. Par for the course in a fast-moving business. But that’s no small task – at least for most databases. Normally, Expedia would need to put up a page with the dreaded “down for maintenance.”
Fortunately, MongoDB allowed Expedia to radically change its schemas while running in production at scale, with zero impact on the customer experience. All three times.
This is critical for Expedia’s iterative style of development. Driven by a “test and learn” methodology, Expedia likes to see how customers interact with new functionality before investing in a large-scale solution. Most relational databases can’t keep up with this sort of experimental approach. MongoDB can.
Easy to use, easy to change, and easy to put into production, MongoDB is what modern development teams call for.
Expedia has cracked the online travel nut. Vacation searches don’t have to be hard on the consumer. And turning a vision into a feature doesn’t have to be hard on developers.
Currently available in the US, UK, and Japan, Scratchpad will soon debut in 30 other markets. Thanks to its native sharding capabilities that work on a global scale, MongoDB will support that growth, making it easy for Expedia to scale out horizontally across multiple, international data centers.
Data volumes will rise. The app will continue to evolve. And Expedia will be ready, with a database that offers the freedom they need to innovate and grow.