Glossary - Menus
ⓘ Menu Data
Please note that all the fields marked with ( * ) will always be present in the menu payload and contain data.
Please note that all the fields marked with ( * ) will always be present in the menu payload and contain data.
❗️Legacy Attributes
Certain attributes appear in the menu payload but should not be referenced as part of an integration and are marked as 'LEGACY PARAMETER'
Certain attributes appear in the menu payload but should not be referenced as part of an integration and are marked as 'LEGACY PARAMETER'
Parameters | Meaning | Type |
---|---|---|
menu * | The name of the menu | string |
menuTranslations | translation of the menu name with language codes as keys (see guide here) | object of strings |
description | description of the menu | string |
descriptionTranslations | translation of the menu description with language codes as keys (see guide here) | object of strings |
menuImageURL | Header/Banner image url of the menu (more info on images here) | string |
menuId * | internal Deliverect menu id | string |
menuType * | Five different types of menus, with each representing the intended ordering type for which the menu is suitable; DELIVERY_AND_PICKUP = 0 DELIVERY = 1 PICKUP = 2 EAT_IN = 3 CURBSIDE = 4 | integer |
channelLinkId * | the id for the channelLink that this menu is published to | string |
nestedModifiers * | Indicates if nested modifiers are present in the menu (see section here for further reference) | boolean |
currency | currency of the menu | string |
productTags | Array of all tags that exist in the menu (see guide here) | array of integers |
availabilities | The times during which the menu should be available. This will in most cases equate to the store's opening hours. | array of objects |
availabilities.dayOfWeek | An integer value that indicates the day of the week for this availability (starting at 1 for Monday). | integer |
availabilities.startTime | A 24-hour HH:MM format notation of the start time of availability expressed in the local time of the location. | string |
availabilities.endTime | A 24-hour HH:MM format notation of the end time of availability expressed in the local time of the location. | string |
categories | The categories within a menu | array of objects |
categories._id | internal Deliverect id of the category | string |
categories.name | category name | string |
categories.nameTranslations | translations of the category name with language codes as keys (see guide here) | object of strings |
categories.description | description of the category | string |
categories.descriptionTranslations | translation of the category description with language codes as keys (see guide here) | object of strings |
categories.imageUrl | image url of the category (see more info on images here) | string |
categories.availabilities | category availabilities | array of objects |
categories.availabilities.dayOfWeek | An integer value that indicates the day of the week for this categories availability (starting at 1 for Monday). | integer |
categories.availabilities.startTime | A 24-hour HH:MM format notation of the start time of availability expressed in the local time of the location. | string |
categories.availabilities.endTime | A 24-hour HH:MM format notation of the start time of availability expressed in the local time of the location. | string |
categories.availabilities.category | Unique ID of the menu category | string |
categories.subProducts | products that exist under each category, see guide here for more context on correct sorting | string |
categories.menu | the unique ID of the menu this category belongs to | string |
categories.account | the unique ID of the account this category belongs to | string |
categories.posLocationId | LEGACY PARAMETER | string |
categories.posCategoryType | LEGACY PARAMETER | string |
categories.posCategoryId | LEGACY PARAMETER | array of strings |
categories.subCategories | LEGACY PARAMETER | array of strings |
categories.sortedChannelProductIds | LEGACY PARAMETER for correct sorting, see subProducts | array of strings |
categories.subProductSortOrder | LEGACY PARAMETER for correct sorting, see subProducts | string |
categories.level | LEGACY PARAMETER | integer |
products / modifiers modifierGroups | *Seperate keys for "products", "modifiers", and modifierGroups exist, they share many attributes as listed below and for documentation purposes, are referred to as items | array of objects |
items._id * | Identifier of a particular item and it's location in the menu structure. | string |
items.plu * | Unique identifier of the item, to be used when creating orders | string |
items.gtin | GTIN (Global Trade Item Number) for product, which could be EAN code NB: We are not validating these as yet | array of strings |
items.imageUrl | Image associated with the item (see more info on images here) | string |
items.name * | Item name | string |
items.price * | Price of the item with 2 decimal digits. e.g. 1 euro is stored as 100. | integer |
items.bottleDepositPrice | LEGACY PARAMETER (see supplementalInfo.deposit ) | integer |
items.nameTranslations | translation of an item name with language codes as keys (see guide here) | string |
items.productType * | PRODUCT = 1 MODIFIER = 2 MODIFIER GROUP = 3 | integer |
items.description | item description | string |
items.descriptionTranslations | translation of the item description with language codes as keys (see guide here) | string |
items.deliveryTax * | sales tax specific on order type of 'Delivery' for the item. Tax rates are always stored as an int with 3 decimal digits e.g. 5% would be sent as 5000 | integer |
items.takeawayTax * | sales tax specific on order type of 'Takeaway' for the item. Tax rates are always sent as an int with 3 decimal digits e.g. 5% would be sent as 5000 | integer |
items.eatInTax * | sales tax specific on order type of 'Eat-in' for the item. Tax rates are always sent as an int with 3 decimal digits e.g. 5% would be sent as 5000 | integer |
items.max * | maximum number of items under a group to be purchased | integer |
items.min * | minimum number of items under a group to be purchased | integer |
items.multiMax | maximum quantity of any single item which can be purchased within a group (modifier group) Also applicable to Products where it should control how many items can be added to a basket e.g. Paracetamol | integer |
items.defaultQuantity | this controls the behaviour of 'pre-selected' items, where a quantity >0 should be automatically selected (typically '1') higher default quantities can also be set | integer |
items.multiply * | multiply is used in Modifier Group to show this product multiple times in the GUI, 1 means one entry (so no copies) | integer |
items.isCombo | This flag indicates if a product is a combo item/meal deal | boolean |
items.isVariant | Applicable to a product to indicate if it is a variant or not (see guide here) | boolean |
items.isVariantGroup | Applicable to a modifier group to indicate if it is a variant or not (see guide here ) | boolean |
snoozed * | Indicates whether an item is snoozed at the point of a menu being published | boolean |
items.visible | LEGACY PARAMETER (the value will always be set to "true") | boolean |
items.productTags | All tags which apply to this item, see complete list here | integer |
items.account | Unique customer account ID where the item is stored | string |
items.referenceId | the original PLU of the item, only for tracking sales e.g. for loyalty purposes. Not to be included in the payload for order creation. | string |
items.location | Unique customer location ID where the item is stored | string |
items.capacityUsages | LEGACY PARAMETER | string |
items.isUpsell | Indicates if the modifier group is an Upsell group | boolean |
items.subProducts | list of items belonging to the group | string |
items.beverageInfo | information specific to beverages | object |
items.beverageInfo.caffeine | expressed in mg | integer |
items.beverageInfo.alcohol | expressed in mg | integer |
items.calories | expressed in kcal / Cals | integer |
items.caloriesRangeHigh | if a range is supported, the minimum would be "calories" and maximum"caloriesRangeHigh" | integer |
items.nutritionalInfo | Expressed in grams e.g. fat , sugar , saturatedFat , carbohydrates , protein , salt etc (see this section of product guide here) | integer |
items.nutritionalInfo.servingSize | details of a serving size | nested object |
items.nutritionalInfo.servingSize.amount | the serving size amount | integer |
items.nutritionalInfo.servingSize.unitType | What the serving size unit type is; Weight = 1
Volume = 2 Count = 3 | integer |
items.nutritionalInfo.servingSize.countUnitDescription | the serving size unit description | string |
items.nutritionalInfo.netQuantity | details on quantity | nested object |
items.nutritionalInfo.netQuantity.amount | the net quantity amount | integer |
items.nutritionalInfo.netQuantity.unitType | What the net quantity unit type is; Weight = 1
Volume = 2 Count = 3 | integer |
items.nutritionalInfo.netQuantity.countUnitDescription | the net quantity unit description | |
items.packaging | details on the packaging | object |
items.packaging.count | quantity of packaging | integer |
items.packaging.reusable | whether packaging is re-usable or not | boolean |
items.packaging.storageInstructions | instructions for storage | string |
items.supplementalInfo | additional information about an item | object |
items.supplementalInfo.legalName | legal name of the item | string |
items.supplementalInfo.instructionsForUse | any specific instructions for use | string |
items.supplementalInfo.ingredients | array of ingredients | nested array of strings |
items.supplementalInfo.additives | array of ingredients | nested array of strings |
items.supplementalInfo.prepackaged | specifies whether the item is prepackaged | boolean |
items.supplementalInfo.deposit | In certain regions a deposit is required for e.g. bottled drinks this will be included in the price, yet the deposit should be clearly displayed to the consumer Deposit expressed to 2 decimal digits. e.g. 1 euro is stored as 100 (see guide here ) | integer |
items.supplementalInfo.fbo | Details of the food business operator | nested object strings |
items.supplementalInfo.fbo.name | Food business operator name | nested object strings |
items.supplementalInfo.fbo.address | Food business operator address | string |
items.supplementalInfo.fbo.brand | Food business operator brand name | string |
items.supplementalInfo.fbo.countryOfOrigin | Food business operator country of origin | string |
items.parentId | LEGACY PARAMETER (use the subProducts parameter to understand item relationships) | string |
items.posCategoryIds | the POS ID of the category this product belongs to in the POS | string |
items.posProductCategoryId | the ID of this product in the POS, internal to POS, not to be used when creating orders | string |
items.posProductId | the ID of this product in the POS, internal to POS, not to be used when creating orders | string |
items.subProductSortOrder | a list of product PLUs belonging to this product that preserves the order of these sub-Products | string |
snoozedProducts | PLUs of products and modifiers that are currently snoozed and should be unavailable on the menu | nested objects |
snoozedProducts.{snoozeKey} | a unique reference for the snooze object in format "65********************1d" | object |
snoozedProducts.location | Deliverect location ID where the item is snoozed | string |
snoozedProducts.name | Item name | string |
snoozedProducts.plu | Item reference | string |
snoozedProducts.snoozeStart | Timestamp in UTC when snooze begins yyyy-MM-dd HH:mm:ss.SSSSSSZ | string |
snoozedProducts.snoozeEnd | Timestamp in UTC when snooze ends yyyy-MM-dd HH:mm:ss.SSSSSSZ | string |
validations | LEGACY PARAMETER | array |