Products & Menus 101

Getting menus, categories, and products

A location's catalog is split into menus, categories in a menu, and products in each category.
Products will only show up in a single category, but categories may show up on multiple menus.

In typical situations you may only want to retrieve available menus, available categories, and available products. For example, menus, categories, and products that are enabled and in-schedule. A simple query for a single location might look like this:

You might also choose to limit this query by a specific menu via the menuUuid or by using the (not implemented) availableMenu if you happen to have a dedicated menu for the integration.

query ($locationUuid: String!) {
  location(locationUuid: $locationUuid) {
    name
    available
    availableMenusList {
      name
      availableCategoriesList {
        label
        availableProductsList {
          productId
          productUuid
          name
          description
          shortName
          productCode
          hasVariants
          
          variantsList {
            name
            price
            sku
          }
          # options
          modifiers {
            name
            type
            enabled
            required
            rank
            product
            allowOptionQuantities
            options {
              key
              name
              type
              enabled
              allowOptionQuantities
              price
              product
            }
          }
        }
      }
    }
  }
}

Product Type Codes

Product categories and product types are used to label and categorize your products. However, product category and product type aren't the same thing.

A product type, is a label that you can define and that describes the category of a product. The product type lets you use product categories other than the ones an operator creates when building their catalog. The product type is made available in the product UI is a truncated list. It is returned in the GQL API as productCode. Below is the mapping table for our product type codes.

The product type UI in the catalog currently only lists Apparel & Accessories, Food, Beverages & Tobacco, Arts & Entertainment,Health & Beauty, and Gift card.

Product CodeProduct Type
AAnimals & Pet Supplies
BApparel & Accessories
CArts & Entertainment
DBaby & Toddler
EBusiness & Industrial
FCameras & Optics
GElectronics
HFood, Beverages & Tobacco
IFurniture
JHardware
KHealth & Beauty
LHome & Garden
MLuggage & Bags
NMature
OMedia
POffice Supplies
QReligious & Ceremonial
RSoftware
SSporting Goods
TToys & Games
UVehicles & Parts
VGift card