sistema-de-chamados/PROXIMOS_PASSOS.md

5.3 KiB

Roadmap de Próximos Passos

Lista priorizada de evoluções propostas para o Sistema de Chamados. Confira agents.md para visão geral, escopo atual e diretrizes de uso.

🧩 Permissões e acessos

  • Criar perfil Gestor da Empresa (cliente) com permissões específicas
    • Ver todos os chamados da sua empresa
    • Acessar relatórios e dashboards resumidos
    • Exportar relatórios em PDF ou CSV
  • Manter perfis: Administrador, Gestor, Agente e Colaborador

🧾 Tickets e atendimentos

  • Adicionar opção Exportar histórico completo em PDF (conversa, logs, movimentações)
  • Implementar justificativa obrigatória ao pausar o chamado
    • Categorias: Falta de contato / Aguardando terceiro / Em procedimento
  • Ajustar status padrão dos tickets
    • Pendentes
    • Aguardando atendimento
    • Pausados
    • (Remover “Aguardando resposta” e “Violados”)
  • Remover automaticamente da listagem ao finalizar o chamado

📊 Dashboards e relatórios

  • Criar dashboard inicial com fila de atendimento
    • Exibir chamados em: atendimento, laboratório, visitas
    • Indicadores: abertos, resolvidos, tempo médio, SLA
  • Criar relatório de horas por cliente (CSV/Dashboard)
    • Separar por atendimento interno e externo
    • Filtrar por período (dia, semana, mês)
  • Permitir exportar relatórios completos (CSV ou PDF)

⏱️ Controle de tempo e contratos

  • Adicionar botão Play interno (atendimento remoto)
  • Adicionar botão Play externo (atendimento presencial)
  • Separar contagem de horas por tipo (interno/externo)
  • Exibir e somar horas gastas por cliente (com base no tipo)
  • Incluir no cadastro:
    • Horas contratadas por mês (Convex pronto; falta migração Prisma)
    • Tipo de cliente: mensalista ou avulso
  • Enviar alerta automático por e-mail quando atingir limite de horas

💬 Comunicação e notificações

  • Diferenciar comentários públicos e privados
    • Público → envia e-mail ao cliente
    • Privado → visível apenas internamente
  • Enviar e-mail automático quando houver comentário público
    • Incluir trecho da mensagem e link direto para o chamado
  • Criar biblioteca de templates de comentário prontos
    • Exemplo: “Agradecemos seu contato”, “Seu chamado foi atualizado”, etc.

⚙️ Extras e automações (futuro)

  • Enviar alertas automáticos para gestores quando:
    • Chamado estiver pausado há mais de 48h
    • Horas contratadas atingirem 90% do limite

Arestas e observações (implantado)

  • Alerta de horas por cliente (≥ 90%)

    • SMTP precisa estar configurado no Next e no Convex (envs SMTP_ e MAILER_SENDER_EMAIL) — sem isso o envio é pulado.
    • Cron executa de hora em hora e só dispara às 08:00 America/Sao_Paulo (config ALERTS_LOCAL_HOUR). Hoje o cálculo do “início do dia” usa -03:00 fixo; revisar se houver mudança de offset/DST.
    • Prevenção de duplicados por empresa/dia é feita via consulta por intervalo. Podemos otimizar com índice específico (by_tenant_company_created).
    • Divergência de fonte de gestores: rota Next usa Prisma (role MANAGER), cron usa Convex. Ideal unificar a origem ou sincronizar regularmente.
    • Cliente SMTP atual usa AUTH LOGIN e rejectUnauthorized: false. Melhorar: validar certificado, timeout/retry e suporte a múltiplos destinatários.
  • Painel de alertas enviados (Admin)

    • Filtros atuais (empresa/período) aplicados no client; quando o Convex estiver atualizado, mover filtros para a query para melhor desempenho.
    • Adicionar paginação/limite configurável e ordenação por colunas.
  • Admin > Empresas — “Último alerta”

    • Endpoint agrega por slug em loop (N chamadas ao Convex). Melhorar com query em lote (por IDs/empresa) no Convex.
    • Exibir também percentual do uso e threshold para contexto.
  • Relatórios com filtro de empresa (Backlog/SLA/CSAT)

    • CSVs já aceitam companyId. Garantir que o Convex esteja na versão com companyId opcional nos relatórios.
    • Considerar persistir seleção global de empresa (ex.: por sessão) para consistência entre páginas.
  • Entrada de tickets por canal (dashboard)

    • Seletor de empresa com busca dentro do dropdown. Melhorias: limpar busca ao fechar o menu; paginar/virtualizar se lista for grande.
    • CSV acompanha companyId e período.
  • Horas por cliente

    • Busca por nome e filtro por empresa aplicados no UI; CSV aceita q e companyId para exportar filtrado.
    • Considerar paginação e indicadores agregados (soma total por período; top N clientes).
  • PDF do ticket

    • Usa Inter de public/fonts quando disponível; fallback para Helvetica. Em ambientes serverless, garantir acesso aos arquivos de fonte.
    • Melhorias possíveis: incorporar logo/cores por tenant e fontes customizadas por cliente.
  • Tipos e testes

    • Removidos any nas áreas alteradas. Ainda há any em módulos antigos (tickets/mappers/admin). Plano: tipificar por módulo gradualmente.
    • Testes adicionados (CSV/TZ). Próximos: snapshots de CSVs de relatórios, validação de formatação de data/hora, e2e dos endpoints principais (modo mockado).
  • Implementar trilha de auditoria (quem pausou, finalizou, comentou)

  • Permitir exportar logs de auditoria (CSV/PDF)