Otter · Schema

Menu_3PD

A Menu for a store.

RestaurantOrder ManagementDeliveryOnline OrderingMenu ManagementAnalytics

Properties

Name Type Description
id string 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.
name string Name of the Menu.
categoryIds array Identifiers of the categories within this Menu.
fulfillmentModes array The ways in which this menu may be fulfilled. If no values are specified, it is assumed that all fulfillment types are allowed.
description string Description of the Menu.
hoursData object
additionalCharges array Additional charges to apply for this menu. All additional charges specified on a menu will only be applied once per order.
exposedThirdPartyInfos array Additional information about the menu that should be exposed to third party
View JSON Schema on GitHub

JSON Schema

public-api-menu-3-pd-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Menu_3PD",
  "description": "A Menu for a store.",
  "$id": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-menu-3-pd-schema.json",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "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 the Menu.",
      "example": "Tasty BBQ"
    },
    "categoryIds": {
      "type": "array",
      "default": [],
      "description": "Identifiers of the categories within this Menu.",
      "items": {
        "type": "string"
      }
    },
    "fulfillmentModes": {
      "type": "array",
      "default": [],
      "description": "The ways in which this menu may be fulfilled. If no values are specified, it is assumed that all fulfillment types are allowed.",
      "items": {
        "type": "string",
        "description": "How an item from a menu is allowed to be fulfilled when ordered by a user.",
        "enum": [
          "DELIVERY",
          "PICK_UP",
          "DINE_IN"
        ]
      }
    },
    "description": {
      "type": "string",
      "description": "Description of the Menu.",
      "example": "Cooking up BBQ deliciousness from around the globe!"
    },
    "hoursData": {
      "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-hours-data-schema.json"
    },
    "additionalCharges": {
      "type": "array",
      "nullable": true,
      "description": "Additional charges to apply for this menu. All additional charges specified on a menu will only be applied once per order.",
      "items": {
        "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-additional-charge-schema.json"
      }
    },
    "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"
  ]
}