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'

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

categories.products

LEGACY PARAMETER for correct sorting of products in categories, see subProducts

string

categories.posCategoryType

LEGACY PARAMETER

string

categories.posCategoryId

LEGACY PARAMETER

array of strings

categories.subCategories

LEGACY PARAMETER

array of strings

categories.sortedChannelProductIds

LEGACY PARAMETERfor correct sorting of products in categories seesubProducts

array of strings

categories.subProductSortOrder

LEGACY PARAMETERfor correct sorting of products in categories, 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, saltetc (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, for more information see here

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