Package google.cloud.foodorderingaiagent.v1

Index

FoodOrderingService

FoodOrderingService provides an API for food ordering agents.

BidiProcessOrder

rpc BidiProcessOrder(BidiProcessOrderRequest) returns (BidiProcessOrderResponse)

A bidirectional streaming API that processes continuous client inputs across multiple modalities (e.g., text, audio) and generates real-time multimodal output streams.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

MenuService provides APIs to manage brand, store and menu related resources.

BatchDeleteStores

rpc BatchDeleteStores(BatchDeleteStoresRequest) returns (Empty)

Batch deletes stores.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

BatchGetMenuEntities

rpc BatchGetMenuEntities(BatchGetMenuEntitiesRequest) returns (BatchGetMenuEntitiesResponse)

Batch gets entities for a menu.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

BatchUpdateStores

rpc BatchUpdateStores(BatchUpdateStoresRequest) returns (BatchUpdateStoresResponse)

Batch updates stores.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateBrand

rpc CreateBrand(CreateBrandRequest) returns (Brand)

Creates a brand.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateChannelConfig

rpc CreateChannelConfig(CreateChannelConfigRequest) returns (ChannelConfig)

Creates a ChannelConfig.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateConfigApplicationRule

rpc CreateConfigApplicationRule(CreateConfigApplicationRuleRequest) returns (ConfigApplicationRule)

Creates a ConfigApplicationRule.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateMenu

rpc CreateMenu(CreateMenuRequest) returns (Menu)

Creates a menu.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateStore

rpc CreateStore(CreateStoreRequest) returns (Store)

Creates a store.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteBrand

rpc DeleteBrand(DeleteBrandRequest) returns (Empty)

Deletes the specified brand.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteBrandRevision

rpc DeleteBrandRevision(DeleteBrandRevisionRequest) returns (Empty)

Deletes the specified BrandRevision.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteChannelConfig

rpc DeleteChannelConfig(DeleteChannelConfigRequest) returns (Empty)

Deletes the specified ChannelConfig.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteChannelConfigRevision

rpc DeleteChannelConfigRevision(DeleteChannelConfigRevisionRequest) returns (Empty)

Deletes the specified ChannelConfigRevision.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteConfigApplicationRule

rpc DeleteConfigApplicationRule(DeleteConfigApplicationRuleRequest) returns (Empty)

Deletes the specified ConfigApplicationRule.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteConfigApplicationRuleRevision

rpc DeleteConfigApplicationRuleRevision(DeleteConfigApplicationRuleRevisionRequest) returns (Empty)

Deletes the specified ConfigApplicationRuleRevision.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteMenu

rpc DeleteMenu(DeleteMenuRequest) returns (Empty)

Deletes the specified menu.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteStore

rpc DeleteStore(DeleteStoreRequest) returns (Empty)

Deletes the specified store.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteStoreRevision

rpc DeleteStoreRevision(DeleteStoreRevisionRequest) returns (Empty)

Deletes the specified StoreRevision.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetBrand

rpc GetBrand(GetBrandRequest) returns (Brand)

Gets a brand.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetBrandRevision

rpc GetBrandRevision(GetBrandRevisionRequest) returns (BrandRevision)

Gets a BrandRevision.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetChannelConfig

rpc GetChannelConfig(GetChannelConfigRequest) returns (ChannelConfig)

Gets a ChannelConfig.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetChannelConfigRevision

rpc GetChannelConfigRevision(GetChannelConfigRevisionRequest) returns (ChannelConfigRevision)

Gets a ChannelConfigRevision.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetConfigApplicationRule

rpc GetConfigApplicationRule(GetConfigApplicationRuleRequest) returns (ConfigApplicationRule)

Gets a ConfigApplicationRule.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetConfigApplicationRuleRevision

rpc GetConfigApplicationRuleRevision(GetConfigApplicationRuleRevisionRequest) returns (ConfigApplicationRuleRevision)

Gets a ConfigApplicationRuleRevision.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetMenu

rpc GetMenu(GetMenuRequest) returns (Menu)

Gets a menu.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetStore

rpc GetStore(GetStoreRequest) returns (Store)

Gets a store.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetStoreRevision

rpc GetStoreRevision(GetStoreRevisionRequest) returns (StoreRevision)

Gets a StoreRevision.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListBrandRevisions

rpc ListBrandRevisions(ListBrandRevisionsRequest) returns (ListBrandRevisionsResponse)

Lists BrandRevisions.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListBrands

rpc ListBrands(ListBrandsRequest) returns (ListBrandsResponse)

Lists brands.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListChannelConfigRevisions

rpc ListChannelConfigRevisions(ListChannelConfigRevisionsRequest) returns (ListChannelConfigRevisionsResponse)

Lists ChannelConfigRevisions.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListChannelConfigs

rpc ListChannelConfigs(ListChannelConfigsRequest) returns (ListChannelConfigsResponse)

Lists ChannelConfigs.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListConfigApplicationRuleRevisions

rpc ListConfigApplicationRuleRevisions(ListConfigApplicationRuleRevisionsRequest) returns (ListConfigApplicationRuleRevisionsResponse)

Lists ConfigApplicationRuleRevisions.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListConfigApplicationRules

rpc ListConfigApplicationRules(ListConfigApplicationRulesRequest) returns (ListConfigApplicationRulesResponse)

Lists ConfigApplicationRules.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListMenus

rpc ListMenus(ListMenusRequest) returns (ListMenusResponse)

Lists menus.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListStoreRevisions

rpc ListStoreRevisions(ListStoreRevisionsRequest) returns (ListStoreRevisionsResponse)

Lists StoreRevisions.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListStores

rpc ListStores(ListStoresRequest) returns (ListStoresResponse)

Lists stores.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

PromoteChannelConfig

rpc PromoteChannelConfig(PromoteChannelConfigRequest) returns (PromoteChannelConfigResponse)

Promotes the specified channel config.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateBrand

rpc UpdateBrand(UpdateBrandRequest) returns (Brand)

Updates the specified brand.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateChannelConfig

rpc UpdateChannelConfig(UpdateChannelConfigRequest) returns (ChannelConfig)

Updates the specified ChannelConfig.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateConfigApplicationRule

rpc UpdateConfigApplicationRule(UpdateConfigApplicationRuleRequest) returns (ConfigApplicationRule)

Updates the specified ConfigApplicationRule.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateStore

rpc UpdateStore(UpdateStoreRequest) returns (Store)

Update the specified store.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

AgentAudio

The audio response from the agent.

Fields
agent_audio

bytes

The audio data from the agent.

AgentEvent

Special event from the agent that needs client to take action.

Fields
Union field event. The event from the agent. event can be only one of the following:
restart_order

RestartOrder

Customer requests to restart the order.

AgentText

The text response from the agent.

Fields
text

string

The text response from the agent.

AudioInput

The audio input from the client. The input audio may have multiple channels for the customer, crew, etc. These should all be synchronized and in the format specified in the config. Audio headers should not be included. By default, the audio should be using 16-bit linear PCM audio encoding and 16000 Hz sample rate. Total bytes from all channels should be less than 25600 bytes.

Fields
customer_audio

bytes

Required. Customer audio data.

crew_audio

bytes

Optional. Crew audio data. This is an optional audio channel for the crew member in the same lane as the customer, and served as the reference audio for echo cancellation.

Availability

Defines the availability of an item or modifier.

Fields
daypart_availability

DaypartAvailability

Optional. Daypart-level availability information for this item. If omitted, daypart-based availability is ignored.

menu_schedule_availability

MenuScheduleAvailability

Optional. Menu schedule-level availability information for this item. If omitted, menu schedule-based availability is ignored.

status

Status

Optional. Indicates a status leading to unavailability, or that the item is available. If omitted, the item is available by default.

fulfillment_availability

FulfillmentMethodAvailability

Optional. The fulfillment methods this item is available for. If omitted, the item is available for all fulfillment methods.

DaypartAvailability

Constrains availability of this entity to specified dayparts.

Fields
daypart_ids[]

string

Required. Dayparts during which this item is available.

FulfillmentMethodAvailability

Constrains availability of this entity to specified fulfillment methods.

Fields
fulfillment_methods[]

FulfillmentMethod

Required. Fulfillment methods for which this item is available.

Constrains availability of this entity to specified menu schedule.

Fields
menu_schedule_ids[]

string

Required. Menu schedules during which this item is available.

Status

Status of availability.

Enums
STATUS_UNSPECIFIED Invalid status. CreateMenu will fail if any item or modifier has this status.
STATUS_AVAILABLE Indicates that the item is available for purchase.
STATUS_UNAVAILABLE Indicates that the item is unavailable for ambiguous reasons.
STATUS_OUT_OF_STOCK Indicates that the item is currently out of stock, but may become available in the near future.
STATUS_DISCONTINUED Indicates that the item is discontinued, and will remain unavailable for the foreseeable future.

BatchDeleteStoresRequest

Request message for MenuService.BatchDeleteStores.

Fields
parent

string

Required. The parent resource shared by all stores being deleted. Format: projects/{project}/locations/{location}/brands/{brand}

names[]

string

Required. The names of the stores to delete. A maximum of 1000 stores can be deleted in a batch. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}

BatchGetMenuEntitiesRequest

Request message for MenuService.BatchGetMenuEntities.

Fields
parent

string

Required. The name of the menu to retrieve entities from. Format: projects/{project}/locations/{location}/menus/{menu}

item_ids[]

string

Optional. The IDs of the items to retrieve.

modifier_ids[]

string

Optional. The IDs of the modifier to retrieve.

modifier_group_ids[]

string

Optional. The IDs of the modifier groups to retrieve.

category_ids[]

string

Optional. The IDs of the categories to retrieve.

BatchGetMenuEntitiesResponse

Response message for MenuService.BatchGetMenuEntities.

Fields
items[]

Item

The items requested.

modifiers[]

Modifier

The modifiers requested.

modifier_groups[]

ModifierGroup

The modifier groups requested.

categories[]

MenuCategory

The categories requested.

BatchUpdateStoresRequest

Request message for MenuService.BatchUpdateStores.

Fields
parent

string

Required. The parent resource shared by all stores being updated. Format: projects/{project}/locations/{location}/brands/{brand} If this is set, the parent of all of the stores specified in requests must match this field.

requests[]

UpdateStoreRequest

Required. The request message specifying the resources to update. A maximum of 1000 stores can be modified in a batch.

BatchUpdateStoresResponse

Response message for MenuService.BatchUpdateStores.

Fields
stores[]

Store

Stores updated.

BidiProcessOrderRequest

The top-level message sent by the client for the FoodOrderingService.BidiProcessOrder method.

Fields
Union field message. The message from the client. The client must send a config message first, before sending any other messages. message can be only one of the following:
config

Config

The configuration for the session and food ordering properties.

text_input

TextInput

The text input from the client.

audio_input

AudioInput

The audio input from the client. The client must use either text or audio input, not both.

event_input

EventInput

The event input from the client.

client_execution_result

ClientExecutionResult

The result of a client execution request.

BidiProcessOrderResponse

The top-level message returned from FoodOrderingService.BidiProcessOrder method.

Fields
Union field response. The response from the agent. response can be only one of the following:
agent_audio

AgentAudio

The audio response from the agent.

speech_recognition

SpeechRecognition

The speech recognition result from the agent.

legacy_order_state_response

Struct

The legacy order state response for a session.

interruption_signal

InterruptionSignal

Interruption signal detected from the audio input.

agent_event

AgentEvent

Event from the agent.

client_execution_request

ClientExecutionRequest

The request forward to the client to execute. This is used for client side execution, such as adding a code to the order.

updated_order_state

UpdatedOrderState

Indicates an update to the order state. Includes the complete state of the order.

agent_text

AgentText

The text response from the agent.

suggested_options

SuggestedOptions

Options to suggest to the customer.

sentiment_measurement

SentimentMeasurement

The realtime sentiment score measured for this turn.

turn_completed

TurnCompleted

Turn Completed message.

end_session

EndSession

Indicates that the session is ending, and that this will be the last turn.

The agent will finish sending any pending responses for the current turn, and then send a final turn_completed message. The agent will not start any new turns. For example, a 2 turn session will look like:

  • Turn 1
  • customer input 1
  • ... agent response and order state messages
  • turn_completed
  • Turn 2
  • customer input 2
  • ... agent response and order state messages
  • end_session
  • ... pending agent response and order state messages
  • turn_completed

Brand

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

Fields
name

string

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

display_name

string

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

create_time

Timestamp

Output only. The time this brand was created.

update_time

Timestamp

Output only. The time this brand was last updated.

BrandRevision

A revision of a brand.

Fields
name

string

Identifier. The resource name of the brand revision. Format: projects/{project}/locations/{location}/brands/{brand}/revisions/{revision}

snapshot

Brand

Output only. The state of the brand resource at this revision.

create_time

Timestamp

Output only. When the revision was created.

created_by

string

Output only. The email of the user who recently created the resource.

alternate_ids[]

string

Output only. Alternate IDs for this revision.

ChannelConfig

A channel configuration represents an operational strategy configuration. Channel configuration lifecycle: * DRAFT: A configuration is in a draft state when it has no associated config application rules and is not set as the default configuration for the brand. * ACTIVE: A configuration is in an active state when it is either associated with any config application rule or set as the brand's default. * When active, the runtime applies the channel configuration to matching stores. To ensure flexibility, the relationship between channel configuration and config application rule is one-to-many on each resource level: * On the brand level, there is a one-to-many relationship between channel configurations and config application rules. * On the store level, there is another one-to-many relationship between channel configurations and config application rules. When multiple channel configurations are applicable, the runtime determines the configuration to apply based on the following precedence order (latter overwrites former in case of conflict): 1. Brand-level default 2. Brand-level binding 3. Store-level default 4. Store-level binding

Fields
name

string

Identifier. The channel configuration name. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config}

display_name

string

Optional. Optional display name for this channel configuration for user interfaces. Value is limited to 63 characters.

create_time

Timestamp

Output only. The time this channel configuration was created.

update_time

Timestamp

Output only. The time this channel configuration was last updated.

state

State

Output only. The status of the channel configuration.

type

Type

Required. The type of the channel configuration.

tone

Tone

Optional. The tone of the agent.

config_application_rules[]

ConfigApplicationRule

Output only. The config application rules associated with this channel configuration.

State

Status of the channel configuration.

Enums
STATE_UNSPECIFIED Status is unspecified.
DRAFT The channel configuration is a draft and not yet ready for use.
ACTIVE The channel configuration is active and can be used.
PROMOTED The channel configuration is promoted.

Tone

The tone of the agent.

Enums
TONE_UNSPECIFIED Tone is unspecified.
CONCISE_AND_DIRECT The agent's tone is concise and direct.
PROFESSIONAL_AND_FORMAL The agent's tone is professional and formal.
FRIENDLY The agent's tone is friendly.

Type

The type of the channel configuration.

Enums
TYPE_UNSPECIFIED Type is unspecified.
UPSELL_STRATEGY The channel configuration is for upsell strategy.
AGENT_CUSTOMIZATION The channel configuration is for agent customization.

ChannelConfigRevision

A revision of a channel configuration.

Fields
name

string

Identifier. The resource name of the channel config revision. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config}/revisions/{revision}

snapshot

ChannelConfig

Output only. The state of the channel config resource at this revision.

create_time

Timestamp

Output only. When the revision was created.

created_by

string

Output only. The email of the user who recently created the resource.

alternate_ids[]

string

Output only. Alternate IDs for this revision.

ClientAppInfo

Information about the client application and device environment. This is primarily used for logging, analytics, and debugging.

Fields
device_model

string

Optional. The device model of the client (e.g., "iPhone 13", "Pixel 7", "Kiosk v2").

os_version

string

Optional. The operating system version of the client (e.g., "iOS 16.1", "Android 13").

sdk_version

string

Optional. The version of the client SDK or application software.

ClientExecutionRequest

A request to the for client side to execute a command.

Fields
execution_id

string

Required. A unique ID for this execution request.

ClientExecutionResult

The result of a client execution request.

Fields
execution_id

string

Required. The ID of the execution request this is a result for.

Config

The configuration for a session and food ordering properties. At the start of each connection, the client must first send a config message. This must happen before any other requests to initiate the session. If the client disconnects, they should repeat the same config message when they reconnect.

Fields
session

string

Required. The session for the order. Format: projects/{project}/locations/{location}/sessions/{session}

store

string

Required. The store the order is being placed for. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}

lane_id

string

Optional. The id of a specifc drive through lane.

enable_echo_cancellation

bool

Optional. Whether to enable echo cancellation for the session. If enabled, the client should provide the customer_audio and crew_audio in the AudioInput.

daypart_id

string

Optional. Daypart of the food menu, including breakfast, lunch, dinner, etc. This is used to determine the menu to use for the order.

feature_gate

FeatureGate

Optional. The feature gates for the session. This is used to enable or disable features for the session.

client_app_info

ClientAppInfo

Optional. The information about the client application and device environment.

ConfigApplicationRule

A rule representing conditions for when to apply agent configurations.

Fields
name

string

Identifier. The config application rule name. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{config_application_rule}

display_name

string

Optional. Optional display name for this config application rule for user interfaces. Value is limited to 63 characters.

create_time

Timestamp

Output only. The time this config application rule was created.

update_time

Timestamp

Output only. The time this config application rule was last updated.

ConfigApplicationRuleRevision

A revision of a config application rule.

Fields
name

string

Identifier. The resource name of the config application rule revision. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{config_application_rule}/revisions/{revision}

snapshot

ConfigApplicationRule

Output only. The state of the config application rule resource at this revision.

create_time

Timestamp

Output only. When the revision was created.

created_by

string

Output only. The email of the user who recently created the resource.

alternate_ids[]

string

Output only. Alternate IDs for this revision.

CreateBrandRequest

Request message for MenuService.CreateBrand.

Fields
parent

string

Required. The parent, which owns this collection of brands. Format: projects/{project}/locations/{location}

brand

Brand

Required. The brand to create.

brand_id

string

Optional. The ID to use for the brand, which will become the final component of the brand's resource name.

This value should only contain lower-case letters, numbers, and hyphen, with the first and last character a letter or a number, and a 63 character maximum.

CreateChannelConfigRequest

Request message for MenuService.CreateChannelConfig.

Fields
parent

string

Required. The parent brand, which owns this collection of channel configs. Format: projects/{project}/locations/{location}/brands/{brand}

channel_config

ChannelConfig

Required. The channel config to create.

channel_config_id

string

Optional. The ID to use for the channel config, which will become the final component of the channel config's resource name.

This value should only contain lower-case letters, numbers, and hyphens, with a 63 character maximum. The first character must be a letter, and the last character must be a letter or number.

CreateConfigApplicationRuleRequest

Request message for MenuService.CreateConfigApplicationRule.

Fields
parent

string

Required. The parent brand, which owns this collection of config application rules. Format: projects/{project}/locations/{location}/brands/{brand}

config_application_rule

ConfigApplicationRule

Required. The config application rule to create.

config_application_rule_id

string

Optional. The ID to use for the config application rule, which will become the final component of the config application rule's resource name.

This value should only contain lower-case letters, numbers, and hyphen, with the first and last character a letter or a number, and a 63 character maximum.

CreateMenuRequest

Request message for MenuService.CreateMenu.

Fields
parent

string

Required. The parent, which owns this collection of menus. Format: projects/{project}/locations/{location}

menu_id

string

Optional. The ID to use for the menu, which will become the final component of the menu's resource name.

This value should only contain lower-case letters, numbers, and hyphen, with the first and last character a letter or a number, and a 63 character maximum.

menu

Menu

Required. The menu to create.

CreateStoreRequest

Request message for MenuService.CreateStore.

Fields
parent

string

Required. The parent brand, which owns this collection of stores. Format: projects/{project}/locations/{location}/brands/{brand}

store_id

string

Optional. The Store Id to use for the store, which will become the final component of the store's resource name.

This value should only contain lower-case letters, numbers, and hyphen, with the first and last character a letter or a number, and a 63 character maximum.

store

Store

Required. The store to create.

DateRange

Represents a date range, inclusive of both ends.

Fields
start_date

Date

Required. The start date of the range, inclusive.

end_date

Date

Required. The end date of the range, inclusive.

DeleteBrandRequest

Request message for MenuService.DeleteBrand.

Fields
name

string

Required. The name of the brand to delete. Format: projects/{project}/locations/{location}/brands/{brand}

DeleteBrandRevisionRequest

Request message for MenuService.DeleteBrandRevision.

Fields
name

string

Required. The name of the brand revision to delete. Format: projects/{project}/locations/{location}/brands/{brand}/revisions/{revision}

DeleteChannelConfigRequest

Request message for MenuService.DeleteChannelConfig.

Fields
name

string

Required. The name of the channel config to delete. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config}

DeleteChannelConfigRevisionRequest

Request message for MenuService.DeleteChannelConfigRevision.

Fields
name

string

Required. The name of the channel config revision to delete. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config}/revisions/{revision}

DeleteConfigApplicationRuleRequest

Request message for MenuService.DeleteConfigApplicationRule.

Fields
name

string

Required. The name of the config application rule to delete. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{config_application_rule}

DeleteConfigApplicationRuleRevisionRequest

Request message for MenuService.DeleteConfigApplicationRuleRevision.

Fields
name

string

Required. The name of the config application rule revision to delete. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{config_application_rule}/revisions/{revision}

DeleteMenuRequest

Request message for MenuService.DeleteMenu.

Fields
name

string

Required. The name of the menu to delete. Format: projects/{project}/locations/{location}/menus/{menu}

DeleteStoreRequest

Request message for MenuService.DeleteStore.

Fields
name

string

Required. The name of the store to delete. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}

DeleteStoreRevisionRequest

Request message for MenuService.DeleteStoreRevision.

Fields
name

string

Required. The name of the store revision to delete. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}/revisions/{revision}

EndSession

Indicates the agent has terminated the session, due to either successful completion (e.g. user says "Good bye!" ) or an agent escalation.

Fields
type

EndType

The type of end session event.

reason

string

The reason for ending the session.

EndType

Type of end session event.

Enums
END_TYPE_UNSPECIFIED The end type is not specified.
DRIVE_OFF The customer drove off.
AGENT_ESCALATION The agent escalated the session to a human agent.
CREW_INTERJECTION A crew member interjected in the session.
ORDER_COMPLETED Order was successfully completed and no further action is needed.
PAYMENT_FLOW_SUCCESS The payment flow was successful and no further action is needed.
PAYMENT_FLOW_FAILURE The payment flow failed.
CLIENT_ESCALATION The client escalated the session to a human agent.
CALLER_HANGUP The customer hung up the call prematurely.

EventInput

The event input from the client. This is used to trigger specific events within the agent.

Fields
Union field event. Next ID: 9 The event to trigger. event can be only one of the following:
drive_off_event

DriveOffEvent

The drive off event.

crew_interjection_event

CrewInterjectionEvent

The crew interjection event.

update_order_state_event

OrderStateUpdateEvent

A client-side update to the order state.

client_escalation_event

ClientEscalationEvent

A client-side escalation event.

caller_hangup_event

CallerHangupEvent

Optional. A caller hangup event.

CallerHangupEvent

This type has no fields.

Indicates the customer hung up the call prematurely (e.g., AI aversion).

ClientEscalationEvent

Indicates the client is escalating the session to a human agent.

Fields
reason

string

Optional. The reason for client escalation e.g. "payment-declined", "pos-error", "integration-error" etc.

CrewInterjectionEvent

The crew interjection event. This indicates a crew member interjected in the session. Session will be closed after this event.

Fields
mode

string

Optional. The mode in which the crew member interjected, e.g. "headset", "pos".

DriveOffEvent

The drive off event. This indicates the customer drove off. Session will be closed after this event.

Fields
reason

string

Optional. The reason for drive off e.g. "order completed", "unexpected driveoff".

OrderStateUpdateEvent

The update order state request. This event should be sent when the order is updated on the client side, e.g. when an item is added or removed via a traditional touch interface.

Fields
order

Order

Required. The updated state of the Order associated with this session.

FeatureGate

The feature gates for the session. This is used to enable or disable features for the session.

Fields
menu_response_enabled

bool

Optional. Returns the menu data to the client in BidiProcessOrderResponse if set.

FulfillmentMethod

The fulfillment method of an order.

Enums
FULFILLMENT_METHOD_UNSPECIFIED Unspecified fulfillment method.
FULFILLMENT_METHOD_DINE_IN An order that will be consumed by the customer in the store.
FULFILLMENT_METHOD_PICKUP An order that will be picked up by the customer at the store.
FULFILLMENT_METHOD_DRIVE_THRU An order placed in a drive thru.
FULFILLMENT_METHOD_DELIVERY An order that will be delivered to the customer.
FULFILLMENT_METHOD_CURBSIDE A curbside pickup order. The customer will park their car in a designated spot outside of the store, and the order will be brought out to them.

GetBrandRequest

Request message for MenuService.GetBrand.

Fields
name

string

Required. The name of the brand to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}

GetBrandRevisionRequest

Request message for MenuService.GetBrandRevision.

Fields
name

string

Required. The name of the brand revision to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/revisions/{revision}

GetChannelConfigRequest

Request message for MenuService.GetChannelConfig.

Fields
name

string

Required. The name of the channel config to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config}

GetChannelConfigRevisionRequest

Request message for MenuService.GetChannelConfigRevision.

Fields
name

string

Required. The name of the channel config revision to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config}/revisions/{revision}

GetConfigApplicationRuleRequest

Request message for MenuService.GetConfigApplicationRule.

Fields
name

string

Required. The name of the config application rule to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{config_application_rule}

GetConfigApplicationRuleRevisionRequest

Request message for MenuService.GetConfigApplicationRuleRevision.

Fields
name

string

Required. The name of the config application rule revision to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{config_application_rule}/revisions/{revision}

GetMenuRequest

Request message for MenuService.GetMenu.

Fields
name

string

Required. The name of the menu to retrieve. Format: projects/{project}/locations/{location}/menus/{menu}

GetStoreRequest

Request message for MenuService.GetStore.

Fields
name

string

Required. The name of the store to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}

GetStoreRevisionRequest

Request message for MenuService.GetStoreRevision.

Fields
name

string

Required. The name of the store revision to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}/revisions/{revision}

Image

Image to display for a menu entity.

Fields
source_uri

string

Required. The source URI of the image.

InterruptionSignal

This type has no fields.

Indicates the agent's audio response has been interrupted (e.g. by end user barge-in). Client should stop playback immediately.

Item

Item represents a menu entity which is valid only as a top-level item within an order. Item may represent a single food item, drink, service, promotion, or combination meal which can be modified with various choices.

Fields
id

string

Required. Identifier for this item, unique within the menu.

semantic_name

string

Optional. Concise, human-readable name which clearly & distinctly identifies this item. Should be unique among Items in the menu.

display_name

string

Required. Human-readable name for this item to be used on user interfaces.

category_ids[]

string

Optional. Category of the item.

description

string

Optional. Human-readable description.

image

Image

Optional. Image to display for this item in the UI.

availability

Availability

Optional. Availability of the item.

base_price

Money

Optional. The base price of the item. This may be affected by the selected modifiers.

integration_attributes

ItemIntegrationAttributes

Optional. Metadata associated with this entity used for downstream integrations.

modifier_groups[]

ModifierGroupReference

Optional. References to modifier groups which apply to this item.

modifier_constraints

ModifierConstraints

Optional. Constrains what modifiers can / must be applied to this item across referenced ModifierGroups.

ItemIntegrationAttributes

Metadata associated with an item used for downstream integrations.

Fields
custom_integration_attributes

Struct

Optional. Arbitrary metadata to be associated with an entity, used to build downstream integrations, i.e. identifiers or schema information for constructing an order for submission to a third-party point of sale API.

stream_attributes

StreamIntegrationAttributes

Optional. Represents metadata associated with this item used for Stream integration. If Stream integration isn't enabled for the store, this field is ignored.

toast_attributes

ToastIntegrationAttributes

Optional. Represents metadata associated with this item used for Toast integration. If Toast integration isn't enabled for the store, this field is ignored.

StreamIntegrationAttributes

Represents attributes for an Item from a Stream menu.

Fields
taxes[]

Tax

Optional. Represents tax rates which apply to this item.

item_family_id

string

Optional. Represents the item family that contains this item variant in Stream's menu.

Tax

Tax rate information associated with this item.

Fields
stream_id

string

Required. The ID of the tax in the Stream menu.

is_inclusive

bool

Optional. Determines if the tax amount is already included in the item price

rate

float

Required. The rate of the tax as a percentage.

display_name

string

Optional. The name of the tax.

is_default

bool

Optional. Whether the tax is the default tax.

ToastIntegrationAttributes

Represents attributes for an Item from a Toast menu.

Fields
menu_group_guid

string

Optional. Represents the menu group guid of the item in Toast's menu.

ListBrandRevisionsRequest

Request message for MenuService.ListBrandRevisions.

Fields
parent

string

Required. The parent brand, which owns this collection of revisions. Format: projects/{project}/locations/{location}/brands/{brand}

page_size

int32

Optional. The maximum number of revisions to return. The service may return fewer than this value.

page_token

string

Optional. A page token, received from a previous ListBrandRevisions call. Provide this to retrieve the subsequent page.

ListBrandRevisionsResponse

Response message for MenuService.ListBrandRevisions.

Fields
brand_revisions[]

BrandRevision

The brand revisions from the specified collection.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListBrandsRequest

Request message for MenuService.ListBrands.

Fields
parent

string

Required. The parent, which owns this collection of brands. Format: projects/{project}/locations/{location}

page_size

int32

Optional. The maximum number of brands to return. The service may return fewer than this value.

page_token

string

Optional. A page token, received from a previous ListBrands call. Provide this to retrieve the subsequent page.

ListBrandsResponse

Response message for MenuService.ListBrands.

Fields
brands[]

Brand

The brands from the specified collection.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListChannelConfigRevisionsRequest

Request message for MenuService.ListChannelConfigRevisions.

Fields
parent

string

Required. The parent channel config, which owns this collection of revisions. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config}

page_size

int32

Optional. The maximum number of revisions to return. The service may return fewer than this value.

page_token

string

Optional. A page token, received from a previous ListChannelConfigRevisions call. Provide this to retrieve the subsequent page.

ListChannelConfigRevisionsResponse

Response message for MenuService.ListChannelConfigRevisions.

Fields
channel_config_revisions[]

ChannelConfigRevision

The channel config revisions from the specified collection.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListChannelConfigsRequest

Request message for MenuService.ListChannelConfigs.

Fields
parent

string

Required. The parent brand, which owns this collection of channel configs. Format: projects/{project}/locations/{location}/brands/{brand}

page_size

int32

Optional. The maximum number of channel configs to return. The service may return fewer than this value.

page_token

string

Optional. A page token, received from a previous ListChannelConfigs call. Provide this to retrieve the subsequent page.

filter

string

Optional. A filter expression that filters the results. The expression syntax is documented in https://google.aip.dev/160.

The following fields are supported: - type

Examples: - type="AGENT_CUSTOMIZATION"

ListChannelConfigsResponse

Response message for MenuService.ListChannelConfigs.

Fields
channel_configs[]

ChannelConfig

The channel configs from the specified collection.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListConfigApplicationRuleRevisionsRequest

Request message for MenuService.ListConfigApplicationRuleRevisions.

Fields
parent

string

Required. The parent config application rule, which owns this collection of revisions. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{config_application_rule}

page_size

int32

Optional. The maximum number of revisions to return. The service may return fewer than this value.

page_token

string

Optional. A page token, received from a previous ListConfigApplicationRuleRevisions call. Provide this to retrieve the subsequent page.

ListConfigApplicationRuleRevisionsResponse

Response message for MenuService.ListConfigApplicationRuleRevisions.

Fields
config_application_rule_revisions[]

ConfigApplicationRuleRevision

The config application rule revisions from the specified collection.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListConfigApplicationRulesRequest

Request message for MenuService.ListConfigApplicationRules.

Fields
parent

string

Required. The parent brand, which owns this collection of config application rules. Format: projects/{project}/locations/{location}/brands/{brand}

page_size

int32

Optional. The maximum number of config application rules to return. The service may return fewer than this value.

page_token

string

Optional. A page token, received from a previous ListConfigApplicationRules call. Provide this to retrieve the subsequent page.

ListConfigApplicationRulesResponse

Response message for MenuService.ListConfigApplicationRules.

Fields
config_application_rules[]

ConfigApplicationRule

The config application rules from the specified collection.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListMenusRequest

Request message for MenuService.ListMenus.

Fields
parent

string

Required. The parent, which owns this collection of menus. Format: projects/{project}/locations/{location}

page_size

int32

Optional. The maximum number of menus to return. The service may return fewer than this value.

page_token

string

Optional. A page token, received from a previous ListMenus call. Provide this to retrieve the subsequent page.

filter

string

Optional. A filter expression that filters the results. The expression syntax is documented in https://google.aip.dev/160.

The following fields are supported: - store

store=projects/my-project/locations/us-central1/brands/my-brand/stores/my-store

view

MenuView

Optional. The view to return for the menus.

ListMenusResponse

Response message for MenuService.ListMenus.

Fields
menus[]

Menu

The menus from the specified collection.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListStoreRevisionsRequest

Request message for MenuService.ListStoreRevisions.

Fields
parent

string

Required. The parent store, which owns this collection of revisions. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}

page_size

int32

Optional. The maximum number of revisions to return. The service may return fewer than this value.

page_token

string

Optional. A page token, received from a previous ListStoreRevisions call. Provide this to retrieve the subsequent page.

ListStoreRevisionsResponse

Response message for MenuService.ListStoreRevisions.

Fields
store_revisions[]

StoreRevision

The store revisions from the specified collection.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListStoresRequest

Request message for MenuService.ListStores.

Fields
parent

string

Required. The parent brand, which owns this collection of stores. Format: projects/{project}/locations/{location}/brands/{brand}

page_size

int32

Optional. The maximum number of menus to return. The service may return fewer than this value.

page_token

string

Optional. A page token, received from a previous ListMenus call. Provide this to retrieve the subsequent page.

filter

string

Optional. Filter expression based on AIP-160. Allows filtering stores based on various attributes. Supported Filter Fields:

  • status (String): The status of the store. Operators: =, != Example: status = "ACTIVE" (enum value)

  • update_time (Timestamp): The last updated time of the store. Timestamps expect an RFC-3339 formatted string (e.g. 2012-04-21T11:30:00-04:00). UTC offsets are supported Operators: =, !=, >, >=, <, <= Example: update_time >= "2025-10-01T00:00:00Z"

  • tags (String): Tags associated with the store. Operator: : (HAS) Example: tags:"store-tag"

  • city (String): The city of the store. Operators: =, != Example: city = "Mountain View"

  • state (String): The state of the store address. Operators: =, != Example: state = "CA"

Logical Operators:

Conditions can be combined using AND, OR, and NOT. Parentheses () can be used to group expressions to control the order of evaluation. Example: status = "ACTIVE" AND state = "CA"

ListStoresResponse

Response message for MenuService.ListStores.

Fields
stores[]

Store

The stores from the specified collection.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

Defines a menu of what can be ordered from a restaurant.

Fields
name

string

Identifier. The menu name. Format: projects/{project}/locations/{location}/menus/{menu}

store

string

Optional. The resource name of the Store this Menu is associated with. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}

display_name

string

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

items[]

Item

Optional. Items in this menu.

modifiers[]

Modifier

Optional. Item modifiers in this menu.

modifier_groups[]

ModifierGroup

Optional. Modifier groups in this menu.

categories[]

MenuCategory

Optional. Menu categories in this menu.

create_time

Timestamp

Output only. The time this menu was created.

update_time

Timestamp

Output only. The time this menu was last updated.

labels[]

MenuLabel

Optional. Labels for this menu.

menu_schedules[]

MenuSchedule

Optional. Menu schedules in this menu.

Defines a category containing items or modifiers. Categories are used to organize items in user interfaces and for semantic grouping for the agent's understanding.

Fields
id

string

Required. Identifier for this menu category, unique within the menu.

display_name

string

Optional. Human-readable name for this menu category to be used on user interfaces.

description

string

Optional. Human-readable description.

parent_id

string

Optional. The parent menu category ID. If empty, this is a top-level category.

String labels for describing a menu in UIs.

Fields
name

string

Required. Name for the label.

Defines the menu schedule for items and modifiers.

Fields
id

string

Optional. The schedule id, for instance "BREAKFAST", "LUNCH", etc.

schedules[]

Schedule

Optional. Schedule active hours.

display_name

string

Optional. Specifies an optional display name for this schedule.

Specifies the level of detail to return for menus.

Enums
MENU_VIEW_UNSPECIFIED The default / unset value. The API will default to the FULL view.
MENU_VIEW_BASIC Include basic metadata about the menu.
MENU_VIEW_NAME_ONLY Only include the name of the menu
MENU_VIEW_FULL Include everything. This is the default value.

Modifier

Defines modifying options made within for items or other modifiers, via relationships defined by ModifierGroup.

Fields
id

string

Required. Identifier for this modifier, unique within the menu.

display_name

string

Required. Human-readable name for this item to be used on user interfaces.

description

string

Optional. Human-readable description.

image

Image

Optional. Image to display for this item in the UI.

semantic_name

string

Optional. Concise, human-readable name which clearly & distinctly identifies this modifier. Should be unique among Modifiers in ModifierGroups where this Modifier exists.

category_ids[]

string

Optional. Category of the modifier.

availability

Availability

Optional. Availability for this modifier.

price_adjustment

Money

Optional. An additive adjustment applied to the top-level item's price when this modifier is selected. Leave empty if the modifier does not affect the price.

integration_attributes

ModifierIntegrationAttributes

Optional. Metadata associated with this entity used for downstream integrations.

modifier_groups[]

ModifierGroupReference

Optional. References to modifier groups which apply to this modifier.

modifier_constraints

ModifierConstraints

Optional. Constrains what modifiers can / must be applied to this modifier across referenced ModifierGroups.

ModifierAction

Defines an action that can be taken on modifiers.

Fields
name

string

Required. The modifier action name -- e.g. "NO", "SIDE", "ADD", "EXTRA".

ModifierConstraints

Constrains what modifiers can or must be applied to an entity across referenced ModifierGroups.

Fields
min_quantity

int32

Optional. The minimum number of modifiers that must be applied across directly referenced ModifierGroups. If not specified, no minimum is enforced.

max_quantity

int32

Optional. The maximum number of modifiers that may be applied across directly referenced ModifierGroups. If not specified, no maximum is enforced.

ModifierGroup

Defines a group of modifiers from which selections can be made.

Fields
id

string

Required. Identifier for this modifier group, unique within its menu.

display_name

string

Required. The modifier group name -- e.g. "Toppings (Sandwich)" or "Side for Medium Combo".

semantic_name

string

Optional. The modifier group name -- e.g. "Toppings (Sandwich)" or "Side for Combo".

modifier_ids[]

string

Required. The modifier IDs that are part of this group.

modifier_actions[]

ModifierAction

Optional. The actions that can be taken on the modifiers in this group.

min_selection_count

int32

Optional. The minimum count of modifiers from the referenced group that must be selected in order for the Item to be valid. If not set, there is no minimum. For a group where exactly one selection is required, this should be 1.

max_selection_count

int32

Optional. The maximum count of total modifiers from the referenced group that may be selected. If not set, there is no maximum. For a group where exactly one selection is required, this should be 1.

max_selection_count_per_modifier

int32

Optional. Limits the number of times each modifier can be applied within this group. If not set, the default is 1.

integration_attributes

ModifierGroupIntegrationAttributes

Optional. Metadata associated with this entity used for downstream integrations.

ModifierGroupIntegrationAttributes

Metadata associated with a modifier group used for downstream integrations.

Fields
custom_integration_attributes

Struct

Optional. Arbitrary metadata to be associated with an entity, used to build downstream integrations, i.e. identifiers or schema information for constructing an order for submission to a third-party point of sale API.

toast_attributes

ToastModifierGroupIntegrationAttributes

Optional. Represents metadata associated with this modifier group used for Toast integration. If Toast integration isn't enabled for the store, this field is ignored.

ToastModifierGroupIntegrationAttributes

Represents attributes for a ModifierGroup from a Toast menu.

Fields
guid

string

Optional. Represents the menu group guid of the item in Toast's menu.

is_pre_modifier_group

bool

Optional. If true, this modifier group represents a Toast PreModifierGroup.

ModifierGroupReference

A reference to a modifier group.

Fields
id

string

Required. The modifier group ID.

default_modifiers[]

DefaultModifierSelection

Optional. The set of modifiers that are applied by default.

min_selection_count

int32

Optional. The minimum count of modifiers from the referenced ModifierGroup which must be selected. If this value is set on both the ModifierGroupReference and the ModifierGroup, both constraints are enforced. If not set, there is no minimum.

max_selection_count

int32

Optional. The maximum count of total modifiers from the referenced group that may be selected. If this value is set on both the ModifierGroupReference and the ModifierGroup, both constraints are enforced. If not set, there is no maximum.

DefaultModifierSelection

Specifies the default selection of a modifier within a ModifierGroup.

Fields
id

string

Required. The modifier ID.

quantity

int32

Optional. The quantity of this modifier to apply. If omitted, reference is treated as having a quantity of 1.

ModifierIntegrationAttributes

Metadata associated with a modifier used for downstream integrations.

Fields
custom_integration_attributes

Struct

Optional. Arbitrary metadata to be associated with an entity, used to build downstream integrations, i.e. identifiers or schema information for constructing an order for submission to a third-party point of sale API.

toast_attributes

ToastModifierIntegrationAttributes

Optional. Represents metadata associated with this modifier used for Toast integration. If Toast integration isn't enabled for the store, this field is ignored.

ToastModifierIntegrationAttributes

Represents attributes for a Modifier from a Toast menu.

Fields
guid

string

Optional. Represents the modifier option guid of the item in Toast's menu.

is_pre_modifier

bool

Optional. If true, this modifier represents a Toast PreModifier.

Order

Order represents the content of a user's in-progress or completed order.

Fields
items[]

OrderItem

Optional. The items in the order.

metadata

OrderMetadata

Optional. Other metadata collected or inferred during the order.

fulfillment

OrderFulfillment

Optional. The fulfillment information for the order.

price_info

OrderPriceInfo

Optional. Price information for the order.

external_order_id

string

Output only. The external identifier for this order. Populated only if a point-of-sale integration is enabled.

OrderFulfillment

OrderFulfillment contains information about order fulfillment.

Fields
fulfillment_method

FulfillmentMethod

Optional. The fulfillment method of the order.

create_time

Timestamp

Output only. The time the order was created at.

target_fulfillment_time

Timestamp

Optional. The time the order is scheduled for fulfillment, used for 'order ahead'. If not provided, the order is assumed to be for 'as soon as possible'.

OrderItem

OrderItem specifies the state of an Item which is part of an Order.

Fields
uid

string

Optional. A system-assigned unique identifier for this item.

item_id

string

Required. Identifier for an Item in the Menu, unique within its Menu.

display_name

string

Output only. Human-readable name for this line item to be shown on user interfaces.

image

Image

Output only. Image to display for this item in the UI.

base_price

Money

Output only. The base price of the item. This may be affected by the selected modifiers. This is the price per unit of the item.

integration_attributes

ItemIntegrationAttributes

Output only. Metadata associated with this entity used for downstream integrations.

modifier_groups[]

OrderModifierGroup

Optional. ModifierGroups applied to this item.

quantity

int32

Optional. The quantity of this item in the order.

OrderMetadata

OrderMetadata contains other metadata collected or inferred during the order.

Fields
collected_customer_name

string

Optional. Name of the customer, collected while taking the order. Only populated when the agent is configured to collect the customer's name. This may be collected verbally and could contain spelling mistakes or mistranscriptions, so care should be taken when displaying it to users, and it shouldn't be trusted as e.g. payment information.

caller_phone_number

string

Optional. The phone number of the customer placing the order.

OrderModifier

OrderModifier specifies the state of a Modifier which is part of an OrderModifierGroup.

Fields
uid

string

Optional. A system-assigned unique identifier for this modifier.

modifier_id

string

Required. Identifier for this modifier, unique within the menu.

display_name

string

Output only. The modifier display name to be shown on user interfaces.

price_adjustment

Money

Output only. The price adjustment associated with this modifier, if any. This is the price per unit of the modifier.

quantity

int32

Optional. The quantity of this modifier action applied.

modifier_action

OrderModifierAction

Optional. The modifier action applied to this modifier.

image

Image

Output only. Image to display for this modifier in the UI.

integration_attributes

ModifierIntegrationAttributes

Output only. Metadata associated with this entity used for downstream integrations.

modifier_groups[]

OrderModifierGroup

Optional. Nested modifier groups applied to this modifier.

OrderModifierAction

OrderModifierAction specifies the ModifierAction associated with an applied OrderModifier.

Fields
name

string

Optional. The modifier action name -- e.g. "NO", "SIDE", "ADD", "EXTRA".

OrderModifierGroup

OrderModifierGroup specifies the state of a ModifierGroup which is part of an OrderItem.

Fields
modifier_group_id

string

Required. Identifier for this modifier group, unique within its menu.

display_name

string

Output only. The modifier group name -- e.g. "Toppings (Sandwich)" or "Side for Medium Combo".

integration_attributes

ModifierGroupIntegrationAttributes

Output only. Metadata associated with this entity used for downstream integrations.

modifiers[]

OrderModifier

Optional. The modifiers applied to this modifier group.

OrderPriceInfo

OrderPriceInfo encapsulates the various price components of an order.

Fields
total_price

Money

Optional. The final total price after all taxes, fees, and discounts are applied.

subtotal_price

Money

Optional. The subtotal price of all items and modifiers, before taxes, discounts.

tax_price

Money

Optional. The amount of tax applied to the order.

PromoteChannelConfigRequest

Request message for MenuService.PromoteChannelConfig.

Fields
name

string

Required. The name of the channel config to promote. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config}

destination_brand

string

Optional. The destination brand to promote the channel config to. Format: projects/{project}/locations/{location}/brands/{brand}

The state of the channel config specified in name will be flipped to PROMOTED.

If destination_brand is provided and is different from the brand in name, a copy of the channel config will be created in destination_brand.

PromoteChannelConfigResponse

Response message for MenuService.PromoteChannelConfig.

Fields
channel_config

ChannelConfig

The promoted channel config.

RestartOrder

Customer requests to start over the order.

Fields
confirmation_step

bool

The agent is asking the customer to confirm the restarting request.

Schedule

A configurable schedule for one day of the week or specific date.

Fields
days[]

DayOfWeek

Optional. The days of the week to apply the schedule to.

date_ranges[]

DateRange

Optional. The date ranges to apply the schedule to. If set, the schedule is only active on these specific date ranges. If both days and date_ranges are set, the schedule is active when both condition is met. For example, if days is [MONDAY] and date_ranges is [2026-01-01, 2026-01-31], the schedule is active on all Monday in January.

time_ranges[]

TimeOfDayRange

Optional. The time of day ranges to apply the schedule to. If set, the schedule is only active during these time ranges.

SentimentMeasurement

The realtime sentiment score measured for this turn.

Fields
score

float

Optional. Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).

magnitude

float

Optional. Magnitude of sentiment, regardless of score.

SpeechRecognition

The speech recognition result from the agent.

Fields
transcript

string

Transcribed text from the audio input in the detected language.

language_code

string

The language code of the transcript. The language code should be in BCP-47 format, such as "en-US".

Store

An individual store for a brand.

Fields
name

string

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

create_time

Timestamp

Output only. The time this store was created.

update_time

Timestamp

Output only. The time this store was last updated.

status

StoreStatus

Required. The status of the store.

time_zone

TimeZone

Required. The time zone of the store. This is used to determine which menu daypart to use for the store at a given time and for any time-based overrides.

store_metadata

StoreMetadata

Optional. Metadata for the store.

tags[]

string

Optional. Tags associated with the store.

StoreHours

The operating hours of the store.

Fields
fulfillment_method

FulfillmentMethod

Optional. The fulfillment method of the store hours, for instance "PICKUP", "DELIVERY", etc. If unspecified, the store hours are assumed to be applicable to all fulfillment methods.

schedules[]

Schedule

Optional. The operating hours for the store for the specified fulfillment_method.

StoreMetadata

Metadata for the store.

Fields
display_name

string

Optional. The display name of the store to be used in UI and customer-facing elements.

contact_email

string

Optional. The email address of the store to be provided to customers.

address

Address

Optional. The address information for the store.

store_hours[]

StoreHours

Optional. The open hours of the store.

dayparts[]

Daypart

Optional. Dayparts defined for the store.

phone_number

string

Optional. The main phone number of the store to take orders, ask for catering, make general inquiries, and make reservations.

Address

The address information for the store.

Fields
street_address

string

Optional. The street address of the store.

city

string

Optional. The city of the store.

state

string

Optional. The state of the store.

country

string

Optional. The country of the store.

postal_code

string

Optional. The postal code of the store.

latitude

double

Optional. The latitude of the store.

longitude

double

Optional. The longitude of the store.

google_maps_url

string

Optional. The Google Maps URL for the store.

Daypart

A daypart for the store.

Fields
id

string

Optional. The day part id, for instance "BREAKFAST", "LUNCH", etc.

schedules[]

Schedule

Optional. Daypart active hours.

display_name

string

Optional. Specifies an optional display name for this daypart.

StoreRevision

A revision of a store.

Fields
name

string

Identifier. The resource name of the store revision. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}/revisions/{revision}

snapshot

Store

Output only. The state of the store resource at this revision.

create_time

Timestamp

Output only. When the revision was created.

created_by

string

Output only. The email of the user who recently created the resource.

alternate_ids[]

string

Output only. Alternate IDs for this revision.

StoreStatus

The status of the store.

Fields
state

State

Optional. The state of the store.

State

The status of the store.

Enums
STATE_UNSPECIFIED The store is in an unspecified state.
ACTIVE The store is active.
DISABLED The store is disabled.

SuggestedItem

An item to suggest to the customer.

Fields
item_id

string

ID of the item in the menu.

display_name

string

Human-readable name for this tem to be shown on user interfaces.

image

Image

Image to display for this item in the UI.

base_price

Money

The base price of the item. This may be affected by the selected modifiers. This is the price per unit of the item.

integration_attributes

ItemIntegrationAttributes

Metadata associated with this entity used for downstream integrations.

SuggestedItems

A list of items to suggest to the customer.

Fields
items[]

SuggestedItem

The items to suggest to the customer.

SuggestedModifier

A modifier to suggest to the customer.

Fields
modifier_id

string

ID of the modifier in the menu.

modifier_group_id

string

ID of the modifier group that this modifier should be added to if the suggestion is accepted.

display_name

string

Human-readable name for this tem to be shown on user interfaces.

image

Image

Image to display for this item in the UI.

price_adjustment

Money

The price adjustment associated with this modifier, if any. This is the price per unit of the modifier.

integration_attributes

ModifierIntegrationAttributes

Metadata associated with this entity used for downstream integrations.

SuggestedModifiers

A list of modifiers to suggest to the customer.

Fields
modifiers[]

SuggestedModifier

The modifiers to suggest to the customer.

parent_uid

string

The unique identifier of the parent item/modifier to apply the modifiers to.

SuggestedOptions

Options to suggest to the customer.

Fields
Union field suggested_options. The suggested options. suggested_options can be only one of the following:
suggested_items

SuggestedItems

A list of items to suggest to the customer.

suggested_modifiers

SuggestedModifiers

A list of modifiers to suggest to the customer.

TextInput

The text input from the client. Instead of audio, the client can alternatively send text input to the agent. A client must use either text or audio input, not both.

Fields
text

string

Required. The text utterance from the client.

TimeOfDayRange

Represents a period between two times of day on an unspecified date. For example, business hours like 09:00 to 17:00.

Fields
start_time

TimeOfDay

Required. The start of the time range, inclusive.

end_time

TimeOfDay

Required. The end of the time range, exclusive. If end_time is earlier than start_time, it means the endtime is on the next day.

TurnCompleted

This type has no fields.

Indicates that the Food AI agent has detected the end of the current conversation turn and will provide no further output for this turn.

UpdateBrandRequest

Request message for MenuService.UpdateBrand.

Fields
brand

Brand

Required. The brand to update.

The brand's name field is used to identify the brand to update. Format: projects/{project}/locations/{location}/brands/{brand}

update_mask

FieldMask

Optional. The list of fields to update

UpdateChannelConfigRequest

Request message for MenuService.UpdateChannelConfig.

Fields
channel_config

ChannelConfig

Required. The channel config to update.

The channel config's name field is used to identify the channel config to update. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config}

update_mask

FieldMask

Optional. The list of fields to update

UpdateConfigApplicationRuleRequest

Request message for MenuService.UpdateConfigApplicationRule.

Fields
config_application_rule

ConfigApplicationRule

Required. The config application rule to update.

The config application rule's name field is used to identify the config application rule to update. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{config_application_rule}

update_mask

FieldMask

Optional. The list of fields to update

UpdateStoreRequest

Request message for MenuService.UpdateStore.

Fields
store

Store

Required. The store to update.

The store's name field is used to identify the store to update. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}

update_mask

FieldMask

Optional. The list of fields to update

allow_missing

bool

Optional. If set to true, and the store is not found, a new store will be created. In this situation, update_mask is ignored.

UpdatedOrderState

Event returned by the agent representing an update to the order state.

Fields
order

Order

The updated state of the Order associated with this session.