Otter · Schema

ModifierGroupUpdateRequest

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

RestaurantOrder ManagementDeliveryOnline OrderingMenu ManagementAnalytics

Properties

Name Type Description
id string Identifier for ModifierGroup.
name string Name of ModifierGroup.
minimumSelections integer Minimum number of selections customers can make in this ModifierGroup. 0 means no min limits.
maximumSelections integer Maximum number of selections customers can make in this ModifierGroup. 0 means no max limits.
maxPerModifierSelectionQuantity integer Maximum number of selections customers can make for each modifier item in this ModifierGroup. 0 means there is no limit to how many times they can select a single modifier item. If not specified, a va
defaultModifierSelectionData object
itemIds array Identifiers of each Item within this ModifierGroup.
description string Description for this ModifierGroup.
type string Experimental: The type of this modifier group, for informative purposes. It can be one of the following values: `DEFAULT`, `UPSELL`, `INGREDIENT_REMOVAL`, `INGREDIENT_ADD`, `PREPARE_INSTRUCTIONS`, `SI
View JSON Schema on GitHub

JSON Schema

public-api-modifier-group-update-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "ModifierGroupUpdateRequest",
  "description": "Items are sold on the menu. Modifiers to items are items themselves and their relationship is defined by ModifierGroup.",
  "$id": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-modifier-group-update-request-schema.json",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Identifier for ModifierGroup.",
      "example": "db5740de-429c-4f06-b264-3d41dce6d8c3"
    },
    "name": {
      "type": "string",
      "description": "Name of ModifierGroup.",
      "example": "Choose your type of bagel"
    },
    "minimumSelections": {
      "minimum": 0,
      "type": "integer",
      "description": "Minimum number of selections customers can make in this ModifierGroup. 0 means no min limits.",
      "format": "int32",
      "example": 0
    },
    "maximumSelections": {
      "minimum": 0,
      "type": "integer",
      "description": "Maximum number of selections customers can make in this ModifierGroup. 0 means no max limits.",
      "format": "int32",
      "example": 0
    },
    "maxPerModifierSelectionQuantity": {
      "minimum": 0,
      "type": "integer",
      "description": "Maximum number of selections customers can make for each modifier item in this ModifierGroup. 0 means there is no limit to how many times they can select a single modifier item. If not specified, a value of 1 will be used as the default value.",
      "format": "int32",
      "example": 0
    },
    "defaultModifierSelectionData": {
      "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-default-modifier-selection-data-schema.json"
    },
    "itemIds": {
      "type": "array",
      "default": [],
      "description": "Identifiers of each Item within this ModifierGroup.",
      "items": {
        "type": "string"
      }
    },
    "description": {
      "type": "string",
      "description": "Description for this ModifierGroup.",
      "example": "Choose any of these delicious types of bagels"
    },
    "type": {
      "type": "string",
      "description": "Experimental: The type of this modifier group, for informative purposes. It can be one of the following values: `DEFAULT`, `UPSELL`, `INGREDIENT_REMOVAL`, `INGREDIENT_ADD`, `PREPARE_INSTRUCTIONS`, `SIZE_MODIFICATION`, `PACKAGING_INSTRUCTION` and `CONDIMENT`.",
      "example": "DEFAULT"
    }
  },
  "required": [
    "id",
    "name"
  ]
}