Skip to main content
This example shows how to publish two composed menus in a single upsert when the same store, channel, and fulfillment need different active windows — without modifier groups or duplicate catalog masters.

What this example includes

Each menu entry shares the same category_ids but carries its own id, name, and schedules. Fire spark returns every menu in data whose schedule matches the customer’s order time. Outside those windows, it returns the nearest upcoming menu or menus instead.

Request

Send both menus in one Upsert menus call. Catalog entities (products, categories) are shared; each object in menus defines a separate composed menu for its schedule.
multi-schedule-menu.json

Key points

  • One upsert, two menus. You can send up to 10 menu definitions per request. Each needs a unique external id.
  • Schedules gate the menu shell. When a customer orders at 09:00, Fire spark composes breakfast-delivery. At 12:30, it composes lunch-delivery.
  • Shared catalog, different dayparts. Both menus reference the same category. To show different products per daypart, give each menu different category_ids or add more categories to the payload.
  • No modifier groups. Products with no customization send "modifier_groups": [].
When breakfast and lunch need completely different assortments, add separate categories (for example breakfast-mains and lunch-mains) and point each menu at the categories that belong to that daypart.

Menu sync — schedules

Schedule patterns and daypart menus

Upsert menus

Endpoint reference