Digital Face Agenda — Product Spec Completo
Data: 2026-04-16
Autor: Gabriel Mowses / Digital Face
Status: Planejamento
1. Visao do Produto
Nome: Agenda (nome comercial TBD — sugestoes: DigiAgenda, CloudAgenda, AgendaFace)
O que e: SaaS de agendamento online multi-segmento. Cliente final agenda pelo link, WhatsApp, ou widget. Profissional gerencia calendario, equipe, pagamentos e lembretes.
Diferencial: Integra com ChatDigi (WhatsApp nativo + IA) e ByClinic (gestao clinica). Nenhum concorrente BR tem os 3 juntos.
Publico-alvo:
- Barbearias e saloes
- Clinicas medicas e odontologicas
- Clinicas de estetica
- Personal trainers e academias
- Consultorios psicologia/nutricao
- Qualquer negocio que agenda horarios
2. Pesquisa de Mercado
Concorrentes analisados
| Produto |
Preco |
Diferenciais |
Fraquezas |
| TuaAgenda |
R$19,90/mes (plano unico) |
App iOS/Android, offline, multi-agenda, anamnese, sem custo por funcionario, trial 30d |
Sem IA, sem WhatsApp nativo, sem pagamento integrado, UI datada |
| Simples Agenda |
R$39,90+/mes |
Agendamento online, lembretes, financeiro |
Sem IA, sem WhatsApp, mais caro |
| Calendly |
$10-16 USD/mes/seat |
Referencia global, integracoes ricas |
Caro pro BR, sem WhatsApp, nao foca servicos |
| AgendaAi |
Gratis + Pro |
Teste gratis 7d, flexivel |
Limitado |
| Fresha |
Gratis (comissao) |
450k profissionais, saloes |
Modelo comissao, sem WhatsApp |
Gaps no mercado BR
- Ninguem integra WhatsApp nativo — todos usam SMS ou email pra lembrete
- Ninguem tem IA — bot que agenda via conversa natural
- Ninguem integra CRM de atendimento — agenda isolada do suporte
- Ninguem integra gestao clinica — agenda separada do prontuario
- Pagamento PIX integrado — poucos tem, nenhum com AbacatePay
Funcionalidades padrao do mercado (must-have)
- Pagina publica de agendamento (link compartilhavel)
- Calendario visual (dia/semana/mes)
- Multi-profissional (sem custo extra por funcionario)
- Multi-servico (nome, duracao, preco, cor)
- Horarios configuráveis por profissional
- Excecoes/bloqueios (ferias, feriados, almoco)
- Lembretes automaticos (WhatsApp/email/SMS)
- Confirmacao de agendamento
- Cancelamento/reagendamento pelo cliente
- Controle financeiro basico (recebimentos)
- App mobile ou PWA
- Relatorios (ocupacao, receita, no-show)
Funcionalidades diferencial (nice-to-have → nosso diferencial)
- Bot WhatsApp que agenda (via ChatDigi)
- IA sugere horarios baseado em historico
- Pagamento sinal PIX no ato do agendamento
- Fidelidade (X visitas → desconto)
- Remarketing automatico (cliente sumiu → msg WhatsApp)
- Clubes de assinatura (pacote mensal)
- Integracao prontuario (via ByClinic)
- Lista de espera automatica (slot cancela → proximo da fila)
- Multi-unidade (filiais)
3. Stack Tecnica
| Camada |
Tecnologia |
Justificativa |
| Backend |
FastAPI (Python 3.12) |
Alinha com ByClinic, async nativo, typing forte |
| ORM |
SQLAlchemy 2.0 async |
Alinha com ByClinic, migrations via Alembic |
| DB |
PostgreSQL 16 |
Mesmo do ByClinic, pgvector se precisar IA |
| Cache/Queue |
Redis 7 + Celery |
Alinha com ByClinic, tasks async |
| Frontend |
Next.js 16 + React 19 |
Alinha com ByClinic, SSR pra SEO na pagina publica |
| UI |
Ant Design 5 + Tailwind CSS 4 |
Alinha com ByClinic, CloudFace DS |
| Auth |
JWT (access + refresh) |
Padrao Digital Face |
| Payments |
AbacatePay PIX |
Padrao Digital Face |
| Infra |
Docker Compose → VPS |
Padrao Digital Face, Traefik reverse proxy |
4. Modelos de Dados
Total: 12 tabelas
| Tabela |
Descricao |
| organizations |
Tenant. Slug unico = URL publica |
| users |
Usuarios da org. Roles: owner, admin, professional, receptionist |
| services |
Catalogo de servicos (nome, duracao, preco, cor) |
| professionals |
Profissionais da org |
| professional_services |
N:N profissional ↔ servico (com override preco/duracao) |
| schedule_rules |
Regras de horario por profissional e dia da semana |
| schedule_exceptions |
Bloqueios e dias extras |
| clients |
Clientes com metricas (total_appointments, total_spent, loyalty_points) |
| appointments |
Agendamentos com status machine |
| payments |
Financeiro (PIX, dinheiro, cartao) |
| integrations |
Conexoes com ChatDigi e ByClinic |
| integration_webhook_logs |
Log de webhooks in/outbound |
5. Frontend — Paginas
Admin (autenticado)
| Pagina |
Componentes principais |
| /dashboard |
KPI cards, proximos agendamentos, grafico semanal |
| /calendar |
Calendario dia/semana/mes, drag-drop, click-to-book, filtro por profissional |
| /appointments |
Tabela com filtros, bulk actions |
| /services |
CRUD cards com cor, duracao, preco, drag-reorder |
| /professionals |
CRUD cards com avatar, servicos associados |
| /schedule |
Grade semanal por profissional, copiar entre profissionais |
| /clients |
Tabela busca, perfil com historico, metricas |
| /reports |
Ocupacao, receita, no-show, clientes inativos, servicos populares |
| /financeiro |
Extrato, pagamentos pendentes, gerar PIX |
| /settings |
Org config, timezone, buffer time, politica cancelamento, integracoes |
Publico (SSR, SEO-friendly)
| Pagina |
Descricao |
| /book/{slug} |
Stepper: Servico → Profissional → Data/horario → Dados → Confirmacao |
| /book/{slug}/cancel?token=X |
Cancelamento via link do lembrete |
| /book/{slug}/reschedule?token=X |
Reagendamento via link |
6. Notificacoes (Celery tasks)
| Evento |
Canal |
Template |
| Agendamento criado |
Email + Webhook |
"Seu agendamento foi confirmado: {servico} com {profissional} em {data} as {hora}" |
| Lembrete (N min antes) |
Email + Webhook → ChatDigi WhatsApp |
"Lembrete: amanha as {hora} voce tem {servico} com {profissional}. Confirme ou cancele: {link}" |
| Cancelamento |
Email + Webhook |
"Seu agendamento de {data} foi cancelado." |
| No-show registrado |
Webhook |
(interno — admin decide acao) |
| Cliente inativo |
Webhook → ChatDigi WhatsApp |
"Faz tempo que nao te vemos! Que tal agendar? {link}" |
7. Planos e Pricing
| Plano |
Preco |
Profissionais |
Agendamentos/mes |
Features |
| Free |
R$0 |
1 |
50 |
Pagina publica, calendario, lembretes email |
| Pro |
R$49/mes |
5 |
Ilimitado |
+ multiplos profissionais, relatorios, PIX, integracoes |
| Business |
R$99/mes |
Ilimitado |
Ilimitado |
+ fidelidade, remarketing, clubes, multi-unidade |
Agenda ↔ ChatDigi
Agenda → ChatDigi:
appointment.created → Envia confirmacao WhatsApp
appointment.reminder → Envia lembrete WhatsApp
appointment.cancelled → Notifica atendente
client.inactive → Dispara remarketing WhatsApp
ChatDigi → Agenda:
Bot: "Quero agendar" → Busca slots → Mostra opcoes → Confirma
Atendente: botao "Agendar" no ticket → abre booking do Agenda
IA: intencao "agendar" → chama API Agenda automaticamente
Agenda ↔ ByClinic
Agenda → ByClinic:
appointment.created → Cria/atualiza paciente se nao existe
appointment.completed → Log no prontuario
appointment.noshow → Flag no prontuario
ByClinic → Agenda:
Na ficha do paciente: botao "Agendar" → chama API Agenda
payment.received → Marca appointment como pago
patient.updated → Atualiza dados do client no Agenda
9. Roadmap de Implementacao
| Fase |
Escopo |
Sessoes |
Semana |
| S1 |
Scaffold + Docker + Auth + Models + Migrations |
2 |
Sem 1 |
| S2 |
Scheduling Engine + API CRUD + Availability |
3 |
Sem 2-3 |
| S3 |
Frontend: layout + calendar + CRUDs |
3 |
Sem 3-4 |
| S4 |
Pagina publica /book/{slug} (SSR) |
2 |
Sem 5 |
| S5 |
Notifications (Celery + email + webhooks) |
1 |
Sem 5 |
| S6 |
Pagamentos AbacatePay PIX |
1 |
Sem 6 |
| S7 |
Relatorios + Dashboard |
2 |
Sem 6-7 |
| S8 |
Integration Protocol (ChatDigi + ByClinic) |
2 |
Sem 7-8 |
| S9 |
Fidelidade + Remarketing + Clubes |
2 |
Sem 8-9 |
| S10 |
PWA + LGPD + Landing + Deploy |
2 |
Sem 9-10 |
Total: ~20 sessoes / ~10 semanas