Payload
Fields
data
| Field | Type | Description |
|---|---|---|
account | string | Account identifier — required by downstream systems |
country | string | Country identifier — required by downstream systems |
list | object | Menu metadata and channel/store association |
categories | object[] | Category tree |
products | object[] | Product catalog |
modifierGroups | object[] | Modifier groups and options |
scheduledActivities | object[] | Future activation/deactivation windows |
data.list
| Field | Type | Description |
|---|---|---|
ecommerceChannelId | integer | Standardized channel identifier |
channelReferenceName | string | Unique reference name for the channel |
listId | string | Unique list identifier |
listName | string | Display name of the menu |
vendorId | string | Brand identifier |
storeId | string | Store identifier |
channelId | string | Sales channel UUID |
schedules | object[] | Time windows when this menu is active |
data.list.schedules[n]
| Field | Type | Description |
|---|---|---|
day | string | Day of the week (e.g. MONDAY, FRIDAY) |
startDate | string | Start date in YYYY-MM-DD format |
endDate | string | End date in YYYY-MM-DD format |
startTime | string | Opening time in HH:mm format |
endTime | string | Closing time in HH:mm format |
data.categories[n]
| Field | Type | Description |
|---|---|---|
categoryId | string | Category identifier |
categoryName | string | Display name |
displayInList | boolean | Whether the category is visible |
featured | boolean | Whether the category is featured |
crossSellingCategory | boolean | Whether this is a cross-selling category |
position | integer | Display order |
images | object[] | Category images |
childCategories | object[] | Nested subcategories |
productListing | object[] | Products in this category with their display positions |
schedules | object[] | Time-based availability (same structure as list.schedules) |
data.products[n]
| Field | Type | Description |
|---|---|---|
productId | string | Product identifier |
name | string | Product name |
description | string | Product description |
standardTime | boolean | Whether standard preparation time applies |
featured | boolean | Whether the product is featured |
priceInfo | object | Price and sale price |
priceInfo.price | number | Regular price |
priceInfo.salePrice | number | Discounted price |
productModifiers | object[] | Modifier group references with display positions |
schedules | object[] | Time-based availability |
images | object[] | Product images |
data.modifierGroups[n]
| Field | Type | Description |
|---|---|---|
modifierId | string | Modifier group identifier |
modifier | string | Display name of the modifier group |
minOptions | integer | Minimum number of selections required |
maxOptions | integer | Maximum number of selections allowed |
visible | boolean | Whether the modifier group is visible |
position | integer | Display order |
type | string | Modifier type |
modifierOptions | object[] | Individual options within the group |
data.modifierGroups[n].modifierOptions[n]
| Field | Type | Description |
|---|---|---|
optionId | string | Option identifier |
productId | string | Product used as this option |
default | boolean | Whether this option is selected by default |
position | integer | Display order |
data.scheduledActivities[n]
| Field | Type | Description |
|---|---|---|
productId | string | Product identifier |
scheduledActiveStatus | string | ISO 8601 timestamp when the product becomes active |
scheduledInactiveStatus | string | ISO 8601 timestamp when the product becomes inactive |
Notes
- The payload is a complete menu — not a diff. Replace the entire menu on the downstream system.
scheduledActivitiesdefines future activation/deactivation windows for specific products.
Removing a menu externally
Fire does not emit a separate delete event for menus. To remove a menu from a downstream system, Fire sends amenu.updated event with categories, products, modifierGroups, and scheduledActivities as empty arrays. Your system should treat an empty menu as a signal to deactivate or remove the menu externally.

