REST Resource: projects.locations.brands

Resource: Brand

A brand, which can be a restaurant chain or an individual restaurant.

JSON representation
{
  "name": string,
  "displayName": string,
  "createTime": string,
  "updateTime": string,
  "defaultChannelConfig": string,
  "configRuleBindings": [
    {
      object (ConfigRuleBinding)
    }
  ],
  "defaultUpsellStrategyChannelConfig": string,
  "kmsKey": string,
  "mcpConfig": {
    object (McpConfig)
  },
  "timeZone": {
    object (TimeZone)
  },
  "menuIngestionConfig": {
    object (MenuIngestionConfig)
  },
  "geoApiConsentGranted": boolean,
  "storeIngestionConfig": {
    object (StoreIngestionConfig)
  },
  "defaultChannelType": enum (ChannelType)
}
Fields
name

string

Identifier. The brand name. Format: projects/{project}/locations/{location}/brands/{brand}

displayName

string

Optional. Optional, human-readable display name for this brand for user interfaces.

createTime

string (Timestamp format)

Output only. The time this brand was created.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Output only. The time this brand was last updated.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

defaultChannelConfig

string

Optional. Name of the ChannelConfig to use as the brand default for agent customization. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channelConfig}

configRuleBindings[]

object (ConfigRuleBinding)

Optional. Conditional agent config overrides for the brand. These allow for overriding agent behavior based on certain conditions.

defaultUpsellStrategyChannelConfig

string

Optional. Name of the ChannelConfig to use as the brand default for upsell strategy. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channelConfig}

kmsKey

string

Optional. Immutable. The Cloud KMS key to encrypt conversational session data at rest. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}

This field can only be set when creating a Brand and cannot be updated or disabled later.

mcpConfig

object (McpConfig)

Optional. Configuration for Model Context Protocol (MCP) service.

timeZone

object (TimeZone)

Optional. The time zone of the brand. This is used for brand-level analytics and reporting rollups.

menuIngestionConfig

object (MenuIngestionConfig)

Optional. Configuration for menu ingestion.

storeIngestionConfig

object (StoreIngestionConfig)

Optional. Configuration for store ingestion.

defaultChannelType

enum (ChannelType)

Optional. The default channel type for this brand if not specified in the session config.

ConfigRuleBinding

Defines a conditional override of agent behavior.

JSON representation
{
  "configApplicationRule": string,
  "channelConfig": string
}
Fields
configApplicationRule

string

Required. The condition to check for whether to apply the override. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{configApplicationRule}

channelConfig

string

Required. The configuration to apply if the override condition is met. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channelConfig}

McpConfig

Configuration for Model Context Protocol (MCP) service.

JSON representation
{
  "enabled": boolean
}
Fields
enabled

boolean

Optional. Whether the MCP service is enabled for the brand.

Configuration for menu ingestion.

JSON representation
{
  "availabilityConfig": {
    object (AvailabilityConfig)
  },
  "nameNormalizationConfig": {
    object (NameNormalizationConfig)
  },
  "itemBuildingConfig": {
    object (ItemBuildingConfig)
  },
  "customConfig": {
    object
  },
  "localizedConfigs": [
    {
      object (LocalizedConfig)
    }
  ]
}
Fields
availabilityConfig

object (AvailabilityConfig)

Optional. Configuration for menu item availability.

nameNormalizationConfig

object (NameNormalizationConfig)

Optional. Configuration for name normalization during menu ingestion.

itemBuildingConfig

object (ItemBuildingConfig)

Optional. Configuration for building items during menu ingestion.

customConfig

object (Struct format)

Optional. Custom configurations for brand-specific menu ingestion.

localizedConfigs[]

object (LocalizedConfig)

Optional. Language-specific menu ingestion configurations. Name-based configurations (e.g., name matchers, name normalization, search synonyms, category configs) for specific languages are grouped here under their respective BCP-47 language code. Duplicate language codes are not allowed.

AvailabilityConfig

Configuration for menu item availability.

JSON representation
{
  "conditionalExclusions": [
    {
      object (ProductMatcher)
    }
  ],
  "modifierOnlyProductIds": [
    string
  ]
}
Fields
conditionalExclusions[]

object (ProductMatcher)

Optional. Items that are conditionally excluded based on matching criteria.

modifierOnlyProductIds[]

string

Optional. Products that are only available in meals or combos and not directly orderable.

ProductMatcher

Matcher used to match one or multiple menu entities like items/modifierGroup/modifiers during menu ingestion time.

JSON representation
{
  "productIds": [
    string
  ],
  "productExactNames": [
    string
  ],
  "productRegexName": string,
  "productType": string,
  "parentProductType": string,
  "daypartId": string,
  "existingProductId": string,
  "parentProductId": string
}
Fields
productIds[]

string

Optional. The product IDs to match.

productExactNames[]

string

Optional. The exact product names to match.

productRegexName

string

Optional. A regular expression to match product names.

productType

string

Optional. The product type to match.

parentProductType

string

Optional. The parent product type under which the product is matched.

daypartId

string

Optional. The daypart during which the match applies.

existingProductId

string

Optional. The product ID that must exist for the match to trigger.

parentProductId

string

Optional. The parent product ID under which the product is matched (e.g. only match a modifier when it is offered on a specific item).

NameNormalizationConfig

Configuration for name normalization during menu ingestion.

JSON representation
{
  "productNameOverrides": [
    {
      object (ProductNameOverride)
    }
  ],
  "regexReplacements": [
    {
      object (RegexReplacement)
    }
  ],
  "casingExceptions": [
    string
  ]
}
Fields
productNameOverrides[]

object (ProductNameOverride)

Optional. Overrides product names for matched item(s).

regexReplacements[]

object (RegexReplacement)

Optional. Ordered list of regular expression replacements applied to normalize item names.

casingExceptions[]

string

Optional. Words or tokens whose casing should be preserved during title casing.

ProductNameOverride

A rule for overriding a product name for matched item(s).

JSON representation
{
  "productMatcher": {
    object (ProductMatcher)
  },
  "targetName": string
}
Fields
productMatcher

object (ProductMatcher)

Optional. The product matcher to identify the item(s).

targetName

string

Required. Target product name to use when matched.

RegexReplacement

A regular expression replacement rule.

JSON representation
{
  "pattern": string,
  "replacement": string
}
Fields
pattern

string

Required. The regular expression pattern to match.

replacement

string

Optional. The string to replace matches with. If omitted, matches are replaced with an empty string.

ItemBuildingConfig

Optional. Configuration for building items during menu ingestion.

JSON representation
{
  "itemNumberConfigs": [
    {
      object (ItemNumberConfig)
    }
  ],
  "modifierGroupOrderingRules": [
    {
      object (ModifierGroupOrderingRule)
    }
  ],
  "modifierGroupReplicationRules": [
    {
      object (ModifierGroupReplicationRule)
    }
  ],
  "modifierGroupNamingRules": [
    {
      object (ModifierGroupNamingRule)
    }
  ],
  "autoBundleConfig": {
    object (AutoBundleConfig)
  },
  "categoryConfigs": [
    {
      object (CategoryConfig)
    }
  ],
  "searchConfigs": [
    {
      object (SearchConfig)
    }
  ],
  "modifierGroupIntegrationAttributeConfigs": [
    {
      object (ModifierGroupIntegrationAttributeConfig)
    }
  ],
  "itemIntegrationAttributeConfigs": [
    {
      object (ItemIntegrationAttributeConfig)
    }
  ]
}
Fields
itemNumberConfigs[]

object (ItemNumberConfig)

Optional. Rules for assigning item numbers to items.

modifierGroupOrderingRules[]

object (ModifierGroupOrderingRule)

Optional. Rules for ordering/sorting modifier groups.

modifierGroupReplicationRules[]

object (ModifierGroupReplicationRule)

Optional. Rules for replicating multi-quantity modifier groups into individual slots.

modifierGroupNamingRules[]

object (ModifierGroupNamingRule)

Optional. Rules for naming modifier groups.

autoBundleConfig

object (AutoBundleConfig)

Optional. Configuration for auto-bundling combos.

categoryConfigs[]

object (CategoryConfig)

Optional. Configuration for the categories assigned to items.

searchConfigs[]

object (SearchConfig)

Optional. Configuration for the search attributes assigned to items.

modifierGroupIntegrationAttributeConfigs[]

object (ModifierGroupIntegrationAttributeConfig)

Optional. Configuration for the integration attributes assigned to modifier groups.

itemIntegrationAttributeConfigs[]

object (ItemIntegrationAttributeConfig)

Optional. Configuration for the integration attributes assigned to items.

ItemNumberConfig

Configuration for assigning item/menu numbers to items.

JSON representation
{
  "storeMatcher": {
    object (IngestionStoreMatcher)
  },
  "itemNumberMappings": [
    {
      object (ItemNumberMapping)
    }
  ]
}
Fields
storeMatcher

object (IngestionStoreMatcher)

Optional. Matcher for stores where these item number mappings apply. If not specified or empty, applies across all stores as the default.

itemNumberMappings[]

object (ItemNumberMapping)

Optional. List of item matcher to item number mappings.

IngestionStoreMatcher

Matcher used to match one or multiple stores during menu ingestion time.

JSON representation
{
  "storeIds": [
    string
  ]
}
Fields
storeIds[]

string

Optional. Specific store IDs where the configuration applies. If not specified, applies across all stores as the default.

ItemNumberMapping

Mapping from an item matcher to its item numbers.

JSON representation
{
  "productMatcher": {
    object (ProductMatcher)
  },
  "itemNumbers": [
    string
  ]
}
Fields
productMatcher

object (ProductMatcher)

Optional. The product matcher to identify the item(s).

itemNumbers[]

string

Optional. The item numbers to assign (e.g., ["1"], ["2", "2a"]).

ModifierGroupOrderingRule

Configuration for ordering/sorting modifier groups.

JSON representation
{
  "productMatcher": {
    object (ProductMatcher)
  },
  "sortStrategy": enum (SortStrategy),
  "priorityList": [
    string
  ]
}
Fields
productMatcher

object (ProductMatcher)

Optional. The product matcher to identify the item(s) to which this ordering rule applies.

sortStrategy

enum (SortStrategy)

Optional. The sorting strategy to apply to modifier groups.

priorityList[]

string

Optional. Ordered list of terms (e.g. keywords, modifier group names, or types) used when sortStrategy is PRIORITY_LIST. Modifier groups matching earlier terms in the list are sorted first.

SortStrategy

Strategy for sorting modifier groups.

Enums
SORT_STRATEGY_UNSPECIFIED Unspecified sorting strategy.
ALPHABETICAL Sort modifier groups alphabetically by display name.
PRIORITY_LIST Sort modifier groups by priority list.

ModifierGroupReplicationRule

Configuration for replicating/expanding multi-quantity modifier groups into individual single-quantity slots (e.g., expanding a 2-drink choice into Drink 1 and Drink 2).

JSON representation
{
  "productMatcher": {
    object (ProductMatcher)
  },
  "modifierGroupTypes": [
    string
  ],
  "enabled": boolean
}
Fields
productMatcher

object (ProductMatcher)

Optional. The product matcher to identify the item(s) to which this replication rule applies.

modifierGroupTypes[]

string

Optional. Modifier group types or names to replicate (e.g., "Side", "Drink", "Entree"). If not specified, applies to all modifier groups of the matched items.

enabled

boolean

Optional. Whether replication is enabled for the matched items and modifier groups. Defaults to true.

ModifierGroupNamingRule

Configuration for naming modifier groups.

JSON representation
{
  "productMatcher": {
    object (ProductMatcher)
  },
  "namingStrategy": enum (NamingStrategy)
}
Fields
productMatcher

object (ProductMatcher)

Optional. The product matcher to identify the item(s) to which this naming rule applies.

namingStrategy

enum (NamingStrategy)

Optional. The naming strategy to apply to modifier groups of the matched items.

NamingStrategy

Strategy for naming modifier groups.

Enums
NAMING_STRATEGY_UNSPECIFIED Unspecified naming strategy.
CATEGORY_NAME Name modifier groups using the category or modifier group type (e.g., Entree, Side, Drink).
CHOICE_GROUP_NAME Name modifier groups using the choice group name from the source POS/catalog.

AutoBundleConfig

Configuration for auto-bundling items into combos.

JSON representation
{
  "defaultAllowAutoBundle": boolean,
  "allowAutoBundleItemMatchers": [
    {
      object (ProductMatcher)
    }
  ],
  "disallowAutoBundleItemMatchers": [
    {
      object (ProductMatcher)
    }
  ]
}
Fields
defaultAllowAutoBundle

boolean

Optional. Whether auto-bundling is allowed by default for all combos.

allowAutoBundleItemMatchers[]

object (ProductMatcher)

Optional. Item matchers of combos that allow auto-bundling (overriding the default when defaultAllowAutoBundle is false).

disallowAutoBundleItemMatchers[]

object (ProductMatcher)

Optional. Item matchers of combos that disallow auto-bundling (overriding the default when defaultAllowAutoBundle is true).

CategoryConfig

Configuration for the categories assigned to items.

JSON representation
{
  "productMatcher": {
    object (ProductMatcher)
  },
  "categoryIds": [
    string
  ],
  "hierarchicalCategories": [
    string
  ]
}
Fields
productMatcher

object (ProductMatcher)

Optional. The product matcher to identify the item(s) to which this category config applies.

categoryIds[]

string

Optional. The IDs of the categories to assign to the items.

hierarchicalCategories[]

string

Optional. The hierarchical categories to assign to the items.

SearchConfig

Configuration for the search attributes assigned to items.

JSON representation
{
  "productMatcher": {
    object (ProductMatcher)
  },
  "synonyms": [
    string
  ],
  "childSynonyms": [
    {
      object (ChildSynonym)
    }
  ]
}
Fields
productMatcher

object (ProductMatcher)

Optional. The product matcher to identify the item(s) to which this search config applies.

synonyms[]

string

Optional. The synonyms to assign to the items.

childSynonyms[]

object (ChildSynonym)

Optional. The child synonyms to assign to the items.

ChildSynonym

Child synonym for a menu entity. This is to support cases like "Sausage Egg Cheese Biscuit" to "Sausage Egg Biscuit" with modifier "Cheese".

JSON representation
{
  "synonym": string,
  "children": [
    string
  ]
}
Fields
synonym

string

Optional. The synonym for the menu entity.

children[]

string

Optional. Additional child that needs to match for that synonym.

ModifierGroupIntegrationAttributeConfig

Configuration for integration attributes assigned to modifier groups.

JSON representation
{
  "productMatcher": {
    object (ProductMatcher)
  },
  "modifierGroupNames": [
    string
  ],
  "integrationAttribute": {
    object
  }
}
Fields
productMatcher

object (ProductMatcher)

Optional. The product matcher to identify the item(s) to which this modifier group integration attribute config applies.

modifierGroupNames[]

string

Optional. The names or types of the modifier groups to which this integration attribute config applies.

integrationAttribute

object (Struct format)

Optional. Custom integration attributes to assign to the matched modifier groups.

ItemIntegrationAttributeConfig

Configuration for integration attributes assigned to items.

JSON representation
{
  "productMatcher": {
    object (ProductMatcher)
  },
  "integrationAttribute": {
    object
  }
}
Fields
productMatcher

object (ProductMatcher)

Optional. The product matcher to identify the item(s) to which this item integration attribute config applies.

integrationAttribute

object (Struct format)

Optional. Custom integration attributes to assign to the matched items.

LocalizedConfig

High-level localized configuration for menu ingestion. Groups name-based configurations (e.g. name normalization rules, search synonyms, category configs, name matchers) that belong to a specific language.

JSON representation
{
  "languageCode": string,
  "nameNormalizationConfig": {
    object (NameNormalizationConfig)
  },
  "itemBuildingConfig": {
    object (ItemBuildingConfig)
  },
  "availabilityConfig": {
    object (AvailabilityConfig)
  },
  "customConfig": {
    object
  }
}
Fields
languageCode

string

Required. The BCP-47 language code for this configuration (e.g., en, es, ja, en-US, es-MX).

nameNormalizationConfig

object (NameNormalizationConfig)

Optional. Configuration for name normalization for this language.

itemBuildingConfig

object (ItemBuildingConfig)

Optional. Configuration for building items specific to this language (e.g., language-specific search synonyms, category configs, modifier group ordering rules).

availabilityConfig

object (AvailabilityConfig)

Optional. Language-specific availability rules (e.g. conditional exclusions matching localized product names).

customConfig

object (Struct format)

Optional. Language-specific custom configurations.

StoreIngestionConfig

Configuration for store ingestion.

JSON representation
{
  "stagingStoreIds": [
    string
  ],
  "testStoreIds": [
    string
  ],
  "storeTimeZoneConfigs": [
    {
      object (StoreTimeZoneConfig)
    }
  ],
  "defaultOrderLimits": {
    object (OrderLimits)
  },
  "defaultSchedule": {
    object (Schedule)
  },
  "defaultDayparts": [
    {
      object (Daypart)
    }
  ],
  "customConfig": {
    object
  }
}
Fields
stagingStoreIds[]

string

Optional. Store IDs routed to the staging environment during ingestion.

testStoreIds[]

string

Optional. Store IDs designated for testing during ingestion.

storeTimeZoneConfigs[]

object (StoreTimeZoneConfig)

Optional. Time zone mappings for specific stores.

defaultOrderLimits

object (OrderLimits)

Optional. Default order limits applied to stores when not provided by the store data source.

defaultSchedule

object (Schedule)

Optional. Default operating schedule applied to stores when not provided by the store data source.

defaultDayparts[]

object (Daypart)

Optional. Default dayparts applied to stores when not provided by the store data source.

customConfig

object (Struct format)

Optional. Custom configurations for brand-specific store ingestion.

StoreTimeZoneConfig

Mapping of a time zone to specific stores.

JSON representation
{
  "timeZone": {
    object (TimeZone)
  },
  "storeIds": [
    string
  ]
}
Fields
timeZone

object (TimeZone)

Optional. The time zone to apply to the matched stores.

storeIds[]

string

Optional. The store IDs that use this time zone.

Methods

computeAnalyticsMetrics

Computes analytics metrics for a given brand for specified time period with optional store filter.

create

Creates a brand.

delete

Deletes the specified brand.

get

Gets a brand.

list

Lists brands.

listHistory

Lists history entries for a brand.

patch

Updates the specified brand.