Skip to main content
Estos son fragmentos para copiar y adaptar en escenarios comunes de menú. Cada uno muestra solo la parte relevante del documento del menú: insértela en la estructura completa de Publicar un menú. Para conocer el modelo que hay detrás, consulte El modelo de menú. Todos los precios son enteros en unidades menores (450 = $4.50) y cada objeto lleva un externalId que es suyo.

Selección múltiple: elegir hasta 3, máximo 2 distintos

“Elija sus ingredientes: hasta 3 en total, pero no más de 2 tipos diferentes.” El conteo total y el conteo de opciones distintas son reglas separadas:
  • maxSelections: 3 limita la cantidad total seleccionada.
  • maxUniqueSelections: 2 limita el número de opciones distintas. Un cliente puede elegir 2× Mushroom + 1× Olives (3 en total, 2 tipos), pero no tres ingredientes diferentes.
  • maxQuantity: 3 en cada opción permite pedir doble o triple de un mismo ingrediente.
Haga gratis las primeras selecciones con freeSelectionCount. Por ejemplo, "freeSelectionCount": 1 cobra solo a partir del segundo ingrediente.

Modificadores anidados

Una opción que abre más opciones: elegir un acompañamiento y, si es la ensalada, elegir un aderezo. Las opciones pueden llevar sus propios grupos de modificadores:
Elegir Side salad muestra una opción obligatoria de Dressing; elegir Fries no. Anide tan profundo como lo necesite el menú.
Por ahora, los recursos de pedido exponen los modificadores de primer nivel seleccionados directamente en cada partida; las selecciones anidadas más profundas todavía no se expanden en el recurso del pedido.

Disponibilidad: especiales del día

Una sección de desayuno que solo aparece por las mañanas de lunes a viernes. Coloque la ventana en la categoría (restringe todo lo que contiene) o en un solo artículo:
  • dayOfWeek va de 0 (domingo) a 6 (sábado); agregue una ventana por cada día activo.
  • startTime / endTime son hora local HH:MM (formato de 24 horas), en la zona horaria del menú: establezca el campo de nivel superior timezone (por defecto es UTC).
  • Un objeto sin availability siempre está disponible.
Así funcionan los menús por horario del día: hay un menú por local y las ventanas de disponibilidad lo dividen.

Happy hour: un descuento recurrente

Un descuento recurrente requiere tres objetos de nivel superior que trabajan juntos: a qué se aplica (un conjunto de productos), el cálculo del descuento y cuándo está activo (la promoción):
  • El conjunto de productos indica a qué se aplica el descuento (aquí, dos bebidas; use "allProducts": true para todo el menú).
  • El descuento indica cuánto (20 % de descuento). Otros benefitType son amount, set_price, free_item y bxgy.
  • La promoción los une e indica cuándo: applicationMode: "automatic" la aplica sin un código y availability define las ventanas semanales recurrentes. Use validFrom / validUntil para una campaña de una sola vez.
Los ID que conectan todo esto (discountId, benefitTargetProductSetId y los miembros de itemIdsAny) son los externalId que usted asignó. Las referencias cruzadas en un menú siempre usan sus ID, nunca los de Maple. Las ventanas de availability de la promoción usan la zona horaria del menú (establezca timezone en el nivel superior; por defecto es UTC).

Marcar un artículo como agotado (86)

Marque algo como agotado sin reestructurar el menú: establezca stockStatus en el artículo (o la variante):
stockStatus es in_stock, out_of_stock o low_stock. Si lo omite al volver a publicar, se conserva el valor actual, así que una actualización de inventario puede ser una publicación pequeña y específica.

Combínelas

Estas recetas se pueden combinar. Una categoría de desayuno (disponibilidad) puede contener un artículo armable (modificadores anidados) con un grupo de “primer ingrediente gratis” (freeSelectionCount), mientras una promoción de happy hour se aplica a las bebidas. Publique el menú completo y Maple lo aplica como un solo diff; consulte Publicar un menú.