

Aviso de fim do suporte: em 15 de setembro de 2025, o suporte para o Amazon Lex V1 AWS será interrompido. Após 15 de setembro de 2025, você não poderá mais acessar o console do Amazon Lex V1 nem os respectivos recursos. Se você estiver usando o Amazon Lex V2, consulte o [guia do Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html) em vez disso. 

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Reservar uma viagem
<a name="ex-book-trip"></a>

Este exemplo mostra como criar um bot configurado para oferecer suporte a várias intenções. O exemplo também ilustra como é possível usar atributos de sessão para o compartilhamento de informações entre intenções. Depois de criar o bot, você usa um cliente de teste no console do Amazon Lex para testar o bot (BookTrip). O cliente usa a operação da API runtime do [PostText](API_runtime_PostText.md) para enviar solicitações ao Amazon Lex para cada entrada do usuário. 

O BookTrip bot neste exemplo está configurado com duas intenções (BookHotel e BookCar). Por exemplo, suponha que um usuário reserve um hotel primeiro. Durante a interação, o usuário fornece informações como datas de check-in, local e número de diárias. Depois de a intenção ser cumprida, o cliente pode manter essas informações usando atributos de sessão. Para mais informações sobre atributos de sessão, consulte [PostText](API_runtime_PostText.md). 

Agora, suponha que o usuário prossiga para reservar um carro. Usando informações fornecidas pelo usuário na BookHotel intenção anterior (ou seja, cidade de destino e datas de check-in e check-out), o cohook (função Lambda) que você configurou para inicializar e validar a intenção inicializa os dados BookCar do slot da intenção (ou seja, destino, cidade de coleta, data de coleta e data de devolução). BookCar Isso mostra como o compartilhamento de informações entre intenções permite que você crie bots que podem participar de conversas dinâmicas com o usuário. 

Neste exemplo, usamos os seguintes atributos de sessão. Somente o cliente e a função do Lambda podem definir e atualizar os atributos de sessão. Amazon Lex apenas os passa entre o cliente e a função do Lambda. O Amazon Lex não mantem nem modifica atributos de sessão.
+ `currentReservation`: contém dados de slot para uma reserva em andamento e outras informações relevantes. A seguir, veja um exemplo de solicitação do cliente para o Amazon Lex. Ele mostra o atributo de sessão `currentReservation` no corpo da solicitação.

  ```
  POST /bot/BookTrip/alias/$LATEST/user/wch89kjqcpkds8seny7dly5x3otq68j3/text
  "Content-Type":"application/json"
  "Content-Encoding":"amz-1.0"
  
  {
     "inputText":"Chicago",
     "sessionAttributes":{
         "currentReservation":"{\"ReservationType\":\"Hotel\",
                                \"Location\":\"Moscow\",
                                \"RoomType\":null,
                                \"CheckInDate\":null,
                                \"Nights\":null}"
     }
  }
  ```

   
+ `lastConfirmedReservation`: contém informações semelhantes para uma intenção anterior, se houver. Por exemplo, se o usuário reservou um hotel e está em processo de reserva de um carro, esse atributo de sessão armazena os dados do slot para a BookHotel intenção anterior.

   
+ `confirmationContext`: a função do Lambda define isso como `AutoPopulate` quando preenche automaticamente alguns dos dados de slot com base nos dados de slot da reserva anterior (se houver). Isso permite o compartilhamento de informações entre intenções. Por exemplo, se o usuário tiver reservado um hotel anteriormente e agora desejar reservar um carro, o Amazon Lex poderá solicitar que o usuário confirme (ou negue) se o carro está sendo reservado para a mesma cidade e as mesmas datas que a reserva de hotel





Neste exercício, você usa esquemas para criar um bot do Amazon Lex e uma função do Lambda. Para obter mais informações sobre esquemas, consulte [Amazon Lex e AWS Lambda Blueprints](lex-lambda-blueprints.md).





**Próxima etapa**  
[Etapa 1: revisão dos esquemas usados neste exercício](ex-book-trip-blueprints.md)