Sucursales, horarios y puestos — la base para poder importar empleados y calcular tardanzas. Los datos de las tablas son de solo lectura; para cambiar algo usa el botón "Editar" de esa fila.
Cambia tu propia contraseña de acceso al sistema.
Todo el sistema calcula tardanzas, almuerzo y reportes en hora de República Dominicana
(America/Santo_Domingo, UTC-4 fijo — el país no cambia de horario en el año).
Esto compara la hora cruda del servidor contra esa conversión para confirmar que todo cuadra.
| Hora del servidor (cruda, sin ajustar) | — |
| Zona horaria configurada | America/Santo_Domingo (UTC-4) |
| Hora en RD ahora mismo | — |
Destíldalo para sucursales "aparte" que no deben mezclarse con los reportes automáticos de RRHH (tardanzas/ausencias, salidas temprano, semanal, mensual) — ej. MAXIPEGO. Sigue viéndose normal en Reportes/Dashboard manual y puede tener su propio reporte programado (ver más abajo).
Ubicación para el ponche móvil: busca la dirección o haz clic en el mapa sobre la tienda; el círculo es el área donde vale el ponche (arrastra el marcador para ajustar, cambia el radio en metros). Sin ubicación, el ponche móvil se acepta igual pero sin validar dónde estaba el celular (la selfie sigue siendo obligatoria). El GPS de un celular tiene ±20–50 m de error: no bajes el radio de 100 m salvo que la tienda esté muy aislada.
| Nombre | Dirección | Horario | GPS móvil | Estado |
|---|
Cada día puede tener su propia entrada/salida/tolerancia — ej. Lun-Vie 8:00-5:00 y Sáb 8:00-12:00 en el mismo horario. Desmarca un día para que ese horario no aplique ese día (ausencia no se evalúa).
Almuerzo: marca "Aplica" en los días que tengan almuerzo pautado y pon la hora de salida/regreso — el empleado poncha para salir e igual para volver (4 marcaciones ese día: entrada, sale-almuerzo, vuelve-almuerzo, salida). Si se le olvida marcar el almuerzo, el sistema descuenta igual el tiempo pautado (no infla las horas por un olvido de ponchar). Deja "Aplica" sin marcar en los días sin almuerzo (ej. sábado). Con "Almuerzo automático" no se exige ponchar la comida: se descuenta lo pautado sin marcarlo como novedad (si sí ponchan salida y regreso, se usa el tiempo real).
Asumir salida pautada: si el empleado entró pero no ponchó la salida, pasada la hora de salida se le cuenta hasta la salida pautada (antes ese día contaba 0 horas). El día sigue saliendo como "No marcó salida (se asumió…)" para que RRHH lo vea. Horas extra = lo trabajado por encima de lo pautado, contando desde la entrada pautada (llegar temprano no suma), si pasa de la tolerancia.
Horario flexible (turnos): cada día puede tener hasta 3 turnos (ej. 8-5 / 9-6 / 10-6). El sistema elige el turno según la hora real de entrada: el primero cuya entrada + tolerancia alcance. Solo es tardanza si llega después del último turno + tolerancia. La salida esperada es la del turno elegido — salir antes (menos la tolerancia) cuenta como salida temprano. Deja los turnos 2 y 3 vacíos para un horario rígido.
Seguridad (serenos): tipo "Seguridad" + intervalo de ronda. La jornada puede cruzar medianoche (ej. 18:00 a 06:00). Además de entrada y salida, se exige una marcación cada N minutos (±tolerancia de ronda); las rondas que falten salen en Reportes y en el correo de las 8:00. Se asigna marcando la casilla "Es seguridad" en la ficha del empleado.
| Día | Entrada | Salida | Tol. (min) | Turno 2 entra | Turno 2 sale | Turno 3 entra | Turno 3 sale | Almuerzo | Sale | Vuelve |
|---|
| Nombre | Tipo | Tramos por día | Estado |
|---|
| Nombre | Horario por defecto |
|---|
Cuando conectas un reloj nuevo a la red y le apuntas a este servidor, aparece aquí solo con su número de serie, inactivo y sin sucursal — no hace falta tocar código ni la base de datos.
Regla: un reloj no se puede activar sin asignarle antes su
sucursal (el sistema lo bloquea si lo intentas). Mientras esté inactivo, sus
marcaciones no se están usando para reportes. Una vez activo, si ese reloj deja de
conectarse, llega un correo de alerta automático — destinatarios, umbral y
frecuencia de reenvío se configuran más abajo, en el panel "Alertas"
(requiere RESEND_API_KEY configurado en el servidor).
| Serie | Nombre | Sucursal | Última conexión | Estado |
|---|
Usa Resend, igual que embarques-app/ventas-app. Mientras RESEND_API_KEY no
esté configurado en el servidor, este botón te lo va a decir en vez de fallar en silencio —
las alertas automáticas (tardanzas del día, resumen semanal) son la siguiente fase.
Revisión de relojes sin conexión solo a las horas indicadas (default 8:00 y 17:00, hora RD) — un solo correo
con la lista completa de relojes que lleven más del umbral sin reportarse; si todos están en línea no manda nada.
Solo en los días marcados (por defecto lunes a viernes) — un reloj caído el fin de semana sale en la revisión del lunes.
Vacío en Destinatarios significa que no manda nada, sin importar el switch de "Activo". Requiere
RESEND_API_KEY configurado en el servidor (ver panel de arriba).
| Alerta | Activo | Destinatarios | Umbral (min sin conectar) | Horas de revisión (RD) | Días |
|---|
Tardanzas/ausencias de hoy (diario, a las 13:00 — con horario flexible antes de esa hora no se sabe si alguien llegó tarde o
simplemente en el turno 3), salidas temprano / sin salida / rondas de seguridad del día anterior (diario, 8:00), resumen semanal (lunes),
reporte mensual completo (día 1) y asistencia/horas trabajadas de una sucursal puntual (diario, hora libre — pensado para un correo
aparte de una sola tienda, ej. MAXIPEGO).
Cada uno se manda solo a los destinatarios que le pongas aquí — vacío significa
desactivado, sin importar el switch de "Activo". Requiere RESEND_API_KEY
configurado en el servidor (ver panel de arriba).
Sucursales: vacío = todas las que NO estén marcadas "aparte" en el panel de arriba (así se mandan hoy los 4 reportes de
toda la empresa); marca sucursales puntuales para restringir ESTE reporte solo a ellas (así se arma el correo aparte de MAXIPEGO).
"Asistencia y horas trabajadas" puede tener más de una fila — ej. una para MAXIPEGO y otra distinta para TERDECO, cada una con sus propias
sucursales y destinatarios — usa "+ Nuevo reporte" para agregar otra.
Días: solo se manda los días marcados (por defecto lunes a viernes). El de las 8:00 del lunes trae viernes, sábado
y domingo juntos (incluye ausencias/tardanzas del fin de semana), así no se pierde nada. El semanal sale el primer día marcado de la
semana y el mensual el primer día marcado del mes.
Solo con novedades: si no hay nada que reportar ese día, no llega correo (el silencio = todo en orden).
"Enviar ahora" siempre manda, para probar.
| Reporte | Activo | Destinatarios | Sucursales | Formato | Hora | Días | Solo con novedad | Último envío |
|---|