🕜 Dashboard de Tempo
El Dashboard de Tempo ofrece una visión centralizada del comportamiento de asistencia de los colaboradores en tu organización. Este dashboard permite visualizar registros de entrada y salida, incidencias asociadas y eventos derivados del marcaje (horas trabajadas, pausas, descansos, entre otros), todo en una interfaz unificada para monitoreo, gestión y análisis operativo.
📊 ¿Qué puedo ver en el Dashboard?
Métricas principales
- Usuarios que han marcado: número de colaboradores que realizaron al menos una marca en el período seleccionado.
- Cantidad total de marcas: suma de entradas, salidas y otros eventos de marcaje.
- Distribución por tipo de marca: entradas, salidas u otras interacciones.
- Distribución por fuente de marcaje: widget Tempo, enlace, u origen no identificado.
⏱️ Evolución temporal
Permite analizar la actividad de marcaje a lo largo del tiempo.
Puedes ajustar la granularidad temporal (día, semana, mes) y agrupar por:
- Tipo de marca
- Área organizacional
- Fuente de registro
- Colaborador
Esto facilita la detección de picos, caídas, patrones de comportamiento, días críticos e incidencias por turno.
📍 Distribución por área y ubicación
- Marcas por área y tipo: ideal para identificar patrones y brechas operativas entre equipos.
- Mapa de marcas georreferenciadas: muestra dónde se concentran los registros en terreno, sucursales o instalaciones.
🔎 Detalle a nivel colaborador
Incluye:
- Listado de marcas con fecha, hora, tipo, área y fuente
- Horas trabajadas, descansos, comidas y retardos
- Indicadores de ausencias e incidentes derivados
- Visión comparativa entre personas y equipos
🧱 Modelos de datos
El Dashboard de Tempo está construido sobre dos modelos principales:
- checkpoints → Registros crudos de marcaje (entrada, salida, otros)
- concepts → Eventos derivados del cálculo de asistencia (horas trabajadas, pausas, descansos, retardos, etc.)
📋 Modelo: checkpoints
Esta tabla almacena cada marca registrada por los colaboradores.
Cada fila representa un evento de entrada, salida u otro registro de asistencia, incluyendo datos del usuario, área, turno, dispositivo, y ubicación.
Campos:
| Columna | Descripción |
|---|---|
| id | Identificador único del registro de marca. |
| contract_id | ID del contrato asociado al colaborador. |
| shift_type_id | Identificador del tipo de turno. |
| check_type | Tipo de marca (in, out, na). |
| checked_at | Fecha y hora exacta del registro de marcaje. |
| checked_date | Fecha del marcaje (sin hora). |
| created_at / updated_at / deleted_at | Fechas de creación, modificación o eliminación. |
| device_id | ID del dispositivo desde el cual se marcó. |
| devices_name | Nombre del dispositivo o punto de marcaje. |
| source | Fuente original del marcaje (widget, enlace, etc.). |
| source_v2 | Versión extendida / normalizada de la fuente. |
| database_name | Base de datos origen del registro. |
| tempo_link_check_id | ID original si el registro proviene de un enlace Tempo. |
| latitude / longitude | Coordenadas de marcaje. |
| Coordinates | Coordenadas combinadas en un solo campo. |
| timezone | Zona horaria del registro. |
| user_id | Identificador interno del usuario en Tempo. |
| for_review | Indica si el registro requiere revisión manual. |
| encrypted_data | Información cifrada asociada. |
| name_as_date | Fecha representativa para análisis. |
| name_as_date_formatted | Fecha en formato visual estándar. |
| workflow_id / workflow_token | IDs internos del proceso asociado. |
| verification_type | Tipo de verificación (manual, biométrica, etc.). |
| tipo_marcaje | Etiqueta legible: Entrada, Salida u Otra. |
| shift_types_name | Nombre del tipo de turno. |
👤 Información del colaborador:
| Columna | Descripción |
|---|---|
| full_name / user_full_name | Nombre completo del colaborador. |
| user_token | Token único del colaborador. |
| user_email | Correo corporativo. |
| user_identifier | RUT, legajo u otro identificador interno. |
| user_is_active | Indica si el usuario sigue activo. |
| user_is_admin | Indica si el usuario tiene permisos administrativos. |
| user_lang | Idioma del perfil. |
| user_birthdate | Fecha de nacimiento. |
| user_joining_date | Fecha de ingreso a la organización. |
| user_gender | Género declarado. |
| user_personal_email | Email personal alternativo. |
| user_country / user_nationality | País y nacionalidad. |
| user_created_at / user_updated_at | Fechas de creación y cambio del usuario. |
🏢 Información organizacional:
| Columna | Descripción |
|---|---|
| area_id / area_name / area_code / area_token | Identificadores, código y token del área. |
| position_id / position_name / position_slug / position_token | Datos completos del cargo del colaborador. |
| contract_number / contract_token | Número y token del contrato activo. |
| enterprise_token | Token único de la empresa Rankmi para el filtro automático. |
📋 Modelo: concepts
Esta tabla contiene los eventos derivados del procesamiento de marcajes:
horas trabajadas, descansos, comidas, compensaciones, ausencias, retardos, etc.
Cada fila = 1 colaborador × 1 fecha × 1 resultado calculado.
Campos:
| Columna | Descripción |
|---|---|
| name_as_date | Fecha del evento calculado. |
| calculated_schedules_start_datetime | Inicio del turno programado. |
| calculated_schedules_end_datetime | Término del turno programado. |
| grouped_concepts_name | Nombre del concepto (ej: Horas trabajadas, Comida incompleta). |
| incidents_result | Resultado numérico o categórico del evento. |
👤 Información del colaborador:
| Columna | Descripción |
|---|---|
| user_token | Token único del usuario. |
| user_full_name | Nombre completo. |
| user_email | Email corporativo. |
| user_identifier | Identificador interno. |
| user_is_active | ¿Está activo? |
| user_is_admin | ¿Es admin? |
| user_lang | Idioma configurado. |
| user_birthdate | Fecha de nacimiento. |
| user_joining_date | Fecha de ingreso. |
| user_gender | Género. |
| user_personal_email | Email personal. |
| user_country / user_nationality | País y nacionalidad. |
| user_created_at / user_updated_at | Timestamps de registro del usuario. |
🏢 Información organizacional:
| Columna | Descripción |
|---|---|
| area_id / area_name / area_code / area_token | Área jerárquica del colaborador. |
| position_id / position_name / position_slug / position_token | Cargo o función. |
| contract_number / contract_token | Contrato laboral asociado. |
| enterprise_token | Token de empresa, usado para aislamiento en Tempo + Luzmo. |
🧠 Consideraciones importantes
- Ambos modelos comparten enterprise_token, lo que permite que Tempo filtre automáticamente los datos según la empresa que visualiza el dashboard.
- checkpoints representa los datos crudos de marcaje, mientras que concepts contiene los cálculos derivados (horas, descansos, incidencias).
- Campos como tipo_marcaje, Coordinates y name_as_date_formatted agregan valor analítico y visual.
- Campos como source_v2, devices_name y shift_types_name mejoran la trazabilidad operativa.
🚀 ¿Qué puedes lograr con este dashboard?
- Detectar tardanzas, ausencias y marcajes irregulares.
- Comprender patrones de asistencia por área, sede o equipo.
- Auditar el cumplimiento horario y los eventos derivados.
- Comparar comportamientos entre dispositivos y fuentes.
- Analizar productividad horaria mediante los cálculos derivados.