Lost In Translation: Trusting APIs To Work

zurichI very nearly had to spend 21 hours in Zurich. …while a lovely city, I was just planning to fly through it to my final destination.  I was on Kayak, one of my favorite travel sites which I use religiously whenever I travel and it has never caused me an issue. However I usually typically only use Kayak as a search engine and not a booking service, although the last few trips I took I booked directly via Kayak and everything went smoothly.

So when I went to book my latest trip, I decided to use Kayak again.  Once again everything looked great…booked first leg to Zurich, 5 hr layover, then on to my destination. Looks great, book it.

A short while later I get my confirmation email. As usual (and I know you do the same) I don’t even look at it.

Hours later after a long day I check my email in bed around 1am. Just for fun I look at the confirmation email.  It’s got me on the wrong flight out if Zurich, not 5hrs later, but 21 hours later, the next day!

So I immediately call them and tell them that the system screwed up my order. They refused to believe me and suggested that I’d selected the wrong flight myself. I would have never done that.  Great customer service. Nevertheless, about an hour later we had it all straightened out, but for some reason they could not get the original leg and I had to book a completely different flight via Frankfurt.

Why am I talking about this? As more and more services depend on APIs from others to deliver their services, the possibility for error increases. In this example, Kayak uses a number of APIs to provide its service, Vayama as a booking service, and Vayama probably used another API to get their data. Lets assume Kayak sent the correct data to Vayama. Vayama, not being able to book that leg, found the next available and booked that instead. However, it didn’t warn me that the booking was different, in fact, very different, from what I asked for.

Hence the problem: as more and more services use and aggregate APIs like this, more and more of these kinds of occurrences will take place, and it will only take a few instances of this to occur for you to lose a customer for life.

Epilog: After I booked my more expensive flight, I went back to see if my original cheaper flight was still available… it was, but via Orbitz and CheapTickets, not Kayak. Kayak just lost my booking business forever.

If your startup depends heavily on APIs from others, ensure that you have sufficient checks, balances and appropriate warnings and notifications to your customers if what you are providing deviates by any degree with what they expect. You can never tell what is most important to your customer, and with the plethora of choices out there, one mistake could lose you that customer, plus anyone they tell their story to, for life.

This is also a tale of being focused on your niche. Kayak is a great travel search engine, and the booking service seems bolted on, and as you saw, buggy. Better to stick to and refine your unique value proposition than bolt on buggy services for a few extra bucks which piss off your customers when they go wrong.

, ,
  • Martin Keller

    Chris, next time this happens, just spend a day in Zurich and have a beer with me!

    • Chris Kalaboukis

      Hey Martin next time I’ll spend a few days and we can hang out – hope you’re doing well :)

  • Pingback: Kill The Loading GIF()