{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/grubhub/main/json-schema/grubhub-size-schema.json", "title": "Size", "x-generated": "2026-09-17", "x-method": "derived", "x-source": "openapi/grubhub-menu-openapi.yml#/components/schemas/Size", "required": [ "external_id", "name" ], "type": "object", "properties": { "external_id": { "type": "string", "description": "A user-configured identifier for this object within the menu. External IDs must be unique across all menu entities of this type. Any size that shares this `external_id` will be overwritten." }, "name": { "type": "string", "description": "The display name for this size, which will be given to the diner as an option to select." }, "internal_name": { "type": "string", "description": "A name displayed on Grubhub menu management tools instead of the display name." }, "metadata": { "type": "string", "description": "Metadata associated with the size." }, "fulfillment_type_settings": { "type": "object", "additionalProperties": { "$ref": "#/$defs/NormalizedSizeFulfillmentTypeSettings" }, "description": "OrderServiceType-specific configurations for this size. All keys should be strings representing order-service types (valid options include \"STANDARD_DELIVERY\", \"STANDARD_PICKUP\", \"CATERING_DELIVERY\", and \"GROUP_DELIVERY\". All values should be of type NormalizedSizeFulfillmentTypeSettings." } }, "description": "Size selections for prompts within menu items.", "$defs": { "NormalizedSizeFulfillmentTypeSettings": { "type": "object", "properties": { "price": { "type": "number", "description": "The base price of the menu item at this size to be used for a given OrderServiceType." } }, "description": "SizeFulfillmentTypeSettings include configurations to be used for a Size only for oneFulfillmentType." } } }