# Reservas con Cupos y Factura Asociada

## ¿Qué es / para qué sirve?

El módulo de **Reservas** ahora permite controlar la agenda con **cupos**: turnos con
horario fijo y aforo que usted define una sola vez. Así evita choques de agenda — por
ejemplo, que dos clientes reserven el local completo el mismo día.

Además, cada reserva puede quedar **asociada a una factura** (una cuenta abierta del
cliente con los productos del paquete), que se cobra el día del servicio desde el POS.

En el menú, **Reservas** ahora tiene dos opciones:

- **Calendario** — donde se crean y ven las reservas (como siempre).
- **Configuraciones** — donde el administrador define los cupos.

## Paso a paso

### Definir los cupos (una sola vez)

1. Vaya a **Reservas → Configuraciones**.
2. Pulse **Añadir cupo** y complete:
   - **Nombre del cupo**: como quiera llamarlo, por ejemplo `FULL PARK` o `RESERVADO`.
   - **Qué se reserva**:
     - **Sucursal completa** — el cliente reserva todo el local.
     - **Salón completo** — el cliente reserva un salón (área) entero.
     - **Una mesa** — el cupo reserva esa mesa.
   - **Horario** del turno (por ejemplo 11:00 a 14:00).
   - **Días de la semana** en que existe el cupo.
   - **Aforo**: cuántas reservas admite el mismo día. `1` = exclusivo.
3. Guarde. Repita para cada turno (por ejemplo, otro par de cupos de 15:00 a 18:00).

[CAPTURA: pantalla Reservas → Configuraciones con la lista de cupos]

### Ejemplo real: FULL PARK y RESERVADO

Un parque define para la mañana dos posibilidades:

| Cupo | Qué se reserva | Efecto |
|---|---|---|
| FULL PARK | Sucursal completa | Reserva todo el local: nadie más puede reservar nada en ese horario |
| RESERVADO | Salón completo (área Reservado) | Reserva el salón privado: FULL PARK queda bloqueado, pero el público sigue entrando al área pública pagando su entrada (sin reserva) |

El bloqueo es **automático**: si cualquiera de los dos está reservado, el otro aparece
como "No disponible (choca con otra reserva)" y el sistema rechaza el intento aunque se
fuerce. Al día siguiente ambos vuelven a estar libres.

### Crear una reserva con cupo

1. En **Reservas → Calendario**, pulse **Añadir Nueva Reserva** (o doble clic en un día).
2. Elija la sucursal y el **cliente** (el campo permite buscar escribiendo; con el
   botón **+** crea un cliente nuevo).
3. Elija la **fecha**: el campo **Cupo (turno)** muestra los cupos de ese día con los
   espacios que quedan. Los llenos o bloqueados aparecen deshabilitados.
4. Al elegir el cupo, los campos de hora desaparecen: el horario es el del turno y se
   muestra en pantalla. Si no elige cupo, la reserva funciona a **horario libre** y ahí
   sí se indican las horas de inicio y fin.
5. Guarde.

[CAPTURA: modal de reserva con el selector de cupo mostrando "quedan 2"]

### Asociar una factura a la reserva

Si el cliente reserva un paquete con productos (por ejemplo, un cumpleaños con comida),
primero cree la cuenta en el **POS** como venta en espera o cuenta por cobrar. Luego:

1. En el modal de reserva, en **Factura asociada**, elija la cuenta del cliente. Si
   elige primero la factura, **el cliente se selecciona solo**.
2. Guarde. El detalle de la reserva mostrará el número de la factura, el monto y su
   estado.
3. **El día del servicio**, el cajero recupera esa cuenta en el POS y cobra el 100%.

> Cancelar o eliminar la reserva **no** toca la factura: la cuenta sigue abierta en el
> POS para cobrarla o anularla por el camino normal.

## Notas y avisos

> **Sin cupos, nada cambia.** Si usted no define cupos, las reservas funcionan a horario
> libre exactamente como antes.

> **El aforo es por cupo y por día.** Un cupo con aforo 10 admite 10 reservas ese día y
> luego aparece "Lleno".

> La sección **Configuraciones** solo la ven los usuarios con permiso de administrar
> todas las reservas.

> Al guardar la reserva puede enviarse una **notificación** al cliente por correo o
> WhatsApp. El texto de esa notificación se edita en **Configuración → Plantillas de
> Notificación** (revise que esté en español).