Your seat in the clouds awaits you

Ce billet de blog est également disponible en français ici.

Back in November 2011 easyJet announced that starting in the spring of 2012 we would begin a trial of allocated seating and on April 12th we went live on five routes from London Luton and Glasgow. Since then we have gradually extended this trial and we are now offering allocated seating on almost all routes on our network and by the end of November we will be at 100% operational delivery. This is a huge change for easyJet. Free seating, referred to by many of our passengers as “the scrum”, was part of our DNA. It was how we had always operated. It had become part of the definition of easyJet. As our CEO Carolyn McCall said in the article above, the trial could only be deemed successful if it met all three of the following criteria:

1. It had to increase customer satisfaction. We work hard to have happy customers. It’s another thing that’s part of our DNA. Allocated seating had to really make a difference to the passenger experience. Many people said that they wanted it but, once we gave it to them, would it really make the difference they thought?

2. It had to work operationally. easyJet operates one of the quickest turn-around times in the industry. If boarding passengers into allocated seats was seen to have a negative effect on our On Time Performance (OTP) it would not have been considered viable.

3. It had to work commercially. Allocated seating had to prove itself a commercial success as a revenue generating product.

Trial by fire

This highlights the fact that such a move was a calculated risk. We were not sure it would work but it required significant change and investment to find out. One of the major changes was to our reservation system. Our home-grown reservation system did not support allocated seating. The primary advantage of maintaining a bespoke system is that it can be tailored to your exact business needs. No extraneous functionality cluttering up the works. It does, on the other hand, support bookings from around 58 million passengers a year and take over £4 billion in revenue.

Changing the beating heart of our enterprise, our various sales channels like easyJet.com and our operational systems to support allocated seating was no small undertaking, quite apart from the changes to our operational processes. Making those changes to support a trial, an experiment? That called for a quite special approach.

Our first decision was that we definitely did not want to have to conduct open-heart surgery on our reservation system to add this functionality. The I/O load from selling 58 million non-specific seats a year is already a veritable fire-hose. Scaling and refactoring to support the tracking and locking of over 58 million specific seats on a system that can book up to 1500 seats a minute would be a huge project.

“Seat-allocation-as-a-service”

Would it be possible, we wondered, to buy “seat-allocation-as-a-service” (SaaaS?) from a third party? Get someone else to do the heavy lifting of tracking the availability of every single seat we have on sale while we just stored the output, a few bytes that represented the selections made for the seats we have actually sold?

Apparently not. However the idea of a separate “seat-allocation-as-a-service” solution attached via a very light-weight integration was too attractive to let go so we decided to build our own.

What this means, in summary, is that the tens of millions of seats we have available at any given time are tracked via partitioned SQL Azure databases and cached in the Azure AppFabric Cache. All the logic, business rules and data relating to …

  • selecting seats
  • handling contention for seats
  • aircraft types
  • seating layouts and configurations
  • price bands
  • which passengers can sit where
  • seating access for passengers with restricted mobility
  • algorithms for automatically allocating seats to passengers who chose not to make a selection
  • and the million-and-one other things that have to be taken into consideration when seating an aircraft

…all this is done in the cloud. Even the interactive UI that displays the graphical map of the aircraft is served from Azure and injected into the booking pages on easyJet.com.

seating

The ingenious work to achieve this using JSONP, Ajax and Knockout.js (amongst other things) is a tribute to the fantastic development team at easyJet and may be the subject of a subsequent blog post.

The overall approach however has allowed us to implement an incredibly significant change to the way we operate and sell our flights and deliver it at massive scale without needing to implement much more than small refactorings in our core operational and retail systems. The low cost and massive scale of Azure has made the whole notion of experimenting with something so fundamental an achievable reality. This calculated risk has become a bet we can much more easily afford to make.

Most importantly it has massively reduced the cost of failure. We had to conduct a thorough trial. We couldn’t be sure that it would work. Whether it worked or not was primarily a business decision rather than a technical one.

Now that it has been successful we have delivered a solution that works technically, works operationally, works commercially, improves customer experience and transformed our enterprise. However, if it had not worked and we had needed to turn it all off and walk away, we could have done so without having incurred huge risk, technical debt or cost.

Advertisements

Canaries and Sealions…Czech it out !

Man, it has been a long time since I last blogged. I think I have had bloggers block or maybe I am just not cut out for blogging. Seriously, if someone asks me a question I can talk for England to Olympic standard. Really, any question, doesn’t even have to be something I know anyting about. But, faced with a blank blog post and an imaginary audience, I am really pushed to string two words together.
Anyhow, aside from failing to blog I have been up to my ass in Project Alligator and travelling a lot. I spent two weeks on Grand Canaria with no computer and no phone. I sat by the pool or on the beach and read 4.5 novels. Blissful. My holiday adventure was to take my whole family swimming with sealions. My two year old son has been obsessed with sealions ever since he saw a sealion show at Whipsnade Zoo and as Grand Canaria has a centre where they train sea lions for zoos all over the world it was too good an opportunity to miss.
I know people rave about swimming with dolphins, and I have never done that so I can’t compare the two, but I have to say that swimming with sealions is amazing. The first thing I found out about about the sealions we met was that they were not the Californian sealions I was expecting. They were Patagonian sealions. These guys grow up to 8.5 feet tall and weigh in at over 650 lb. The second thing I learned is that the sealion is actually a bear (or a member of the bear family) and when one stands up in the water next to you, you don’t doubt it for a second. Thirdly, as one of the sealions demonstrated, they are amazingly strong and agile on land (unlike seals). Buzby, the sealion in question, was able to lift his whole 600 lb weight into the air on a single front flipper (effectively doing a one-handed handstand) with amazing ease. Lastly, they are, if well treated, gentle, playful, good natured and friendly.
I have also been to Prague for two days out of each of the last 5 weeks. Part of my project has been sub-contracted to a development team out in Prague so I have been oiling the wheels of integration. Still, they are a great bunch of people so it has not been a chore at all.
Prague is a great city. If you ever have an evening to kill there I can really recommend Ambiente which is at Celetna 11 just off the old town square. There are several Ambiente restaurants in Prague but this is my favourite and it is as good an Italian restautant as I have been to anywhere in the world. It looks like a tiny doorway at street level but don’t be put off. The passage beyond leads you to staircases that take you down into catacombs that must be as old as the city itself and these have been stylishly brought to life as a first class restaurant. This restaurant is very popular so book in advance if you can. If not the excellent staff will always try to find a way to squeeze you in.
Once you are done there, wander round the corner to the Ungelt. This is the area behind the medieval church and its name means tax. This was where all goods sold in medieval Prague had to be brought to be taxed. Like the worlds oldest bonded warehouse. Anyway, yet more catacombs hold the Ungelt Jazz & Blues Club which is open every night from 8pm til midnight. The band generally goes on about 9pm and it is absolutely fantastic. Tiny, cramped, silghtly wierd…but fantastic. The sign outside the toilets reads “Big funny toilets”. They aren’t big or funny. Those crazy Czechs !
%d bloggers like this: