Lightspeed · JSON Structure

Restaurant K Series Ape Menu V2 Structure

apeMenuV2 schema from Lightspeed Restaurant K Series API

Type: object Properties: 5
POSRetailRestaurantEcommerce

apeMenuV2 is a JSON Structure definition published by Lightspeed, describing 5 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

menuName menuEntryGroups richDataMissing ikentooMenuId conditionalTaxRules

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/lightspeed-pos/refs/heads/main/json-structure/restaurant-k-series-ape-menu-v2-structure.json",
  "name": "apeMenuV2",
  "description": "apeMenuV2 schema from Lightspeed Restaurant K Series API",
  "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": "double",
                              "description": "The price of the item.",
                              "example": 10.0
                            },
                            "extraPrice": {
                              "type": "double",
                              "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": "double",
                                  "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": "double",
                              "example": 1.5
                            },
                            "defaultTaxPercentage": {
                              "description": "The default tax percentage for this item (a sum for multiple taxes).",
                              "type": "double",
                              "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": "double",
                                    "description": "The amount of Tax applied by default by this Tax, this can change dynamically at time of sale.",
                                    "example": 12.55
                                  },
                                  "percentage": {
                                    "type": "double",
                                    "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": "int64",
                                    "description": "The unique identifier for this production instruction group."
                                  },
                                  "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": "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": "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": "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": "double",
                                        "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": "double",
                                        "description": "The price of the item.",
                                        "example": 10.0
                                      },
                                      "extraPrice": {
                                        "type": "double",
                                        "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": "double",
                                        "example": 1.5
                                      },
                                      "defaultTaxPercentage": {
                                        "description": "The default tax percentage for this item (a sum for multiple taxes).",
                                        "type": "double",
                                        "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": {
                                              "type": "boolean",
                                              "description": "Specifies if more than one production instruction can be selected for this group."
                                            

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