---
updatedAt: 2026-08-17T14:47:17.000Z
agentTools:
  projectIndex: https://developers.deliverect.com/llms.txt
---

# Commerce Menus - Model

<HTMLBlock>{`
<div class="callout-banner callout-banner--neutral">
  <span class="callout-icon"><i class="fa-regular fa-square-info"></i></span>
  <p>

    Please note that all the fields marked with (<span style="color:#09CC7A"> * </span>) will always be present in the response payload.
  </p>
</div>
`}</HTMLBlock>

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        **Parameters**
      </th>

      <th>
        **Meaning**
      </th>

      <th>
        **Type**
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `menu`<span style="color:red"> \* </span>
      </td>

      <td>
        The name of the menu
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        `menuTranslations`
      </td>

      <td>
        translation of the menu name with language codes as keys (see guide [here](https://developers.deliverect.com/page/translatable-elements-and-codes))
      </td>

      <td>
        object of strings
      </td>
    </tr>

    <tr>
      <td>
        `description`
      </td>

      <td>
        description of the menu
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        `descriptionTranslations`
      </td>

      <td>
        translation of the menu description with language codes as keys (see guide [here](https://developers.deliverect.com/page/translatable-elements-and-codes))
      </td>

      <td>
        object of strings
      </td>
    </tr>

    <tr>
      <td>
        `menuImageUrl`
      </td>

      <td>
        Header/Banner image url of the menu (more info on images [here](https://developers.deliverect.com/page/images-menu))
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        `menuId`<span style="color:red"> \* </span>
      </td>

      <td>
        internal Deliverect menu id
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        `menuType`<span style="color:red"> \* </span>
      </td>

      <td>
        Five different types of menus, with each representing the intended ordering type for which the menu is suitable;<br />DELIVERY_AND_PICKUP = `0`<br />DELIVERY = `1`<br />PICKUP = `2`<br />EAT_IN = `3`<br />CURBSIDE = `4`
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        `nestedModifiers`<span style="color:red"> \* </span>
      </td>

      <td>
        Indicates that nested modifiers are present in the menu
      </td>

      <td>
        boolean
      </td>
    </tr>

    <tr>
      <td>
        `currency`
      </td>

      <td>
        [currency](https://developers.deliverect.com/page/list-of-currencies) of the menu
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        **productTags**
      </td>

      <td>
        Array of all tags that exist in the menu (see guide [here](https://developers.deliverect.com/page/product-types#product-tags-consumable-types-and-allergens))
      </td>

      <td>
        array of integers
      </td>
    </tr>

    <tr>
      <td>
        **categories**
      </td>

      <td>
        The categories within a menu
      </td>

      <td>
        array of objects
      </td>
    </tr>

    <tr>
      <td>
        categories.`id`
      </td>

      <td>
        internal Deliverect id of the category
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        categories.`name`
      </td>

      <td>
        category name
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        categories.`nameTranslations`
      </td>

      <td>
        translations of the category name with language codes as keys (see guide [here](https://developers.deliverect.com/page/translatable-elements-and-codes))
      </td>

      <td>
        object of strings
      </td>
    </tr>

    <tr>
      <td>
        categories.`description`
      </td>

      <td>
        description of the category
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        categories.`descriptionTranslations`
      </td>

      <td>
        translation of the category description with language codes as keys (see guide [here](https://developers.deliverect.com/page/translatable-elements-and-codes))
      </td>

      <td>
        object of strings
      </td>
    </tr>

    <tr>
      <td>
        categories.`imageUrl`
      </td>

      <td>
        image url of the category (see more info on images [here](https://developers.deliverect.com/page/images-menu))
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        categories.`subProducts`
      </td>

      <td>
        products that exist under each category, see [guide here](https://developers.deliverect.com/docs/how-can-the-correct-sorting-of-products-and-categories-be-seen-in-the-menu-pushed) for more context on correct sorting
      </td>

      <td>
        array of string
      </td>
    </tr>

    <tr>
      <td>
        categories.`menu`
      </td>

      <td>
        the unique ID of the menu this category belongs to
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        categories.`account`
      </td>

      <td>
        the unique ID of the account this category belongs to
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        **products** / **modifiers**<br />**modifierGroups** / **bundles**
      </td>

      <td>
        - Seperate keys for **"products"**, **"modifiers"**, **modifierGroups** and **bundles** exist, they share many attributes as listed below and for documentation purposes, are referred to as **_items_**
      </td>

      <td>
        array of objects
      </td>
    </tr>

    <tr>
      <td>
        items\_.`id` <span style="color:red"> \* </span>
      </td>

      <td>
        Identifier of a particular item and it's location in the menu structure.
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`plu`  <span style="color:red"> \* </span>
      </td>

      <td>
        Unique identifier of the item, to be used when creating orders
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`name` <span style="color:red"> \* </span>
      </td>

      <td>
        Item name
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`nameTranslations`
      </td>

      <td>
        translation of an item name with language codes as keys (see guide [here](https://developers.deliverect.com/page/translatable-elements-and-codes))
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`productType` <span style="color:red"> \* </span>
      </td>

      <td>
        PRODUCT = `1`<br />MODIFIER = `2`<br />MODIFIER GROUP = `3`<br />BUNDLE = `4`
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.`description`
      </td>

      <td>
        item description
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`descriptionTranslations`
      </td>

      <td>
        translation of the item description with language codes as keys (see guide [here](https://developers.deliverect.com/page/translatable-elements-and-codes))
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`max`  <span style="color:red"> \* </span>
      </td>

      <td>
        maximum number of items under a group to be purchased
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.`min` <span style="color:red"> \* </span>
      </td>

      <td>
        minimum number of items under a group to be purchased
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.`defaultQuantity`
      </td>

      <td>
        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
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.`multiply` <span style="color:red"> \* </span>
      </td>

      <td>
        multiply is used in bundles to show this product multiple times in the GUI, 1 means one entry (so no copies)
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.`isVariant`
      </td>

      <td>
        Applicable to a product to indicate if it is a variant or not (see guide [here](https://developers.deliverect.com/page/product-types#variants))
      </td>

      <td>
        boolean
      </td>
    </tr>

    <tr>
      <td>
        items\_.`productTags`
      </td>

      <td>
        All tags which apply to this item, see complete list [here](https://developers.deliverect.com/page/product-types#product-tags-consumable-types-and-allergens)
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.`account`
      </td>

      <td>
        Unique customer account ID where the item is stored
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`referenceId`
      </td>

      <td>
        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.
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`subProducts`
      </td>

      <td>
        list of items belonging to the group
      </td>

      <td>
        array of string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`beverageInfo`
      </td>

      <td>
        information specific to beverages
      </td>

      <td>
        object
      </td>
    </tr>

    <tr>
      <td>
        items\_.beverageInfo.`caffeine`
      </td>

      <td>
        expressed in mg
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.beverageInfo.`alcohol`
      </td>

      <td>
        expressed in mg
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.`calories`
      </td>

      <td>
        expressed in kcal / Cals
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.`caloriesRangeHigh`
      </td>

      <td>
        if a range is supported, the minimum would be `"calories"` and maximum`"caloriesRangeHigh"`
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.`nutritionalInfo`
      </td>

      <td>
        Expressed in grams e.g. `fat`, `sugar`, `saturatedFat`, `carbohydrates`, `protein`, `salt`etc (see this section of product guide [here](https://developers.deliverect.com/page/product-types#nutritional-information))
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.nutritionalInfo.`servingSize`
      </td>

      <td>
        details of a serving size
      </td>

      <td>
        nested object
      </td>
    </tr>

    <tr>
      <td>
        items\_.nutritionalInfo.servingSize.`amount`
      </td>

      <td>
        the serving size amount
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.nutritionalInfo.servingSize.`unitType`
      </td>

      <td>
        What the serving size unit type is;<br />Weight = `1 `<br />Volume = `2 `<br />Count = `3`
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.nutritionalInfo.servingSize.`countUnitDescription`
      </td>

      <td>
        the serving size unit description
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.nutritionalInfo.`netQuantity`
      </td>

      <td>
        details on quantity
      </td>

      <td>
        nested object
      </td>
    </tr>

    <tr>
      <td>
        items\_.nutritionalInfo.netQuantity.`amount`
      </td>

      <td>
        the net quantity amount
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.nutritionalInfo.netQuantity.`unitType`
      </td>

      <td>
        What the net quantity unit type is;<br />Weight = `1 `<br />Volume = `2 `<br />Count = `3`
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.nutritionalInfo.netQuantity.`countUnitDescription`
      </td>

      <td>
        the net quantity unit description
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        items\_.`packaging`
      </td>

      <td>
        details on the packaging
      </td>

      <td>
        object
      </td>
    </tr>

    <tr>
      <td>
        items\_.packaging.`count`
      </td>

      <td>
        quantity of packaging
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.packaging.`reusable`
      </td>

      <td>
        whether packaging is re-usable or not
      </td>

      <td>
        boolean
      </td>
    </tr>

    <tr>
      <td>
        items\_.packaging.`storageInstructions`
      </td>

      <td>
        instructions for storage
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`supplementalInfo`
      </td>

      <td>
        additional information about an item
      </td>

      <td>
        object
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.`legalName`
      </td>

      <td>
        legal name of the item
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.`instructionsForUse`
      </td>

      <td>
        any specific instructions for use
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.`ingredients`
      </td>

      <td>
        array of ingredients
      </td>

      <td>
        nested array of strings
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.`additives`
      </td>

      <td>
        array of ingredients
      </td>

      <td>
        nested array of strings
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.`prepackaged`
      </td>

      <td>
        specifies whether the item is prepackaged
      </td>

      <td>
        boolean
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.`deposit`
      </td>

      <td>
        any specific deposit that applies
      </td>

      <td>
        integer
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.`fbo`
      </td>

      <td>
        Details of the food business operator
      </td>

      <td>
        nested object strings
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.fbo.`name`
      </td>

      <td>
        Food business operator name
      </td>

      <td>
        nested object strings
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.fbo.`address`
      </td>

      <td>
        Food business operator address
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.fbo.`brand`
      </td>

      <td>
        Food business operator brand name
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.supplementalInfo.fbo.`countryOfOrigin`
      </td>

      <td>
        Food business operator country of origin
      </td>

      <td>
        string
      </td>
    </tr>

    <tr>
      <td>
        items\_.`subProductSortOrder`
      </td>

      <td>
        a list of product PLUs belonging to this product that preserves the order of these sub-Products
      </td>

      <td>
        array of string
      </td>
    </tr>
  </tbody>
</Table>

<HTMLBlock>{`
<br>
`}</HTMLBlock>