Cómo crear una asistencia de empleado
Crea una asistencia manual para Marta Ruiz en Marea Gran Via como evento de calendario `staff_shift`, con empleado, entrada y salida planificada.
En este artículo
Este flujo sirve para registrar una asistencia planificada cuando el responsable necesita crear manualmente el turno de un empleado desde el calendario o desde su perfil.
En el demo ES, el ejemplo recomendado es Marta Ruiz en Marea Gran Via, el 2 de junio de 2026 de 09:00 a 17:00. La acción crea un evento `calendar_events` con `kind` `staff_shift`; no es un fichaje ni una solicitud de corrección.
Antes de empezar
- Sesión iniciada con Grupo Marea Demo y Marea Gran Via seleccionadas.
- Permiso `staff-shifts:manage` en la ubicación para crear la asistencia.
- Permiso `staff:view` si el empleado se elige desde el selector del formulario.
- Al menos un empleado disponible en la ubicación; el runtime ES incluye a Marta Ruiz como `STAFF_ID`.
- Zona horaria de ubicación disponible; Marea Gran Via usa `Europe/Madrid`.
Instrucciones
- 1.
Abrir el formulario de asistencia
Abre `/:orgId/:locationId/calendars/create?kind=staff_shift` desde el calendario o entra desde el perfil de empleado con `returnStaffId`. Si vienes del perfil de Marta Ruiz, el empleado queda fijado en modo solo lectura.
- 2.
Confirmar o seleccionar el empleado
Si el formulario trae empleado fijado, comprueba que aparece Marta Ruiz. Si entras desde el calendario general, abre el campo Empleado y selecciona la persona a la que pertenece la asistencia.
- 3.
Definir entrada y salida
Indica fecha y hora de entrada y de salida planificadas. El selector horario trabaja en intervalos de 15 minutos; para la captura de referencia usa el 2 de junio de 2026, de 09:00 a 17:00.
- 4.
Revisar el origen manual
Comprueba que el origen de la asistencia sea Manual. En esta creación normal el origen es informativo, no se puede editar y no hay controles de recurrencia ni de día completo.
- 5.
Guardar y comprobar el resultado
Pulsa Crear asistencia. Antylogic guarda el evento de calendario, refresca las vistas relacionadas y vuelve a la pantalla de retorno, como el perfil de empleado o el calendario diario del empleado.
Validaciones y límites
- La pantalla necesita organización y ubicación seleccionadas antes de guardar.
- No se puede guardar una asistencia sin empleado; si falta, la pantalla muestra `Selecciona un empleado.`
- La entrada y la salida deben ser fechas y horas válidas, y la entrada debe ser anterior a la salida.
- La pantalla normal exige salida planificada, aunque otros flujos de asistencia puedan representar turnos abiertos.
- El backend exige `staff-shifts:manage` para crear un `calendar_events.kind=staff_shift`.
- El selector de empleado necesita `staff:view` para cargar `GET /api/app/{orgId}/{locationId}/staff`.
- El registro creado queda en `calendar_events` con `kind` `staff_shift`, `all_day` en `false` y `payload.source` en `manual`.
- No hay recurrencia para `staff_shift`; si se envía una recurrencia al backend, se rechaza.
- Este flujo no usa `staff-shifts:notify`, `asCorrection=true` ni la solicitud de corrección de asistencia.
Resultado esperado
La asistencia manual queda registrada para el empleado en el calendario de Marea Gran Via, con entrada y salida planificada, origen manual y vistas de calendario refrescadas.