UX case study of designing a chatbot for checking train travel related information from IRCTC portal.
Indian Railways is the fourth largest railway network in the world, transporting millions of passengers across the length and breadth of the country. Equally mind boggling is the traffic on the web portal for booking train tickets — Indian Railway Catering and Tourism Corporation (IRCTC).
Average of 13 lakh tickets are booked per day
Over 1 million people visit the site to check their ticket status
While there are certain other travel aggregator sites that allow users to book train tickets, IRCTC is still the preferred method. Despite its shabby looks, it gets the work done.
Besides booking ticket, some of the most commonly performed actions by travellers are
Check the Passenger Name Record(PNR) status aka ticket status — check if a waitlisted ticket has been confirmed.
Check running status of train — we know our trains run late, we just want to know by how much.
Check the train schedule.
Gathering different travel related information is a cumbersome activity on the IRCTC website. Sometimes the information is split across multiple websites, adding to the pandemonium.
Time taken to get information
While the time taken to get the information is under 2 minutes for most cases, there are some common complaints
Too much information and tables of text require more time to parse the information and find what we were looking for.
The website doesn’t load fast or does not have the updated information.
I have been plagued with these same problems every time I travel. So this got me thinking what would be a better way to present this information. Chatbots being lightweight and nimble seemed adept for this situation.
Based on the user research I conducted, most people side-step IRCTC and prefer Google for quick replies.
Design a simple, conversational bot to provide users with train travel related information.
Scope & constraints
After validating that there was a genuine need among travellers for getting relevant information through user research, the next step was prototyping. Once I had the basic flow sketched on paper, the question was which tool to use for prototyping. Instead of going through the usual route of using a prototyping tool like Adobe XD, I chose Chatfuel. It is a service that lets you create Facebook Messenger bots in few minutes with no coding. Having dabbled in this platform earlier, I believed this would let me spend more time perfecting the conversation between the user and the bot and less time on the UI.
Choosing Chatfuel came with some constraints
Can be tested only with users having a Facebook account.
Use static results in response to user queries. Trying to understand and implement the APIs for fetching real time information would have been an overkill at an early stage.
I set up a mock FB page for IRCTC and linked it to my bot. Users could look it up through Facebook Messenger and chat or look up the Facebook page on a desktop and initiate a conversation.
I reached out to a couple of users who regularly travel by train and asked them to perform the below tasks and share their feedback. (Pardon the simplicity of the queries — I just wanted it to be less of a hassle for the users 😊 )
1. Check the PNR status of the Ticket ‘1234’
2. Check today’s running status for Train No ‘1234'
Train running status
3. Check schedule of Train No ‘123'.
Feedback from users
Fast and concise.
Confirmation of the user query eliminated misunderstanding.
Cannot access the menu after performing an action. Users feel lost and do not know how to proceed as each interaction resulted in a dead end.
After checking the PNR, ability to check related information like train schedule and running status could be presented to users thereby avoiding repetitive user input and keep the conversation going.
If an action was already performed like checking the PNR status, then remember the context and prompt the user accordingly.
The chatbot was not smart enough to understand variations of the same question and instead provided a generic reply.
Chatbot failed to understand a similar user query
Abbreviations in the replies are not clear.
Would be nice to have a friendly tone.
Displaying the train schedule as an image made it difficult to view on a mobile screen.
Based on the feedback I received, I made some changes to the chatbot and tested it again.
The abbreviations were omitted and clear text was used.
Important information like seat number is presented in a easy to scan card format.
Related activities pertaining to a query are provided as suggestions to users.
Option to return to the previous menu/main menu at every step so users never feel lost.
Added Artificial Intelligence (AI) logic to map different variations of common questions to the appropriate reply and not providing a generic reply.
Updated PNR status reply in card format
Options to return to the previous/main menu in every reply
Remember the user’s context (search history) and prompt the user accordingly.
Context aware reply
User testing feedback
Replies are easy to scan and understand.
Conversation keeps flowing and user does not feel lost.
Outcomes and lessons
There is definitely a lot of interest among travellers to check travel related information while travelling by train. The current solutions available are scattered and act more like a band-aid fix. The conversational interface of a chatbot is suited ideally for this purpose and there is a lot of scope for improving and fine tuning the services provided.