Skip to main content
En Fire, un COMBO es un producto cuyo precio no está fijo en el catálogo — depende de las opciones que el cliente seleccione en sus grupos de modificadores requeridos. Al recibir un COMBO en un evento menu.updated, priceInfo.price siempre será 0. Esto es intencional. Fire pre-calcula el precio mínimo alcanzable y lo almacena en priceInfo.referencePrice.

Identificar un COMBO en el payload

Busca "type": "COMBO" dentro de data.menu.products:
Nunca muestres priceInfo.price para un COMBO — siempre es 0. Usa priceInfo.referencePrice como precio de encabezado.

Overrides de modificadores

Un producto puede aparecer en muchos combos y muchos menús. En la lista global products[] tiene un único precio base. Pero cuando ese producto actúa como opción de modificador dentro de un combo específico, su precio en ese combo puede ser distinto — por ejemplo, una papas medianas que se vende a R$ 8.00 individualmente puede costar R$ 6.40 cuando va incluida en un combo particular. Para eso existe productModifiers[n].overrides: permite que cada combo declare un precio diferente para cualquiera de sus opciones de modificador sin alterar el precio base del producto en el catálogo.

Estructura

Cada entrada en overrides apunta a una opción de modificador por su productId:
En este ejemplo, prod_papas_medianas tiene un precio base de R$ 8.00 en products[], pero el override lo establece en R$ 6.40 para este combo. prod_papas_grandes también es sobreescrito a R$ 8.30.

Resolver el precio efectivo

Al procesar una opción de modificador, siempre verifica overrides primero:
Usa el precio efectivo — no el precio base del catálogo — para todos los cálculos: precio de referencia, visualización del delta y total del carrito.

Precio de referencia

priceInfo.referencePrice es pre-calculado por Fire como el mínimo que el cliente puede pagar por el combo:
Muestra este valor como el precio principal del combo o como “desde BRL 99.90” en las tarjetas de producto. Nunca uses priceInfo.price para mostrar el precio.

Ejemplo — Box da Torcida

Lógica de visualización para el cliente

Muestra los precios relativos a la opción más barata del grupo — no el precio absoluto del catálogo. Así el cliente ve cuánto cuesta una opción premium por encima de la selección base.
Aplica esta lógica solo a grupos requeridos (minOptions ≥ 1). Para grupos opcionales (minOptions = 0), muestra el precio completo del add-on para cada opción.

Ejemplo — Elige tu box (requerido, elige 1)

El override para prod_tiras_6 (R$ 38.00) se usa en lugar de su precio base en catálogo.

Ejemplo — Elige tu salsa (requerido, todos al mismo precio)

No se muestra delta cuando todas las opciones tienen el mismo precio.

Total del carrito

El total que se muestra en el botón “Agregar al pedido” se actualiza en tiempo real a medida que el cliente hace sus selecciones:
Antes de que se seleccione alguna opción premium, muestra precioReferencia.