Index
FoodOrderingService(interface)MenuService(interface)AgentAudio(message)AgentEvent(message)AgentText(message)AudioInput(message)Availability(message)Availability.DaypartAvailability(message)Availability.FulfillmentMethodAvailability(message)Availability.MenuScheduleAvailability(message)Availability.Status(enum)BatchDeleteStoresRequest(message)BatchGetMenuEntitiesRequest(message)BatchGetMenuEntitiesResponse(message)BatchUpdateStoresRequest(message)BatchUpdateStoresResponse(message)BidiProcessOrderRequest(message)BidiProcessOrderResponse(message)Brand(message)BrandRevision(message)ChannelConfig(message)ChannelConfig.State(enum)ChannelConfig.Tone(enum)ChannelConfig.Type(enum)ChannelConfigRevision(message)ClientAppInfo(message)ClientExecutionRequest(message)ClientExecutionResult(message)Config(message)ConfigApplicationRule(message)ConfigApplicationRuleRevision(message)CreateBrandRequest(message)CreateChannelConfigRequest(message)CreateConfigApplicationRuleRequest(message)CreateMenuRequest(message)CreateStoreRequest(message)DateRange(message)DeleteBrandRequest(message)DeleteBrandRevisionRequest(message)DeleteChannelConfigRequest(message)DeleteChannelConfigRevisionRequest(message)DeleteConfigApplicationRuleRequest(message)DeleteConfigApplicationRuleRevisionRequest(message)DeleteMenuRequest(message)DeleteStoreRequest(message)DeleteStoreRevisionRequest(message)EndSession(message)EndSession.EndType(enum)EventInput(message)EventInput.CallerHangupEvent(message)EventInput.ClientEscalationEvent(message)EventInput.CrewInterjectionEvent(message)EventInput.CustomizedInputEvent(message)EventInput.DriveOffEvent(message)EventInput.OrderStateUpdateEvent(message)FeatureGate(message)FinalizeOrderRequest(message)FinalizeOrderResponse(message)FulfillmentMethod(enum)GetBrandRequest(message)GetBrandRevisionRequest(message)GetChannelConfigRequest(message)GetChannelConfigRevisionRequest(message)GetConfigApplicationRuleRequest(message)GetConfigApplicationRuleRevisionRequest(message)GetMenuRequest(message)GetStoreRequest(message)GetStoreRevisionRequest(message)Image(message)InterruptionSignal(message)Item(message)ItemIntegrationAttributes(message)ItemIntegrationAttributes.StreamIntegrationAttributes(message)ItemIntegrationAttributes.StreamIntegrationAttributes.Tax(message)ItemIntegrationAttributes.ToastIntegrationAttributes(message)ListBrandRevisionsRequest(message)ListBrandRevisionsResponse(message)ListBrandsRequest(message)ListBrandsResponse(message)ListChannelConfigRevisionsRequest(message)ListChannelConfigRevisionsResponse(message)ListChannelConfigsRequest(message)ListChannelConfigsResponse(message)ListConfigApplicationRuleRevisionsRequest(message)ListConfigApplicationRuleRevisionsResponse(message)ListConfigApplicationRulesRequest(message)ListConfigApplicationRulesResponse(message)ListMenusRequest(message)ListMenusResponse(message)ListStoreRevisionsRequest(message)ListStoreRevisionsResponse(message)ListStoresRequest(message)ListStoresResponse(message)LoyaltyAmount(message)LoyaltyInfo(message)Menu(message)MenuCategory(message)MenuLabel(message)MenuSchedule(message)MenuView(enum)Modifier(message)ModifierAction(message)ModifierConstraints(message)ModifierGroup(message)ModifierGroupIntegrationAttributes(message)ModifierGroupIntegrationAttributes.ToastModifierGroupIntegrationAttributes(message)ModifierGroupReference(message)ModifierGroupReference.DefaultModifierSelection(message)ModifierIntegrationAttributes(message)ModifierIntegrationAttributes.ToastModifierIntegrationAttributes(message)Order(message)OrderFulfillment(message)OrderItem(message)OrderMetadata(message)OrderModifier(message)OrderModifierAction(message)OrderModifierGroup(message)OrderPriceInfo(message)OrderType(enum)PastOrder(message)PaymentInfo(message)PromoteChannelConfigRequest(message)PromoteChannelConfigResponse(message)RecommendedOrder(message)RecommendedOrders(message)RestartOrder(message)Schedule(message)SentimentMeasurement(message)SpeechRecognition(message)Store(message)StoreHours(message)StoreMetadata(message)StoreMetadata.Address(message)StoreMetadata.Daypart(message)StoreRevision(message)StoreStatus(message)StoreStatus.State(enum)SubmitOrderRequest(message)SubmitOrderResponse(message)SuggestedItem(message)SuggestedItems(message)SuggestedModifier(message)SuggestedModifiers(message)SuggestedOptions(message)TextInput(message)TimeOfDayRange(message)TurnCompleted(message)UpdateBrandRequest(message)UpdateChannelConfigRequest(message)UpdateConfigApplicationRuleRequest(message)UpdateStoreRequest(message)UpdatedOrderState(message)UserInfo(message)
FoodOrderingService
FoodOrderingService provides an API for food ordering agents.
| BidiProcessOrder |
|---|
|
A bidirectional streaming API that processes continuous client inputs across multiple modalities (e.g., text, audio) and generates real-time multimodal output streams.
|
MenuService
MenuService provides APIs to manage brand, store and menu related resources.
| BatchDeleteStores |
|---|
|
Batch deletes stores.
|
| BatchGetMenuEntities |
|---|
|
Batch gets entities for a menu.
|
| BatchUpdateStores |
|---|
|
Batch updates stores.
|
| CreateBrand |
|---|
|
Creates a brand.
|
| CreateChannelConfig |
|---|
|
Creates a ChannelConfig.
|
| CreateConfigApplicationRule |
|---|
|
Creates a ConfigApplicationRule.
|
| CreateMenu |
|---|
|
Creates a menu.
|
| CreateStore |
|---|
|
Creates a store.
|
| DeleteBrand |
|---|
|
Deletes the specified brand.
|
| DeleteBrandRevision |
|---|
|
Deletes the specified BrandRevision.
|
| DeleteChannelConfig |
|---|
|
Deletes the specified ChannelConfig.
|
| DeleteChannelConfigRevision |
|---|
|
Deletes the specified ChannelConfigRevision.
|
| DeleteConfigApplicationRule |
|---|
|
Deletes the specified ConfigApplicationRule.
|
| DeleteConfigApplicationRuleRevision |
|---|
|
Deletes the specified ConfigApplicationRuleRevision.
|
| DeleteMenu |
|---|
|
Deletes the specified menu.
|
| DeleteStore |
|---|
|
Deletes the specified store.
|
| DeleteStoreRevision |
|---|
|
Deletes the specified StoreRevision.
|
| GetBrand |
|---|
|
Gets a brand.
|
| GetBrandRevision |
|---|
|
Gets a BrandRevision.
|
| GetChannelConfig |
|---|
|
Gets a ChannelConfig.
|
| GetChannelConfigRevision |
|---|
|
Gets a ChannelConfigRevision.
|
| GetConfigApplicationRule |
|---|
|
Gets a ConfigApplicationRule.
|
| GetConfigApplicationRuleRevision |
|---|
|
Gets a ConfigApplicationRuleRevision.
|
| GetMenu |
|---|
|
Gets a menu.
|
| GetStore |
|---|
|
Gets a store.
|
| GetStoreRevision |
|---|
|
Gets a StoreRevision.
|
| ListBrandRevisions |
|---|
|
Lists BrandRevisions.
|
| ListBrands |
|---|
|
Lists brands.
|
| ListChannelConfigRevisions |
|---|
|
Lists ChannelConfigRevisions.
|
| ListChannelConfigs |
|---|
|
Lists ChannelConfigs.
|
| ListConfigApplicationRuleRevisions |
|---|
|
Lists ConfigApplicationRuleRevisions.
|
| ListConfigApplicationRules |
|---|
|
Lists ConfigApplicationRules.
|
| ListMenus |
|---|
|
Lists menus.
|
| ListStoreRevisions |
|---|
|
Lists StoreRevisions.
|
| ListStores |
|---|
|
Lists stores.
|
| PromoteChannelConfig |
|---|
|
Promotes the specified channel config.
|
| UpdateBrand |
|---|
|
Updates the specified brand.
|
| UpdateChannelConfig |
|---|
|
Updates the specified ChannelConfig.
|
| UpdateConfigApplicationRule |
|---|
|
Updates the specified ConfigApplicationRule.
|
| UpdateStore |
|---|
|
Update the specified store.
|
AgentAudio
The audio response from the agent.
| Fields | |
|---|---|
agent_audio |
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 |
Customer requests to restart the order. |
AgentText
The text response from the agent.
| Fields | |
|---|---|
text |
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 |
Required. Customer audio data. |
crew_audio |
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 |
Optional. Daypart-level availability information for this item. If omitted, daypart-based availability is ignored. |
menu_schedule_availability |
Optional. Menu schedule-level availability information for this item. If omitted, menu schedule-based availability is ignored. |
status |
Optional. Indicates a status leading to unavailability, or that the item is available. If omitted, the item is available by default. |
fulfillment_availability |
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[] |
Required. Dayparts during which this item is available. |
FulfillmentMethodAvailability
Constrains availability of this entity to specified fulfillment methods.
| Fields | |
|---|---|
fulfillment_methods[] |
Required. Fulfillment methods for which this item is available. |
MenuScheduleAvailability
Constrains availability of this entity to specified menu schedule.
| Fields | |
|---|---|
menu_schedule_ids[] |
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 |
Required. The parent resource shared by all stores being deleted. Format: projects/{project}/locations/{location}/brands/{brand} |
names[] |
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 |
Required. The name of the menu to retrieve entities from. Format: projects/{project}/locations/{location}/menus/{menu} |
item_ids[] |
Optional. The IDs of the items to retrieve. |
modifier_ids[] |
Optional. The IDs of the modifier to retrieve. |
modifier_group_ids[] |
Optional. The IDs of the modifier groups to retrieve. |
category_ids[] |
Optional. The IDs of the categories to retrieve. |
BatchGetMenuEntitiesResponse
Response message for MenuService.BatchGetMenuEntities.
| Fields | |
|---|---|
items[] |
The items requested. |
modifiers[] |
The modifiers requested. |
modifier_groups[] |
The modifier groups requested. |
categories[] |
The categories requested. |
BatchUpdateStoresRequest
Request message for MenuService.BatchUpdateStores.
| Fields | |
|---|---|
parent |
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[] |
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[] |
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 |
The configuration for the session and food ordering properties. |
text_input |
The text input from the client. |
audio_input |
The audio input from the client. The client must use either text or audio input, not both. |
event_input |
The event input from the client. |
client_execution_result |
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 |
The audio response from the agent. |
speech_recognition |
The speech recognition result from the agent. |
legacy_order_state_response |
The legacy order state response for a session. |
interruption_signal |
Interruption signal detected from the audio input. |
agent_event |
Event from the agent. |
client_execution_request |
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 |
Indicates an update to the order state. Includes the complete state of the order. |
agent_text |
The text response from the agent. |
suggested_options |
Options to suggest to the customer. |
sentiment_measurement |
The realtime sentiment score measured for this turn. |
turn_completed |
Turn Completed message. |
end_session |
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:
|
recommended_orders |
The recommended orders from the agent. |
Brand
A brand, which can be a restaurant chain or an individual restaurant.
| Fields | |
|---|---|
name |
Identifier. The brand name. Format: projects/{project}/locations/{location}/brands/{brand} |
display_name |
Optional. Optional, human-readable display name for this brand for user interfaces. |
create_time |
Output only. The time this brand was created. |
update_time |
Output only. The time this brand was last updated. |
BrandRevision
A revision of a brand.
| Fields | |
|---|---|
name |
Identifier. The resource name of the brand revision. Format: projects/{project}/locations/{location}/brands/{brand}/revisions/{revision} |
snapshot |
Output only. The state of the brand resource at this revision. |
create_time |
Output only. When the revision was created. |
created_by |
Output only. The email of the user who recently created the resource. |
alternate_ids[] |
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 |
Identifier. The channel configuration name. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config} |
display_name |
Optional. Optional display name for this channel configuration for user interfaces. Value is limited to 63 characters. |
create_time |
Output only. The time this channel configuration was created. |
update_time |
Output only. The time this channel configuration was last updated. |
state |
Output only. The status of the channel configuration. |
type |
Required. The type of the channel configuration. |
tone |
Optional. The tone of the agent. |
config_application_rules[] |
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 |
Identifier. The resource name of the channel config revision. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config}/revisions/{revision} |
snapshot |
Output only. The state of the channel config resource at this revision. |
create_time |
Output only. When the revision was created. |
created_by |
Output only. The email of the user who recently created the resource. |
alternate_ids[] |
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 |
Optional. The device model of the client (e.g., "iPhone 13", "Pixel 7", "Kiosk v2"). |
os_version |
Optional. The operating system version of the client (e.g., "iOS 16.1", "Android 13"). |
sdk_version |
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 |
Required. A unique ID for this execution request. |
Union field request. The specific request to be executed. request can be only one of the following: |
|
finalize_order_request |
A request to finalize the order. |
submit_order_request |
A request to submit the order. |
ClientExecutionResult
The result of a client execution request.
| Fields | |
|---|---|
execution_id |
Required. The ID of the execution request this is a result for. |
Union field response. The specific result of the execution. response can be only one of the following: |
|
finalize_order_response |
The result of finalizing the order. |
submit_order_response |
The result of submitting the order. |
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 |
Required. The session for the order. Format: |
store |
Required. The store the order is being placed for. Format: |
lane_id |
Optional. The id of a specifc drive through lane. |
enable_echo_cancellation |
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 |
Optional. Daypart of the food menu, including breakfast, lunch, dinner, etc. This is used to determine the menu to use for the order. |
user_info |
Optional. The personal information of the end user shared with the agent. |
order_type |
Optional. Deprecated: Use initial_order.fulfillment.fulfillment_type instead. The type of order to be placed. |
initial_order |
Optional. The initial order before starting the agent session. If provided, the agent will use it as the initial order state. |
feature_gate |
Optional. The feature gates for the session. This is used to enable or disable features for the session. |
initial_utterance |
Optional. The initial utterance from the client to kick off the conversation. If provided, the agent will use this as the first user utterance, and will not start with a greeting message. |
client_app_info |
Optional. The information about the client application and device environment. |
ConfigApplicationRule
A rule representing conditions for when to apply agent configurations.
| Fields | |
|---|---|
name |
Identifier. The config application rule name. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{config_application_rule} |
display_name |
Optional. Optional display name for this config application rule for user interfaces. Value is limited to 63 characters. |
create_time |
Output only. The time this config application rule was created. |
update_time |
Output only. The time this config application rule was last updated. |
ConfigApplicationRuleRevision
A revision of a config application rule.
| Fields | |
|---|---|
name |
Identifier. The resource name of the config application rule revision. Format: projects/{project}/locations/{location}/brands/{brand}/configApplicationRules/{config_application_rule}/revisions/{revision} |
snapshot |
Output only. The state of the config application rule resource at this revision. |
create_time |
Output only. When the revision was created. |
created_by |
Output only. The email of the user who recently created the resource. |
alternate_ids[] |
Output only. Alternate IDs for this revision. |
CreateBrandRequest
Request message for MenuService.CreateBrand.
| Fields | |
|---|---|
parent |
Required. The parent, which owns this collection of brands. Format: projects/{project}/locations/{location} |
brand |
Required. The brand to create. |
brand_id |
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 |
Required. The parent brand, which owns this collection of channel configs. Format: projects/{project}/locations/{location}/brands/{brand} |
channel_config |
Required. The channel config to create. |
channel_config_id |
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 |
Required. The parent brand, which owns this collection of config application rules. Format: projects/{project}/locations/{location}/brands/{brand} |
config_application_rule |
Required. The config application rule to create. |
config_application_rule_id |
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 |
Required. The parent, which owns this collection of menus. Format: projects/{project}/locations/{location} |
menu_id |
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 |
Required. The menu to create. |
CreateStoreRequest
Request message for MenuService.CreateStore.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of stores. Format: projects/{project}/locations/{location}/brands/{brand} |
store_id |
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 |
Required. The store to create. |
DateRange
Represents a date range, inclusive of both ends.
| Fields | |
|---|---|
start_date |
Required. The start date of the range, inclusive. |
end_date |
Required. The end date of the range, inclusive. |
DeleteBrandRequest
Request message for MenuService.DeleteBrand.
| Fields | |
|---|---|
name |
Required. The name of the brand to delete. Format: projects/{project}/locations/{location}/brands/{brand} |
DeleteBrandRevisionRequest
Request message for MenuService.DeleteBrandRevision.
| Fields | |
|---|---|
name |
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 |
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 |
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 |
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 |
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 |
Required. The name of the menu to delete. Format: projects/{project}/locations/{location}/menus/{menu} |
DeleteStoreRequest
Request message for MenuService.DeleteStore.
| Fields | |
|---|---|
name |
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 |
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 |
The type of end session event. |
reason |
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 |
The drive off event. |
crew_interjection_event |
The crew interjection event. |
update_order_state_event |
A client-side update to the order state. |
client_escalation_event |
A client-side escalation event. |
customized_input_event |
A customized input event. |
caller_hangup_event |
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 |
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 |
Optional. The mode in which the crew member interjected, e.g. "headset", "pos". |
CustomizedInputEvent
This filed enables a Food AI client to send a customized event to the agent. By default, it is a no-op. Please contact the customer support to enable this feature.
| Fields | |
|---|---|
input |
Required. Input from the client to the agent. |
DriveOffEvent
The drive off event. This indicates the customer drove off. Session will be closed after this event.
| Fields | |
|---|---|
reason |
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 |
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 | |
|---|---|
trigger_offer_engine_on_demand |
Optional. For limited audience only, if set, offer engine will be optional in the payment flow and will only be triggered when users request for it. |
trigger_loyalty_on_demand |
Optional. For limited audience only, if set, loyalty will be optional in the payment flow and will only be triggered when users request for it. |
trigger_order_media_assistant_on_demand |
Optional. For limited audience only, if set, order media assistant will be optional and will only be triggered when users request for it. |
menu_response_enabled |
Optional. Returns the menu data to the client in BidiProcessOrderResponse if set. |
revamped_payment_flow_enabled |
Optional. For limited audience only, if set, a revamped version of the payment flow will be used. |
FinalizeOrderRequest
This type has no fields.
A request to finalize the order.
FinalizeOrderResponse
The result of finalizing the order.
| Fields | |
|---|---|
payment_flow_enabled |
Optional. Whether to enable the payment handling flow in the agent. |
payment_info |
Optional. The payment information of the customer. No-op if payment_flow_enabled is false. |
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 |
Required. The name of the brand to retrieve. Format: projects/{project}/locations/{location}/brands/{brand} |
GetBrandRevisionRequest
Request message for MenuService.GetBrandRevision.
| Fields | |
|---|---|
name |
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 |
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 |
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 |
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 |
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 |
Required. The name of the menu to retrieve. Format: projects/{project}/locations/{location}/menus/{menu} |
GetStoreRequest
Request message for MenuService.GetStore.
| Fields | |
|---|---|
name |
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 |
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 |
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 |
Required. Identifier for this item, unique within the menu. |
semantic_name |
Optional. Concise, human-readable name which clearly & distinctly identifies this item. Should be unique among Items in the menu. |
display_name |
Required. Human-readable name for this item to be used on user interfaces. |
category_ids[] |
Optional. Category of the item. |
description |
Optional. Human-readable description. |
image |
Optional. Image to display for this item in the UI. |
availability |
Optional. Availability of the item. |
base_price |
Optional. The base price of the item. This may be affected by the selected modifiers. |
integration_attributes |
Optional. Metadata associated with this entity used for downstream integrations. |
modifier_groups[] |
Optional. References to modifier groups which apply to this item. |
modifier_constraints |
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 |
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 |
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 |
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[] |
Optional. Represents tax rates which apply to this item. |
item_family_id |
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 |
Required. The ID of the tax in the Stream menu. |
is_inclusive |
Optional. Determines if the tax amount is already included in the item price |
rate |
Required. The rate of the tax as a percentage. |
display_name |
Optional. The name of the tax. |
is_default |
Optional. Whether the tax is the default tax. |
ToastIntegrationAttributes
Represents attributes for an Item from a Toast menu.
| Fields | |
|---|---|
menu_group_guid |
Optional. Represents the menu group guid of the item in Toast's menu. |
ListBrandRevisionsRequest
Request message for MenuService.ListBrandRevisions.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of revisions. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of revisions to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListBrandRevisionsResponse
Response message for MenuService.ListBrandRevisions.
| Fields | |
|---|---|
brand_revisions[] |
The brand revisions from the specified collection. |
next_page_token |
A token, which can be sent as |
ListBrandsRequest
Request message for MenuService.ListBrands.
| Fields | |
|---|---|
parent |
Required. The parent, which owns this collection of brands. Format: projects/{project}/locations/{location} |
page_size |
Optional. The maximum number of brands to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListBrandsResponse
Response message for MenuService.ListBrands.
| Fields | |
|---|---|
brands[] |
The brands from the specified collection. |
next_page_token |
A token, which can be sent as |
ListChannelConfigRevisionsRequest
Request message for MenuService.ListChannelConfigRevisions.
| Fields | |
|---|---|
parent |
Required. The parent channel config, which owns this collection of revisions. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config} |
page_size |
Optional. The maximum number of revisions to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListChannelConfigRevisionsResponse
Response message for MenuService.ListChannelConfigRevisions.
| Fields | |
|---|---|
channel_config_revisions[] |
The channel config revisions from the specified collection. |
next_page_token |
A token, which can be sent as |
ListChannelConfigsRequest
Request message for MenuService.ListChannelConfigs.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of channel configs. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of channel configs to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
filter |
Optional. A filter expression that filters the results. The expression syntax is documented in https://google.aip.dev/160. The following fields are supported: - Examples: - |
ListChannelConfigsResponse
Response message for MenuService.ListChannelConfigs.
| Fields | |
|---|---|
channel_configs[] |
The channel configs from the specified collection. |
next_page_token |
A token, which can be sent as |
ListConfigApplicationRuleRevisionsRequest
Request message for MenuService.ListConfigApplicationRuleRevisions.
| Fields | |
|---|---|
parent |
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 |
Optional. The maximum number of revisions to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListConfigApplicationRuleRevisionsResponse
Response message for MenuService.ListConfigApplicationRuleRevisions.
| Fields | |
|---|---|
config_application_rule_revisions[] |
The config application rule revisions from the specified collection. |
next_page_token |
A token, which can be sent as |
ListConfigApplicationRulesRequest
Request message for MenuService.ListConfigApplicationRules.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of config application rules. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of config application rules to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListConfigApplicationRulesResponse
Response message for MenuService.ListConfigApplicationRules.
| Fields | |
|---|---|
config_application_rules[] |
The config application rules from the specified collection. |
next_page_token |
A token, which can be sent as |
ListMenusRequest
Request message for MenuService.ListMenus.
| Fields | |
|---|---|
parent |
Required. The parent, which owns this collection of menus. Format: projects/{project}/locations/{location} |
page_size |
Optional. The maximum number of menus to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
filter |
Optional. A filter expression that filters the results. The expression syntax is documented in https://google.aip.dev/160. The following fields are supported: -
|
view |
Optional. The view to return for the menus. |
ListMenusResponse
Response message for MenuService.ListMenus.
| Fields | |
|---|---|
menus[] |
The menus from the specified collection. |
next_page_token |
A token, which can be sent as |
ListStoreRevisionsRequest
Request message for MenuService.ListStoreRevisions.
| Fields | |
|---|---|
parent |
Required. The parent store, which owns this collection of revisions. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store} |
page_size |
Optional. The maximum number of revisions to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListStoreRevisionsResponse
Response message for MenuService.ListStoreRevisions.
| Fields | |
|---|---|
store_revisions[] |
The store revisions from the specified collection. |
next_page_token |
A token, which can be sent as |
ListStoresRequest
Request message for MenuService.ListStores.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of stores. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of menus to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
filter |
Optional. Filter expression based on AIP-160. Allows filtering stores based on various attributes. Supported Filter Fields:
Logical Operators: Conditions can be combined using |
ListStoresResponse
Response message for MenuService.ListStores.
| Fields | |
|---|---|
stores[] |
The stores from the specified collection. |
next_page_token |
A token, which can be sent as |
LoyaltyAmount
Represents a customer's loyalty amount.
| Fields | |
|---|---|
units |
Required. The loyalty points. |
LoyaltyInfo
Represents a customer's loyalty information.
| Fields | |
|---|---|
loyalty_amount |
Required. The loyalty amount. This can be a loyalty balance or loyalty consumed. |
Menu
Defines a menu of what can be ordered from a restaurant.
| Fields | |
|---|---|
name |
Identifier. The menu name. Format: projects/{project}/locations/{location}/menus/{menu} |
store |
Optional. The resource name of the Store this Menu is associated with. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store} |
display_name |
Optional. Optional, human-readable display name for this menu for user interfaces. |
items[] |
Optional. Items in this menu. |
modifiers[] |
Optional. Item modifiers in this menu. |
modifier_groups[] |
Optional. Modifier groups in this menu. |
categories[] |
Optional. Menu categories in this menu. |
create_time |
Output only. The time this menu was created. |
update_time |
Output only. The time this menu was last updated. |
labels[] |
Optional. Labels for this menu. |
menu_schedules[] |
Optional. Menu schedules in this menu. |
MenuCategory
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 |
Required. Identifier for this menu category, unique within the menu. |
display_name |
Optional. Human-readable name for this menu category to be used on user interfaces. |
description |
Optional. Human-readable description. |
parent_id |
Optional. The parent menu category ID. If empty, this is a top-level category. |
MenuLabel
String labels for describing a menu in UIs.
| Fields | |
|---|---|
name |
Required. Name for the label. |
MenuSchedule
Defines the menu schedule for items and modifiers.
| Fields | |
|---|---|
id |
Optional. The schedule id, for instance "BREAKFAST", "LUNCH", etc. |
schedules[] |
Optional. Schedule active hours. |
display_name |
Optional. Specifies an optional display name for this schedule. |
MenuView
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 |
Required. Identifier for this modifier, unique within the menu. |
display_name |
Required. Human-readable name for this item to be used on user interfaces. |
description |
Optional. Human-readable description. |
image |
Optional. Image to display for this item in the UI. |
semantic_name |
Optional. Concise, human-readable name which clearly & distinctly identifies this modifier. Should be unique among Modifiers in ModifierGroups where this Modifier exists. |
category_ids[] |
Optional. Category of the modifier. |
availability |
Optional. Availability for this modifier. |
price_adjustment |
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 |
Optional. Metadata associated with this entity used for downstream integrations. |
modifier_groups[] |
Optional. References to modifier groups which apply to this modifier. |
modifier_constraints |
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 |
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 |
Optional. The minimum number of modifiers that must be applied across directly referenced ModifierGroups. If not specified, no minimum is enforced. |
max_quantity |
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 |
Required. Identifier for this modifier group, unique within its menu. |
display_name |
Required. The modifier group name -- e.g. "Toppings (Sandwich)" or "Side for Medium Combo". |
semantic_name |
Optional. The modifier group name -- e.g. "Toppings (Sandwich)" or "Side for Combo". |
modifier_ids[] |
Required. The modifier IDs that are part of this group. |
modifier_actions[] |
Optional. The actions that can be taken on the modifiers in this group. |
min_selection_count |
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 |
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 |
Optional. Limits the number of times each modifier can be applied within this group. If not set, the default is 1. |
integration_attributes |
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 |
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 |
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 |
Optional. Represents the menu group guid of the item in Toast's menu. |
is_pre_modifier_group |
Optional. If true, this modifier group represents a Toast PreModifierGroup. |
ModifierGroupReference
A reference to a modifier group.
| Fields | |
|---|---|
id |
Required. The modifier group ID. |
default_modifiers[] |
Optional. The set of modifiers that are applied by default. |
min_selection_count |
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 |
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 |
Required. The modifier ID. |
quantity |
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 |
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 |
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 |
Optional. Represents the modifier option guid of the item in Toast's menu. |
is_pre_modifier |
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[] |
Optional. The items in the order. |
metadata |
Optional. Other metadata collected or inferred during the order. |
fulfillment |
Optional. The fulfillment information for the order. |
price_info |
Optional. Price information for the order. |
external_order_id |
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 |
Optional. The fulfillment method of the order. |
create_time |
Output only. The time the order was created at. |
target_fulfillment_time |
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 |
Optional. A system-assigned unique identifier for this item. |
item_id |
Required. Identifier for an Item in the Menu, unique within its Menu. |
display_name |
Output only. Human-readable name for this line item to be shown on user interfaces. |
image |
Output only. Image to display for this item in the UI. |
base_price |
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 |
Output only. Metadata associated with this entity used for downstream integrations. |
modifier_groups[] |
Optional. ModifierGroups applied to this item. |
quantity |
Optional. The quantity of this item in the order. |
OrderMetadata
OrderMetadata contains other metadata collected or inferred during the order.
| Fields | |
|---|---|
collected_customer_name |
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 |
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 |
Optional. A system-assigned unique identifier for this modifier. |
modifier_id |
Required. Identifier for this modifier, unique within the menu. |
display_name |
Output only. The modifier display name to be shown on user interfaces. |
price_adjustment |
Output only. The price adjustment associated with this modifier, if any. This is the price per unit of the modifier. |
quantity |
Optional. The quantity of this modifier action applied. |
modifier_action |
Optional. The modifier action applied to this modifier. |
image |
Output only. Image to display for this modifier in the UI. |
integration_attributes |
Output only. Metadata associated with this entity used for downstream integrations. |
modifier_groups[] |
Optional. Nested modifier groups applied to this modifier. |
OrderModifierAction
OrderModifierAction specifies the ModifierAction associated with an applied OrderModifier.
| Fields | |
|---|---|
name |
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 |
Required. Identifier for this modifier group, unique within its menu. |
display_name |
Output only. The modifier group name -- e.g. "Toppings (Sandwich)" or "Side for Medium Combo". |
integration_attributes |
Output only. Metadata associated with this entity used for downstream integrations. |
modifiers[] |
Optional. The modifiers applied to this modifier group. |
OrderPriceInfo
OrderPriceInfo encapsulates the various price components of an order.
| Fields | |
|---|---|
total_price |
Optional. The final total price after all taxes, fees, and discounts are applied. |
subtotal_price |
Optional. The subtotal price of all items and modifiers, before taxes, discounts. |
tax_price |
Optional. The amount of tax applied to the order. |
OrderType
The type of order to be placed.
| Enums | |
|---|---|
ORDER_TYPE_UNSPECIFIED |
The order type is not specified. |
ORDER_TYPE_DRIVE_THROUGH |
The order is for drive through. |
ORDER_TYPE_CARRY_OUT |
The order is for carry out. |
ORDER_TYPE_DELIVERY |
The order is for delivery. |
PastOrder
The past order of the user.
| Fields | |
|---|---|
order |
Required. The original Food AI order. |
PaymentInfo
Payment information of the user.
| Fields | |
|---|---|
credit_card_last_four_digits |
Optional. The last four digits of the credit card. This is used to verify the credit card number at the payment stage. |
credit_card_cvv |
Optional. CVV of the credit card. |
PromoteChannelConfigRequest
Request message for MenuService.PromoteChannelConfig.
| Fields | |
|---|---|
name |
Required. The name of the channel config to promote. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channel_config} |
destination_brand |
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 If |
PromoteChannelConfigResponse
Response message for MenuService.PromoteChannelConfig.
| Fields | |
|---|---|
channel_config |
The promoted channel config. |
RecommendedOrder
An order recommended by the agent to the user.
| Fields | |
|---|---|
order |
The recommended order to be displayed to the user. |
RecommendedOrders
A list of recommended orders by the agent to the user.
| Fields | |
|---|---|
recommended_orders[] |
The recommended orders to be displayed to the user. |
RestartOrder
Customer requests to start over the order.
| Fields | |
|---|---|
confirmation_step |
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[] |
Optional. The days of the week to apply the schedule to. |
date_ranges[] |
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[] |
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 |
Optional. Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment). |
magnitude |
Optional. Magnitude of sentiment, regardless of score. |
SpeechRecognition
The speech recognition result from the agent.
| Fields | |
|---|---|
transcript |
Transcribed text from the audio input in the detected language. |
language_code |
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 |
Identifier. The store name. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store} |
create_time |
Output only. The time this store was created. |
update_time |
Output only. The time this store was last updated. |
status |
Required. The status of the store. |
time_zone |
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 |
Optional. Metadata for the store. |
tags[] |
Optional. Tags associated with the store. |
StoreHours
The operating hours of the store.
| Fields | |
|---|---|
fulfillment_method |
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[] |
Optional. The operating hours for the store for the specified fulfillment_method. |
StoreMetadata
Metadata for the store.
| Fields | |
|---|---|
display_name |
Optional. The display name of the store to be used in UI and customer-facing elements. |
contact_email |
Optional. The email address of the store to be provided to customers. |
address |
Optional. The address information for the store. |
store_hours[] |
Optional. The open hours of the store. |
dayparts[] |
Optional. Dayparts defined for the store. |
phone_number |
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 |
Optional. The street address of the store. |
city |
Optional. The city of the store. |
state |
Optional. The state of the store. |
country |
Optional. The country of the store. |
postal_code |
Optional. The postal code of the store. |
latitude |
Optional. The latitude of the store. |
longitude |
Optional. The longitude of the store. |
google_maps_url |
Optional. The Google Maps URL for the store. |
Daypart
A daypart for the store.
| Fields | |
|---|---|
id |
Optional. The day part id, for instance "BREAKFAST", "LUNCH", etc. |
schedules[] |
Optional. Daypart active hours. |
display_name |
Optional. Specifies an optional display name for this daypart. |
StoreRevision
A revision of a store.
| Fields | |
|---|---|
name |
Identifier. The resource name of the store revision. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}/revisions/{revision} |
snapshot |
Output only. The state of the store resource at this revision. |
create_time |
Output only. When the revision was created. |
created_by |
Output only. The email of the user who recently created the resource. |
alternate_ids[] |
Output only. Alternate IDs for this revision. |
StoreStatus
The status of the store.
| Fields | |
|---|---|
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. |
SubmitOrderRequest
A request to submit the order, with all the required payment information collected from the customer.
| Fields | |
|---|---|
payment_info |
Required. The payment information for the order. |
loyalty_info |
Optional. The loyalty consumed for the order. |
tip_amount |
Optional. The tip amount for the order. |
SubmitOrderResponse
The result of submitting the order.
| Fields | |
|---|---|
success |
Required. Whether the order was successfully submitted. |
estimated_ready_duration |
Optional. The estimated duration until the order is ready. |
SuggestedItem
An item to suggest to the customer.
| Fields | |
|---|---|
item_id |
ID of the item in the menu. |
display_name |
Human-readable name for this tem to be shown on user interfaces. |
image |
Image to display for this item in the UI. |
base_price |
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 |
Metadata associated with this entity used for downstream integrations. |
SuggestedItems
A list of items to suggest to the customer.
| Fields | |
|---|---|
items[] |
The items to suggest to the customer. |
SuggestedModifier
A modifier to suggest to the customer.
| Fields | |
|---|---|
modifier_id |
ID of the modifier in the menu. |
modifier_group_id |
ID of the modifier group that this modifier should be added to if the suggestion is accepted. |
display_name |
Human-readable name for this tem to be shown on user interfaces. |
image |
Image to display for this item in the UI. |
price_adjustment |
The price adjustment associated with this modifier, if any. This is the price per unit of the modifier. |
integration_attributes |
Metadata associated with this entity used for downstream integrations. |
SuggestedModifiers
A list of modifiers to suggest to the customer.
| Fields | |
|---|---|
modifiers[] |
The modifiers to suggest to the customer. |
parent_uid |
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 |
A list of items to suggest to the customer. |
suggested_modifiers |
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 |
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 |
Required. The start of the time range, inclusive. |
end_time |
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 |
Required. The brand to update. The brand's |
update_mask |
Optional. The list of fields to update |
UpdateChannelConfigRequest
Request message for MenuService.UpdateChannelConfig.
| Fields | |
|---|---|
channel_config |
Required. The channel config to update. The channel config's |
update_mask |
Optional. The list of fields to update |
UpdateConfigApplicationRuleRequest
Request message for MenuService.UpdateConfigApplicationRule.
| Fields | |
|---|---|
config_application_rule |
Required. The config application rule to update. The config application rule's |
update_mask |
Optional. The list of fields to update |
UpdateStoreRequest
Request message for MenuService.UpdateStore.
| Fields | |
|---|---|
store |
Required. The store to update. The store's |
update_mask |
Optional. The list of fields to update |
allow_missing |
Optional. If set to true, and the store is not found, a new store will be created. In this situation, |
UpdatedOrderState
Event returned by the agent representing an update to the order state.
| Fields | |
|---|---|
order |
The updated state of the Order associated with this session. |
UserInfo
Personal information of the end user shared with the Food AI agent.
| Fields | |
|---|---|
preferred_name |
Optional. The name of the user that the agent should use to address the user. Food AI client is responsible for selecting the preferred name based on the user's profile, and make sure it aligns with the brand's convention, e.g. use first name, or full name. |
payment_info |
Optional. The payment information of the user. |
delivery_address |
Optional. The saved delivery address of the user. |
past_orders[] |
Optional. The order history of the user. |
loyalty_info |
Optional. The loyalty info of the user. |
phone_number |
Optional. The phone number of the user. |