Otter · Schema

MenuData

MenuData contains all menu entities, and their relations.

RestaurantOrder ManagementDeliveryOnline OrderingMenu ManagementAnalytics

Properties

Name Type Description
menus object
categories object
items object
modifierGroups object
photos object
View JSON Schema on GitHub

JSON Schema

public-api-menu-data-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "MenuData",
  "description": "MenuData contains all menu entities, and their relations.",
  "$id": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-menu-data-schema.json",
  "type": "object",
  "properties": {
    "menus": {
      "title": "All Menus for the store, indexed by ID",
      "type": "object",
      "additionalProperties": {
        "x-additionalPropertiesName": "menuId",
        "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-menu-3-pd-schema.json"
      },
      "example": {
        "ff6dd693-5e55-4a92-a359-ea61b23ed423": {
          "id": "ff6dd693-5e55-4a92-a359-ea61b23ed423",
          "name": "Tasty BBQ",
          "categoryIds": [
            "b01485b0-034a-47c5-8a0a-0eeca08bf994"
          ],
          "fulfillmentModes": [
            "DELIVERY"
          ],
          "description": "Cooking up BBQ deliciousness from around the globe!",
          "hoursData": {
            "timeZone": "America/Los_Angeles",
            "regularHours": [
              {
                "days": [
                  "MONDAY",
                  "TUESDAY",
                  "WEDNESDAY",
                  "THURSDAY",
                  "FRIDAY"
                ],
                "timeRanges": [
                  {
                    "start": "08:00",
                    "end": "22:00"
                  }
                ]
              }
            ],
            "specialHours": [
              {
                "date": "2021-12-31",
                "timeRanges": [
                  {
                    "start": "08:00",
                    "end": "22:00"
                  }
                ],
                "type": "CLOSED"
              }
            ]
          },
          "additionalCharges": [
            {
              "chargeType": "PACKAGING_CHARGE",
              "percentageCharge": {
                "decimalValue": 0.03
              }
            }
          ],
          "exposedThirdPartyInfos": [
            {
              "externalId": "ff6dd693-5e55-4a92-a359-ea61b23ed423",
              "externalServiceSlug": "3PD"
            }
          ]
        }
      }
    },
    "categories": {
      "title": "All Categories for the store, indexed by ID",
      "type": "object",
      "additionalProperties": {
        "x-additionalPropertiesName": "categoryId",
        "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-category-schema.json"
      },
      "example": {
        "b01485b0-034a-47c5-8a0a-0eeca08bf994": {
          "name": "Drinks",
          "description": "All drink items served up nice and fresh!",
          "id": "b01485b0-034a-47c5-8a0a-0eeca08bf994",
          "itemIds": [
            "fa4f0192-4c4e-4455-9db8-61d428c34969"
          ]
        }
      }
    },
    "items": {
      "title": "All Items for the store, indexed by ID",
      "type": "object",
      "additionalProperties": {
        "x-additionalPropertiesName": "itemId",
        "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-menu-item-3-pd-schema.json"
      },
      "example": {
        "fa4f0192-4c4e-4455-9db8-61d428c34969": {
          "id": "fa4f0192-4c4e-4455-9db8-61d428c34969",
          "name": "Canned Coke",
          "description": "Best soda pop ever made",
          "price": {
            "currencyCode": "USD",
            "amount": 7.65
          },
          "status": {
            "saleStatus": "FOR_SALE"
          },
          "modifierGroupIds": [
            "f4c69056-3ae3-4517-9294-5ceec8df5f81"
          ],
          "photoIds": [
            "c75d9460-5d48-423d-8d01-f825fd5b1672"
          ],
          "priceOverrides": [
            {
              "rules": [
                {
                  "type": "FulfillmentModeOverrideRule",
                  "fulfillmentMode": "PICK_UP"
                }
              ],
              "price": {
                "currencyCode": "USD",
                "amount": 7
              }
            }
          ],
          "skuDetails": {
            "skuSlug": "canned-coke-355ml",
            "dietaryClassifications": [
              {
                "tag": "VEGAN"
              }
            ],
            "allergenClassifications": [
              {
                "tag": "GLUTEN",
                "containsAllergen": false
              },
              {
                "tag": "PEANUT",
                "containsAllergen": true
              }
            ],
            "storageRequirements": [
              {
                "tag": "COLD"
              },
              {
                "tag": "AVOID_SUNLIGHT"
              }
            ],
            "additives": [
              "flavor enhancers",
              "food coloring"
            ],
            "containsAlcohol": false,
            "nutritionalInfo": {
              "energyKcal": {
                "low": 1,
                "high": 100
              },
              "nutritionContent": {
                "servingSizeInGrams": 100,
                "servingSizeInMilliliters": 100,
                "fats": 100.2,
                "saturatedFats": 3.5,
                "monoUnsaturatedFats": "5.2,",
                "polyUnsaturatedFats": "1.3,",
                "carbohydrates": "3.2,",
                "sugar": "101,",
                "polyols": "1.1,",
                "starch": "1.2,",
                "protein": "1.3,",
                "salt": "1.4,",
                "sodium": "1.5,",
                "fibres": "1.6,",
                "vitaminC": "1.7,",
                "calcium": "1.8,",
                "magnesium": "1.9,",
                "chloride": "2.0,",
                "fluoride": "2.1,",
                "potassium": "2.2,",
                "caffeine": "2.3,",
                "energy": 2.4
              }
            },
            "servings": {
              "min": 1,
              "max": 2
            },
            "producerInformation": "The Coca-Cola Company",
            "distributorInformation": "The Coca-Cola Company",
            "countryOfOriginIso2": "US"
          },
          "additionalCharges": [
            {
              "chargeType": "PACKAGING_CHARGE",
              "flatCharge": {
                "currencyCode": "USD",
                "amount": 1.5
              }
            }
          ],
          "tax": {
            "percentageValue": {
              "decimalValue": 0.513
            },
            "isValueAddedTax": true
          },
          "exposedThirdPartyInfos": [
            {
              "externalId": "ff6dd693-5e55-4a92-a359-ea61b23ed423",
              "externalServiceSlug": "3PD"
            }
          ]
        },
        "6d53cf04-9d62-40f5-a8b3-706e3377668f": {
          "id": "6d53cf04-9d62-40f5-a8b3-706e3377668f",
          "name": "Paper straw",
          "description": "A paper straw",
          "price": {
            "currencyCode": "USD",
            "amount": 0.5
          },
          "status": {
            "saleStatus": "FOR_SALE"
          }
        }
      }
    },
    "modifierGroups": {
      "title": "All ModifierGroups for the Store, indexed by ID",
      "type": "object",
      "additionalProperties": {
        "x-additionalPropertiesName": "modifierGroupId",
        "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-modifier-group-schema.json"
      },
      "example": {
        "f4c69056-3ae3-4517-9294-5ceec8df5f81": {
          "id": "f4c69056-3ae3-4517-9294-5ceec8df5f81",
          "name": "Add Straw",
          "minimumSelections": 0,
          "maximumSelections": 1,
          "defaultModifierSelectionData": {
            "defaultModifierSelections": [
              {
                "itemId": "6d53cf04-9d62-40f5-a8b3-706e3377668f",
                "selectionQuantity": 1
              }
            ]
          },
          "itemIds": [
            "6d53cf04-9d62-40f5-a8b3-706e3377668f"
          ],
          "type": "DEFAULT",
          "exposedThirdPartyInfos": [
            {
              "externalId": "ff6dd693-5e55-4a92-a359-ea61b23ed423",
              "externalServiceSlug": "3PD"
            }
          ]
        }
      }
    },
    "photos": {
      "title": "All photos for the store, indexed by ID",
      "type": "object",
      "additionalProperties": {
        "x-additionalPropertiesName": "photoId",
        "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-photo-schema.json"
      },
      "example": {
        "c75d9460-5d48-423d-8d01-f825fd5b1672": {
          "id": "c75d9460-5d48-423d-8d01-f825fd5b1672",
          "fileName": "c75d9460-5d48-423d-8d01-f825fd5b1672.jpeg",
          "url": "https://example.com/photos/c75d9460-5d48-423d-8d01-f825fd5b1672.jpeg"
        }
      }
    }
  },
  "required": [
    "categories",
    "items",
    "menus",
    "modifierGroups",
    "photos"
  ]
}