Estados y ciclo de vida

Una inscripción atraviesa estos estados:

lista de espera → confirmada → cama asignada → arribada → asistió
                          ↘
                            cancelada

Cada estado

Lista de espera (waitlist)

La actividad está completa (vacantes = 0) y la persona se anotó esperando que se libere un lugar. No tiene orden de compra asociada todavía.

Cómo se llega: desde el formulario de inscripción pública cuando ya no hay vacantes, o porque un administrador la dio de alta manualmente.

Próximas transiciones:

  • confirmada cuando se libera un lugar y la persona completa la compra.
  • cancelada si la persona avisa que ya no quiere participar.

Confirmada (confirmed)

Hay una orden de compra asociada en estado pagado (processing o completed). El lugar ya está reservado.

Cómo se llega: al pagar la orden vinculada (transición automática).

Próximas transiciones:

  • cama asignada cuando se le asigna habitación/cama.
  • cancelada si se cancela la inscripción.

Cama asignada (bed_assigned)

El staff asignó habitación y cama al inscripto.

Cómo se llega: desde la página de detalle de inscripción, asignando los campos habitación + cama.

Arribada (arrived)

El participante llegó al centro al inicio de la actividad.

Cómo se llega: desde el detalle de inscripción.

Asistió (attended)

La actividad terminó y la persona asistió. Estado final positivo.

Cómo se llega: desde el detalle de inscripción al cierre de la actividad.

Cancelada (cancelled)

Estado final negativo. Ver Flujo de cancelación para los 4 escenarios que pueden disparar esta transición.

Dónde se transiciona cada estado

Estado destinoDónde se cambia
Lista de esperaInscripción pública o alta manual
ConfirmadaAutomático al pagar la orden
Cama asignadaDetalle de la inscripción (no listado)
ArribadaDetalle de la inscripción
AsistióDetalle de la inscripción
CanceladaListado (botón) o Detalle (botón) → modal

Cambios masivos

La tabla de listado sólo permite cambiar a “Cancelada”. El resto de los cambios requiere ir al detalle individual. Es a propósito: evita errores masivos por click accidental en una columna de selector.