Skip to content

Obtener Saldo de Horas Banco

Consulta el saldo disponible de horas banco (tiempo extra acumulado) para un usuario en un año específico.

POST /api/v2/incidents/get_hour_bank
Authorization: Bearer {token}
Content-Type: application/json
CampoTipoRequeridoDescripción
yearinteger❌Año a consultar (2000-2100, por defecto año actual)

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

El sistema consulta automáticamente el beneficio con:

  • ✅ Clave corta: TE (Tiempo Extra)
  • ✅ Tipo: Relacionado con tiempo trabajado
  • ✅ Acumulable: Permite formación de banco de horas
POST /api/v2/incidents/get_hour_bank
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...
Content-Type: application/json
{
"year": 2024
}
{}
{
"success": true,
"message": "Saldo de horas obtenido exitosamente",
"data": {
"hour_bank": 15.5,
"year": 2024
}
}
{
"success": true,
"message": "No existe beneficio de tiempo extra",
"data": {
"hour_bank": 0,
"year": 2024
}
}
{
"success": true,
"message": "Saldo de horas obtenido exitosamente",
"data": {
"hour_bank": 0,
"year": 2024
}
}
{
"success": false,
"message": "Datos de entrada inválidos",
"errors": {
"year": ["El año debe estar entre 2000 y 2100"]
},
"data": null
}
{
"success": false,
"message": "Token de autorización inválido o faltante",
"data": null
}
CampoTipoDescripción
hour_bankfloatCantidad de horas disponibles en banco
yearintegerAño consultado

El banco de horas es un sistema de acumulación donde:

  • ✅ Se acumulan: Horas extra trabajadas no pagadas
  • ✅ Se pueden usar: Para faltantes, salida temprana, permisos
  • ✅ Son flexibles: Pueden usarse parcialmente según necesidades
  • ✅ Tienen vigencia: Generalmente por año fiscal

El sistema crea automáticamente el registro si no existe:

INSERT INTO balances (
year,
benefit_id,
user_id,
amount: 0,
pending: 0,
until: null
)
  1. Consulta de saldo: Usuario revisa horas disponibles
  2. Programación de permisos: Antes de solicitar tiempo libre
  3. Compensación de faltas y tardanzas: Usar horas para compensar
  4. Aplicaciones móviles: Dashboard personal de beneficios
  5. Reportes administrativos: Estado del banco por departamentos
  6. Integración nómina: Cálculo de horas trabajadas vs salario
  • ✅ Mínimo: 2000 (año mínimo válido)
  • ✅ Máximo: 2100 (año máximo válido)
  • ✅ Por defecto: Año actual si no se especifica
  • ✅ Debe existir en tabla users
  • ✅ Se crea registro automático si no existe balance
  • ✅ Manejo de casos donde no hay beneficio TE
EstadoDescripción
pending: 0Sin horas acumuladas
pending: > 0Con horas disponibles
benefit: nullBeneficio no configurado
{
"hour_bank": 24.5,
"year": 2024
}

Interpretación: 24 horas y 30 minutos disponibles

{
"hour_bank": 0.5,
"year": 2024
}

Interpretación: 30 minutos disponibles

{
"hour_bank": 0,
"year": 2024
}

Interpretación: No hay horas disponibles en el banco

  1. Beneficio TE debe existir en tabla benefits
  2. Tipo de beneficio debe ser time
  3. Clave corta debe ser TE (Tiempo Extra)
  • ✅ Creación automática de registros de balance
  • ✅ Inicialización con valores cero
  • ✅ Consulta sin configuración previa