Ir al contenido

Vigencia, Días y Exclusiones

La vigencia y las exclusiones determinan exactamente cuándo y a qué productos aplica una promoción. El motor del POS evalúa estos parámetros en tiempo real antes de aplicar cualquier descuento.

Cuando el POS evalúa las promociones activas para un carrito, el motor ejecuta los siguientes pasos por cada promoción ordenada de mayor a menor prioridad:

  1. Verifica la vigencia temporal: comprueba que la fecha y hora actuales están dentro del rango fechaIniciofechaFin, que el día de la semana actual está permitido y, si se configuraron, que la hora actual está dentro de la ventana horaIniciohoraFin.
  2. Verifica acumulabilidad: si ya se aplicó una promoción no acumulable en el ticket, omite las demás no acumulables.
  3. Filtra exclusiones: construye el conjunto de líneas del carrito excluyendo los productos y categorías que están en la lista de exclusiones de la promoción.
  4. Invoca la estrategia: si quedan líneas elegibles, calcula el descuento usando la estrategia del tipo de promoción.

Los campos de vigencia se definen en la tarjeta Vigencia del formulario de creación o edición.

Tarjeta de vigencia con campos de fecha inicio, fin y días de semana

Campo Descripción
Fecha inicio Primer día (inclusive) en que la promoción puede aplicarse.
Fecha fin Último día (inclusive). Al día siguiente la promoción transiocna automáticamente a EXPIRADA.

Marque los días en que desea que aplique la promoción:

Abrev. Día
L Lunes (1)
M Martes (2)
X Miércoles (3)
J Jueves (4)
V Viernes (5)
S Sábado (6)
D Domingo (0)

Deje vacío si desea que la promoción aplique cualquier día de la semana dentro del rango de fechas.

Campo Descripción
Límite de uso total Número máximo de veces que la promoción puede aplicarse sumando todos los clientes. Dejar vacío = sin límite.
Límite por cliente Número máximo de veces que un mismo cliente puede beneficiarse de la promoción. Dejar vacío = sin límite.

Las exclusiones evitan que la promoción aplique a productos o categorías específicas. Este campo se gestiona mediante la funcionalidad de aplicabilidades del backend.

El motor del POS filtra las líneas del carrito antes de invocar la estrategia de cálculo:

  • Si el productoId de una línea está en la lista de exclusiones de la promoción, esa línea no recibe el descuento.
  • Si el categoriaId de una línea está en la lista de exclusiones, tampoco recibe el descuento.
  • Las líneas restantes (no excluidas) forman el conjunto elegible sobre el que se calcula el descuento.

Relación entre vigencia y tipos de promoción

Sección titulada «Relación entre vigencia y tipos de promoción»
Tipo Vigencia temporal Días de semana Notas
PORCENTAJE Aplica estándar de vigencia
MONTO_FIJO Aplica estándar de vigencia
DOS_X_UNO Aplica estándar de vigencia
BUNDLE Aplica estándar de vigencia
TEMPORADA La temporada está definida precisamente por estos parámetros; úselos para acotar el período estacional

El campo Acumulable (stackable) del formulario controla si la promoción puede combinarse con otras en el mismo ticket:

  • Acumulable = Sí: puede coexistir con otras promociones (acumulables o no, siempre que no haya otra no acumulable ya aplicada con mayor prioridad).
  • Acumulable = No: si una promoción no acumulable ya fue aplicada en el ticket (por tener mayor prioridad), las demás no acumulables se omiten.

El motor ordena las promociones de mayor a menor prioridad (prioridad descendente) y marca cuándo se aplicó la primera no acumulable para bloquear las siguientes.

  • La fecha de fin debe ser posterior a la fecha de inicio; el sistema no guarda una vigencia inválida.
  • Si se seleccionan días de semana, el array diasSemana debe contener valores entre 0 (domingo) y 6 (sábado).
  • Una promoción EXPIRADA no puede reactivarse; debe crearse una nueva.
  • Las exclusiones se verifican a nivel de productoId y categoriaId; no aplican a toda la categoría hija si solo se excluye la categoría padre.

La promoción aplica en días que no configuré. Revise que los checkboxes de días de semana estén seleccionados correctamente. Si el array quedó vacío, la promoción aplica todos los días por diseño.

La promoción no aplica a un producto aunque no está excluido. Verifique que el producto pertenece a la aplicabilidad de la promoción (si se configuró una aplicabilidad por producto o categoría). Si la aplicabilidad es de tipo GLOBAL, aplica a todo el carrito.

¿Puedo cambiar la fecha de fin de una promoción activa? Debe pausarla primero (estado PAUSADA es editable) y luego editar la fecha. Recuerde reactivarla cuando esté lista.