Infográfico interno

Fluxo do Chatbot
de Reservas

Do webhook ao PIX confirmado: arquitetura, jornada, tools e regras invioláveis em uma única visão.

100%
Dados via tools
Multi
Tenant seguro
24/7
Automações
8+
Eventos rastreados
Arquitetura

Pipeline em 7 estações

Cada mensagem percorre este caminho — sempre nesta ordem.

1

WhatsApp

WE API webhook

2

Backend

Parse + dedup + guards

3

Unidade

Resolve unit_id

4

Prompt+Contexto

Persona + regras

5

LLM + Tools

Dados reais

6

Resposta

Markdown WhatsApp

7

Schedulers

Recovery + lembretes

Jornada

Caminho do cliente

Da primeira mensagem ao código da reserva.

PASSO 01

Entrada

main.py

Webhook recebe msg

PASSO 02

Motel

multi-tenant

Lock por instância ou seleção

PASSO 03

Cliente

perfil

Novo vs recorrente

PASSO 04

Intenção

vendedor

Gosto antes de data

PASSO 05

Data/Hora

validação

Quando reservar

PASSO 06

Disponibilidade

tool

Tool real-time

PASSO 07

Suíte

oferta

Permanência 3/6/12/24h

PASSO 08

Pagamento

Asaas

PIX ou na chegada

Tools

Dados reais, sempre

Nada é inventado. Tudo passa por uma destas tools.

consultar_disponibilidade
detalhar_suite
listar_promocoes_ativas
criar_reserva
gerar_link_pagamento
buscar_reserva

"Nenhum preço, suíte, disponibilidade, foto ou promoção pode ser inventado."

Exceções

Cenários comuns de conversa

?
Pergunta preço direto
Preço real + pivot de valor
?
Pede a mais barata
Melhor custo-benefício real
?
Pede comodidade
Filtra por amenities reais
?
Responde só número
Interpreta pelo contexto
?
Acha caro
Downsell com alternativa real
?
Fora de escopo
Curto + redireciona

Validações antes da reserva

  • Data válida
  • Hora válida
  • Sem horário no passado
  • Antecedência mín. 10 min
  • Coerência suíte/cliente/unidade
  • Disponibilidade no momento
  • Não pagar reserva inválida

Pagamento → Confirmação

1
Reserva criada
2
Link de pagamento
3
Confirmação Asaas
4
Atualização DB
5
Mensagem final
Schedulers

Automações em background

A

Expiração

Reserva pendente expira

B

Cart Recovery

Recupera reserva incompleta

C

Lembrete 30min

Resumo + Maps + Uber

Analytics

Eventos monitorados

início conversa
intenção
consulta disponibilidade
criação reserva
pagamento confirmado
recovery
lembrete 30min
erros operacionais
Não negociável

Regras invioláveis

1
Não alucinar dados
2
Sempre usar tools para fatos
3
unit_id sempre respeitado
4
Nunca misturar motéis
5
Mensagens curtas WhatsApp
6
Negrito com 1 asterisco
7
Sem pagamento p/ reserva inválida
8
Sem mudar scheduler sem regressão
Código

Mapa de arquivos

main.py

Webhook + roteamento + envio

agent.py

Orquestra LLM + tool calls

prompt.py

Políticas e regras

tools.py

Contrato das tools

database.py

Validações de reserva

scheduler.py

Expiração + recovery + lembrete

analytics.py

Trilha de eventos

booking_messages.py

Resumo + lembretes