Dialogflow Chatbot - DigiBP/DigiBP-SIMME GitHub Wiki

Conversational AI with Dialogflow

To Integrate conversational AI (chatbot) into the process, Dialogflow was chosen.

The chatbot will guide the user through the process of making a reservation with menu. Following parameters will be required as input by the user:

  • Restaurant Name
  • Reservation Time
  • Menu (all items the customer wants to order for the given time at given restaurant)
  • Confirmation

Entities

2 new entities had to be defined

  • items - which is a list containing all items the customer ordered
  • RestaurantName

Intents

Intent Contexts Events Training Phrases Action and parameters Responses
Default Welcome Intent - - Hey, hi, hello, greetings, hey there, howdy, ... - Hello, I am PrepOrder. You can directly pre order your food and eat it as soon as you arrive on the chosen restaurant. I will ask you some questions now regarding your reservation. Where would you like to eat and at what time?
Restaurant and Time Output: RestaurantName, time - Simme 12:00, Restaurant Simme at 16:00, I want a table at Simme restaurant at 12:30, Book me a table at restaurant simme for 19:00, ... RestaurantName (required), time (required) A Reservation at $RestaurantName at $time will be done after you finalized your order. Please list your full order (e.g. "steak, mixed salat, sparkling water, a slice of cake").
Get Items Output: items - Spaghetti bolognaise and sprite, Please order a steak, a mixed salad, sparkling water and a slice of chocolate cake, I want to order a pizza margherita, green salad and a coke, ... items (requires, is list) Here is your order: $items . If it is not correct please reenter your desired order. Otherwise enter "confirm" or "ok" to finalize your order and make the reservation.
Confirm Order Output: RestaurantName, time, items - ok, confirm - Thank you for confirming your order at #RestaurantName.RestaurantName at #time.time . Your chosen order (#items.items) will be ready as soon as you arrive. Enjoy your meal!
Feedback - - feedback simme 10, feedback simme 2, feedback simme 5 RestaurantName (required), number (required) Thank you for giving your feedback. Have a great day!

Interaction example:

Order and confirmation

User: "Hello"

Chatbot: "Hello, I am PrepOrder. You can directly pre order your food and eat it as soon as you arrive on the chosen restaurant. I will ask you some questions now regarding your reservation. Where would you like to eat and at what time?"

User: "I would like to eat at restaurant Simme at 18:00

Chatbot: "A Reservation at Simme Restaurant at 18:00:00 will be done after you finalized your order. Please list your full order (e.g. "steak, mixed salat, sparkling water, a slice of cake")."

User: "I would like to order a steak, a green salad and a coke."

Chatbot: "Here is your order: steak, green salad and coke . If it is not correct please reenter your desired order. Otherwise enter "confirm" or "ok" to finalize your order and make the reservation"

User: "ok"

Chatbot: "Thank you for confirming your order at Simme Restaurant at 2019-11-30T18:00:00+01:00 . Your chosen order (steak, green salad and coke) will be ready as soon as you arrive. Enjoy your meal!"

Feedback

User: "Feedback simme 8"

Chatbot: "Thank you for giving your feedback. Have a great day!"