The user interface for a chat bot is the English language. This means that a snap shot of the interface would just show the overt areas.
A chat bot should respond to the normal parts of speech that a client will use when conversing with a friend who is a travel agent that is helping them decide on where they want to go.
The bot should guide them through the choices that are available. An advanced mode would be to remember the clients preferences and give options based on those preferences. Otherwise we have to ask questions to narrow down what they want at the time.
To be most generally useful the bot should just give links in the chat window like another human would and let their client bring up the link in a web browser.
The bot should be polite, yet focused on the task at hand.
I have chosen a pattern matching travel bot.
The steps that one goes through in processing using pattern matching templates are
These simplify a sentence so that it can match a standard template.
An example of a reduction would be to reduce
I am very very very very very very very happy to meet you.
I am happy to meet you.
You can perform a transformation by converting a sentence or word to another word.
All map to the single term:
You can also set a data value when you process a matching search term.
You can also consume parts of a sentence and respond to that and then continue parsing the rest of the sentence.
When you get a template match you can then take an action. This could be to display requested information, or to request more info, or to store state in some variable that then controls other questions.