Scope: A chatbot 🤖 that serves hotel's needs (JavaScript SDK v4).
Goals:
- Functionality to answer QnA related to the hotel (for example What time can i check in?, Which is the charging policy for limousine service?, Can I use any fitness equipment during my accommodation?, etc).
- Functionality to answer QnA related to general staff (for example How are you?, What are you?, What can you do?, etc.).
- Functionality to query for available room at the hotel's management system having firstly collected the necessary details with one of the following ways:
- By collecting the necessary details through a dialog (What date do you desire check in?, What date do you desire check out?, What room category do you desire?, How many rooms do you want?)
- By extracting all the necessary details from a customer prompt statement (for example Can i book two Deluxe Single rooms check in date 10 August and check out date 15 August?, I want ten Junior Suite Unter den Linden from 8 August to 28 August, etc)
In order to create a chatbot that achieves the above functionality goals we started with adjustments of official BotBuilder Samples for the Bot Framework:
NLP Bot
The NLP Bot distingues 3 intents (q_sample-qna Goals #1 & #2, RoomAvailability ability Goal #3.i, BookDetails Goal #3.ii). The code of dispatchBot.
Prompt for user input
The customPromptBot prompts customer for input data and validate booking details (Goal 3.i). Also, it is able to extract details from input customer's statement and validate details (Goal 3.ii). The customPromptBot role is to collect the necessary details that are required to execute the query for RoomAvailability and BookDetails intents. The code of customPromptBot.
The chatbot executes queries in a SQL Database that supports the hotel management system. Tables about rooms and booking records have been created and filled up with data for testing. The SQL code.
Demo videos can be found here:
Hope to find it useful. ✌️✌️✌️