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!"