# Fase 18 — Folios y estados centrales

Se incorporó un motor transaccional de folios configurable por entidad. El consecutivo se bloquea con `lockForUpdate`, tiene registro de emisiones y soporta reinicio global, anual o mensual.

Variables: `{PREFIX}`, `{YEAR}`, `{YY}`, `{MONTH}`, `{DAY}`, `{SEQ}`.

También se centralizaron los estados operativos en `SihoState` y se añadió `StateTransitionService` para validar transiciones de reserva y habitación. Se mantiene compatibilidad con los textos heredados; no se migraron estados históricos.

Antes de aplicar el parche en MySQL antiguo, verifique soporte de `ADD COLUMN IF NOT EXISTS`. Si el servidor no lo soporta, ejecute cada `ALTER TABLE` solamente cuando la columna no exista.
