👥

Módulos: Clientes, Usuários e Funcionários (Painel)

Cadastro, permissões e profissionais — base operacional do BarberBot no painel.

Este documento cobre o conjunto de módulos de Clientes, Usuários e Funcionários presentes em sistema/painel/paginas/. A estrutura segue o padrão do BarberBot: página principal na raiz (UI) + subpasta com endpoints AJAX (listar/salvar/excluir e rotinas específicas). As informações abaixo foram extraídas automaticamente deste pacote.

📁 Estrutura do pacote (para localizar rápido)

├─ clientes/
│  ├─ baixar.php
│  ├─ data_extenso.php
│  ├─ error_log
│  ├─ excluir.php
│  ├─ excluir_marketing.php
│  ├─ gerar_cobranca.php
│  ├─ listar-debitos.php
│  ├─ listar.php
│  ├─ listar_cobrancas.php
│  ├─ mostar_parcelas.php
│  ├─ quick_save.php
│  ├─ recorrencia.php
│  ├─ salvar-contrato.php
│  ├─ salvar.php
│  ├─ texto-contrato.php
│  └─ valor.php
├─ funcionarios/
│  ├─ error_log
│  ├─ excluir-dias.php
│  ├─ excluir-horarios.php
│  ├─ excluir-servico.php
│  ├─ excluir.php
│  ├─ inserir-dias.php
│  ├─ inserir-horario.php
│  ├─ inserir-servico.php
│  ├─ listar-dias.php
│  ├─ listar-horarios.php
│  ├─ listar-servicos.php
│  ├─ listar.php
│  ├─ mudar-status.php
│  └─ salvar.php
├─ usuarios/
│  ├─ add-permissao.php
│  ├─ add-permissoes.php
│  ├─ error_log
│  ├─ excluir.php
│  ├─ limpar-permissoes.php
│  ├─ listar-permissoes.php
│  ├─ listar.php
│  ├─ mudar-status.php
│  ├─ salvar.php
│  └─ usuarios.php
├─ clientes.php
├─ funcionarios.php
└─ usuarios.php
  • clientes.php, usuarios.php, funcionarios.php: páginas do módulo (UI) incluídas pelo router do painel.
  • clientes/, usuarios/, funcionarios/: endpoints e fluxos (CRUD + utilitários).

🧭 Mapa dos módulos

  • Clientes (clientes.php / clientes/*): cadastro, contratos, cobranças e recorrência.
  • Funcionários (funcionarios.php / funcionarios/*): cadastro de profissionais, horários, dias e serviços vinculados.
  • Usuários (usuarios.php / usuarios/*): contas de acesso, status e permissões por usuário.

Regra do projeto: endpoints com mudar-status.php, baixar.php, recorrencia.php e similares devem ser tratados como fluxos críticos.

🗄️ Tabelas identificadas (por pasta)

Detecção automática baseada em SQL encontrado no código. Use como “mapa” para localizar joins/updates.

  • (raiz): cargos, formas_pgto, frequencias, produtos, servicos
  • clientes: clientes, cobrancas, frequencias, produtos, receber, servicos, usuarios
  • funcionarios: servicos, servicos_func
  • usuarios: acessos, cargos, grupo_acessos, usuarios_permissoes

📌 Detalhamento arquivo a arquivo (clientes/usuarios/funcionarios)

Tabela para localizar rapidamente cada endpoint e seus parâmetros.

Arquivo Responsabilidade Operações Tabelas (detecção automática) Parâmetros (GET/POST) Retorno
clientes.php Página principal do módulo (UI). Geralmente carrega JS e aponta para a subpasta do módulo. SELECT formas_pgto, frequencias, produtos, servicos HTML/String
clientes/baixar.php Ação de fluxo (baixa/fechamento/ação crítica) com validação e update. INSERT, SELECT, UPDATE cobrancas, receber data_baixa, forma_pgto, id, residuo, valor_final HTML/String
clientes/data_extenso.php Arquivo auxiliar do módulo. HTML/String
clientes/excluir.php Exclusão/remoção (DELETE) via POST. DELETE id HTML/String
clientes/excluir_marketing.php Exclusão/remoção (DELETE) via POST. UPDATE id HTML/String
clientes/gerar_cobranca.php Arquivo auxiliar do módulo. data, descricao, id_par, juros, multa, parcela, telefone, valor HTML/String
clientes/listar-debitos.php Consulta/visualização. SELECT clientes id, pagina HTML/String
clientes/listar.php Listagem (retorna HTML para tabela/grade via AJAX). SELECT receber, servicos busca, pagina HTML/String
clientes/listar_cobrancas.php Consulta/visualização. SELECT receber id HTML/String
clientes/mostar_parcelas.php Consulta/visualização. SELECT clientes id_emp, mostrar HTML/String
clientes/quick_save.php Rotina de atualização/cadastro. INSERT, SELECT nome, whatsapp HTML/String
clientes/recorrencia.php Rotina de atualização/cadastro. INSERT, SELECT, UPDATE clientes, frequencias, receber cliente, data_venc, frequencia, id, id2, obs, parcelas, valor HTML/String
clientes/salvar-contrato.php Rotina de atualização/cadastro. INSERT, SELECT, UPDATE contrato, id HTML/String
clientes/salvar.php Ação de gravação (INSERT/UPDATE) via POST. INSERT, SELECT, UPDATE cartao, cpf, data_nasc, endereco, id, nome, telefone HTML/String
clientes/texto-contrato.php Consulta/visualização. SELECT clientes, receber, usuarios id, receber_id, servico_nome, valor HTML/String
clientes/valor.php Consulta/visualização. SELECT produtos produt HTML/String
funcionarios.php Página principal do módulo (UI). Geralmente carrega JS e aponta para a subpasta do módulo. SELECT cargos, servicos HTML/String
funcionarios/excluir-dias.php Exclusão/remoção (DELETE) via POST. DELETE id HTML/String
funcionarios/excluir-horarios.php Exclusão/remoção (DELETE) via POST. DELETE id HTML/String
funcionarios/excluir-servico.php Exclusão/remoção (DELETE) via POST. DELETE id HTML/String
funcionarios/excluir.php Exclusão/remoção (DELETE) via POST. DELETE, SELECT servicos_func id HTML/String
funcionarios/inserir-dias.php Ação de gravação (INSERT/UPDATE) via POST. INSERT, UPDATE dias, final, final_almoco, id, id_d, inicio, inicio_almoco HTML/String
funcionarios/inserir-horario.php Ação de gravação (INSERT/UPDATE) via POST. INSERT data, horario, id HTML/String
funcionarios/inserir-servico.php Ação de gravação (INSERT/UPDATE) via POST. INSERT, SELECT id, servico HTML/String
funcionarios/listar-dias.php Listagem (retorna HTML para tabela/grade via AJAX). SELECT func HTML/String
funcionarios/listar-horarios.php Listagem (retorna HTML para tabela/grade via AJAX). SELECT func HTML/String
funcionarios/listar-servicos.php Listagem (retorna HTML para tabela/grade via AJAX). SELECT servicos func, id HTML/String
funcionarios/listar.php Listagem (retorna HTML para tabela/grade via AJAX). SELECT HTML/String
funcionarios/mudar-status.php Altera/consulta status (geralmente UPDATE e retorno simples). UPDATE acao, id HTML/String
funcionarios/salvar.php Ação de gravação (INSERT/UPDATE) via POST. INSERT, SELECT, UPDATE atendimento, cargo, chave_pix, comissao, cpf, email, endereco, id… HTML/String
usuarios.php Página principal do módulo (UI). Geralmente carrega JS e aponta para a subpasta do módulo. SELECT cargos HTML/String
usuarios/add-permissao.php Ação de gravação (INSERT/UPDATE) via POST. DELETE, INSERT, SELECT usuarios_permissoes idpermissao, idusuario HTML/String
usuarios/add-permissoes.php Ação de gravação (INSERT/UPDATE) via POST. DELETE, INSERT, SELECT acessos, usuarios_permissoes id HTML/String
usuarios/excluir.php Exclusão/remoção (DELETE) via POST. DELETE, SELECT id HTML/String
usuarios/limpar-permissoes.php Rotina de exclusão/limpeza. DELETE usuarios_permissoes id HTML/String
usuarios/listar-permissoes.php Consulta/visualização. SELECT acessos, grupo_acessos, usuarios_permissoes id HTML/String
usuarios/listar.php Listagem (retorna HTML para tabela/grade via AJAX). SELECT HTML/String
usuarios/mudar-status.php Altera/consulta status (geralmente UPDATE e retorno simples). UPDATE acao, id HTML/String
usuarios/salvar.php Ação de gravação (INSERT/UPDATE) via POST. INSERT, SELECT, UPDATE atendimento, cargo, cpf, email, endereco, id, nome, telefone… HTML/String
usuarios/usuarios.php Consulta/visualização. SELECT cargos HTML/String

⚙️ Fluxos importantes

Clientes: contrato e cobranças

  • Arquivos como salvar-contrato.php, texto-contrato.php e data_extenso.php dão suporte à geração/armazenamento de contrato.
  • Rotinas listar_cobrancas.php, gerar_cobranca.php, baixar.php integram o cliente ao financeiro (tabelas de contas/cobranças).
  • recorrencia.php indica cobrança recorrente: validar duplicidade e data de vencimento antes de inserir novas contas.

Funcionários: horários/dias/serviços

  • O módulo mantém estrutura de disponibilidade por dias e horários (endpoints inserir-dias.php, listar-dias.php, inserir-horario.php, etc.).
  • Vínculo serviço↔funcionário (endpoints inserir-servico.php, listar-servicos.php, excluir-servico.php) é usado por outros módulos do painel.

Usuários: permissões por usuário

  • Além do CRUD, há endpoints de permissão: listar-permissoes.php, add-permissao(s).php, limpar-permissoes.php.
  • Qualquer alteração em permissões deve exigir perfil admin e registrar auditoria (se o projeto tiver logs).

🔐 Segurança e manutenção

  • Validação de sessão: páginas e endpoints devem ser protegidos por verificar.php (padrão do painel).
  • Sanitização: dados de cliente (CPF/telefone/endereço) e usuário (email/login) devem ser validados e normalizados.
  • Integridade referencial: ao excluir clientes/funcionários, verificar dependências (agendamentos, contas, serviços vinculados).
  • LGPD: dados pessoais → cuidado com relatórios/exportações e permissões de acesso.

✅ Checklist rápido

  • Confirmar consistência entre “usuário do sistema” e “funcionário” (tabelas diferentes, mas relacionadas pelo fluxo).
  • Revisar endpoints críticos: baixar.php, mudar-status.php, gerar_cobranca.php, recorrencia.php.
  • Garantir índices em colunas usadas em filtros: cliente, funcionario, status, data.