Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsAsistencia
Dispositivo

Cómo eliminar una asistencia manual

Retira definitivamente una asistencia manual existente del equipo. En Antylogic se gestiona como un evento de calendario `staff_shift` y se elimina desde el flujo de `calendar-events`, no desde la ruta legacy de turnos.

En este artículo

Una asistencia manual no se borra desde una pantalla técnica aislada. El manager abre el registro, revisa empleado, fecha, horario y origen, y confirma el borrado desde el formulario de edición de asistencia.

Para documentar este flujo en Marea Gran Via, prepara una asistencia de Marta Ruiz con `payload.source=manual`. La aplicación no valida ese origen al borrar: la restricción de esta guía está en el caso operativo que se captura, no en una regla adicional del backend.

Antes de empezar

  • Iniciar sesión en Grupo Marea Demo con la ubicación Marea Gran Via seleccionada.
  • Tener `staff-shifts:view` para abrir el detalle de la asistencia y `staff-shifts:manage` para confirmar el borrado.
  • Disponer de una asistencia existente en la misma ubicación, modelada como `calendar_events.kind=staff_shift`.
  • Para que la guía represente asistencia manual, usar un evento preparado con `payload.source=manual`; si el runtime documental no lo incluye, crear un evento temporal y limpiarlo después de la captura.

Instrucciones

  1. 1.

    Abre la asistencia

    Entra desde el calendario, desde asistencia o directamente en `calendars/edit/:eventId?kind=staff_shift`. La pantalla solo carga el detalle cuando hay organización, ubicación, modo edición y un `eventId` válido.

  2. 2.

    Revisa el registro

    Comprueba que la asistencia corresponde al empleado, fecha y horario que quieres retirar. En el caso de documentación, valida que sea el registro manual de Marta Ruiz antes de continuar.

  3. 3.

    Abre la confirmación

    Pulsa Eliminar en el formulario. La app muestra el modal Eliminar evento con el aviso de borrado definitivo; si el registro no debe retirarse, usa Cancelar.

  4. 4.

    Confirma el borrado

    Pulsa Eliminar en el modal para ejecutar `DELETE /api/app/{orgId}/{locationId}/calendar-events/{eventId}`. Si la operación se completa, la app muestra Evento eliminado correctamente y vuelve a la ruta de retorno configurada.

  5. 5.

    Ten en cuenta la tabla de correcciones

    Desde `attendance/corrections?pending_only=true`, la acción de fila Eliminar solo debe documentarse para filas sin corrección pendiente. Si la fila tiene una corrección pendiente, primero hay que resolverla desde las acciones disponibles.

Validaciones y límites

  • La acción Eliminar no aplica en modo creación; requiere modo edición y `editEventId`.
  • El backend exige que el evento exista, pertenezca a la ubicación activa y tenga un tipo reconocido.
  • Para `staff_shift`, el permiso de borrado es `staff-shifts:manage`; `staff-shifts:notify` o autoservicio no conceden esta operación.
  • El flujo correcto usa `calendar-events`. No documentar `DELETE /api/app/{orgId}/{locationId}/staff/{staffId}/shifts/{shiftId}` como vía operativa.
  • El borrado no valida empleado, fechas ni `payload.source`; esas comprobaciones las debe hacer el operador antes de confirmar.
  • La eliminación borra físicamente la fila de `calendar_events` y refresca las consultas relacionadas.
  • La restricción de corrección pendiente está implementada en la tabla de correcciones; no es una validación global del formulario ni del backend.

Resultado esperado

La asistencia manual deja de aparecer en las vistas de asistencia y calendario. La app invalida las cachés de `calendar-events`, elimina el detalle del evento borrado y conserva el retorno hacia la pantalla operativa desde la que se abrió el flujo.

Artículos relacionados