MenuItemGroup Model

Represents a grouped collection of MenuItems

Required
menuItemGroupID : string (GUID)

Unique identifier for this MenuItemGroup - must be unique across the menu

Required MaxLength(50) Truncates
name : string

Group name (for display to the consumer)

Required
menuItemIDs : string (GUID) []

The set of MenuItems referenced by their MenuItemID that belong to this group

Nullable MaxLength(256) Truncates
description : string

Group description (for display to the consumer).
Can be null

Nullable
image : MenuImage

Optional image for this group. Can be null

Nullable
limitedAvailabilityRestrictions : AvailabilityRestriction []

The set of days/times in which this particular group can be shown to a consumer. If specified, these values will represent a narrowing of the
parent Menu.MenuAvailabilityRestrictions times. There will be no time periods described in this property that the parent menu isn't available for.

This is purely a display directive for third party providers. ROS will make no restrictions based on this value.

Items in this list will be treated as a restriction. A null/empty list can be interepreted as having NO restrictions (i.e. available all the time)

Multiple items should be evaluated using an OR clause. (i.e. if any of the specified LimitedAvailabilityRestrictions match a time, then the menu is valid for that time)

All date/times will be local to the outlet that this menu applies to.

Nullable MaxLength(50) Truncates
classificationTag : string

Optional classification string for grouping MenuItemGroups (for display to the consumer)

Groups should be organised first by their (optional) ClassificationTag at the top level, then by their (optional) CategoryTag at the next level granularity
and then finally by the groups themselves at the lowest level of granularity.

ClassificationTag and CategoryTag are optional hints for providers on how to organise many groups into a hierarchical structure. There is no guarantee that
a menu will implement them. There is no requirement for a provider to implement them either.

Can be null

Nullable MaxLength(50) Truncates
categoryTag : string

Optional category string for grouping MenuItemGroups (for display to the consumer)

Groups should be organised first by their (optional) ClassificationTag at the top level, then by their (optional) CategoryTag at the next level granularity
and then finally by the groups themselves at the lowest level of granularity.

ClassificationTag and CategoryTag are optional hints for providers on how to organise many groups into a hierarchical structure. There is no guarantee that
a menu will implement them. There is no requirement for a provider to implement them either.

Example
{
  "menuItemGroupID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "name": "string value",
  "menuItemIDs": ["3f49efe7-ea42-4f21-8718-7e6ce9a33512"],
  "description": "string value",
  "image": {},
  "limitedAvailabilityRestrictions": [],
  "classificationTag": "string value",
  "categoryTag": "string value"
}