En la segunda demo que hicimos mi compañero Maldini (@maldonjo) y yo en nuestro paso por el Microsoft Summit 2016 se mostraba cómo es posible que un grupo de personas se pongan de acuerdo en la reserva de un viaje gracias a un bot. Como ya te conté durante el articulo de nuestra primera demo, gracias a las tecnologías que ofrece Microsoft somos capaces de integrar diferentes sistemas y canales de comunicación para hacer la vida del usuario más sencilla y cercana.
Con esta demo lo que queríamos mostrar es que se puede ir un paso más allá con los bots. Ya no sólo se trata de un asistente virtual que trata las necesidades de un usuario de forma individualizada sino que es posible que ese mismo asistente pueda atender a varias personas a la vez, de manera simultánea. Esto es una característica que a día de hoy está disponible en la plataforma de Skype, y que a nivel de bot es muy sencillo habilitarla, editando las propiedades del bot en cuestión para el canal de Skype en https://dev.botframework.com

y habilitando la opción Group messaging.

A partir de este momento nuestro bot será capaz de ser un participante más dentro de un chat en grupo. Como se puede ver en la demo, en el momento que es agregado como participante en nuestra conversación es capaz de detectarlo y saludar o mostrar qué puede hacer por nosotros.

En este momento ya sabe que somos dos personas y comenzamos a hablar con él utilizando lenguaje natural, como ocurría con la primera demo, gracias a los servicios cognitivos que ofrece Microsoft y más en concreto gracias a LUIS, el cuál es capaz de detectar cuál es la intención de cada uno de los integrantes del grupo.

Es por ello que mi compañero Jose le expone nuestra situación, que es la reserva de un viaje a Barcelona.

En el mensaje que se ve en la imagen anterior ya se le está dando mucha información relacionada con nuestra intención: se va a realizar un viaje, que el origen es Madrid y el destino es Barcelona, y que somos un grupo de gente. Con todo ello, el bot podría ir todo lo lejos que queramos. Desde preguntarnos qué tipo de transporte queremos utilizar (coche, avión, tren), y con ello gestionarlo a través de diferentes vías, la fecha en la cuál se va a realizar el viaje, por lo que podría solicitarnos más información respecto al horario, etcétera. En este punto, se le informa de los horarios y se asume que dicho viaje se va a hacer en avión.

Con esta información el bot puede conectarse con las APIs de las diferentes compañías, que le permitan recuperar cuál es el mejor match para nuestra reserva.

Lo que también puede ocurrir es que, debido a la falta de información, los vuelos que se propongan no se ajusten del todo al viaje. Es más, podría ser que el propio usuario argumente por qué es necesario tener que buscar una nueva combinación, como se mostraba en la demo, como que por ejemplo no de tiempo a comer si el horario de vuelta es demasiado pronto.

En este caso se aprovecha el reajuste del nuevo vuelo para poder ofrecer a los usuarios aquello que también es importante en su viaje.

Este es un claro ejemplo de venta cruzada, donde se ofrece un vuelo y unos restaurantes determinados, con los que la compañía encargada del bot puede tener acuerdos para posicionar unos antes que otros, siempre acordes con las necesidades de los usuarios.
Como ves, la forma de representar este tipo de información es bastante vistosa gracias a que es posible integrar el bot desarrollado con Microsoft Framework, en este caso con Node.js, con las diferentes opciones que ofrece el canal, como ocurre en este caso con la información en formato carrusel.
Una vez modificado el vuelo y elegido el restaurante por ambos el último paso sería la confirmación de toda la reserva para que el bot pueda gestionarlo, comunicándose con las compañías de terceros y facilitando el proceso.

Durante la demo se vió cómo ambos debemos aceptar la información que nos provee a los dos, ya que este proceso hará uso de nuestros perfiles asociados en el CRM de la compañía para llevar a cabo la gestión, que supondrá un cargo en nuestras respectivas tarjetas de crédito.

En este punto hubo un fallo en el directo, donde sin querer se pulsó en la pantalla táctil del portátil la selección del restaurante de nuevo, haciendo que el bot volviera a preguntar a ambos qué restaurante queríamos, lo que hizo ver que el bot era totalmente funcional 😉
¡Saludos!