Podcast with Vikalp Sahni, CTO, goibibo

09 Dec 2015

As part of HackerEarth podcast series, Vikalp did a podcast on Traveltech. 

Catch the full podcast here.

Some key points:

* IoT in travel technology will start making its way into airports - security, baggage screenings etc. 

* Machine learning would be heavily used in the OTA space. Goibibo is already experimenting with some of this. A lot of this has to do with data. With data, we can do use AI and machine learning to predict. For instance, goibibo has been experimenting with this at the CRM end. Customers ask a lot of questions, such as what terminal should I go to? What is my arrival time etc? What are my cancellation charges? These are questions that a system should be able to understand and answer in a chat-based platform.

* Advice to travel startups - Take one problem, focus on it, and solve it right. Do not dilute by taking on too much features. Build the product end to end. Ideas are good, but execution is bigger than the idea itself.

* Perfect engineer for the travel industry - Goibibo hires folks more from an attitude and thought process point of view. We do not quite focus on syntactical skills. Understanding of web services (legacy and new-age) is a good skill to have. Need legacy services because in the travel industry, we still hook up to dependent suppliers. Capability of building systems with high concurrency. 

* Problems when you move from 2 people to 90 people - collaboration becomes a challenge. Getting folks to align to fixing a customer problem is challenging. Velocity and agility is another challenge. 

* Technical debt - We take technical debt everyday. At a customer facing ecommerce company, where customers are paying you for a transaction, we cannot afford to pause things and say that we need to fix things the right way. We have to fix things and take a technical debt. But, having said that, this debt should not break scalability. Also, it is important to acknowledge that there is a debt, and need to allocate time and dev cycles to fix these. 

* How quickly to adapt to new tech - Thumb-rule at goibibo. Design changes every year. Software changes every 2-3 years. More than that, it becomes legacy. We need to refactor, rethink, rewrite. Infrastructure/hardware changes every 4-5 years. This is idealistic. We do well in some areas, not so well in others. Examples - python to golang; mysql -> cassandra for large data stores; moving to ssd drives etc

* Tech scaling - We have built an architecture/platform which can take up any number of suppliers in the future. This scalable model is applicable for flights, hotels, or buses. Example gohistrix which is a fork of histrix (from netflix) - manages time-out from supplier APIs. Another example is moving to golang because of its capability to handle concurrency really well.

* Race conditions - very important to robustly handle this. Example - two customers have booked a ticket, and paid the money, but we can fulfil one customer at a time.  We block inventory intelligently and then fulfil the customers. 

* Managing external inventory - Biggest challenge is reliability and performance. Lot of cacheing models are built which help us bridge the gap in performance expectation from the customer and the reality of getting the data from our supplier. We use technology such as REDIS and cassandra in our cacheing layers to help solve this problem. There are a lot of algorithms that go into the querying, cacheing, and repricing of the fares, in these scenarios. Most suppliers are pull-based. But there are some forward thinking suppliers who are experimenting with  push-based technologies.

* Machine learning - Improve “bookability” of flights. For a journey of (say) 200km (example - Delhi to Chandigarh), try not to show a 14 hour flight (with hops/layovers). Goibibo analyses historical data and relevancy models to figure this out. Recommendation systems are another area where machine learning is used. Beta project that is happening - Get a customer to book in a single session a journey from Tumkur to Manali.

* Mobile in travel tech - Personalization is a big theme in this space. Example - checklist feature in goibibo. This feature helps frequent travellers not forget stuff to pack. It uses push notifications and alarms etc. “Learn and remind” would be a theme. 

* User experiences in mobile - 5 years back, mobile was just another medium. But these days, it is more than that. It is more than a transactional rip-off of the web experience. Customers want more. Example - My trips in the mobile. Customers use this page much more than the similar page on the web. Customers use this for things such as show it to the bus driver/conductor to board buses. It would not be very long before we get QR codes that airlines would give us, and we can just board aircrafts. In India, mobile is the internet, for a large populace.

* goCash - we started gocash for a very particular use-case. We noticed that a significant number of bookings go for a cancellation. Refunding money to these customers was tedious. Our use case was, put the money back into a closed wallet, and then when you reschedule, use this money. But now, we have expanded to also include a promotional gocash engine. The first use case was for a great user experience, whereas the second is to build and retain our customer base. More recently, we have introduced gifting of gocash. If you have some gocash that is going to expire soon, you can gift it to a friend of yours to use for her travel the next day. This is creating a large network effect. All the OTAs now have a closed wallet, but we were the first :) 

* Digital wallets - In travel, we cannot do cash on delivery. Once booked, a ticket is booked. It is a perishable inventory. Wallets have had a big impact. goCash, which is our closed wallet is very deeply integrated into our systems. We can do a lot of stuff with these wallets in retaining people, building our customer base, and rewarding customers etc. We would be integrating with open wallets such as PayTM, PayU etc, so that the lifetime value of our customers is increased. 

* 2009 to 2016 - things that have changed from a tech standpoint? - 1) Automation - including cancellations, amendments etc. Importance of automation is being realized by us and by our suppliers 2) Performance has improved significantly from our side and from our suppliers 3) Personalization - travel is a personal and inspirational activity (especially leisure travel) - reviews and ratings, more accurate pictures etc. 

* goibibo APIs -> developer.goibibo.com