Otter · JSON Structure

Public Api Menu Item 3 Pd Structure

Items are sold on the Menu. Modifiers to items are items themselves and their relationship is defined by ModifierGroup.

Type: object Properties: 12 Required: 6
RestaurantOrder ManagementDeliveryOnline OrderingMenu ManagementAnalytics

MenuItem_3PD is a JSON Structure definition published by Otter, describing 12 properties, of which 6 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

id name photoIds price priceOverrides status description modifierGroupIds skuDetails additionalCharges tax exposedThirdPartyInfos

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/otter/refs/heads/main/json-structure/public-api-menu-item-3-pd-structure.json",
  "name": "MenuItem_3PD",
  "description": "Items are sold on the Menu. Modifiers to items are items themselves and their relationship is defined by ModifierGroup.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The identifier that exists in the third party system. During a menu publish event, uuidV4 ids will be generated for new entities that do not yet exist in the internal menu.",
      "example": "da0e4e94-5670-4175-897a-3b7dde45bed5"
    },
    "name": {
      "type": "string",
      "description": "Name of this Item",
      "example": "Bagel"
    },
    "photoIds": {
      "type": "array",
      "description": "A list of Photo references associated with the Item.",
      "items": {
        "type": "string"
      }
    },
    "price": {
      "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-money-schema.json"
    },
    "priceOverrides": {
      "type": "array",
      "description": "Specify price overrides.",
      "items": {
        "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-price-override-schema.json"
      }
    },
    "status": {
      "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-item-status-schema.json"
    },
    "description": {
      "type": "string",
      "description": "Description of this Item",
      "example": "Delicious bagel!"
    },
    "modifierGroupIds": {
      "type": "array",
      "default": [],
      "description": "Identifiers of each ModifierGroup within this Item.",
      "items": {
        "type": "string",
        "example": "7152ee6e-e941-45c1-9008-2e306b479114"
      }
    },
    "skuDetails": {
      "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-sku-details-schema.json"
    },
    "additionalCharges": {
      "type": "array",
      "nullable": true,
      "description": "Additional charges to apply for this item. Additional charges will be applied for every instance of this item within an order.",
      "items": {
        "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-additional-charge-schema.json"
      }
    },
    "tax": {
      "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-item-tax-schema.json",
      "description": "The tax configuration for the menu item."
    },
    "exposedThirdPartyInfos": {
      "type": "array",
      "default": [],
      "description": "Additional information about the menu that should be exposed to third party",
      "items": {
        "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-exposed-third-party-info-schema.json"
      }
    }
  },
  "required": [
    "id",
    "name",
    "photoIds",
    "price",
    "priceOverrides",
    "status"
  ]
}