# SIHO PMS RC2 — Motor de ventas con interfaz Clásica y SIHO POS

## Principio
La interfaz Clásica se conserva. El Administrador o SIHO Central configura `sales.interface.mode` como `CLASSIC` o `POS`. La selección cambia únicamente la captura; las tablas de ventas, consumos, caja, inventario, folios, auditoría y reportes continúan siendo las mismas.

## SIHO POS
- Escaneo continuo mediante lector USB (emula teclado + Enter).
- Búsqueda por código de barras, código interno o nombre.
- Cada escaneo repetido incrementa la cantidad en la misma línea.
- Validación de existencias en pantalla y nuevamente en servidor con `lockForUpdate()`.
- Destino al finalizar: público/otros o habitación hospedada.
- Público crea `venta` + `detalle_venta`; habitación crea `consumo` pendiente.
- Idempotencia y transacción completa para impedir duplicados.

## Activación
Administración → Configuración General → Ventas.
Central puede enviar las claves:
- `sales.interface.mode`: `CLASSIC` o `POS`
- `sales.allow_manual_interface_switch`: boolean

## Productos
Campos nuevos:
- `barcode`: EAN/UPC/QR leído como texto.
- `internal_code`: código propio del hotel/comercio.

Los dos campos son opcionales y únicos. Los productos sin código siguen disponibles mediante búsqueda por nombre y en la interfaz clásica.
