Skip to content

Calcular Horas Laboradas

Calcula el tiempo trabajado basado en los registros de checadas del usuario para una fecha específica.

POST /api/v2/incidents/get_hours_labor
Authorization: Bearer {token}
Content-Type: application/json
CampoTipoRequeridoDescripción
datestring❌Fecha específica en formato Y-m-d (ej: 2024-01-15)

Nota: El user_id se obtiene automáticamente del token de autorización. No es necesario enviarlo como parámetro.

El sistema calcula automáticamente basado en:

  • ✅ Entrada y Salida: Registros tipo in y out
  • ✅ Comida: Registros tipo break_out y break_in (opcional)
  • ✅ Horario de Trabajo: Horas esperadas vs horas trabajadas
  • ✅ Tiempo Configurado: Horarios rígidos vs flexibles

Para usuarios sin tiempo de comida:

Tiempo Laborado = Hora Salida - Hora Entrada

Para usuarios con tiempo de comida:

Tiempo Trabajo 1 = Hora Salida Comida - Hora Entrada
Tiempo Trabajo 2 = Hora Salida Final - Hora Entrada Comida
Tiempo Laborado Total = Tiempo Trabajo 1 + Tiempo Trabajo 2
POST /api/v2/incidents/get_hours_labor
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...
Content-Type: application/json
{
"date": "2024-01-15"
}
{}
{
"success": true,
"message": "Horas laboradas calculadas exitosamente",
"data": {
"hours_info": "08:30 horas de un total de 08:00"
}
}

Para horario con comida:

{
"success": true,
"message": "Horas laboradas calculadas exitosamente",
"data": {
"hours_info": "08:15 horas de un total de 08:00"
}
}
{
"success": false,
"message": "Token de autorización inválido o faltante",
"data": null
}
{
"success": false,
"message": "Horario no válido para el usuario",
"data": {
"hours_info": "Faltan registros de checada"
}
}
"HH:MM horas de un total de HH:MM"

Donde:

  • Primer tiempo: Horas realmente trabajadas (calculadas)
  • Segundo tiempo: Horas esperadas según horario
ResultadoSignificado
"08:30 horas de un total de 08:00"Se trabajaron 30 minutos extras
"07:45 horas de un total de 08:00"Faltaron 15 minutos de trabajo
"08:00 horas de un total de 08:00"Horario cumplido exactamente
  • ✅ 2 registros: Entrada y salida (sin comida)
  • ✅ 4 registros: Entrada, salida comida, entrada comida, salida final
  • ❌ 1 registro: Solo entrada (falta salida)
  • ❌ 3 registros: Entrada, salida comida, entrada comida (falta salida final)
  • ❌ 0 registros: Ninguna checada registrada
  1. Cálculo de nómina: Horas trabajadas vs horas pagadas
  2. Reportes de asistencia: Análisis de cumplimiento de horarios
  3. Dashboard personal: Usuario ve sus horas trabajadas
  4. Tiempo extra: Detectar horas adicionales trabajadas
  5. Compensaciones: Identificar tiempo faltante o excedente
  • Usuario debe tener empleado asociado
  • Usuario debe tener horario configurado
  • Horario debe ser tipo “rigid” para cálculo automático
  • Registros deben tener fechas válidas en la fecha consultada

El sistema maneja checadas que cruzan medianoche automáticamente.

Para horarios que cambian por día, el cálculo se adapta al día específico consultado.

Si el usuario no debe trabajar el día consultado, el sistema indica la situación.

  • "Faltan registros de checada": No hay suficientes checadas
  • "Falta un registro de checada": Solo hay entrada o salida
  • "Horario cumplido exactamente": Horas trabajadas = horas esperadas
  • Tiempo específico: Cálculo preciso en formato HH:MM