Lightspeed · Schema

apeMenuV2

apeMenuV2 schema from Lightspeed Restaurant K Series API

POSRetailRestaurantEcommerce

Properties

Name Type Description
menuName string The name of the menu.
menuEntryGroups array Menu groups of this menu. The top-level entry will always be of type "group", representing a menu screen. Beneath each `menuEntryGroup` will be a `menuEntry` array containing any combination of one or
richDataMissing boolean Indicates whether or not rich item data is missing, if requested.
ikentooMenuId integer The unique identifier for the menu.
conditionalTaxRules boolean Warning that actual tax depends on a POS Account condition and may be different from what is provided in this API.
View JSON Schema on GitHub

JSON Schema

restaurant-k-series-ape-menu-v2-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "apeMenuV2",
  "description": "apeMenuV2 schema from Lightspeed Restaurant K Series API",
  "$id": "https://raw.githubusercontent.com/api-evangelist/lightspeed-pos/refs/heads/main/json-schema/restaurant-k-series-ape-menu-v2-schema.json",
  "type": "object",
  "properties": {
    "menuName": {
      "description": "The name of the menu.",
      "type": "string",
      "example": "Main Menu"
    },
    "menuEntryGroups": {
      "description": "Menu groups of this menu. The top-level entry will always be of type \"group\", representing a menu screen. Beneath each `menuEntryGroup` will be a `menuEntry` array containing any combination of one or more menu entries:\n* A `menuItemEntry` represents an individual item and may include product modifier groups.\n* A `menuGroupEntry` represents a menu sub-screen.\n* A `menuDealEntry` represents a combo.\n* A `menuProductModifierEntry` represents a product modifier.",
      "items": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string",
                "description": "Indicates this is a menu group.",
                "example": "group",
                "enum": [
                  "group"
                ]
              },
              "id": {
                "type": "string",
                "description": "The menu group ID.",
                "example": "141948669133028"
              },
              "name": {
                "type": "string",
                "description": "The menu group name.",
                "example": "Mains"
              },
              "color": {
                "type": "string",
                "description": "The color of the button in the POS.",
                "example": "blue"
              },
              "menuEntry": {
                "type": "array",
                "description": "Array of menu entry objects.",
                "items": {
                  "type": "object",
                  "oneOf": [
                    {
                      "title": "menuItem",
                      "allOf": [
                        {
                          "type": "object",
                          "properties": {
                            "@type": {
                              "type": "string",
                              "description": "Indicates this is an individual item.",
                              "example": "menuItem",
                              "enum": [
                                "menuItem"
                              ]
                            }
                          }
                        },
                        {
                          "properties": {
                            "productName": {
                              "type": "string",
                              "description": "The name of the item.",
                              "example": "Burger"
                            },
                            "productPrice": {
                              "type": "number",
                              "description": "The price of the item.",
                              "example": 10.0
                            },
                            "extraPrice": {
                              "type": "number",
                              "description": "Additional item price when selected in a combo group.",
                              "example": 1.99
                            },
                            "color": {
                              "type": "string",
                              "description": "The color of the menu button for this item.",
                              "example": "blue"
                            },
                            "sku": {
                              "type": "string",
                              "description": "The SKU of the item.",
                              "example": "25"
                            },
                            "customItemNameEnabled": {
                              "type": "boolean",
                              "description": "Whether the name of the item can be customized.",
                              "example": false
                            },
                            "pricingStrategy": {
                              "type": "string",
                              "description": "The pricing type of the item.",
                              "example": "PRICE_CANNOT_BE_CUSTOMIZED",
                              "enum": [
                                "CUSTOMIZED_ITEM_PRICE_WILL_BE_NEGATIVE",
                                "CUSTOMIZED_ITEM_PRICE_WILL_BE_POSTIVE",
                                "CUSTOMIZED_ITEM_PRICE_WILL_BE_A_PERCENTAGE_OF_TOTAL",
                                "PRICE_CANNOT_BE_CUSTOMIZED"
                              ]
                            },
                            "itemRichData": {
                              "type": "object",
                              "properties": {
                                "squareImageUrl": {
                                  "description": "A download link for the image associated with this item, as formatted for display in the POS.",
                                  "type": "string",
                                  "example": "http://s3-eu-west-1.amazonaws.com/com.ikentoo.trial.rich-content-store/8262_2f6c1716-0f06-488c-afc2-d888666d94fb.image/png"
                                },
                                "rawImageUrl": {
                                  "description": "A download link for the image associated with this item.",
                                  "type": "string",
                                  "example": "http://s3-eu-west-1.amazonaws.com/com.ikentoo.trial.rich-content-store/8262_2f6c1716-0f06-488c-afc2-d888666d94fb_raw.image/png"
                                },
                                "previewImageUrl": {
                                  "description": "A download link for the preview image associated with this item.",
                                  "type": "string",
                                  "example": "http://s3-eu-west-1.amazonaws.com/com.ikentoo.trial.rich-content-store/8262_2f6c1716-0f06-488c-afc2-d888666d94fb_preview.image/png"
                                },
                                "containsAlcohol": {
                                  "description": "Flag to indicate if the item contains alcohol.",
                                  "type": "boolean",
                                  "example": true
                                },
                                "alcoholPercentage": {
                                  "description": "The percentage of alcohol in the item.",
                                  "type": "number",
                                  "example": 13.0
                                },
                                "texts": {
                                  "type": "array",
                                  "items": {
                                    "type": "object"
                                  }
                                },
                                "allergenCodes": {
                                  "description": "The allergen codes associated with this item.",
                                  "example": [
                                    "mustard",
                                    "cereals"
                                  ],
                                  "uniqueItems": true,
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "defaultTaxAmount": {
                              "description": "The tax amount as calculated at the default tax rate (a sum for multiple taxes).",
                              "type": "number",
                              "example": 1.5
                            },
                            "defaultTaxPercentage": {
                              "description": "The default tax percentage for this item (a sum for multiple taxes).",
                              "type": "number",
                              "example": 15.0
                            },
                            "taxIncludedInPrice": {
                              "description": "Whether or not tax is included in the price of the item.",
                              "type": "boolean",
                              "example": false
                            },
                            "conditionalTaxRules": {
                              "description": "Warning that actual tax depends on a POS Account condition and may be different from what is provided in this API.",
                              "type": "boolean"
                            },
                            "taxes": {
                              "description": "Detailed tax info",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "description": {
                                    "type": "string",
                                    "description": "Tax description as it appears on a POS and receipt.",
                                    "example": "5% GST"
                                  },
                                  "amount": {
                                    "type": "number",
                                    "description": "The amount of Tax applied by default by this Tax, this can change dynamically at time of sale.",
                                    "example": 12.55
                                  },
                                  "percentage": {
                                    "type": "number",
                                    "description": "The percentage of Tax applied by default by this Tax, this can change dynamically at time of sale.",
                                    "example": 5.0
                                  }
                                }
                              },
                              "type": "array"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "asSubItem": {
                              "type": "boolean",
                              "description": "Indicates whether or not this product is a sub-item that cannot be sold alone. Note - when the item is nested under a `menuDeal` this will always be false."
                            },
                            "productionInstructionList": {
                              "type": "array",
                              "description": "Array of production instructions for this product",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "multiSelectionPermitted": {
                                    "type": "boolean",
                                    "description": "Specifies if more than one production instruction can be selected for this group."
                                  },
                                  "productionInstructionGroupName": {
                                    "type": "string",
                                    "description": "The group name for this production instruction."
                                  },
                                  "productionIntructionGroupId": {
                                    "type": "integer",
                                    "description": "The unique identifier for this production instruction group.",
                                    "format": "int64"
                                  },
                                  "productionInstructionList": {
                                    "type": "array",
                                    "description": "Array of production instructions for this group.",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "instruction": {
                                          "type": "string",
                                          "description": "The name of the production instruction."
                                        },
                                        "ikentooModifierId": {
                                          "description": "The unique identifier of this production instruction.",
                                          "type": "integer",
                                          "format": "int64"
                                        }
                                      },
                                      "description": "Array of production instructions for this group"
                                    }
                                  }
                                }
                              },
                              "example": [
                                {
                                  "multiSelectionPermitted": false,
                                  "productionInstructionGroupName": "Meat cooking",
                                  "productionIntructionGroupId": 236025632784487,
                                  "productionInstructionList": [
                                    {
                                      "instruction": "Bleu",
                                      "ikentooModifierId": 236025632784488
                                    },
                                    {
                                      "instruction": "Rare",
                                      "ikentooModifierId": 236025632784490
                                    },
                                    {
                                      "instruction": "Medium Rare",
                                      "ikentooModifierId": 236025632784492
                                    },
                                    {
                                      "instruction": "Medium",
                                      "ikentooModifierId": 236025632784494
                                    },
                                    {
                                      "instruction": "Medium well",
                                      "ikentooModifierId": 236025632784496
                                    },
                                    {
                                      "instruction": "Well done",
                                      "ikentooModifierId": 236025632784498
                                    }
                                  ]
                                }
                              ]
                            },
                            "menuModifierGroups": {
                              "type": "array",
                              "description": "Array of product modifier groups for this product",
                              "items": {
                                "type": "object",
                                "description": "A product modifier group containing product modifiers to select from.",
                                "properties": {
                                  "description": {
                                    "type": "string",
                                    "description": "Description of the modifier group.",
                                    "example": "Milk options"
                                  },
                                  "sku": {
                                    "type": "string",
                                    "description": "The SKU of the modifier group.",
                                    "example": "30"
                                  },
                                  "mustSelectAnItem": {
                                    "type": "boolean",
                                    "description": "Whether or not this is a required selection.",
                                    "example": false
                                  },
                                  "multiSelectionPermitted": {
                                    "type": "boolean",
                                    "description": "Whether or not multiple items can be selected from this modifier group.",
                                    "example": false
                                  },
                                  "minimumSelection": {
                                    "type": "integer",
                                    "format": "int32",
                                    "description": "The minimum number of items that must be selected from this modifier group. If null then no minimum is set.",
                                    "example": 0
                                  },
                                  "maximumSelection": {
                                    "type": "integer",
                                    "format": "int32",
                                    "description": "The maximum number of items that can be selected from this modifier group. If null then no maximum is set.",
                                    "example": 2
                                  },
                                  "itemRichData": {
                                    "type": "object",
                                    "properties": {
                                      "squareImageUrl": {
                                        "description": "A download link for the image associated with this item, as formatted for display in the POS.",
                                        "type": "string",
                                        "example": "http://s3-eu-west-1.amazonaws.com/com.ikentoo.trial.rich-content-store/8262_2f6c1716-0f06-488c-afc2-d888666d94fb.image/png"
                                      },
                                      "rawImageUrl": {
                                        "description": "A download link for the image associated with this item.",
                                        "type": "string",
                                        "example": "http://s3-eu-west-1.amazonaws.com/com.ikentoo.trial.rich-content-store/8262_2f6c1716-0f06-488c-afc2-d888666d94fb_raw.image/png"
                                      },
                                      "previewImageUrl": {
                                        "description": "A download link for the preview image associated with this item.",
                                        "type": "string",
                                        "example": "http://s3-eu-west-1.amazonaws.com/com.ikentoo.trial.rich-content-store/8262_2f6c1716-0f06-488c-afc2-d888666d94fb_preview.image/png"
                                      },
                                      "containsAlcohol": {
                                        "description": "Flag to indicate if the item contains alcohol.",
                                        "type": "boolean",
                                        "example": true
                                      },
                                      "alcoholPercentage": {
                                        "description": "The percentage of alcohol in the item.",
                                        "type": "number",
                                        "example": 13.0
                                      },
                                      "texts": {
                                        "type": "array",
                                        "items": {
                                          "type": "object"
                                        }
                                      },
                                      "allergenCodes": {
                                        "description": "The allergen codes associated with this item.",
                                        "example": [
                                          "mustard",
                                          "cereals"
                                        ],
                                        "uniqueItems": true,
                                        "type": "array",
                                        "items": {
                                          "type": "string"
                                        }
                                      }
                                    }
                                  },
                                  "productModifiers": {
                                    "description": "Array of product modifiers within this modifier group.",
                                    "type": "array",
                                    "items": {
                                      "title": "menuProductModifier",
                                      "allOf": [
                                        {
                                          "type": "object",
                                          "properties": {
                                            "@type": {
                                              "type": "string",
                                              "description": "Indicates this is a product modifier.",
                                              "example": "menuProductModifier",
                                              "enum": [
                                                "menuProductModifier"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "type": "object"
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "productionInstructionList": {
                                              "type": "array",
                                              "description": "Array of production instructions for this modifier",
                                              "items": {
                                                "type": "object"
                                              },
                                              "example": [
                                                {
                                                  "multiSelectionPermitted": false,
                                                  "productionInstructionGroupName": "Meat cooking",
                                                  "productionIntructionGroupId": 236025632784487,
                                                  "productionInstructionList": [
                                                    {
                                                      "instruction": "Bleu",
                                                      "ikentooModifierId": 236025632784488
                                                    },
                                                    {
                                                      "instruction": "Rare",
                                                      "ikentooModifierId": 236025632784490
                                                    },
                                                    {
                                                      "instruction": "Medium Rare",
                                                      "ikentooModifierId": 236025632784492
                                                    },
                                                    {
                                                      "instruction": "Medium",
                                                      "ikentooModifierId": 236025632784494
                                                    },
                                                    {
                                                      "instruction": "Medium well",
                                                      "ikentooModifierId": 236025632784496
                                                    },
                                                    {
                                                      "instruction": "Well done",
                                                      "ikentooModifierId": 236025632784498
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      ]
                    },
                    {
                      "title": "menuDeal",
                      "allOf": [
                        {
                          "type": "object",
                          "properties": {
                            "@type": {
                              "type": "string",
                              "description": "Indicates the item is a Combo.",
                              "example": "menuDeal",
                              "enum": [
                                "menuDeal"
                              ]
                            },
                            "items": {
                              "description": "List of items to select from.",
                              "type": "array",
                              "items": {
                                "title": "menuItem",
                                "allOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "@type": {
                                        "type": "string",
                                        "description": "Indicates this is an individual item.",
                                        "example": "menuItem",
                                        "enum": [
                                          "menuItem"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "properties": {
                                      "productName": {
                                        "type": "string",
                                        "description": "The name of the item.",
                                        "example": "Burger"
                                      },
                                      "productPrice": {
                                        "type": "number",
                                        "description": "The price of the item.",
                                        "example": 10.0
                                      },
                                      "extraPrice": {
                                        "type": "number",
                                        "description": "Additional item price when selected in a combo group.",
                                        "example": 1.99
                                      },
                                      "color": {
                                        "type": "string",
                                        "description": "The color of the menu button for this item.",
                                        "example": "blue"
                                      },
                                      "sku": {
                                        "type": "string",
                                        "description": "The SKU of the item.",
                                        "example": "25"
                                      },
                                      "customItemNameEnabled": {
                                        "type": "boolean",
                                        "description": "Whether the name of the item can be customized.",
                                        "example": false
                                      },
                                      "pricingStrategy": {
                                        "type": "string",
                                        "description": "The pricing type of the item.",
                                        "example": "PRICE_CANNOT_BE_CUSTOMIZED",
                                        "enum": [
                                          "CUSTOMIZED_ITEM_PRICE_WILL_BE_NEGATIVE",
                                          "CUSTOMIZED_ITEM_PRICE_WILL_BE_POSTIVE",
                                          "CUSTOMIZED_ITEM_PRICE_WILL_BE_A_PERCENTAGE_OF_TOTAL",
                                          "PRICE_CANNOT_BE_CUSTOMIZED"
                                        ]
                                      },
                                      "itemRichData": {
                                        "type": "object"
                                      },
                                      "defaultTaxAmount": {
                                        "description": "The tax amount as calculated at the default tax rate (a sum for multiple taxes).",
                                        "type": "number",
                                        "example": 1.5
                                      },
                                      "defaultTaxPercentage": {
                                        "description": "The default tax percentage for this item (a sum for multiple taxes).",
                                        "type": "number",
                                        "example": 15.0
                                      },
                                      "taxIncludedInPrice": {
                                        "description": "Whether or not tax is included in the price of the item.",
                                        "type": "boolean",
                                        "example": false
                                      },
                                      "conditionalTaxRules": {
                                        "description": "Warning that actual tax depends on a POS Account condition and may be different from what is provided in this API.",
                                        "type": "boolean"
                                      },
                                      "taxes": {
                                        "description": "Detailed tax info",
                                        "items": {
                                          "type": "object"
                                        },
                                        "type": "array"
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "asSubItem": {
                                        "type": "boolean",
                                        "description": "Indicates whether or not this product is a sub-item that cannot be sold alone. Note - when the item is nested under a `menuDeal` this will always be false."
                                      },
                                      "productionInstructionList": {
                                        "type": "array",
                                        "description": "Array of production instructions for this product",
                                        "items": {
                                          "type": "object",
                                          "properties": {
                                            "multiSelectionPermitted": {
                      

# --- truncated at 32 KB (134 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lightspeed-pos/refs/heads/main/json-schema/restaurant-k-series-ape-menu-v2-schema.json