Skip to main content
Ver Horarios en el manual.

Listar horarios

Permiso requerido: hr.schedules
Los horarios eliminados no se listan.

Consultar horario

Permiso requerido: hr.schedules Devuelve el mismo objeto.

Crear horario

Permiso requerido: hr.schedules.write
Comportamiento
  • Un día puede tener varios turnos, pero no pueden solaparse.
  • Los avisos legales (warnings) no impiden guardar.
Respuesta 201: el horario creado.

Editar horario

Permiso requerido: hr.schedules.write Envía solo los campos que cambian. Si envías shifts, reemplaza todos los turnos. Respuesta 200: el horario con recalculation_queued (true si se encoló el recálculo de la asistencia de los empleados que lo tienen asignado).

Eliminar horario

Permiso requerido: hr.schedules.write
Responde 409 si el horario tiene asignaciones vigentes (sin fecha final o con fecha final de hoy en adelante): termínalas o cámbialas primero.

Consultar asignaciones

Permiso requerido: hr.schedules
end_date: null = asignación indefinida.

Asignar horario en lote

Permiso requerido: hr.schedules.write Asigna un horario a varios empleados con la misma vigencia.
Comportamiento
  • Idempotente: si el empleado ya tiene una asignación que empieza en start_date, se actualiza en lugar de duplicarse.
  • Una asignación que se solapa con otra del empleado se rechaza (salvo que close_previous la cierre).
  • Cada empleado se procesa por separado: un error no detiene el resto.
Respuesta 200
Si ningún empleado se asignó y hay errores, la respuesta tiene código 422. Si el horario no existe, 404.
Los mensajes de error de empleados ya resueltos (por ejemplo, solapes) vienen en español, con employee_id informado.

Eliminar asignación

Permiso requerido: hr.schedules.write