Analytics¶
El módulo de Analytics de Pontotel ofrece views (visiones) de lectura que consolidan datos de punto, jornada, banco de horas y otros dominios en un formato optimizado para consulta y análisis.
Sólo lectura
Las views de analítica son sólo lectura. Para crear, cambiar o descartar registros, utilice los endpoints REST de la API.
Jurisdiciones
Algunos campos están disponibles según la jurisdicción del registro:
- 🇷🇷 Disponible sólo cuando la jurisdicción del registro sea Brasil
- 🌐 Disponible cuando la jurisdicción sea diferente de Brasil (ex: Argentina o Internacional)
Vistas disponibles¶
| View | Descripción |
|---|---|
apontamentos_diarios_view | Apuntamientos diarios por empleado y rúbrica |
baixas_de_banco_de_horas_view | Bajas realizadas en el banco de horas |
banco_de_horas_por_apontamento_view | Banco de horas detallado por apuntamiento |
banco_de_horas_por_mes_view | Banco de horas consolidado por mes |
dispensas_view | Dispensas y justificaciones de ausencia |
empregados_view | Cadastro completo de los empleados |
ferias_view | Períodos de vacaciones planificados y solicitados |
marcacoes_view | Marcaciones de punto con detalles técnicos |
saldos_diarios_de_banco_de_horas_view | Saldos diarios del banco de horas |
gestao_de_he_view | Solicitaciones de aprobación de horas extras |
jornada_do_dia_view | Jornada diaria de cada empleado |
turnover_view | Métricas de turnover y retención |
Campos de identificación del empleado¶
La mayoría de las views comparten un conjunto base de columnas de identificación del empleado. Cuando una view referencia empregado_id la usuario_email (o variaciones como emp_id la lider_direto_email), los campos son:
| Columna | Tipo | Descripción |
|---|---|---|
empregado_id | text | Identificador único del empleado |
empregado_nome | text | Nombre completo del empleado |
empregado_cpf | text | CPF del empleado |
empregado_numero_identificador | text | Número del documento localizado 🌐 |
empregado_dia_de_admissao | date | Fecha de admisión |
empregado_esta_demitido | boolean | Si el empleado está despedido |
empregado_dia_de_demissao | date | Fecha de dimisión si hay |
empregado_codigo | text | Código interno del empleado |
empregado_funcao | text | Cargo o función actual |
empregado_departamento | text | Departamento actual |
local_nome | text | Nombre del lugar de trabajo |
local_regiao_nome | text | Nombre de la región del lugar de trabajo |
local_regiao_tipo | text | Tipo de región (city, country o state) |
empregador_nome | text | Nombre del empleador |
empregador_cnpj | text | CNPJ del empleador |
empregador_cpf | text | CPF del empleador, si procede 🇧🇷 |
lider_direto_id | text | Identificador único del líder directo |
lider_direto_nome | text | Nombre completo del líder directo |
lider_direto_email | text | Correo electrónico del líder directo |
usuario_email | text | Correo electrónico de la cuenta de usuario vinculada al empleado |
apontamentos_diarios_view¶
Apuntamientos calculados por día, por empleado y por rúbrica.
Valores en horas decimales
El campo apontamento_valor se expresa en horas decimales. Ejemplo: 1.50 equivale a 1h30min.
| Columna | Tipo | Descripción |
|---|---|---|
empregado_id la usuario_email | Varios | Campos de identificación del empleado |
apontamento_dia | date | Fecha del indicador |
apontamento_valor | numeric | Valor del apuntamento en horas decimales (por ejemplo: 1.50 = 1h30min) |
rubrica_nome_completo | text | Nombre completo de la partida |
rubrica_nome_abreviado | text | Nombre abreviado de la partida |
rubrica_codigo | text | Código de identificación de la rúbrica |
baixas_de_banco_de_horas_view¶
Registros de bajas realizadas en el banco de horas, parciales o totales.
| Columna | Tipo | Descripción |
|---|---|---|
empregado_id la usuario_email | Varios | Campos de identificación del empleado |
data_da_baixa | date | Fecha en que ocurrió la baja |
data_de_pagamento | date | Fecha de pago en hoja de esta baja |
valor_da_baixa | numeric | Valor de la baja en horas decimales (por ejemplo: 1.50 = 1h30min) |
eh_baixa_parcial | boolean | Si la baja fue parcial (true) o total (false) |
rubrica_nome_completo | text | Nombre completo de la partida asociada |
rubrica_nome_abreviado | text | Nombre abreviado de la partida |
rubrica_codigo | text | Código de la rúbrica |
data_criacao_baixa | timestamp | Fecha y hora de creación del registro (UTC) |
quem_criou_baixa | text | ID del usuario que creó la baja |
banco_de_horas_por_apontamento_view¶
Banco de horas detallado por apuntamiento, con fecha de vencimiento por registro.
| Columna | Tipo | Descripción |
|---|---|---|
empregado_id la usuario_email | Varios | Campos de identificación del empleado |
mes | integer | Mes de referencia del banco de horas |
ano | integer | Año de referencia del banco de horas |
apontamento_valor | numeric | Valor de la partida en el cierre en horas decimales (por ejemplo: 1.50 = 1h30min) |
apontamento_data_de_vencimento | date | Fecha de vencimiento de este indicador |
rubrica_nome_completo | text | Nombre completo de la partida |
rubrica_nome_abreviado | text | Nombre abreviado de la partida |
rubrica_codigo | text | Código de identificación de la rúbrica |
banco_de_horas_por_mes_view¶
Banco de horas consolidado por mes, con saldos, créditos y adeudos mensuales y generales.
| Columna | Tipo | Descripción |
|---|---|---|
empregado_id la usuario_email | Varios | Campos de identificación del empleado |
mes | integer | Mes de referencia |
ano | integer | Año de referencia |
data_de_vencimento | date | Fecha de vencimiento consolidada para el período |
balanco_mensal | numeric | Suma de los valores de la partida de balance del mes |
debitos_mensais | numeric | Total de débitos mensuales |
creditos_mensais | numeric | Total créditos mensuales |
saldo_mensal | numeric | Saldo mensual consolidado del banco de horas |
debitos_gerais | numeric | Total de adeudos acumulados en el período |
creditos_gerais | numeric | Total créditos acumulados en el período |
saldo_geral | numeric | Saldo acumulado general del banco de horas en el período |
dispensas_view¶
Registros de dispensas y justificaciones de ausencia de los empleados.
| Columna | Tipo | Descripción |
|---|---|---|
dispensa_id | text | Identificador único de la dispensa |
dia | date | Fecha de la dispensa |
dia_inteiro | boolean | Si la dispensa cubre todo el día |
inicio | timestamp | Horario de inicio de la dispensa (si parcial) |
fim | timestamp | Horario de término de la dispensa |
motivo_codigo | text | Código de razón/justificativa |
motivo_nome | text | Nombre de la justificación (por ejemplo: Consulta Médica) |
emp_id la lider_direto_email | Varios | Campos de identificación del empleado |
empregados_view¶
Visión consolidada del registro de todos los empleados.
| Columna | Tipo | Descripción |
|---|---|---|
id | text | Identificador único inmutable |
nome | text | Nombre completo |
codigo | text | Código único costeable |
cpf | text | CPF |
numero_identificador | text | Número del documento localizado 🌐 |
dia_de_admissao | date | Fecha de admisión |
esta_demitido | boolean | Si el empleado está actualmente despedido |
dia_de_demissao | date | Fecha de dimisión si hay |
funcao | text | Cargo/función actual |
departamento | text | Departamento actual |
local | text | Nombre del lugar de trabajo actual |
local_regiao | text | Nombre de la región del lugar de trabajo actual — utilizada para definición de días festivos en la hoja de punto |
local_tipo_regiao | text | Tipo de región (País, Estado o Cidade) |
empregador | text | Nombre del empleador actual |
empregador_cnpj | text | CNPJ del empleador |
empregador_cpf | text | CPF del empleador |
lider_direto_id | text | Identificador único del líder directo |
lider_direto_nome | text | Nombre completo del líder directo |
lider_direto_email | text | Correo electrónico del líder directo |
usuario_email | text | Correo electrónico de la cuenta de usuario vinculada al empleado |
ferias_view¶
Períodos de vacaciones originados de planificación o solicitudes.
| Columna | Tipo | Descripción |
|---|---|---|
empregado_id la lider_direto_email | Varios | Campos de identificación del empleado |
origem_id | text | Identificador de la entidad de origen (planificación o solicitud) |
origem_tipo | text | Tipo de origen: planejamento o solicitacao |
inicio | date | Fecha de inicio de las vacaciones |
fim | date | Fecha de fin de las vacaciones |
fim_ferias_anterior | date | Fecha de fin del período de vacaciones anterior |
foi_solicitado_adiantamento_do_decimo_terceiro | boolean | Si se solicitó anticipo del 13o junto a las vacaciones |
numero_de_dias_de_ferias_vendidos | integer | Días de asignación pecuniaria (días vendidos) |
quando_foi_solicitada | timestamp | Momento de solicitud (UTC) |
ferias_aprovadas | boolean | Si se aprobó la solicitud de vacaciones |
marcacoes_view¶
Marcaciones de punto con todos los detalles técnicos, incluidos el origen, la biometría, la geolocalización y la conformidad con la Ley 671.
| Columna | Tipo | Descripción |
|---|---|---|
id | text | Identificador único inmutable del marcado |
emp_id la lider_direto_email | Varios | Campos de identificación del empleado |
empregador_id | text | Identificador del empleador en el que se registró la marca |
local_id | text | Identificador del lugar de trabajo donde se registró la marca |
local_da_marcacao | text | Nombre del lugar donde se ha registrado la marca |
horario | timestamp | Fecha y hora localizadas del marcado, con base en la zona horaria |
nsr | integer | Número Sequencial de Registro (NSR), si está disponible |
momento_da_jornada | Enum | Tipo de evento del viaje: ENTRADA, PAUSA, RETORNO_PAUSA, SAÍDA |
origem_do_momento_da_jornada | Enum | Como el momento de la jornada fue determinado: DESCONHECIDO, SEQUENCIAL, CLASSIFICADOR, RECLASSIFICADOR, COLETADO_NO_REGISTRO, CORRIGIDO_NA_FOLHA |
ponto_sequencial | boolean | Si vino de coleccionista secuencial (sin selección de momento en el acto del registro) |
fonte | Enum | Origen de la marca según Portería 671: O (original REP), I (incluidas manualmente), P (pre-assinalada), X (horario predeterminado — punto por excepción), T (otras fuentes) |
rep_origem | Enum | Detentor de REP: PONTOTEL o TERCEIROS |
rep_tipo | Enum | Tipo de REP: REP_A, REP_C, REP_P, REP_I, OUTRO |
processado | boolean | Si la marca ya está siendo considerada en el cálculo de apuntamientos |
travado | boolean | Si el marcado pertenece a una competencia ya bloqueada/aplicada |
ip_de_criacao | text | Dirección IP por la que se ha transmitido la marca |
criado_em | timestamp | Fecha y hora UTC de recepción de la marca en el sistema |
ultima_modifificacao_em | timestamp | Fecha y hora UTC del último cambio de estado del marcado |
timezone_name | text | Zona horaria del marcado (estándar IANA Time Zone Database) |
foto | text | URL de la foto capturada durante la marca (no pública) |
audio | text | URL de audio capturado durante el marcado (no público) |
longitude | numeric | Longitud de la ubicación capturada si está disponible |
latitude | numeric | Latitud de la ubicación capturada, si está disponible |
localizacao_acuracia | numeric | Precisión de la ubicación capturada si está disponible |
localizacao_manipulacao_detectada | boolean | Si se ha detectado manipulación de ubicación (location spoofing) |
localizacao_erro | Enum | Error en la captura de ubicación: PERMISSAO_NEGADA, PERMISSAO_PRECISA_NEGADA, LOCALIZACAO_INDISPONIVEL, TEMPO_PARA_OBTER_LOCALIZACAO_ESGOTADO, NAVEGADOR_SEM_SUPORTE, ERRO_AO_CONSULTAR_REPP, ERRO_INESPERADO |
ponto_com_qrcode | boolean | Si la marca fue realizada vía QR Code (modo sin contacto) |
hora_e_data_automatica | Enum | Configuración de fecha/hora automática del colector: ATIVADO, DESATIVADO, ERRO_AO_VERIFICAR, SEM_INFORMACAO |
timezone_automatico | Enum | Preferencias de zona horaria automática del colector: ATIVADO, DESATIVADO, ERRO_AO_VERIFICAR, SEM_INFORMACAO |
biometria_resultado | Enum | Resultado de la validación biométrica: ERRO_DE_CAMERA, PERMISSAO_NEGADA, FACE_NAO_DETECTADA, FACE_DETECTADA_SEM_VIVENCIA, FACE_DETECTADA, FACE_NAO_RECONHECIDA, FACE_RECONHECIDA |
tempo_do_fluxo_de_registro_usuario | numeric | Tiempo esperando interacción del usuario en el flujo de registro (ms) |
tempo_do_fluxo_de_registro_sistema | numeric | Tiempo de procesamiento del sistema en el flujo de registro (ms) |
metodo_de_identificacao | Array[Enum] | Lista ordenada de métodos usados para confirmar la identidad: PIN, RECONHECIMENTO_FACIAL, RECONHECIMENTO_FACIAL_SEM_CONTATO, QR_CODE, IMPLICITO_POR_ACESSO_PESSOAL |
coletor_id | text | Identificador único del colector de punto utilizado |
coletor_natureza | Enum | Naturaleza del colector: GESTAO_ANDROID, GESTAO_IOS, BATE_PONTO_ANDROID, BATE_PONTO_IOS, BATE_PONTO_WEB |
procedencia_importacao | Enum | Origen de la marca importada (solo para rep_origem = TERCEIROS): API o AFD |
tipo_de_coletor | Enum | Tipo de coleccionista conforme portería 671: 01 (Mobile), 02 (Browser), 03 (Desktop), 04 (Colector Electrónico), 05 (Otro) |
tipo_de_marcacao | Enum | Si se ha marcado en línea (0) o offline (1) |
hash | text | Hash de validación del marcado (portería 671 o importación con hash informado) |
crc16 | text | Código CRC16 de integridad del registro (portería 671 o importación con CRC informado) |
saldos_diarios_de_banco_de_horas_view¶
Saldos diarios del banco de horas por empleado, con créditos y débitos del día.
| Columna | Tipo | Descripción |
|---|---|---|
empregado_id la usuario_email | Varios | Campos de identificación del empleado |
dia_do_saldo | date | Fecha de generación del saldo |
data_de_vencimento | date | Fecha de vencimiento del banco de horas (ventana o general) |
valor_do_saldo | numeric | Saldo de horas acumulada el día |
creditos | numeric | Horas positivas contabilizadas en el banco de horas para el día |
debitos | numeric | Horas negativas contabilizadas en el banco de horas para el día |
data_criacao_saldo | timestamp | Fecha y hora de creación del registro de saldo |
quem_criou_saldo | text | ID del usuario que generó el saldo |
gestao_de_he_view¶
Solicitaciones de aprobación de horas extras con status, aprobadares y detalles de la planificación.
| Columna | Tipo | Descripción |
|---|---|---|
solicitacao_id | text | Identificador de la solicitud de hora extra |
status | text | Situación de la solicitud: PENDENTE, APROVADA, RECUSADA |
data_de_criacao | timestamp | Momento en que se creó la solicitud |
quem_criou | text | ID del usuario que creó la solicitud |
nome_de_quem_criou | text | Nombre del usuario que creó la solicitud |
quando_aprovou_ou_recusou_utc | timestamp | Momento UTC de la deliberación (aprobación o rechazo) |
quem_aprovou_ou_recusou | text | ID del responsable de la deliberación |
nome_de_quem_aprovou_ou_recusou | text | Nombre del responsable de la deliberación |
quem_justificou | text | ID del usuario que insertó la justificación |
quando_justificou | timestamp | Momento en que se insertó la justificación |
tipo_de_evento | text | Clasificación del evento (por ejemplo: horas_extras) |
limite_de_horas_solicitadas_por_dia | numeric | Teto máximo de horas configurado para la solicitud |
permitir_justificativa_de_horas_extras_antes_e_apos_o_evento | boolean | Si la justificación antes/después del evento está habilitada |
ids_aprovadores | array(text) | Lista de ID de los aprobadores de la solicitud |
emp_id la lider_direto_email | Varios | Campos de identificación del empleado |
planejamento_id | text | ID de planificación vinculado a la solicitud |
justificativa | text | Texto libre de justificación de la solicitud |
tipo_de_duracao | text | Escopo cronológico de hora extra: total o parcial |
foi_pre_aprovada | boolean | Si la solicitud fue preaprobada por lotes vía Dashboard |
duracao_em_horas_invervalo | interval | Duración del evento en formato de intervalo PostgreSQL |
duracao_em_horas_float | numeric | Duración del evento en horas decimales |
inicio_do_planejamento | timestamp | Inicio del período planificado para la hora extra |
fim_do_planejamento | timestamp | Fin del período planificado para la hora extra |
dia | date | Fecha del expediente evaluado |
jornada_do_dia_view¶
Jornada diaria de cada empleado, con marcas, status de presencia e indicadores de vacaciones, feriados y alejamientos.
| Columna | Tipo | Descripción |
|---|---|---|
id_jornada_do_dia | text | Identificador único del registro de jornada del día |
id_jornada | text | Referencia a escala/juego de origen |
data | date | Fecha de la jornada |
id_empregado | text | Identificador del empleado |
eh_jornada_de_trabalho | boolean | Si el día es un día laborable para el empleado |
eh_ferias | boolean | Si el empleado está en vacaciones este día |
eh_feriado | boolean | Si el día es feriado |
eh_afastamento | boolean | Si el empleado está alejado este día |
tem_justificativa | boolean | Si hay justificación/corrección registrada por el empleador para este día |
presenca_obrigatoria | boolean | Si la presencia es obligatoria y no hay exención en la hoja |
entrada | array(timestamp) | Lista de marcas de entrada del día |
pausa | array(timestamp) | Lista de marcas de descanso del día |
retorno | array(timestamp) | Lista de marcas de retorno de pausa del día |
saida | array(timestamp) | Lista de marcas de salida del día |
duracao | interval | Duración total del expediente de trabajo el día |
emp_nome la lider_direto_email | Varios | Campos de identificación del empleado |
turnover_view¶
Métricas mensuales de turnover, retención y movimiento de colaboradores.
| Columna | Tipo | Descripción |
|---|---|---|
ano | integer | Año de referencia |
mes | integer | Mes de referencia |
data_referencia | date | Fecha en formato YYYY-MM-01 para uso en gráficos |
campo_ordenacao | date | Campo auxiliar para ordenación cronológica en series métricas |
total_admissoes | integer | Total admisiones en el período |
total_desligamentos | integer | Total de apagados en el período |
colaboradores_ativos | integer | Total de colaboradores activos en el período — base para el cálculo de la tasa de turnover |
taxa_turnover_percentual | numeric | Tasa de turnover en porcentaje: (Admissões + Desligamentos) / 2 / Total Ativo × 100 |
movimentacao_total | integer | Total de movimientos (admisiones + apagados) en el período |
taxa_retencao_6_meses_percentual | numeric | Porcentaje de colaboradores retenidos por al menos 6 meses |
taxa_retencao_12_meses_percentual | numeric | Porcentaje de colaboradores retenidos por al menos 12 meses |