Voice Assistant inside Apps: Trainman

Understand the nuances behind enabling voice search inside Trainman with Slang Travel Assistant, a multilingual accurate in-app voice assistant for travel apps.

This is a new, now pretty old, series started by Slang Labs, called 'Voice in Mobile Apps'. Here we break down the voice functionalities that have been added by businesses to their Android or Web apps and discuss them in detail. This time we breakdown the Slang Travel Assistant, an in-app voice assistant for the travel domain. It has been integrated by one of the leading players in the train booking industry, Trainman.

We have done a similar analysis for Paytm Travel's Voice Search to understand how industry leaders are implementing voice.

Trainman app can be used to book a train ticket, check PNR status, train running status, live train status, seat availability & train enquiry. The app is available in 7 Indian languages namely Hindi, Marathi, Kannada, Tamil, Telugu, Bengali and Gujarati.

Trainman collaborated with Slang Labs to add an in-app voice assistant for their users to have a smoother, seamless and faster experience.

Visual Breakdown 

Visual Breakdown- Slang Travel Voice Assistant
Visual Breakdown- Slang Travel Voice Assistant

Onboarding flow

Mic Icon - Position and Colour of the Mic

Trainman has placed the Slang Travel Assistant on the first screen and at the top of the app which makes it easily discoverable by the user. 

The mic being in orange is well contrasted with the white background. The contrast makes sure the mic icon catches your eye. Trainman has gone with inline mic to make sure the use case of train search is extremely clear to the user. 

This placement of the mic at such a prominent location in the app shows Trainman’s commitment for in-app Voice Assistants.


Coachmark- Asking users to click on the mic and start speaking
Coachmark- Asking users to click on the mic and start speaking

As soon as a new user opens the app for the first time, they see a coachmark which shows them “click on the mic and start speaking”. This coachmark has a cross button to dismiss it.

Language Selection

Slang Travel Voice Assistant gives you the option of English and Hindi
You get to choose between English and Hindi

Language selection box currently has the option to select between English and Hindi. We have made sure that the instructions on how to proceed from here are explicitly mentioned. The options in both languages say “please tap to speak in” <language>. </language>

Along with this, Slang even speaks out when the user selects a language, of course in the language they selected. 

Slang Surface

Slang Surface Breakdown

On clicking the mic button Slang surface appears on the bottom of the app. It has green colour moving waves along with other smaller elements. The surface is not opaque, but translucent. This has been done so that the voice assistant feels like a part of the app. 

Slang Surface Breakdown
White Translucent Surface

The surface also has four buttons on it. Let’s understand the function of each of these -

Language toggle 

This button allows the user to select the language they want to interact with the voice assistant. Pressing this button opens a pop-up on the screen asking them to select between either English or Hindi. 

Speaker Button 

This button gives the user an option to mute/unmute Slang as per their convenience. This especially comes in handy when someone is present in a public setting.

Close Button

The cross button when pressed closes the slang surface.

Help Button 

This button with the question mark when clicked helps the user guide through the voice assistant and helps set contextual reference for the user.

There are three primary modes of Slang:

Listening mode

Slang Voice Assistant- Listening Mode
Listening Mode

While the user is speaking the green wave moves at the bottom. When the user speaks, the spoken text appears in green at the bottom in real time.

Processing Mode‍

Slang Voice Assistant- Processing Mode
Processing Mode

Once Slang determines that the user has stopped speaking based on baked in heuristic signals, Slang goes into the processing state. In this state the moving waves disappear and are replaced by straight horizontal moving lines which are synonymous to processing.

Speaking Mode

Slang Travel Assistant - Speaking Mode
Speaking Mode

In this mode, Slang shows the text to be spoken out on the slang surface. While it speaks out the text, respective words also get highlighted.

Dynamic Hints

Slang Voice Assistant - Dynamic and Contextual Hints
Dynamic Hints- Guiding the User

In our user research, we found out that if the users are given an open ended question like - What would you like to do, they suffer from choice paralysis. They are not able to articulate what they want to say leading to drop offs. We added dynamic hints to the Slang surface. These dynamic hints come right on the top of the slang surface. This helps the user to always know what they can speak out. 

These hints are dynamic and context specific. They help guide the user on what they can speak. "The assistant learns from the user's behavior and other signals and provides the most contextual hints"like - no of times the user has used Slang, digital age of the user, successful voice interactions and more.

Functional Breakdown

Training the User

As soon as a new user opens the app for the first time, they see a coachmark which shows them “click on the mic and start speaking”

On clicking the mic, Slang travel assistant gives you two options to choose from - the language you want to interact with the voice assistant in specifically English or Hindi. Trainman has started with just two most used languages for now, which we assume is a decision based on the primary market. We are already working with them to enable more languages in the future. 

The Slang Voice Assistant literally ’asks’ the user to give necessary permission. It speaks out the reason for asking the permission and only then pops up the mic permission dialogue. While building products for India, it’s important to understand the needs of their user and equipping them with options that instill their confidence in the product.

Voice enabled Train Search

For v1, Trainman went ahead and enabled train search with voice. Users can speak the source and destination, date of travel in the most natural way. Slang recognizes it and then deciphers the entities from the sentence. All this comes out of the box without a single line of code with Slang Travel Assistant. 

In case one doesn’t mention a date, the assistant picks the next day’s date as default. More on such cases in the error handling section. 

Slang then fills all these details on the app and shows the result to the user. That’s all folks. Yes, it’s that easy. 

Voice Search with Filters

After seeing the success with train search, Trainman went ahead and enabled Voice Search with filters. Users could not only speak out the to and from cities but also filter the results based on the quota they prefer to travel in.

Slang Travel Assistant - Multiple Filters
Multiple Filters Available

Multilingual Support

Slang Travel Assistant supports 5 languages out of the box - Indian English, Hindi, Tamil, Kannada and Malayalam. Trainman has started by enabling two languages English and Hindi. This is primarily driven by the user demographics they have. We are working with them to enable more languages soon.

Slang Travel  assistant in Trainman gives users the option to select between English and Hindi 

With India being so linguistically diverse, supporting vernacular languages should be a high priority for Voice Shopping. Users of Trainman can perform all the queries in natural language for both Hindi and English. 

The speed for enabling new languages is high, because Trainman’s app and back-end doesn’t need to change at all to support a new language. Slang takes care of it. We pass the entities(input variables) in English regardless of whatever language user is using.

Voice to Action

The Slang travel assistant not only fills in the information provided by the user but also takes them to the page that matches their search criteria. 

Slang automatically applies all the search criteria that the user has spoken, and takes the user to the search results page after applying all the filters. 

This helps in reducing the thought-to-action latency that is introduced by Touch. It helps in reducing drop offs by simplifying the user journey.

Not having a voice to action, was one of the issues we mentioned in PayTm Travel Voice Search. It leads to a poor user experience. If you are implementing a voice assistant in your app, make sure you have voice to action. Alternatively, you can just use Slang ;). It comes out of the box.

Conformation Prompts

During our user research one critical insight we gained amongst Next Billion Users - Lack of taking action because of fear of going wrong.

We built confirmation prompts to inspire confidence in the users by telling them what we are searching for. While completing search, we speak out what we are searching for.

This helps in reducing the fear of doing something wrong, and inspires confidence to do the next task. 

Speak Journey Dates in a Natural Ways 

There are many ways a user can speak out dates. To book a ticket a user may say ‘Book a ticket for the 24th’ or ‘Book a ticket for 24th of August’ or ‘Book a ticket for the day after tomorrow. The voice assistant’s backend is capable of understanding and deciphering the many ways that dates can be spoken so that the user can express themselves in the most natural way for them to get their train booking activities done.

For added intelligence, the assistant is also capable of smartly dealing with invalid journey dates. Past dates are not valid dates for a ticket booking workflow since tickets can be booked only for upcoming dates. In case the user says an invalid date, then they will be prompted to supply the journey date again. Another, useful feature completion of partial dates. In case, the current date in the month is the 24th and the user says, “Book a ticket for the 25th”, then the assistant will auto complete the date to the 24th of the current month. However, if the the user says, “Book a ticket for the 23rd,” since 23rd has already passed this month, the assistant will auto complete the date to 23rd of the following month.

Error Handling

In case the user misses out an entity example- If he/she does not mention the destination, Slang assistant will prompt you and ask you specifically to mention your destination. 

In case the user again misses out on the arrival/departure station, the voice assistant will show a screen with various examples of the right format to set the context right. Slang prompts for the required entities from the user automatically. There are no overheads on the app side.  These contextual questions are built into the system and are different for different languages. All of them have been designed keeping linguistic nuances in mind.

Short comparison to Paytm Travel Train Voice Search

To understand how is Slang Travel Voice Assistant different from other players in the market we have done a small comparison with PayTm Travel with Voice Search. Read more about PayTm Travel Voice Search

Slang Travel Voice Assistant v/s PayTm Travel with Voice Search
SFT Voice Assistant v/s PayTm Travel with Voice Search

Hear the difference Slang has made for the users of the Trainman, from the it's CEO and co-founder, Vineet Kumar Chirania:

"Slang labs has enabled voice search in Trainman app. Now Trainman users can directly speak and get the train results. This empowerment helps people not only in getting quick results but also saves them from the hassle in remembering spelling of cities. Users simply love this functionality!"

We are glad to work with Trainman to enable voice search with Slang Travel Assistant. If you would like to know more about this or other use cases you can enable for your travel app, checkout Slang for Travel. Slang Travel Assistant can be used by travel apps across different subdomains like buses, cabs and flights.