Menu V3

The Menu V3 API provides enhanced menu management with improved product codes and schedule handling.

Overview

The image below presents a high level overview of how Menu creation and update work via our API.

Online Store Menu Flow

Online Ordering V3 represents the next generation of Shift4's ordering API with refinements and new capabilities. V3 maintains similar conceptual structure to V2 while introducing enhanced features.

API Endpoint

GET /online-ordering/v3/{locationId}/menu

Response: 200 OK

Returns consolidated menu object containing schedules, categories, items, modifier sets, modifiers, and taxes.

Response Structure

{
  "schedules": [<MenuSchedule>],
  "categories": [<MenuCategory>],
  "items": [<MenuItem>],
  "modifierSets": [<MenuModifierSet>],
  "modifiers": [<MenuModifier>],
  "taxes": [<MenuTax>]
}

Data Models

Menu Schedule

Defines availability windows with hours and periods supporting cross-day boundaries.

FieldTypeRequiredDescription
refstringYesUnique schedule identifier per location
namestringYesDisplay name for diners
availablebooleanYesVisibility flag for online ordering
hoursarrayYesOperating hours sorted Monday-Sunday
periodsarrayNoMulti-day boundary periods with isOvernight flag
categoriesarrayYesAssociated menu categories

Menu Category

Represents item groupings (appetizers, drinks, etc.).

FieldTypeRequiredDescription
refstringYesUnique category identifier
namestringYesDisplay name for customers
descriptionstringNoOptional category description
availablebooleanYesAvailability flag

Menu Item

Individual offerings with comprehensive metadata.

FieldTypeRequiredDescription
refstringYesUnique item identifier
namestringYesItem display name
descriptionstringNoOptional item description
availablebooleanYesVisibility status
pricenumberNoPrice in US cents
upcstringNoUniversal product code
skustringNoStock keeping unit
customLabelsarrayNoUser-assigned labels
tagsarrayNoItem classifications
modifierSetsarrayYesAssociated modifier sets
taxRefsarrayNoTax references
imageUrl800x800stringNo800x800px secure image URL
imageUrl1600x900stringNo1600x900px source image
imageUrl1600x1600stringNo1600x1600px source image

Menu Modifier Set

Selection model with configuration options.

FieldTypeRequiredDescription
refstringYesUnique modifier set identifier
namestringYesDisplay name
descriptionstringNoOptional description
minModifiersPerSetnumberNoMinimum selections (null = unrestricted)
maxModifiersPerSetnumberNoMaximum selections (null = unrestricted)
availablebooleanYesVisibility flag

Menu Modifier

Individual selections or modifications.

FieldTypeRequiredDescription
refstringYesUnique modifier identifier
namestringYesDisplay name
descriptionstringNoOptional description
skustringNoStock keeping unit
availablebooleanYesAvailability status

Menu Tax

Tax rates with type specification.

FieldTypeRequiredDescription
refstringYesUnique tax identifier
namestringYesTax name
rateobjectYesTax rate details object
isHiddenbooleanNoVisibility flag

Tax Rate:

FieldTypeRequiredDescription
typestringYes"amount" or "percent"
percentintegerConditionalDivide by 10,000 for percentage value
amountintegerConditionalAmount in US cents

Differences from V2

Key Changes

  1. Field Naming: V3 uses ref instead of guid for identifiers
  2. Schedule Periods: Added isOvernight boolean to explicitly handle cross-day boundaries
  3. Tax Visibility: Added isHidden flag for taxes
  4. Product Codes: Added upc and sku fields to items and modifiers
  5. Development Status: V3 is under active development

Technical Specifications

  • Currency: All monetary amounts in US cents
  • Sorting: Array order indicates display sequence
  • Timezone: Schedule times use local timezone
  • Image Requirements: HTTPS-secured JPEG, PNG, or GIF formats
  • Multi-format Support: Three image sizes for different display contexts

Was this page helpful?