Modelo de Dados¶
Visão Geral¶
A API Pontotel organiza seus dados em entidades hierárquicas e interdependentes. Compreender esse modelo é essencial para planejar uma integração consistente.
Grafo de Entidades¶
graph TD
EMPLOYER["🏢 Empregador"]
LOCAL["📍 Local de Trabalho"]
GRUPO["📁 Grupo"]
JORNADA["⏰ Jornada"]
ESCALA["📅 Escala"]
EMP["👤 Empregado"]
USR["🔑 Usuário"]
FERIAS["🏖️ Férias"]
AFASTA["🏥 Afastamento"]
MARCA["🕐 Marcação de Ponto"]
EMPLOYER --> LOCAL
EMPLOYER --> GRUPO
GRUPO --> LOCAL
LOCAL --> EMP
JORNADA --> ESCALA
ESCALA --> EMP
EMP --> USR
EMP --> FERIAS
EMP --> AFASTA
EMP --> MARCA Descrição das Entidades¶
🏢 Empregador¶
Representa a empresa empregadora (CNPJ/CPF). É a raiz organizacional — todos os locais, grupos e empregados pertencem a um empregador.
Role na integração: Base para separar dados em cenários multi-CNPJ. O "código do empregador" deve ser alinhado ao ERP/folha.
📍 Local de Trabalho¶
Unidade organizacional onde o colaborador é alocado. Não precisa ser um local físico — pode representar departamentos, equipes ou filiais.
Role na integração: Define região/fuso horário que impacta feriados e timestamps de marcações. É filtro principal em relatórios.
📁 Grupo¶
Mecanismo de agrupamento para organizar locais de trabalho (e/ou usuários), criando "views" operacionais para relatórios e filtros.
Exemplo: "Filiais do Sul", "Equipe de Vendas SP".
⏰ Jornada¶
Define os horários dentro do dia: entrada, saída, intervalos e se há trabalho previsto.
- Com trabalho: tem previsão de entrada/saída e duração.
- Sem trabalho: não prevê comparecimento; ausência não gera falta.
⚠️ Dependência: Jornadas devem ser cadastradas antes das escalas.
📅 Escala¶
Define a sequência de dias trabalhados e folgas ao longo do tempo (ex.: 6×1, 12×36, 5×2). Para cada dia, a escala aponta qual jornada será seguida.
Role na integração: O colaborador é associado a uma escala para automatizar a rotina. Mudanças de escala impactam folha e compliance.
👤 Empregado¶
O cadastro central do colaborador na Pontotel — concentra dados de identificação, estrutura organizacional (local, empregador) e parametrizações de rotina (escala/jornada).
Role na integração: É a entidade mais sincronizada. Base para vincular usuários, registros de ponto, férias e afastamentos.
🔑 Usuário¶
A identidade de acesso ao sistema (login). Na prática: usuário é quem acessa, empregado é quem trabalha.
Em muitos cenários o usuário é vinculado a um empregado para que o colaborador possa registrar ponto com seus próprios dados.
Tipos: - Gestão — perfil administrativo (RH, supervisão) - Funcionário — perfil restrito para registro de ponto pessoal - Coletivo — para dispositivos compartilhados (quando aplicável)
🏖️ Férias / 🏥 Afastamentos¶
Registros de ausências programadas (férias) ou justificadas (atestados, licenças). Evitam inconsistências na folha e apontamentos incorretos.
🕐 Marcação de Ponto¶
Registro de entrada/saída do empregado. Sempre associado a um empregado e com timestamp no fuso horário correto (ISO 8601 com offset).
Dependências Operacionais¶
A ordem de cadastro imposta pelas dependências entre entidades é:
| Text Only | |
|---|---|
Atenção: Jornada antes de Escala
A escala referencia jornadas por dia. Se você tentar criar uma escala sem jornadas cadastradas, a operação falhará.
Diferença: Usuário vs. Empregado¶
| Usuário | Empregado | |
|---|---|---|
| O que é | Identidade de acesso (login) | Cadastro do colaborador (RH) |
| Para que serve | Autenticar e operar o sistema | Gestão de ponto, folha, escalas |
| Obrigatório para ponto | Sim (login) | Sim (dados cadastrais) |
| Vinculação | Pode estar vinculado a um empregado | Pode ter um usuário associado |
| Endpoint | /usuarios/ | /empregados/ |
Diferença: Jornada vs. Escala¶
| Jornada | Escala | |
|---|---|---|
| Define | Horários do dia (entrada/saída/intervalos) | Sequência de dias (trabalho/folga) |
| Granularidade | 1 dia | Ciclo repetível (ex.: 6×1) |
| Dependência | Independente | Depende de jornadas |
| Exemplos | "08h–17h, 1h intervalo" | "6 dias trabalho, 1 folga" |
Checklist de Consistência (para integrações)¶
- Chaves únicas definidas e estáveis (código do empregador, local e empregado)
- Jornadas cadastradas antes das escalas
- Usuário "funcionário" vinculado ao empregado para evitar divergência de dados
- Região e fuso horário do local de trabalho configurados corretamente (impacta feriados e timestamps)
- E-mail do usuário padronizado conforme política corporativa (evitar colisões)