v2.0.0 — Automação

Quando a família não pode estar presente, nós estamos.

O Vou Contigo acompanha pessoas mais velhas em consultas, exames, mercado, banco, farmácia e passeios — e avisa a família de tudo. Na v2 o próprio WhatsApp agenda, cancela, mostra horários livres e manda lembretes sozinho; a cobrança PIX vira Asaas e o familiar ganha um portal web.

Logo Vou Contigo — duas figuras abstratas lado a lado, em verde-oliva e bege
O que é

Um caderno digital que tira o negócio do WhatsApp solto — sem tirar o WhatsApp do cliente

O serviço é vendido para os filhos e familiares que não conseguem estar presentes. A plataforma organiza quem vai ser acompanhado, quando, por quem, quanto custou de verdade, e entrega o relatório do dia pronto para colar no WhatsApp da família.

🗓️ Agenda de verdade

Cada atendimento tem cliente, acompanhado, tipo, endereço de saída e destino, horário e um ciclo de estados claro: solicitado → agendado → confirmado → em andamento → concluído → relatado.

📊 Preço validado com dado

Ao finalizar, o sistema exige hora real, minutos de espera, km rodados, estacionamento, pedágio e nível de esforço. Depois de 10 a 20 atendimentos dá para revisar o preço sem chute.

💬 Relatório que a família lê

O relatório sai montado no modelo da marca. Na v2 ele é enviado sozinho ao familiar assim que a acompanhante finaliza — por WhatsApp e, quando há e-mail cadastrado, também por e-mail.

🤖 WhatsApp que responde

Um bot de menu numérico agenda, cancela, mostra horários livres e informa saldo — pela Evolution API, com o número comum da empresa lido por QR. Quando alguém pede uma pessoa — ou escreve algo fora do menu — o bot se cala até a gestão liberar.

💳 Cobrança que concilia

Pacote vira cobrança PIX no Asaas, com QR e copia-e-cola. O webhook marca como pago sozinho e o pacote novo só nasce quando o dinheiro entra.

🔐 Portal do familiar

Login por link mágico no e-mail: saldo, próximas visitas, histórico de relatórios em página imprimível, solicitar e cancelar visita, e o calendário em .ics.

Para quem é

Três pessoas, três lugares no sistema

A pessoa acompanhada não precisa de app, login nem celular — só de uma ficha bem feita. Quem usa a plataforma é a família (pelo WhatsApp), a acompanhante (pelo celular) e a gestora (pelo painel e pelo Telegram).

👨‍👩‍👧 Família / pagador

Filho, neta ou responsável. Solicita pela landing ou pelo WhatsApp, recebe confirmação, lembrete e o relatório de cada acompanhamento. No MVP tudo pelo WhatsApp, com uma pessoa do outro lado.

🚶‍♀️ Acompanhante

Quem executa. Usa o painel mobile-first na rua: vê a agenda do dia, aperta Iniciar, aperta Finalizar, preenche espera/km/custos e revisa o relatório. Ou faz o mesmo pelo bot de Telegram.

🧭 Gestora

Organiza a agenda, aprova solicitações, vende pacotes, cobra e olha as métricas. Recebe cada lead e cada mudança de agenda no Telegram em menos de um minuto.

Como funciona

O atendimento é a unidade do sistema

WhatsApp, Telegram e painel são canais para agir sobre o atendimento — não são o atendimento. É essa distinção que impede o sistema de virar “um chat com banco de dados”.

Solicitação Agendamento Confirmação Execução (iniciar / finalizar) Relatório à família Débito de horas do pacote

O que a plataforma faz no MVP (v1.0.0)

Nenhuma automação de WhatsApp: o cliente continua falando com um humano. O que o sistema faz é não deixar nada se perder.

🏠 Landing promocional

Uma página mobile-first na paleta do logo: a dor, os serviços, os 3 passos, os planos, quem somos, o que não fazemos, FAQ e o botão fixo de WhatsApp com mensagem pré-preenchida. O formulário curto cria um lead e avisa a gestora no Telegram.

🖥️ Painel de controle

Login Supabase com papéis gestora e acompanhante. Agenda semana/dia, cadastro de clientes e acompanhados, pacotes e saldo de horas, financeiro manual em PIX, leads, configurações e métricas com exportação em CSV.

⏱️ Execução com métricas

Tela feita para usar na rua: Iniciar grava a hora real, Finalizar exige espera, km, estacionamento, pedágio e esforço de 1 a 5. Daí saem receita por hora efetiva, média de espera e custo extra médio.

📋 Relatório copiável

O texto do relatório vem pré-montado no modelo da marca a partir dos campos do atendimento. Um botão copia para o WhatsApp, outro marca como enviado — junto com os templates de confirmação, lembrete, saldo baixo e cobrança.

🤖 Bot de Telegram

No grupo privado da gestão: avisa novo lead, atendimento criado ou cancelado, “amanhã tem X às Y”, relatório pendente há mais de 2 horas e saldo baixo. Com comandos para fazer tudo do celular.

⏰ Cron de lembretes

Um job agendado bate na rota protegida por CRON_SECRET e dispara os avisos do dia: lembrete de véspera, lembrete de poucas horas antes e cobrança de relatório pendente. Na VPS é o cron do sistema; na Vercel, o Vercel Cron.

O que a v2.0.0 acrescentou

A automação não substitui a pessoa: ela tira da pessoa o trabalho repetitivo de confirmar, lembrar, cobrar e relatar.

💬 Bot de WhatsApp

Menu numérico de cinco opções pela Evolution API. Agendar oferece os horários realmente livres da agenda; cancelar já aplica a política e informa a taxa. Tudo gravado em RPCs do Postgres, não em regras soltas no app.

🔔 Avisos automáticos

Confirmação ao aprovar a solicitação, lembrete na véspera, lembrete duas horas antes e o relatório ao finalizar — direto ao cliente, por WhatsApp e por e-mail quando houver.

💳 PIX pelo Asaas

Cobrança com QR, webhook autenticado que concilia o pagamento e cron de renovação dos pacotes mensais avisando alguns dias antes do vencimento.

🔐 Portal do familiar

Link mágico por e-mail, saldo, próximas visitas, relatórios do mês em página imprimível, solicitação e cancelamento, calendário .ics e escolha de receber horários por e-mail ou WhatsApp.

📥 Inbox e solicitações

O painel ganhou caixa de entrada unificada (conversas de WhatsApp + leads), fila de solicitações para aprovar e timeline por cliente com tudo que aconteceu, em qualquer canal.

📍 Raio e políticas

O destino é geocodificado e comparado com o endereço-base. O raio é informativo — avisa a gestora, não bloqueia. Taxa de cancelamento e espera após a tolerância são calculadas sozinhas.

Como o familiar usa

Pelo WhatsApp de sempre — ou pelo portal, quando quiser ver tudo

A pessoa acompanhada continua sem precisar de app nenhum. Quem interage é o filho, a neta, o responsável — e do jeito que ele já usa o celular.

💬 No WhatsApp

Menu numérico, sem precisar escrever frase nenhuma:

Oi, Ana! Sou o assistente do Vou Contigo. Como posso ajudar?
1. Agendar acompanhamento
2. Cancelar ou remarcar
3. Ver horários livres
4. Meu saldo e próxima visita
5. Falar com uma pessoa

Três coisas põem a conversa em modo humano: escolher 5, escrever texto livre no menu e ser um número sem cadastro. Aí o bot para de responder por completo — nem escrever “menu” o traz de volta — até a gestão mandar /liberar no Telegram. Já dentro de um fluxo (escolhendo tipo, dia ou horário), resposta inválida não escala: ele só pede o número de novo.

🔐 No portal /minha-conta

Login por link mágico enviado no e-mail (o código por WhatsApp está marcado como “em breve” na própria tela). O e-mail precisa ser o mesmo que está na ficha do cliente no painel — é assim que a conta é ligada ao cadastro.

Lá dentro: saldo de horas, próximas visitas, histórico de relatórios, dados do acompanhado, solicitar e cancelar visita, e ainda:

  • /minha-conta/horarios — horários livres, com os botões receber por e-mail e receber por WhatsApp;
  • /minha-conta/relatorios/[mes] — os relatórios do mês numa página feita para imprimir (ou salvar em PDF pelo próprio navegador);
  • /minha-conta/calendario.ics — baixa as próximas visitas para a agenda do celular.
Familiar manda “oi” Menu 1 · Agendar Solicitação pendente Gestora aprova no Telegram Confirmação automática Lembrete D-1 e 2h Relatório automático
Como a gestão usa

Do celular pelo Telegram, do computador pelo painel

Nada acontece sem que uma pessoa aprove: o bot recebe o pedido, a gestora decide. O que mudou na v2 é que decidir passou a ser um toque em um botão.

✅ Aprovar por botão

Cada solicitação chega no grupo com três botões inline: ✅ aprovar, ✏️ ajustar e ❌ recusar. Aprovar já dispara a confirmação automática no WhatsApp do familiar.

🗣️ Conversar sem sair do Telegram

/conversas mostra quem está esperando gente de verdade, /responder manda a resposta pelo WhatsApp e /liberar devolve a conversa ao bot.

📊 Resumos

/resumo dá a visão operacional do dia e /financeiro, o dinheiro da última semana. O cron das 7h manda o resumo do dia sozinho; às segundas ele vem com o financeiro da semana fechada.

📥 /painel/inbox

Caixa de entrada unificada: conversas de WhatsApp e leads da landing no mesmo lugar, com o histórico de cada conversa e o botão de devolver ao bot quando o assunto se resolve.

📋 /painel/solicitacoes

A fila do que o bot agendou pelo WhatsApp e ainda depende de aprovação, para a gestora aprovar, ajustar ou recusar sem abrir cada atendimento.

🧾 Timeline e PIX

Cada cliente tem uma linha do tempo com tudo que aconteceu em qualquer canal. No financeiro, a cobrança PIX do Asaas com QR e copia-e-cola, conciliada pelo webhook.

Pré-requisitos

O que precisa estar na mão antes de rodar

Nada de infraestrutura própria: Node para o Next.js, a CLI do Supabase para o banco local, um bot de Telegram e (para publicar) uma conta na Vercel ligada ao GitHub.

Node 20+ e npm

O projeto é Next.js 15 com App Router, TypeScript e Tailwind 4.

# confira a versão
node -v
npm -v

Supabase local

Postgres, Auth, Storage e RLS rodando em Docker pela CLI, sem precisar de projeto na nuvem para desenvolver.

# sobe o stack local
npx supabase start

Bot de Telegram

Um bot só do Vou Contigo, criado no @BotFather, e o id do grupo privado da gestão.

# no Telegram, fale com
@BotFather → /newbot
Guia de uso · passo a passo

Do clone à primeira família recebendo relatório

Os passos 1 a 6 são a instalação, feita uma vez. O passo 7 é a rotina que se repete todo dia.

1

Clonar e instalar

Baixe o repositório e instale as dependências.

git clone https://github.com/inematds/voucontigo.git
cd voucontigo
npm install
2

Criar o arquivo de variáveis

Copie o exemplo para .env.local. Ele já lista tudo que o projeto lê: Supabase, Telegram, cron e site.

cp .env.example .env.local

# .env.local — o que preencher
NEXT_PUBLIC_SUPABASE_URL=       # Supabase > Settings > API
NEXT_PUBLIC_SUPABASE_ANON_KEY=  # idem
SUPABASE_SERVICE_ROLE_KEY=      # idem (nunca no cliente)
TELEGRAM_BOT_TOKEN=             # @BotFather
TELEGRAM_WEBHOOK_SECRET=        # invente uma string longa
TELEGRAM_CHAT_GESTAO=           # id do grupo da gestão
CRON_SECRET=                    # segredo do Vercel Cron
NEXT_PUBLIC_SITE_URL=https://voucontigo.inema.club
NEXT_PUBLIC_WHATSAPP_EMPRESA=5551999999999
TZ=America/Sao_Paulo       # fuso do processo

# --- v2 (vazio = desligado, não quebra nada) ---
WHATSAPP_PROVIDER=evolution  # ou meta
EVOLUTION_API_URL=http://evolution:8080
EVOLUTION_API_KEY=              # mesma chave da Evolution
EVOLUTION_INSTANCE=voucontigo
WHATSAPP_WEBHOOK_TOKEN=         # você inventa; vai na query do webhook
ASAAS_API_KEY=                  # comece no sandbox
ASAAS_WEBHOOK_TOKEN=            # header asaas-access-token
ASAAS_BASE_URL=https://sandbox.asaas.com/api/v3
RESEND_API_KEY=                 # opcional; vazio = sem e-mail
EMAIL_FROM=Vou Contigo <contato@voucontigo.com.br>
GEOCODER_EMAIL=                 # exigido pela política do Nominatim
3

Subir o Supabase e aplicar o schema

start sobe o Postgres local e imprime as chaves; db reset recria o banco aplicando as migrações de supabase/migrations. Copie a URL e a anon key impressas para o .env.local.

npx supabase start
npx supabase db reset   # aplica migrações + seed
4

Rodar e criar a usuária gestora

Suba o servidor de desenvolvimento e abra o painel. A conta é criada no Supabase Auth (Studio local em http://localhost:54323, aba Authentication → Add user); um gatilho cria o perfil com o papel padrão acompanhante, então a primeira conta é promovida a gestora por SQL.

npm run dev   # http://localhost:3000  ·  painel em /painel

# promover a primeira conta a gestora (SQL Editor do Studio)
update public.perfil set papel = 'gestora'
  where id = (select id from auth.users where email = 'voce@exemplo.com');

No Supabase Cloud, em Authentication → URL Configuration → Redirect URLs, cadastre os dois retornos de link mágico, senão o e-mail volta com erro: ${NEXT_PUBLIC_SITE_URL}/entrar/callback (portal do familiar) e ${NEXT_PUBLIC_SITE_URL}/login/callback (painel da equipe).

5

Criar o bot e registrar o webhook

No Telegram, chame o @BotFather, mande /newbot, escolha nome e usuário e guarde o token em TELEGRAM_BOT_TOKEN. Adicione o bot ao grupo privado da gestão e coloque o id do grupo em TELEGRAM_CHAT_GESTAO. Depois aponte o webhook para a rota do projeto.

# registra o webhook em NEXT_PUBLIC_SITE_URL/api/telegram
npx tsx scripts/telegram-set-webhook.ts

Em desenvolvimento o Telegram precisa de uma URL pública — use um túnel (ex.: ngrok http 3000) e rode o script com NEXT_PUBLIC_SITE_URL apontando para ele.

6

Publicar — VPS ou Vercel

Publicar é git push: o resto é webhook. Antes, cadastre as mesmas variáveis do .env.local no destino (com as chaves do Supabase de produção) e rode o script do webhook do Telegram de novo já com a URL final.

git add -A
git commit -m "feat: v2.0.0 do Vou Contigo"
git push   # deploy automático · nada a fazer no dashboard

# na VPS (é onde a Evolution vive) — Caddy do host faz TLS e proxy
docker compose -p voucontigo -f docker-compose.vps.yml --env-file .env up -d --build
# e os jobs viram cron do sistema:
cp deploy/vps-cron.example /etc/cron.d/voucontigo

Use sempre -p voucontigo: o deploy/Caddyfile.snippet faz proxy para os containers voucontigo-app-1 e voucontigo-evolution-1, cujos nomes dependem desse prefixo. Na Vercel, o vercel.json já traz os três crons em UTC — mas o de hora em hora (lembrete “2h antes”) exige plano Pro; no Hobby só roda um cron por dia, sem horário garantido. Na VPS isso não é problema.

7

A rotina do dia a dia

O ciclo completo de um atendimento, do primeiro contato ao relatório na mão da família.

# 1. chega o lead (formulário da landing ou WhatsApp)
#    → o bot avisa no grupo; a gestora responde pelo WhatsApp
/lead                 # lista os leads novos

# 2. agendar
/agendar              # assistente passo a passo (ou pelo painel)

# 3. no dia — a acompanhante, do celular
/hoje                 # agenda do dia, com os ids
/iniciar 42           # grava a hora real de início

# 4. ao terminar
/finalizar 42         # pede espera, km, estacionamento, pedágio, esforço

# 5. relatório
/relatorio 42         # texto pronto para copiar e colar no WhatsApp da família

# 6. saldo do pacote
/saldo Maria          # horas usadas e restantes
Instalar a Evolution API

WhatsApp com o número da empresa, lido por QR

A Evolution roda ao lado do app, na mesma rede Docker, e conversa com o WhatsApp por um número comum — sem verificação na Meta, sem templates aprovados e sem custo por mensagem. A alternativa oficial (Meta Cloud API) continua suportada no código com WHATSAPP_PROVIDER=meta.

1

Configurar e subir na VPS

A imagem está fixada em atendai/evolution-api:v2.2.3, com um Postgres próprio (nada a ver com o Supabase). Cabe em cerca de 400 MB de memória ao lado do app.

cp .env.evolution.example .env.evolution
# edite: EVOLUTION_SERVER_URL, EVOLUTION_API_KEY (string longa), EVOLUTION_DB_PASSWORD

docker compose -p voucontigo -f docker-compose.evolution.yml \
  --env-file .env.evolution up -d
2

Criar a instância e ler o QR

Abra https://evolution.inema.club/manager e entre com a EVOLUTION_API_KEY. Crie a instância com o nome voucontigo — o mesmo valor de EVOLUTION_INSTANCE — peça o QR Code e leia com o celular do número do Vou Contigo (WhatsApp → Aparelhos conectados). A sessão fica no volume evolution_instances e sobrevive a reinícios.

3

Configurar o webhook da instância

O webhook global está desligado de propósito: ele é cadastrado na instância, pelo manager.

CampoValor
URLhttps://voucontigo.inema.club/api/whatsapp?token=<WHATSAPP_WEBHOOK_TOKEN>
EventosMESSAGES_UPSERT e MESSAGES_UPDATE
webhook_by_eventsfalse — todos os eventos na mesma URL
webhook_base64false — nada de mídia em base64

A Evolution não assina o corpo da requisição, por isso o segredo viaja na query string: o mesmo WHATSAPP_WEBHOOK_TOKEN precisa estar no .env do app, que compara em tempo constante e devolve 401 se não bater. Mensagens de grupo, enviadas pelo próprio número ou sem texto são ignoradas com 200, e o id da mensagem garante que nada seja processado duas vezes.

4

Apontar o app para ela

As duas pilhas dividem a rede Docker, então o app fala com a Evolution pelo nome do serviço, sem passar pela internet.

WHATSAPP_PROVIDER=evolution
EVOLUTION_API_URL=http://evolution:8080
EVOLUTION_API_KEY=# a MESMA AUTHENTICATION_API_KEY da Evolution
EVOLUTION_INSTANCE=voucontigo
WHATSAPP_WEBHOOK_TOKEN=# o mesmo da URL do webhook

⚠️ Número comum tem risco

Não é a API oficial: a Meta pode bloquear o número se o comportamento parecer spam. Regras de uso — responder apenas conversas iniciadas pelo cliente; enviar só mensagens sobre compromissos reais (confirmação, lembrete, relatório, cobrança do que foi contratado); nada de disparo em massa, lista de transmissão ou marketing; manter um número de reserva. Se o volume crescer, migrar para WHATSAPP_PROVIDER=meta.

Cobrança PIX

Asaas: gerar, mandar e conciliar sozinho

O pacote de horas vira uma cobrança PIX com QR Code e copia-e-cola. Quando o cliente paga, o webhook do Asaas marca como pago e o pacote novo nasce — nunca antes.

1 · Começar no sandbox

Crie a conta, gere a API key do ambiente de testes e aponte a base para o sandbox. Só troque para produção depois de uma cobrança completa funcionando.

ASAAS_API_KEY=# chave do sandbox
ASAAS_BASE_URL=https://sandbox.asaas.com/api/v3
ASAAS_WEBHOOK_TOKEN=# string longa que você inventa

2 · Cadastrar o webhook

No Asaas, aponte para a rota do app e defina o token de autenticação — ele chega no header asaas-access-token e é comparado com ASAAS_WEBHOOK_TOKEN (401 se não bater).

https://voucontigo.inema.club/api/asaas/webhook
# header: asaas-access-token: <ASAAS_WEBHOOK_TOKEN>

Eventos que importam: PAYMENT_RECEIVED e PAYMENT_CONFIRMED marcam pago; PAYMENT_DELETED e PAYMENT_REFUNDED desfazem. A rota responde 200 sempre que autenticada — o Asaas trava a fila em qualquer resposta que não seja 2xx — e ignora eventos repetidos.

3 · Renovação mensal

O cron /api/cron/renovacoes procura pacotes mensais que vencem em até renovacao_aviso_dias (padrão 3), gera a cobrança de renovação e manda ao cliente. Pacotes vencidos viram expirado, com aviso à gestão.

4 · Ir para produção

Trocar ASAAS_BASE_URL para https://api.asaas.com/v3, usar a chave de produção e registrar o ambiente na configuração asaas_ambiente do painel. O PIX manual da v1 continua existindo como alternativa.

Bot de gestão

Comandos do Telegram

Tudo que o bot faz, o painel também faz — o bot é o atalho no celular. Ele vive no grupo privado da gestora com a acompanhante.

ComandoO que faz
/hojeAgenda de hoje, com horário, acompanhado, tipo, destino e status.
/amanhaAgenda de amanhã — a base do lembrete da véspera.
/semanaVisão dos próximos sete dias, para enxergar ocupação e buracos.
/agendarAssistente passo a passo: cliente, acompanhado, tipo, data e hora, saída e destino.
/cancelar <id>Cancela o atendimento e registra o motivo, aplicando a política de cancelamento.
/iniciar <id>Marca o início real — é o check-in da acompanhante.
/finalizar <id>Marca o fim real e pede espera, km, estacionamento, pedágio e esforço de 1 a 5.
/relatorio <id>Monta o relatório no modelo da marca para copiar e mandar à família.
/saldo <cliente>Horas contratadas, usadas e restantes do pacote daquele cliente.
/leadLista os leads novos que chegaram pela landing, com o link do WhatsApp.
Novos na v2.0.0
/solicitacoesSolicitações pendentes vindas do WhatsApp, cada uma com os botões ✅ aprovar, ✏️ ajustar e ❌ recusar. Aprovar dispara a confirmação automática ao familiar.
/conversasQuem está aguardando atendimento humano — as conversas em que o bot se calou.
/responder <whatsapp> <texto>Manda a resposta pelo WhatsApp sem sair do Telegram.
/liberar <whatsapp>Devolve a conversa ao bot, tirando-a do modo humano.
/resumoResumo operacional de hoje: agenda, pendências e o que já saiu.
/financeiroResumo financeiro da última semana fechada.

Além dos comandos, o bot avisa sozinho: novo lead, atendimento criado ou cancelado, nova solicitação do WhatsApp, pedido de atendimento humano, relatório pendente há mais de duas horas e saldo baixo de cliente. O cron das 7h manda o resumo do dia; às segundas, ele vem junto com o financeiro da semana.

Variáveis de ambiente

O que preencher, e o que acontece se ficar vazio

Todas estão em .env.example. As da v2 seguem a regra “vazio = desligado”: o app sobe do mesmo jeito, só sem aquela automação.

VariávelDe onde vem · o que faz
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY
Supabase → Settings → API. A service role nunca vai para o cliente.
TELEGRAM_BOT_TOKEN
TELEGRAM_WEBHOOK_SECRET
TELEGRAM_CHAT_GESTAO
Token do @BotFather, um segredo inventado por você e o id do grupo privado da gestão.
CRON_SECRETSegredo que o cron envia como Authorization: Bearer …. Sem ele, as rotas de job respondem 401.
NEXT_PUBLIC_SITE_URL
NEXT_PUBLIC_WHATSAPP_EMPRESA
URL pública do site e o número da empresa no formato 55DDDNÚMERO.
TZAmerica/Sao_Paulo. Fuso do processo — defina também nas variáveis do projeto na Vercel.
WHATSAPP_PROVIDERevolution (padrão) ou meta.
EVOLUTION_API_URL
EVOLUTION_API_KEY
EVOLUTION_INSTANCE
Endereço interno, a mesma chave da Evolution e o nome da instância criada no manager.
WHATSAPP_WEBHOOK_TOKENSegredo do webhook de entrada; vai na query string porque a Evolution não assina o corpo.
ASAAS_API_KEY
ASAAS_WEBHOOK_TOKEN
ASAAS_BASE_URL
Asaas. Vazio = sem cobrança automática; o PIX manual da v1 continua.
RESEND_API_KEY
EMAIL_FROM
Resend via REST. Vazio = sem e-mail (tudo sai só por WhatsApp); o domínio do remetente precisa estar verificado.
GEOCODER_PROVIDER
GEOCODING_URL
GEOCODER_EMAIL
Nominatim do OpenStreetMap, cuja política de uso exige um e-mail de contato. Vazio = raio nunca verificado.

Falta ainda o que não é variável e sim configuração no painel: raio_km, lat_base/lng_base, tolerancia_espera_min, cancelamento_gratis_horas, cancelamento_taxa_percentual, chave_pix e enviar_horarios_semanal. Sem latitude e longitude da base, o raio nunca chega a ser conferido.

Limites e responsabilidade

O que o Vou Contigo não faz

Isso não é letra miúda: é uma decisão de produto e de risco legal, e está gravada no próprio modelo de dados.

🚫 Sem cuidados médicos

Não há aplicação de medicação, enfermagem, procedimentos nem cuidado clínico. O sistema não tem campos de medicação nem prontuário — só um campo de “restrições declaradas” em texto livre, com o mínimo necessário. A landing traz a seção “o que não fazemos” de propósito.

🔒 LGPD desde o schema

Dados de pessoas idosas, endereço e mobilidade são sensíveis. Coleta mínima, consentimento registrado no cadastro, fotos só com autorização explícita, exclusão a pedido, acesso ao painel apenas com login e isolamento por RLS no Supabase.

Roadmap

Três versões, uma por vez

O MVP existe para operar uma acompanhante com organização e juntar os números que validam o preço. Só depois disso entra automação, e só depois dela entra rede.

v1.0.0 ✅
Caderno digital · entregueLanding que converte para o WhatsApp, painel com agenda e cadastros, execução do atendimento com métricas de preço, relatório copiável, pacotes e saldo, financeiro em PIX manual, bot de Telegram da gestão e cron de lembretes internos. WhatsApp ainda manual.
v2.0.0 ✅
Automação · entregueBot de WhatsApp pela Evolution API (número comum via QR) para agendar, cancelar, ver horários livres e consultar saldo; confirmação, lembretes D-1 e 2h e relatório enviados sozinhos; cobrança PIX pelo Asaas com webhook de conciliação e renovação mensal; portal do familiar com saldo, histórico imprimível e calendário; inbox, fila de solicitações e timeline no painel; aprovação por botões inline no Telegram.
v3.0.0
Rede · próximaVárias acompanhantes com disponibilidade e repasse, matching por região e histórico, app PWA da acompanhante com check-in, avaliação da família, IA assistiva para escrever relatório e resumir o histórico antes da visita, financeiro completo e programa de indicação. Antes dela, fechar o que ficou parcial na v2: código por WhatsApp no portal, calendário por URL assinada, aviso “estou a caminho” no check-in e PDF gerado no servidor.