Designing a chatbot: Array of questions for actionable Chatbot conversations

A robot needs to be told what it needs to do, something it is designed for. If you are building a chatbot with a purpose, it must ask a series of questions to the user to carry forward the conversation.

Just like while filling up a webform (which is like an input to the machine), some fields might be compulsory and others are optional.

A chatbot cannot transact or perform an action until certain questions are answered. Ideally, if a compulsory question remains unanswered, the Chatbot should circle back and ask that as a question so that the chatbot doesn’t sound stupid.

Here is how a checklist of inputs would look like for a chatbot for hotel booking:

Sample Input Checklist for a Hotel Chatbot:

Here is how a checklist for a hotel booking chatbot would look like:
1. Check-in date
2. Check-out date
3. Number of guests

A chatbot cannot transact without these inputs and it needs to ask this information in the form of questions to the guest.

The above checklist would work for a standalone hotel. However, it needs to be evolved if the chatbot is designed for a Hotel booking marketplace (like Booking.com) or a hotel chain located at multiple places.

A sample chat would look something like this:

Chatbot: Hi. I can help you book a room at our hotel. When would you like to check in?
User: Hey. I will be checking in on 8th of March 2018
Chatbot: Cool. When would you like to checkout?
User: 10th of March
Chatbot: This room would be for how many guests?
User: 2
Chatbot: Here are the 3 types of rooms we have on the available dates

Here is an another version of the conversation that a smarter chatbot can handle (looks more humane):

Chatbot: Hi. I can help you book a room at our hotel. When would you like to check in?
User: Hey. I wish to book a room from 8th March till 10th March for 2 guests.
Chatbot: Cool. Here are the 3 types of rooms we have on the available dates

Sample Input Checklist for a Hotel Marketplace Chatbot:

1. Check in date
2. Checkout date
3. Number of guests
4. The city guest is travelling to
5. Budget preference (optional)

The chatbot would converse something like this:

Chatbot: Hi. I can help you book a hotel room. Where are you travelling to?
User: Munich
Chatbot: Cool. When would you be arriving into the city?
User: 8th of March
Chatbot: And when would you be checking out?
User: 18th of March
Chatbot: How many guests are travelling along?
User: 2 guests
Chatbot: Any budget preference?
User: Less than USD 100
Chatbot: Here are the best hotels I could find below $100 in Munich on available dates

Here is an another sample that a smarter chatbot can handle:

Chatbot: Hi. I can help you book a hotel room. Where are you travelling to?
User: Me and my wife are traveling to Munich, Germany. We land there on 8th March and will be there for 10 days.
Chatbot: Got it. Any budget preference?
User: Less than 500 USD maybe?
Chatbot: Here are the best hotels I could find below $500 in Munich on available dates

When you factor in all types of conversations that one can have with a chatbot, you get a chatbot that delivers the best user experience. Choosing a chatbot platform depends upon which industry you wish to support and how smart it should be in recognizing the inputs from plain natural language text.

Recognize any smart bots around? Feel free to post its link below.