Promociones
Ruta: /promociones
Quién la usa: dueño
Permiso requerido: service.manage (y el plan debe incluir promociones)
Capturas: docs/manual/screenshots/catalogo/
Qué es
El listado de las promociones por artículo, con su descuento resumido, su código
promocional, cuántos artículos la activan y su estado (Activa,
Programada, Vencida o Inactiva). Desde aquí se crean promociones
nuevas, se activan y desactivan, y se abre cada una para editarla. En
frankies-sim hay cuatro, todas Activas: Combo Margherita
(Precio paquete B/. 19.00 · COMBO · 2 artículos), Menos B/.5.00
(B/. 5.00 de descuento · MENOS5 · todos los artículos), 2x1 Calzone
(Compra 1, lleva 1 gratis · 2X1CALZ · 1 artículo) y Viernes 10%
(10% de descuento · FRIDAY10 · todos los artículos).
Cuándo se usa
Antes de lanzar una oferta, para cargarla y darle su código; y durante la campaña, para apagarla («Desactivar») o cambiarle la vigencia sin tener que borrarla.
Paso a paso
- Abra Ajustes → Promociones.

- Para crear una, presione + Nueva promoción por artículo. El formulario se
despliega debajo.

- Llene Nombre de la promoción y, si quiere, Descripción (opcional).
- Escriba el CÓDIGO PROMOCIONAL (OPCIONAL) o presione Generar para que el sistema invente uno de 8 caracteres. En el restaurante la promoción se aplica con su código en el POS, así que conviene asignarle uno.
- Elija el Tipo de descuento. El campo que aparece debajo cambia según el tipo: Precio de paquete (total fijo) pide Precio del paquete (B/.); % de descuento sobre el grupo pide Descuento (%); Monto fijo de descuento pide Descuento (B/.); Compra X, lleva Y gratis pide Compra (X) y Gratis (Y, los más baratos).
- Presione Elegir artículos… y marque los productos que la activan. Cierre
con Guardar selección (N) o con la ✕.

- Ajuste Máx. usos (vacío = ilimitado), Permitir en ventas en línea y los Días válidos, y presione Crear promoción.
- Para editar una existente, presione su nombre en la lista. La ficha agrega
Prioridad, Desde (opcional) y Hasta (opcional), la casilla
Activa y la lista de Artículos que la activan, donde se quitan con
✕ y se agregan con el selector Servicio, producto o categoría,
Cantidad y Añadir.

Campos y botones
| Campo/Botón | Qué hace | Notas |
|---|---|---|
| + Nueva promoción por artículo | Despliega el formulario de alta | Solo con service.manage |
| Nombre / Descripción (opcional) | Identifican la promoción | El nombre sale en el listado |
| Código promocional / Generar | Código que el cajero teclea en el ticket | Generar usa un alfabeto sin letras confundibles |
| Tipo de descuento | Precio de paquete · % · Monto fijo · Compra X lleva Y | Cambia los campos que aparecen debajo |
| ¿Cuándo se activa? | «Requiere todos los artículos listados (paquete)» o «Aplica a cualquier artículo listado» | Solo aparece en % y Monto fijo |
| Artículos que la activan / Elegir artículos… | Abre el selector de productos | Opcional al crear; se puede completar después |
| Máx. usos (vacío = ilimitado) | Tope de canjes | En la simulación las cuatro están sin tope |
| Permitir en ventas en línea | Habilita el código en el menú en línea | COMBO y FRIDAY10 lo tienen encendido |
| Días válidos (Dom…Sáb) | Días en que aplica | Los siete marcados = sin restricción |
| Aplica a todos los productos y servicios | Extiende el descuento a toda la carta | Solo % o monto; ignora los artículos definidos |
| Crear promoción | Da de alta la promoción y vuelve al listado | — |
| Activar / Desactivar | Enciende o apaga la promoción desde el listado | Una desactivada baja a «Inactivas y vencidas» |
| Prioridad | Decide cuál se aplica primero cuando varias califican | Solo en la ficha; COMBO = 40 |
| Desde / Hasta (opcional) | Ventana de vigencia | Fuera de ella el estado pasa a Programada o Vencida |
| ✕ (artículo) | Quita el artículo que activa la promoción | Sin confirmación |
| Servicio, producto o categoría · Cantidad · Añadir | Agrega un artículo disparador con su cantidad | COMBO = Margherita ×1 + Refresco ×2 |
| Inactivas y vencidas (N) | Despliega las promociones fuera de circulación | Solo aparece si hay alguna |
Mensajes y errores
Esta pantalla no emite códigos NG_* propios. Si el usuario no tiene
service.manage o el plan no incluye promociones, la ruta no existe para él:
"404 — This page could not be found."
El rechazo de un código sí se ve, pero en el POS, no aquí:
"Código no válido para este pedido."
Lo que la pantalla no hace. La propia bajada lo advierte: «En el POS aplican
ingresando su código en "Promo / descuentos" del ticket. La aplicación automática
(sin código) llega pronto.» — una promoción sin código no se aplica sola en el
restaurante. En el selector de artículos no hay agrupación por sección: sale
un único grupo Productos con los 9 productos, porque las categorías del
selector se arman con servicios, que un restaurante no tiene. Y el código
COMBO, que en la simulación calza exactamente con el carrito exigido, hoy se
rechaza en el POS con «Código no válido para este pedido.»: es un defecto
conocido, registrado por el equipo de Nura durante la revisión de pantallas, y la
promoción está bien cargada aquí — el que falla es el previo del ticket. Mientras
no se corrija, al cliente que reclama ese combo hay que hacerle el precio con un
descuento manual (Desc. pedido, que exige pos.discount) y avisar al
supervisor.