Ver Horarios en el manual.
Listar horarios
hr.schedules
Los horarios eliminados no se listan.
Consultar horario
hr.schedules
Devuelve el mismo objeto.
Crear horario
hr.schedules.write
Comportamiento
- Un día puede tener varios turnos, pero no pueden solaparse.
- Los avisos legales (
warnings) no impiden guardar.
201: el horario creado.
Editar horario
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
hr.schedules.write
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
hr.schedules
end_date: null = asignación indefinida.
Asignar horario en lote
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_previousla cierre). - Cada empleado se procesa por separado: un error no detiene el resto.
200
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
hr.schedules.write