👥

Módulo: Clientes, Usuários e Funcionários – BarberBot

Documentação técnica do painel (sistema/painel/paginas/) para manutenção do cadastro, permissões e profissionais.
PAINEL CRUD PERMISSÕES AGENDA

Este módulo agrupa os cadastros centrais do BarberBot: Clientes (base de atendimento e cobrança), Usuários (acesso ao painel e permissões) e Funcionários (profissionais + agenda + serviços vinculados). A estrutura segue o padrão do projeto: cada pasta contém endpoints de operação (listar.php, salvar.php, excluir.php) e, quando necessário, arquivos extras para fluxos específicos (ex.: mudar-status.php, baixar.php, listar-horarios.php).

🧭 Atalhos (para o dev se achar rápido)

Dica: quando você ver mudar-status.php / baixar.php / add-permissoes.php, trate como fluxo sensível: validar permissão, validar ID, registrar log e retornar a mensagem exata esperada pelo AJAX.

📁 Estrutura (pasta do painel)

Caminho padrão no BarberBot: sistema/painel/paginas/. Os módulos abaixo costumam existir como subpastas.

sistema/painel/paginas/
  ├─ clientes/
  │   ├─ listar.php
  │   ├─ salvar.php
  │   ├─ excluir.php
  │   ├─ ... (extras: cobrar/recorrência/contrato/anexos)
  │
  ├─ usuarios/
  │   ├─ listar.php
  │   ├─ salvar.php
  │   ├─ excluir.php
  │   ├─ mudar-status.php
  │   ├─ listar-permissoes.php
  │   ├─ add-permissao.php | add-permissoes.php
  │   └─ limpar-permissoes.php
  │
  ├─ funcionarios/
  │   ├─ listar.php
  │   ├─ salvar.php
  │   ├─ excluir.php
  │   ├─ mudar-status.php
  │   ├─ inserir-horario.php | listar-horarios.php | excluir-horarios.php
  │   ├─ inserir-dias.php    | listar-dias.php     | excluir-dias.php
  │   └─ inserir-servico.php | listar-servicos.php  | excluir-servico.php
  │
  └─ grupos/ e acessos/ (quando usado)
      ├─ listar.php
      ├─ salvar.php
      └─ excluir.php

👤 Clientes (cadastro + relacionamento + cobrança)

O cliente é a entidade central do atendimento. Além do cadastro básico, o módulo costuma integrar: histórico de visitas/agendamentos, cobranças/recorrência, anexos, contratos e relacionamento (marketing/retorno).

Arquivos típicos

Pontos críticos (clientes)

🧑‍💻 Usuários (contas de acesso ao painel)

Usuários são contas do painel (admin, gerente, atendente etc). O controle de acesso geralmente é feito por grupos/perfis + permissões por módulo.

Arquivos típicos

Pontos críticos (usuários)

💈 Funcionários (profissionais + agenda + serviços)

Funcionários são os profissionais que atendem. O módulo geralmente controla: cadastro, status, dias/horários disponíveis e quais serviços cada profissional executa.

Arquivos típicos

Pontos críticos (funcionários)

🔑 Permissões & Grupos (visão prática)

O BarberBot costuma separar perfil/grupo (papel) de permissões por módulo (o que pode abrir/executar). O padrão é: telas do painel verificam permissões; endpoints também devem validar.

Regra prática: tela escondida não é permissão. Se existe endpoint acessível por URL, precisa validar sessão + permissão antes de rodar SQL.

🔄 Fluxos críticos (resumo)

1) Onboarding de um novo negócio / usuário admin

  1. Cria usuário (admin) → define grupo/perfil.
  2. Vincula permissões (por grupo ou por usuário).
  3. Cria funcionários (profissionais) e define agenda e serviços.
  4. Cadastra clientes e inicia atendimentos/agendamentos.

2) Cadastro de funcionário com agenda

  1. funcionarios/salvar.php cria o profissional.
  2. funcionarios/inserir-dias.php define dias disponíveis.
  3. funcionarios/inserir-horario.php define horários por dia.
  4. funcionarios/inserir-servico.php vincula serviços.

3) Gestão de permissões

  1. Admin abre usuarios/listar-permissoes.php.
  2. Concede via add-permissao(s).php ou limpa via limpar-permissoes.php.
  3. Endpoints sensíveis devem registrar log do evento.

🛡️ Segurança (sem frescura)

✅ Checklist rápido (para o próximo dev)

Se você quiser que eu deixe esta página 100% “espelhada” do seu código (nomes/arquivos exatos), eu cruzo com o conteúdo real das pastas do seu painel e ajusto item por item.