# Booking Engine Public: Predeploy

`booking-engine-public` debe tratarse como módulo `predeploy required`.

## Qué despliega

- carpeta pública `booking/`
- endpoints `booking/api/*.php`
- página pública `booking/index.php`
- página pública específica `booking/airport-transfers.php`
- consulta por folio `booking/reservation.php`
- pago de reserva `booking/pay-reservation.php`
- pantalla admin `btec_v1/booking-engine.php`

## Orden recomendado

1. Preparar permisos o desplegar filesystem con el script de shell.
2. Activar o actualizar módulo desde `modulos-btec.php`.
3. Probar canal público, airport transfers, lookup por `idr` y pago.

La UI intenta hacer el predeploy físico durante la instalación. Si Apache no tiene permisos de escritura, la instalación lógica puede quedar lista y el despliegue físico debe completarse por shell.

## Script recomendado

```bash
/home/bitnami/htdocs/btec-core/bin/deploy-booking-engine-public.sh \
  /home/bitnami/htdocs/<cliente>/btec_v1
```

## Qué no hacer

- No depender solo de la UI si el cliente no tiene permisos de escritura para Apache.
- No copiar el motor manualmente desde otro cliente como fuente oficial.
- No modificar la lógica core en cada cliente.

## Archivos mínimos esperados en el cliente

- `<cliente>/booking/index.php`
- `<cliente>/booking/airport-transfers.php`
- `<cliente>/booking/reservation.php`
- `<cliente>/booking/pay-reservation.php`
- `<cliente>/booking/api/_bootstrap.php`
- `<cliente>/booking/api/quote.php`
- `<cliente>/booking/api/create-reservation.php`
- `<cliente>/booking/api/get-reservation.php`
- `<cliente>/btec_v1/booking-engine.php`
