Glossary - Menus

ⓘ Menu 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'


ParametersMeaningType
menu * The name of the menustring
menuTranslationstranslation of the menu name with language codes as keys (see guide here)object of strings
descriptiondescription of the menustring
descriptionTranslationstranslation of the menu description with language codes as keys (see guide here)object of strings
menuImageURLHeader/Banner image url of the menu (more info on images here)string
menuId * internal Deliverect menu idstring
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 = 4integer
channelLinkId * the id for the channelLink that this menu is published tostring
nestedModifiers * Indicates if nested modifiers are present in the menu (see section here for further reference)boolean
currencycurrency of the menuinterger
productTagsArray of all tags that exist in the menu (see guide here)array of integers
availabilitiesThe times during which the menu should be available. This will in most cases equate to the store's opening hours.array of objects
availabilities.dayOfWeekAn integer value that indicates the day of the week for this availability (starting at 1 for Monday).integer
availabilities.startTimeA 24-hour HH:MM format notation of the start time of availability expressed in the local time of the location.string
availabilities.endTimeA 24-hour HH:MM format notation of the end time of availability expressed in the local time of the location.string
categoriesThe categories within a menuarray of objects
categories._idinternal Deliverect id of the categorystring
categories.namecategory namestring
categories.nameTranslationstranslations of the category name with language codes as keys (see guide here)object of strings
categories.descriptiondescription of the categorystring
categories.descriptionTranslationstranslation of the category description with language codes as keys (see guide here)object of strings
categories.imageUrlimage url of the category (see more info on images here)string
categories.availabilitiescategory availabilitiesarray of objects
categories.availabilities.dayOfWeekAn integer value that indicates the day of the week for this categories availability (starting at 1 for Monday).integer
categories.availabilities.startTimeA 24-hour HH:MM format notation of the start time of availability expressed in the local time of the location.string
categories.availabilities.endTimeA 24-hour HH:MM format notation of the start time of availability expressed in the local time of the location.string
categories.availabilities.categoryUnique ID of the menu categorystring
categories.subProductsproducts that exist under each category, see guide here for more context on correct sortingstring
categories.menuthe unique ID of the menu this category belongs tostring
categories.accountthe unique ID of the account this category belongs tostring
categories.posLocationId LEGACY PARAMETER
categories.products LEGACY PARAMETER for correct sorting of products in categories, see subProductsarray of strings
categories.posCategoryType LEGACY PARAMETERstring
categories.posCategoryId LEGACY PARAMETERarray of strings
categories.subCategories LEGACY PARAMETERarray of strings
categories.sortedChannelProductIds LEGACY PARAMETERfor correct sorting of products in categories seesubProductsarray of strings
categories.subProductSortOrder LEGACY PARAMETERfor correct sorting of products in categories, see subProductsstring
categories.level LEGACY PARAMETERinteger
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 ordersstring
  • items_.gtin
GTIN (Global Trade Item Number) for product, which could be EAN code NB: We are not validating these as yetarray of strings
  • items_.imageUrl
Image associated with the item (see more info on images here)string
  • items_.name *
Item namestring
  • 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 = 3integer
  • items_.description
item descriptionstring
  • 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 5000integer
  • 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 5000integer
  • 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 5000integer
  • items_.max *
maximum number of items under a group to be purchasedinteger
  • items_.min *
minimum number of items under a group to be purchasedinteger
  • 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 setinteger
  • 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 dealboolean
  • 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 publishedboolean
  • 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 hereinteger
  • items_.account
Unique customer account ID where the item is storedstring
  • 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 storedstring
  • items_.capacityUsages
LEGACY PARAMETERstring
  • items_.isUpsell
Indicates if the modifier group is an Upsell groupboolean
  • items_.subProducts
list of items belonging to the grouparray
  • items_.beverageInfo
information specific to beveragesobject
  • items_.beverageInfo.caffeine
expressed in mginteger
  • items_.beverageInfo.alcohol
expressed in mginteger
  • items_.calories
expressed in kcal / Calsinteger
  • 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, saltetc (see this section of product guide here)integer
  • items_.nutritionalInfo.servingSize
details of a serving sizenested object
  • items_.nutritionalInfo.servingSize.amount
the serving size amountinteger
  • items_.nutritionalInfo.servingSize.unitType
What the serving size unit type is; Weight = 1 Volume = 2 Count = 3integer
  • items_.nutritionalInfo.servingSize.countUnitDescription
the serving size unit descriptionstring
  • items_.nutritionalInfo.netQuantity
details on quantitynested object
  • items_.nutritionalInfo.netQuantity.amount
the net quantity amountinteger
  • items_.nutritionalInfo.netQuantity.unitType
What the net quantity unit type is; Weight = 1 Volume = 2 Count = 3integer
  • items_.nutritionalInfo.netQuantity.countUnitDescription
the net quantity unit description
  • items_.packaging
details on the packagingobject
  • items_.packaging.count
quantity of packaginginteger
  • items_.packaging.reusable
whether packaging is re-usable or notboolean
  • items_.packaging.storageInstructions
instructions for storagestring
  • items_.supplementalInfo
additional information about an item, for more information see hereobject
  • items_.supplementalInfo.legalName
legal name of the itemstring
  • items_.supplementalInfo.instructionsForUse
any specific instructions for usestring
  • items_.supplementalInfo.ingredients
array of ingredientsnested array of strings
  • items_.supplementalInfo.additives
array of ingredientsnested array of strings
  • items_.supplementalInfo.prepackaged
specifies whether the item is prepackagedboolean
  • 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 operatornested object strings
  • items_.supplementalInfo.fbo.name
Food business operator namenested object strings
  • items_.supplementalInfo.fbo.address
Food business operator addressstring
  • items_.supplementalInfo.fbo.brand
Food business operator brand namestring
  • items_.supplementalInfo.fbo.countryOfOrigin
Food business operator country of originstring
  • 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 POSstring
  • items_.posProductCategoryId
the ID of this product in the POS, internal to POS, not to be used when creating ordersstring
  • items_.posProductId
the ID of this product in the POS, internal to POS, not to be used when creating ordersstring
  • items_.subProductSortOrder
a list of product PLUs belonging to this product that preserves the order of these sub-Productsstring
items_.displayLabels

a list of labels added to the products

[ "new", "popular", "offer", "limited", "exclusive", "hero", "featured" ]

array of strings
snoozedProductsPLUs of products and modifiers that are currently snoozed and should be unavailable on the menunested objects
snoozedProducts.{snoozeKey}a unique reference for the snooze object in format "65********************1d"object
snoozedProducts.locationDeliverect location ID where the item is snoozedstring
snoozedProducts.nameItem namestring
snoozedProducts.pluItem referencestring
snoozedProducts.snoozeStartTimestamp in UTC when snooze begins yyyy-MM-dd HH:mm:ss.SSSSSSZstring
snoozedProducts.snoozeEndTimestamp in UTC when snooze ends yyyy-MM-dd HH:mm:ss.SSSSSSZstring
validations LEGACY PARAMETERarray