Setup checklist
Work through these in order. Each step links to the detailed section below.
Confirm prerequisites. Olo Rails active, ezCater Menus API access granted
Familiarize yourself with metadata. Understand the key-value pattern Olo Menu Management uses
Tag your categories for ordering-channel visibility
Tag your items with the required item-level fields
Tag your options and choices with the required option-level fields
Configure zero-dollar parent items if your menu has items priced at the option level
Configure utensils for every food item
Set lead times on items that need longer than your store-level lead time
Add photos to every item that has one
Notify ezCater when tagging is complete so the team can sync your menu
Note: You can begin tagging metadata in advance of any formal onboarding. Adding tags to a live ezCater menu has no negative impact on your operation, and front-loading the work shortens onboarding significantly.
Confirm prerequisites
Before you tag a single item, confirm:
Olo Rails is active for your locations. The Menus API depends on it. If you don’t have Olo Rails, contact your Olo rep first
ezCater has access to your stores in the Olo dashboard. The same access used for the Orders API works for the Menus API
You’re working in the right menu. Per-location menus can be tagged independently, so confirm with your ezCater contact which locations are in scope for the initial sync
If you need to grant ezCater access in the Olo dashboard, see Olo’s Rails Management documentation, or contact [email protected].
How metadata works in Olo Menu Management
Olo Menu Management stores metadata as key-value pairs attached to categories, products, modifier groups, or modifier choices. ezCater reads those keys and values during the sync and uses them to shape the customer experience on the ezCater Marketplace.
For example, an item tagged FoodLaelingTags=VEGETARIAN, GLUTEN_FREE becomes filterable on ezCater under both dietary preferences. An item without those tags doesn’t appear in those filters.
To add metadata to a category, product, modifier group, or choice:
In Olo Menu Management, open the category, product, modifier group, or choice you want to tag
Click the metadata tag icon
Enter the Key and the Value in the fields provided
Save
Things to know
Keys and values are not case-sensitive.
FoodLabelingTagsandfoodlabelingtagsbehave identically. This guide uses the canonical casing shown in the Tag Reference.No spaces inside values.
VEGETARIAN,GLUTEN_FREEis correct.VEGETARIAN, GLUTEN_FREE(with a space) fails. Remove every space inside a value.You can add metadata to a live ezCater menu with no negative impact. Tags are read at sync time; they don’t change anything until ezCater ingests them.
Duplicating a product? When duplicating an item for ezCater, leave “Keep existing metadata for product” checked so the tags carry over.
Don’t delete metadata from live ezCater products unless ezCater or Olo specifically instructs you to.
For a guided walkthrough, see Videos & Walkthroughs.
Tag your categories
If you use ezCater-specific categories (categories that should appear on ezCater but not on Olo’s other ordering channels), set their visibility to ezCater only.
To restrict a category to ezCater
Open the category in Olo Menu Management and click Edit Category.
Under Category Visibility, deselect every ordering channel except ezCater.
Save.
For per-item visibility settings (when you need a specific item visible on ezCater but not on the rest of the category’s channels), see Rails Visibility.
Tag your items
Every item that should appear on ezCater needs the required item-level tags. The full list lives in the Tag Reference; the summary below is your checklist.
Required on every item
Tag | What it does |
| A positive non-zero integer indicating how many people the item serves. Ranges (for example, “serves 4–8”) are not supported; put ranges in the description. |
| The tax designation. One value per item. |
| The unit of measure (item, tray, dozen, etc.). One value per item. |
Required when applicable
Tag | When to add it |
| When the item is genuinely gluten-free, vegan, vegetarian, halal, kosher, healthy, or spicy. Customers filter on these on ezCater. |
| When the item is a drink, dessert, utensil, or ice. Used by ezCater for upsell tracking. |
| Set to |
| When the item needs more advance notice than your store’s lead time. See Lead Times for accepted values. |
See the Tag Reference for every accepted value of every tag.
Note: 1 in 5 ezCater orders include dietary-restricted items, and 27% include something individually packaged. Items that aren’t tagged for these don’t appear in the relevant search filters and won’t be found by the customers who need them.
Tag your options and choices
Options are the modifier groups within an item (cheese selection, dressing choice, side picks). Choices are the individual selections inside an option.
Option-level tags (on choices)
Tag | When to add it |
| When a specific choice changes the item’s dietary profile — for example, a gluten-free bread choice. Customers see the flag on the choice but can’t filter on it. |
| When a choice is a drink, dessert, utensil, or ice. Required for upsell tracking. |
Options vs. sized items
If your options represent sizes (Small / Medium / Large) rather than modifier choices, see Sized-Based Items — sized items have additional tagging rules at the option-group level.
Configure zero-dollar parent items
Some menus list items where the parent item has no price and the price lives on the option level — for example, a “Boxed Lunch” with three priced size choices (Regular $12, Large $15, Family $24). These are called zero-dollar parent items, and they follow a specific structural pattern.
Required configuration
The priced options must sit in the first option group on the item, with a
sortOrderof 0.That option group must be mandatory with
minSelects = 1andmaxSelects = 1— the customer must pick exactly one priced option.Do not add the
IsSelectionSizeGrouptag to this option group. Zero-dollar parents are a pricing pattern, not a sizing pattern. (For genuine sizes, see Sized-Based Items.)
Warning: If the option group isn’t first, isn’t mandatory, or allows multiple selections, the item will not build. ezCater needs to know which option determines the parent item’s price, and the rules above are how it identifies that.
When to use this pattern
Use zero-dollar parents when an item has price variations that aren’t sizes (for example, a sandwich with three protein options at different prices, or a catering tray that differs in price by sauce choice). Use Sized-Based Items when the variations represent the same item in Small / Medium / Large form factors.
Configure utensils
ezCater requires every food item to have a utensils configuration. The setup is different depending on whether you offer utensils for free (modeled as a modifier group on each item) or as a paid add-on (modeled as a separate menu item).
The full instructions, including the choice configurations for each utensil type, live on the Utensils article.
Over 80% of ezCater orders go to restaurants that offer free utensils. If you currently don’t, adding them is a measurable lift to conversion
Set lead times when needed
The LeadTime tag overrides your store-level lead time for a specific item, so items that need longer prep don’t fail to transmit. Accepted values are in minutes, drawn from a defined list of whole-hour values between 5 and 72 hours.
Use this tag sparingly. Many customers filter ezCater results by lead time at search, so an item with a long lead time may be invisible to last-minute orders. Set it only when the item genuinely cannot be prepared faster.
See Lead Times for the full minute-to-hour conversion table.
Add photos
Upload an item-level image to every item that has one. Photos increase menu conversion by up to 60%.
ezCater requires:
File type: JPG or PNG
Minimum size: 1200×800 pixels
Orientation: Horizontal
For full photo specs and information on how you can schedule a complimentary photoshoot — see Menus & Photos
Notify ezCater
When tagging is complete on your locations, email [email protected] with:
The locations that are ready to sync
Any items you’ve intentionally excluded from ezCater
Any items that need a longer lead time than the rest of the menu
The ezCater team will run the initial sync, validate the result, and let you know if any tags need adjustment before going live.
