How to read this reference
Every tag entry follows the same structure:
Scope — where the tag is applied: item level, choice level, or option-group level
Requirement — one of: Required, Required when applicable, Required when set to
T, OptionalAccepted values — the literal values Olo Menu Management will accept
Description — what the tag does on ezCater
Example — a working key-value pair
Common mistakes — what tends to go wrong
Tag keys and values are not case-sensitive in Olo Menu Management, but this reference uses canonical casing (CateringServeSize, TaxCategory). Values use uppercase with underscores (GLUTEN_FREE, HALF_PAN). Never include spaces inside a value.
Summary table
Tag | Scope | Requirement | Category |
| Item | Required | Pricing |
| Choice | Required when applicable | Operational |
| Item | Required when applicable | Dietary |
| Choice | Required when applicable | Dietary |
| Choice | Required when set to | Meal Program |
| Item | Required when set to | Operational |
| Option group | Required when set to | Sizing |
| Item | Required when applicable | Operational |
| Item | Optional | Lead time |
| Item | Required when set to | Channel |
| Item | Required | Unit of measure |
| Item | Required when set to | Channel |
| Item | Required | Tax |
Channel tags
Channel tags determine which ezCater ordering channels an item appears in. The combination of RelishChannel and MarketplaceChannel defines whether an item is available in Marketplace, Meal Program, both, or neither.
For the full setup workflow, see Meal Program Menu Set Up.
RelishChannel
Scope: Item
Requirement: Required when set to T
Accepted values:
T
Description: Marks the item as eligible for Meal Program. When present and set to T, ezCater includes the item in Meal Program menus.
Example: RelishChannel = T
Common mistakes:
Adding the tag with a value other than
T(the tag is a boolean signal; onlyTis meaningful).Forgetting that
MarketplaceChannel = Tcannot stand alone for Meal Program items —RelishChannel = Tmust also be present.
MarketplaceChannel
Scope: Item.
Requirement: Required when set to T.
Accepted values:
T
Description: Marks the item as eligible for Marketplace. When present and set to T, ezCater includes the item in the on-demand Marketplace.
Example: MarketplaceChannel = T
Common mistakes:
Using
MarketplaceChannel = Talone to publish to Meal Program. It cannot stand alone for Meal Program —RelishChannel = Tmust also be present on the item.Omitting the tag entirely on an item that should be on Marketplace; the item won’t appear.
Dietary tags
Customers filter ezCater search results on dietary criteria. An item without the appropriate FoodLabelingTags won’t appear when customers filter for those preferences, even if it genuinely qualifies.
FoodLabelingTags (item level)
Scope: Item
Requirement: Required when applicable
Accepted values: One or more of the following, comma-separated, no spaces:
GLUTEN_FREEHALALHEALTHYKOSHERSPICYVEGANVEGETARIAN
Description: Flags the item with dietary labels. Customers can filter ezCater results by any of these, so accurate tagging directly affects whether your items get found.
Example: FoodLabelingTags = VEGETARIAN,GLUTEN_FREE
Common mistakes:
Inserting a space after the comma (
VEGETARIAN, GLUTEN_FREE) — this fails. Remove all spaces inside the value.Tagging an item
VEGETARIANwhen a choice within it makes the item non-vegetarian. Apply choice-levelFoodLabelingTagsto specify which selections preserve the item’s dietary profile.Omitting the tag when the item qualifies. 1 in 5 ezCater orders include items with dietary restrictions; an untagged vegan entrée is effectively invisible to vegan customers.
FoodLabelingTags (choice level)
Scope: Choice.
Requirement: Required when applicable.
Accepted values.: Same as item-level FoodLabelingTags:
GLUTEN_FREEHALALHEALTHYKOSHERSPICYVEGANVEGETARIAN
Description: Flags the specific choice with a dietary label. Choice-level labels are visible to customers but are not filterable on search — they appear inline when the customer is selecting choices for an item.
Example: A choice “Gluten-free roll” inside a bread modifier group: FoodLabelingTags = GLUTEN_FREE
Common mistakes:
Treating choice-level labels as filterable. They appear on the choice but don’t drive search filters. To drive filters, the parent item must be tagged.
Skipping choice-level tagging on items where a specific choice changes the dietary profile. Without it, a customer who selects a vegan substitution still sees the item flagged with its default profile.
Pricing tag
CateringServeSize
Scope: Item. For sized-based items, applied at the option (choice) level instead — see Sized-Based Items.
Requirement: Required.
Accepted values:
Any positive, non-zero integer.
Description: The number of people one unit of the item serves. Drives the “serves X” label customers see on the menu, and informs ezCater’s recommendation engine. Ranges (for example, “serves 4–8”) are not supported; use the lower bound and put the range in the item description.
Example: CateringServeSize = 8
For Meal Program items, the value must always be 1 — Meal Program orders are individual meals. See Meal Program Menu Set Up.
Common mistakes:
Entering a range like
4-8. Only single integers are accepted.Entering a value other than
1on a Meal Program item. Meal Program meals are individually portioned, so the serve size is always1.Entering
0. The tag must be a positive non-zero integer; zero will fail.Entering a decimal like
4.5. Use the nearest whole number.
Operational tags
These tags drive ezCater’s upsell logic, search filters, and operational behavior. They don’t change how an item appears on the menu, but they influence how it gets surfaced to customers.
ItemTypeTags
Scope: Item.
Requirement: Required when applicable.
Accepted values: One or more of the following, comma-separated, no spaces:
DESSERTDRINKSICEUTENSILS
Description: Marks the item as belonging to one or more operational categories. ezCater uses these tags for upsell recommendations and to drive specific cart behaviors. 1 in 3 ezCater orders includes beverages and 1 in 5 includes desserts — items that aren’t tagged miss those surfacing opportunities.
Example: ItemTypeTags = DRINKS
Common mistakes:
Omitting on beverage and dessert items. Without the tag, the item won’t surface in ezCater’s drink/dessert upsells.
Tagging a sandwich as
DRINKSor similar miscategorization. The tag should match what the item actually is.
ChoiceTypeTags
Scope: Choice.
Requirement: Required when applicable.
Accepted values: One or more of the following, comma-separated, no spaces:
DESSERTDRINKSICEUTENSILS
Description: Marks the choice as belonging to one or more operational categories. Used for upsell tracking on choices included in packages (for example, a drink choice in a boxed lunch). For Meal Program packages, ChoiceTypeTags also generates an additional label so the choice can be packaged and identified.
Example: A drink choice inside a boxed-lunch modifier group: ChoiceTypeTags = DRINKS
Common mistakes:
Tagging only the parent item and skipping the choices. Choice-level tagging is what enables per-package tracking.
IndividualWrapStatus
Scope: Item.
Requirement: Required when set to T.
Accepted values:
TF
Description: Identifies whether the item is individually wrapped or packaged. Customers filter for individually packaged options regularly — 27% of ezCater orders include at least one — so accurate tagging measurably affects whether your items get found.
Example: IndividualWrapStatus = T
Common mistakes:
Tagging
Ton items that arrive in shared packaging (a tray of sandwiches rather than individually wrapped sandwiches). Customers filtering for individual packaging will be disappointed.Omitting the tag on items that are individually wrapped. They won’t appear in the relevant search filter.
Sizing tag
IsSelectionSizeGroup
]Scope: Option group.
Requirement: Required when set to T.
Accepted values:
T
Description: Marks an option group as a size selector (Small, Medium, Large) rather than a regular modifier group. When applied, ezCater treats the group’s choices as size variants of the parent item rather than as modifiers, and pulls CateringServeSize from the option level instead of the item level.
For the full sized-item setup, including the structural constraints on matching modifier configurations across sizes, see Sized-Based Items.
Example: On the option group containing Small/Medium/Large choices: IsSelectionSizeGroup = T
Common mistakes:
Applying the tag to the parent item or to individual choices instead of the option group. It belongs on the option group only.
Naming sizes inconsistently across the option group (for example, “Small Tray” on one item and “Small” on another). The choices in a size group should be named consistently and should not include the parent item name.
Mismatched option/modifier structure across the sizes. All sizes must share the same option groups with the same descriptions, sort orders, and selection constraints — otherwise the item won’t build.
Tax tag
TaxCategory
Scope: Item.
Requirement: Required. One value only per item.
Accepted values:
BAKERY_ITEMSCAKES_AND_PIESCANDYCHIPS_AND_SNACKSCOFFEE_TEA_MILKDRESSINGS_AND_CONDIMENTSEXEMPTICE_CREAMMISCELLANEOUSNON_SODA_DRINKSPREPARED_FOODSANDWICHESSODAWATER
Description: The item’s tax classification. ezCater uses this to look up the correct tax rate and apply it per order. Tax treatment of catering items varies by jurisdiction, so accurate classification matters.
Example: TaxCategory = PREPARED_FOOD
Common mistakes:
Adding more than one
TaxCategoryto a single item. Only one value is supported.Using
MISCELLANEOUSas a catch-all when a more specific category fits. The categories drive tax calculation; using the closest match reduces tax errors.Omitting the tag. Items without
TaxCategorywon’t sync.
Unit-of-measure tag
QuantityUnit
Scope: Item.
Requirement: Required. One value only per item.
Accepted values:
BARBOTTLEBOWLBOXBUFFETCAKECANCARAFEDOZENFOOTFULL_PANGALLONHALF_GALLONHALF_PANITEMKITLITERPACKAGEPANPERSONPIEPIECEPINTPIZZAPLATTERPOUNDQUARTROLLSIX_PACKSKEWERSLIDERTACOTRAYTWELVE_PACKTWO_LITER
Description: The unit of measure for ordering. If not provided, defaults to ITEM.
Example: QuantityUnit = HALF_PAN
Common mistakes:
Adding more than one
QuantityUnitto a single item. Only one value is supported.Choosing a unit that doesn’t match how the item is actually packaged. The unit drives quantity prompts in the cart — picking
TRAYwhen the item is sold perPIECEconfuses customers.Inventing a custom value. Only the values listed above are accepted.
Lead time tag
LeadTime
Scope: Item.
Requirement: Optional. Use only when the item needs more advance notice than your store-level lead time.
Accepted values: An integer representing minutes, restricted to the accepted whole-hour values between 5 and 72 hours. Not every whole hour is accepted; see Lead Times for the full list and minutes-to-hours conversion table.
Description: Overrides the store-level lead time for a specific item. Use this for items that genuinely need longer prep (a custom cake, a large catering bundle), not as a buffer. Items with longer lead times don’t appear in last-minute searches.
Example: LeadTime = 1440 (24 hours)
Common mistakes:
Setting a
LeadTimeshorter than the store’s lead time. The shorter value is ignored — store lead time still applies.Setting overly long lead times across most of the menu. Many customers filter ezCater by lead time, so an over-tagged menu becomes invisible to last-minute orders.
Using a value that isn’t on the accepted list. Only the values listed on Lead Times are supported.
Meal Program tag
INDIVIDUALLY_PACKAGED_RELISH_SIDE
Scope: Choice.
Requirement: Required when set to T.
Accepted values:
T
Description: Applied to side choices in Meal Program items when the side is packaged separately from the main item — for example, a bowl with mac and cheese added as a side that arrives in its own container. The tag tells ezCater to generate an additional label for the separately packaged side.
For the broader Meal Program tagging workflow, see Meal Program Menu Set Up.
Example: A “Mac and cheese” side choice on a Meal Program bowl item: INDIVIDUALLY_PACKAGED_RELISH_SIDE = T
Common mistakes:
Applying the tag to choices that are mixed into or layered on the main item. Use it only when the side has its own packaging.
Applying it on Marketplace items where it has no effect. The tag is Meal Program-specific.
