A computer-implemented method comprises receiving a first chat message at a
server computer from a chat interface of a reservation application executing on a
mobile computing device; determining, by the
server computer, from the first chat message, whether the first chat message specifies an intent for a recommendation of a travel item by programmatically classifying the first chat message to output the intent; in response to determining that the first chat message specifies the intent, generating a first plurality of travel items and a second chat message comprising one or more descriptors of the intent, outputting the first plurality of travel items and the second chat message in the chat interface, and including, in each travel item of the first plurality of travel items, a
graphical user interface (GUI) widget that is programmed when selected to initiate a reservation dialog based on the travel item; in response to determining that the first chat message does not specify the intent, outputting in the chat interface a third chat message comprising a prompt for
contextual information, receiving, in the chat interface, a fourth chat message specifying the
contextual information, executing an
inference stage of one or more trained
machine-
learning models over the
contextual information to output one or more named entities, deriving the intent from the first chat message and the one or more named entities, generating, using the
server computer, the intent, and the one or more named entities, a second plurality of travel items and a fifth chat message comprising one or more descriptors of the intent, outputting in the chat interface the second plurality of travel items and the fifth chat message, and including, in each of the second travel items, a second GUI widget that is programmed when selected to initiate the reservation dialog based on one or more of the second travel items.