Index
EvaluationRunService(interface)FoodOrderingService(interface)MenuService(interface)AgentAudio(message)AgentEvent(message)AgentText(message)AnalyticsMetrics(message)AppendIngestionPhaseRequest(message)AudioInput(message)Availability(message)Availability.DaypartAvailability(message)Availability.FulfillmentMethodAvailability(message)Availability.MenuScheduleAvailability(message)Availability.Status(enum)BatchCreateEvaluationCasesRequest(message)BatchCreateEvaluationCasesResponse(message)BatchDeleteStoresRequest(message)BatchGetMenuEntitiesRequest(message)BatchGetMenuEntitiesResponse(message)BatchUpdateEvaluationCasesRequest(message)BatchUpdateEvaluationCasesResponse(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)ChannelType(enum)ClientAppInfo(message)ClientExecutionRequest(message)ClientExecutionResult(message)ComputeAnalyticsMetricsRequest(message)ComputeAnalyticsMetricsRequest.AnalyticsType(enum)ComputeAnalyticsMetricsResponse(message)Config(message)Config.TrafficType(enum)ConfigApplicationRule(message)ConfigApplicationRuleRevision(message)CreateBrandRequest(message)CreateChannelConfigRequest(message)CreateConfigApplicationRuleRequest(message)CreateDiscountRequest(message)CreateEvaluationCaseRequest(message)CreateEvaluationContextRequest(message)CreateEvaluationDatasetRequest(message)CreateEvaluationMatcherRequest(message)CreateIngestionLogRequest(message)CreateInventoryRequest(message)CreateMenuRequest(message)CreateStoreRequest(message)DateRange(message)DeleteBrandRequest(message)DeleteBrandRevisionRequest(message)DeleteChannelConfigRequest(message)DeleteChannelConfigRevisionRequest(message)DeleteConfigApplicationRuleRequest(message)DeleteConfigApplicationRuleRevisionRequest(message)DeleteDiscountRequest(message)DeleteEvaluationCaseRequest(message)DeleteEvaluationCaseResultRequest(message)DeleteEvaluationContextRequest(message)DeleteEvaluationDatasetRequest(message)DeleteEvaluationDatasetResultRequest(message)DeleteEvaluationMatcherRequest(message)DeleteIngestionLogRequest(message)DeleteInventoryRequest(message)DeleteMenuRequest(message)DeleteSessionRecordRequest(message)DeleteStoreRequest(message)DeleteStoreRevisionRequest(message)DeliveryAddress(message)DeliveryAddress.ValidationStatus(enum)Discount(message)Discount.Constraint(message)Discount.Scope(enum)DiscountIntegrationAttributes(message)DiscountType(enum)EndSession(message)EndSession.EndType(enum)EvaluationCase(message)EvaluationCase.DynamicTextTurnCase(message)EvaluationCase.StaticTextTurnCase(message)EvaluationCase.StaticTextTurnCase.TextTurn(message)EvaluationCaseResult(message)EvaluationCaseResult.MatcherResult(message)EvaluationCaseResult.MatcherResult.AgentUtteranceStringMatcherResult(message)EvaluationCaseResult.MatcherResult.LLMJudgementMatcherResult(message)EvaluationCaseResult.MatcherResult.OrderResultMatcherResult(message)EvaluationCaseResult.Status(enum)EvaluationContext(message)EvaluationDataset(message)EvaluationDatasetResult(message)EvaluationMatcher(message)EvaluationMatcher.AgentUtteranceStringMatcher(message)EvaluationMatcher.LLMJudgementMatcher(message)EvaluationMatcher.OrderResultMatcher(message)EventInput(message)EventInput.CallerHangupEvent(message)EventInput.ClientEscalationEvent(message)EventInput.CrewInterjectionEvent(message)EventInput.DriveOffEvent(message)EventInput.OrderStateUpdateEvent(message)EventInput.PosErrorEvent(message)FeatureGate(message)FeaturesConfig(message)FeaturesConfig.NameCollection(message)FeaturesConfig.OrderDineIn(message)FeaturesConfig.OrderPickup(message)FinalizeOrderRequest(message)FinalizeOrderResponse(message)FulfillmentMethod(enum)GetBrandRequest(message)GetBrandRevisionRequest(message)GetChannelConfigRequest(message)GetChannelConfigRevisionRequest(message)GetConfigApplicationRuleRequest(message)GetConfigApplicationRuleRevisionRequest(message)GetDiscountRequest(message)GetEvaluationCaseRequest(message)GetEvaluationCaseResultRequest(message)GetEvaluationContextRequest(message)GetEvaluationDatasetRequest(message)GetEvaluationDatasetResultRequest(message)GetEvaluationMatcherRequest(message)GetIngestionLogRequest(message)GetInventoryRequest(message)GetMenuRequest(message)GetSessionRecordRequest(message)GetStoreRequest(message)GetStoreRevisionRequest(message)HistoryEntry(message)Image(message)IngestionLog(message)IngestionLog.State(enum)IngestionPhase(message)IngestionPhase.Phase(enum)IngestionPhase.State(enum)Interaction(message)Interaction.AgentUtterance(message)Interaction.ClientExecution(message)Interaction.ClientExecutionInput(message)Interaction.ClientExecutionOutput(message)Interaction.MatchIntent(message)Interaction.MatchIntentInput(message)Interaction.MatchIntentOutput(message)Interaction.ResolveOrder(message)Interaction.ResolveOrderInput(message)Interaction.ResolveOrderOutput(message)Interaction.SubmitOrder(message)Interaction.UserUtterance(message)InteractionMode(enum)InterruptionSignal(message)IntervalMetrics(message)IntervalMetrics.PredictedFailureCategoryCount(message)Inventory(message)Inventory.Status(enum)Item(message)ItemGroup(message)ItemGroup.AllOf(message)ItemGroup.AnyOf(message)ItemGroup.SelectItems(message)ItemIntegrationAttributes(message)ItemIntegrationAttributes.StreamIntegrationAttributes(message)ItemIntegrationAttributes.StreamIntegrationAttributes.Tax(message)ItemIntegrationAttributes.ToastIntegrationAttributes(message)ItemMatcher(message)ItemMatcher.ModifierMatcher(message)ListBrandHistoryRequest(message)ListBrandHistoryResponse(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)ListDiscountsRequest(message)ListDiscountsResponse(message)ListEvaluationCaseResultsRequest(message)ListEvaluationCaseResultsResponse(message)ListEvaluationCasesRequest(message)ListEvaluationCasesResponse(message)ListEvaluationContextsRequest(message)ListEvaluationContextsResponse(message)ListEvaluationDatasetResultsRequest(message)ListEvaluationDatasetResultsResponse(message)ListEvaluationDatasetsRequest(message)ListEvaluationDatasetsResponse(message)ListEvaluationMatchersRequest(message)ListEvaluationMatchersResponse(message)ListIngestionLogsRequest(message)ListIngestionLogsResponse(message)ListInventoriesRequest(message)ListInventoriesResponse(message)ListMenusRequest(message)ListMenusResponse(message)ListSessionRecordsRequest(message)ListSessionRecordsResponse(message)ListStoreRevisionsRequest(message)ListStoreRevisionsResponse(message)ListStoresRequest(message)ListStoresResponse(message)LoyaltyAmount(message)LoyaltyInfo(message)Menu(message)MenuCategory(message)MenuLabel(message)MenuSchedule(message)MenuView(enum)MockClientExecution(message)Modifier(message)ModifierAction(message)ModifierConstraints(message)ModifierGroup(message)ModifierGroupIntegrationAttributes(message)ModifierGroupIntegrationAttributes.ToastModifierGroupIntegrationAttributes(message)ModifierGroupReference(message)ModifierGroupReference.DefaultModifierSelection(message)ModifierIntegrationAttributes(message)ModifierIntegrationAttributes.ToastModifierIntegrationAttributes(message)OperationsConfig(message)Order(message)OrderFulfillment(message)OrderItem(message)OrderMetadata(message)OrderModifier(message)OrderModifierAction(message)OrderModifierGroup(message)OrderPriceInfo(message)OrderPricesRequest(message)OrderPricesResponse(message)PaymentInfo(message)PaymentMethod(enum)PromoteChannelConfigRequest(message)PromoteChannelConfigResponse(message)RestartOrder(message)RevisionAction(enum)RunEvaluationCaseMetadata(message)RunEvaluationCaseRequest(message)RunEvaluationCaseResponse(message)RunEvaluationDatasetMetadata(message)RunEvaluationDatasetMetadata.CompletedCase(message)RunEvaluationDatasetRequest(message)RunEvaluationDatasetResponse(message)Schedule(message)SentimentMeasurement(message)SessionRecord(message)SpeechRecognition(message)Store(message)StoreHours(message)StoreMetadata(message)StoreMetadata.Address(message)StoreMetadata.Daypart(message)StoreRevision(message)StoreStatus(message)StoreStatus.State(enum)SubmitOrderRequest(message)SuggestedItem(message)SuggestedItems(message)SuggestedModifier(message)SuggestedModifiers(message)SuggestedOptions(message)TextInput(message)TimeOfDayRange(message)TurnCompleted(message)UpdateBrandRequest(message)UpdateChannelConfigRequest(message)UpdateConfigApplicationRuleRequest(message)UpdateDiscountRequest(message)UpdateEvaluationCaseRequest(message)UpdateEvaluationContextRequest(message)UpdateEvaluationDatasetRequest(message)UpdateEvaluationMatcherRequest(message)UpdateInventoryRequest(message)UpdateStoreRequest(message)UpdatedOrderState(message)UpsellAttemptRecord(message)ValidateDeliveryAddressRequest(message)ValidateDeliveryAddressResponse(message)
EvaluationRunService
EvaluationRunService provides an API to run evaluation cases.
| RunEvaluationCase |
|---|
|
Runs an evaluation case.
|
| RunEvaluationDataset |
|---|
|
Runs an evaluation dataset.
|
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.
| AppendIngestionPhase |
|---|
|
Appends an ingestion phase to an ingestion log.
|
| BatchCreateEvaluationCases |
|---|
|
Batch creates EvaluationCases.
|
| BatchDeleteStores |
|---|
|
Batch deletes stores.
|
| BatchGetMenuEntities |
|---|
|
Batch gets entities for a menu.
|
| BatchUpdateEvaluationCases |
|---|
|
Batch updates EvaluationCases.
|
| BatchUpdateStores |
|---|
|
Batch updates stores.
|
| ComputeAnalyticsMetrics |
|---|
|
Computes analytics metrics for a given brand for specified time period with optional store filter.
|
| CreateBrand |
|---|
|
Creates a brand.
|
| CreateChannelConfig |
|---|
|
Creates a ChannelConfig.
|
| CreateConfigApplicationRule |
|---|
|
Creates a ConfigApplicationRule.
|
| CreateDiscount |
|---|
|
Creates a discount.
|
| CreateEvaluationCase |
|---|
|
Creates an EvaluationCase.
|
| CreateEvaluationContext |
|---|
|
Creates an EvaluationContext.
|
| CreateEvaluationDataset |
|---|
|
Creates an EvaluationDataset.
|
| CreateEvaluationMatcher |
|---|
|
Creates an EvaluationMatcher.
|
| CreateIngestionLog |
|---|
|
Creates an ingestion log.
|
| CreateInventory |
|---|
|
Creates an inventory.
|
| 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.
|
| DeleteDiscount |
|---|
|
Deletes the specified discount.
|
| DeleteEvaluationCase |
|---|
|
Deletes the specified EvaluationCase.
|
| DeleteEvaluationCaseResult |
|---|
|
Deletes the specified EvaluationCaseResult.
|
| DeleteEvaluationContext |
|---|
|
Deletes the specified EvaluationContext.
|
| DeleteEvaluationDataset |
|---|
|
Deletes the specified EvaluationDataset.
|
| DeleteEvaluationDatasetResult |
|---|
|
Deletes the specified EvaluationDatasetResult.
|
| DeleteEvaluationMatcher |
|---|
|
Deletes the specified EvaluationMatcher.
|
| DeleteIngestionLog |
|---|
|
Deletes the specified ingestion log.
|
| DeleteInventory |
|---|
|
Deletes the specified inventory.
|
| DeleteMenu |
|---|
|
Deletes the specified menu.
|
| DeleteSessionRecord |
|---|
|
Deletes an SessionRecord. Note: This operation will remove the session details from the Spanner database. Associated data like audio recordings in GCS may also be removed depending on the implementation.
|
| 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.
|
| GetDiscount |
|---|
|
Gets a discount.
|
| GetEvaluationCase |
|---|
|
Gets an EvaluationCase.
|
| GetEvaluationCaseResult |
|---|
|
Gets an EvaluationCaseResult.
|
| GetEvaluationContext |
|---|
|
Gets an EvaluationContext.
|
| GetEvaluationDataset |
|---|
|
Gets an EvaluationDataset.
|
| GetEvaluationDatasetResult |
|---|
|
Gets an EvaluationDatasetResult.
|
| GetEvaluationMatcher |
|---|
|
Gets an EvaluationMatcher.
|
| GetIngestionLog |
|---|
|
Gets an ingestion log.
|
| GetInventory |
|---|
|
Gets an inventory.
|
| GetMenu |
|---|
|
Gets a menu.
|
| GetSessionRecord |
|---|
|
Gets a specific SessionRecord. This method returns SessionRecord with audio_recording bytes if available.
|
| GetStore |
|---|
|
Gets a store.
|
| GetStoreRevision |
|---|
|
Gets a StoreRevision.
|
| ListBrandHistory |
|---|
|
Lists history entries for a brand.
|
| ListBrandRevisions |
|---|
|
Lists BrandRevisions.
|
| ListBrands |
|---|
|
Lists brands.
|
| ListChannelConfigRevisions |
|---|
|
Lists ChannelConfigRevisions.
|
| ListChannelConfigs |
|---|
|
Lists ChannelConfigs.
|
| ListConfigApplicationRuleRevisions |
|---|
|
Lists ConfigApplicationRuleRevisions.
|
| ListConfigApplicationRules |
|---|
|
Lists ConfigApplicationRules.
|
| ListDiscounts |
|---|
|
Lists discounts.
|
| ListEvaluationCaseResults |
|---|
|
Lists EvaluationCaseResults.
|
| ListEvaluationCases |
|---|
|
Lists EvaluationCases.
|
| ListEvaluationContexts |
|---|
|
Lists EvaluationContexts.
|
| ListEvaluationDatasetResults |
|---|
|
Lists EvaluationDatasetResults.
|
| ListEvaluationDatasets |
|---|
|
Lists EvaluationDatasets.
|
| ListEvaluationMatchers |
|---|
|
Lists EvaluationMatchers.
|
| ListIngestionLogs |
|---|
|
Lists ingestion logs.
|
| ListInventories |
|---|
|
Lists inventories.
|
| ListMenus |
|---|
|
Lists menus.
|
| ListSessionRecords |
|---|
|
Lists SessionRecords for a given brand.
|
| 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.
|
| UpdateDiscount |
|---|
|
Updates the specified discount.
|
| UpdateEvaluationCase |
|---|
|
Updates the specified EvaluationCase.
|
| UpdateEvaluationContext |
|---|
|
Updates the specified EvaluationContext.
|
| UpdateEvaluationDataset |
|---|
|
Updates the specified EvaluationDataset.
|
| UpdateEvaluationMatcher |
|---|
|
Updates the specified EvaluationMatcher.
|
| UpdateInventory |
|---|
|
Updates the specified inventory.
|
| 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. |
AnalyticsMetrics
Represents analytics metrics for a given period, with a comparison to a previous period.
| Fields | |
|---|---|
interval_metrics[] |
Metrics for the intervals. |
AppendIngestionPhaseRequest
Request message for MenuService.AppendIngestionPhase.
| Fields | |
|---|---|
name |
Required. The name of the ingestion log to append the phase to. Format: projects/{project}/locations/{location}/brands/{brand}/ingestionLogs/{ingestion_log} |
ingestion_phase |
Required. The ingestion phase to append. |
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. |
BatchCreateEvaluationCasesRequest
Request message for MenuService.BatchCreateEvaluationCases.
| Fields | |
|---|---|
parent |
Required. The parent resource shared by all evaluation cases being created. Format: projects/{project}/locations/{location}/brands/{brand} If this is set, the parent of all of the evaluation cases specified in |
requests[] |
Required. The request message specifying the resources to create. A maximum of 1000 evaluation cases can be created in a batch. |
BatchCreateEvaluationCasesResponse
Response message for MenuService.BatchCreateEvaluationCases.
| Fields | |
|---|---|
evaluation_cases[] |
EvaluationCases created. |
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. |
BatchUpdateEvaluationCasesRequest
Request message for MenuService.BatchUpdateEvaluationCases.
| Fields | |
|---|---|
parent |
Required. The parent resource shared by all evaluation cases being updated. Format: projects/{project}/locations/{location}/brands/{brand} If this is set, the parent of all of the evaluation cases specified in |
requests[] |
Required. The request message specifying the resources to update. A maximum of 1000 evaluation cases can be modified in a batch. |
BatchUpdateEvaluationCasesResponse
Response message for MenuService.BatchUpdateEvaluationCases.
| Fields | |
|---|---|
evaluation_cases[] |
EvaluationCases updated. |
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:
|
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. |
action |
Output only. The action that created 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. |
operations_config |
Optional. The operational strategy for the channel configuration. |
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. |
action |
Output only. The action that created this revision. |
ChannelType
The type of channel used for agent communication. This enum is not frozen, and new values may be added in the future.
| Enums | |
|---|---|
CHANNEL_TYPE_UNSPECIFIED |
Unspecified channel type. |
CHANNEL_TYPE_DRIVE_THROUGH |
Drive through channel. |
CHANNEL_TYPE_MOBILE_APP |
Mobile app channel. |
CHANNEL_TYPE_PHONE_CALL |
Phone call channel. |
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. |
order_prices_request |
A request to get the order prices. |
validate_delivery_address_request |
A request to validate the delivery address. |
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. |
order_prices_response |
The result of getting the order prices. |
validate_delivery_address_response |
The result of validating the delivery address. |
ComputeAnalyticsMetricsRequest
Request message for MenuService.ComputeAnalyticsMetrics.
| Fields | |
|---|---|
brand |
Required. The brand to get analytics metrics for. Format: projects/{project}/locations/{location}/brands/{brand} |
timestamps[] |
Required. The timestamps that mark the start of each interval for which analytics metrics are calculated. |
store_ids[] |
Optional. The list of store IDs to get analytics metrics for. If not specified, analytics metrics for all stores will be returned. Needed to query by city or state. |
analytics_types[] |
Optional. The types of analytics to compute. If empty or unspecified, all available analytics types will be computed. |
AnalyticsType
The type of analytics to compute.
| Enums | |
|---|---|
ANALYTICS_TYPE_UNSPECIFIED |
Unspecified analytics type. |
GENERIC |
Compute generic/overall metrics (e.g., order count, escalation count, upsell count). |
DAILY |
Compute daily metrics (e.g., daily order and escalation counts). |
PREDICTED_FAILURE_CATEGORIES |
Compute predicted failure category metrics (e.g., predicted failure category count). |
ComputeAnalyticsMetricsResponse
Response message for MenuService.ComputeAnalyticsMetrics.
| Fields | |
|---|---|
analytics_metrics |
Output only. The analytics metrics for the brand. |
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. |
feature_gate |
Optional. The feature gates for the session. This is used to enable or disable features for the session. |
client_app_info |
Optional. The information about the client application and device environment. |
channel_type |
Optional. The type of channel used for agent communication. |
enable_listen_only_dual_channel |
Optional. Whether to enable listen-only dual channel for the session. If enabled, the client should provide the customer_audio and crew_audio in the AudioInput, and CES will do EAC and summation on media processing server. |
test_session_start_time |
Optional. The start time of the session, used for testing or evaluation purposes. |
TrafficType
The traffic type for the session. This is used to label the monitoring, logging, and observability metrics.
| Enums | |
|---|---|
TRAFFIC_TYPE_UNSPECIFIED |
The traffic type is not specified. |
EXTERNAL |
The traffic is from an external client. |
INTEGRATION_TEST |
The traffic is from an integration test. |
EVAL |
The traffic is from the eval tool. |
PROBER |
The traffic is from the prober. |
MANUAL_TEST |
The traffic is from manual testing. |
INTERNAL_TOOL |
The traffic is from an internal tool. |
CONSOLE |
The traffic is from the food AI console. |
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. |
action |
Output only. The action that created 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. |
CreateDiscountRequest
Request message for MenuService.CreateDiscount.
| Fields | |
|---|---|
parent |
Required. The parent store, which owns this collection of discounts. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store} |
discount_id |
Optional. The Discount ID to use for the discount, which will become the final component of the discount'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. |
discount |
Required. The discount to create. |
CreateEvaluationCaseRequest
Request message for MenuService.CreateEvaluationCase.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of evaluation cases. Format: projects/{project}/locations/{location}/brands/{brand} |
evaluation_case |
Required. The evaluation case to create. |
evaluation_case_id |
Optional. The ID to use for the evaluation case, which will become the final component of the evaluation case'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. |
CreateEvaluationContextRequest
Request message for MenuService.CreateEvaluationContext.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of evaluation contexts. Format: projects/{project}/locations/{location}/brands/{brand} |
evaluation_context |
Required. The evaluation context to create. |
evaluation_context_id |
Optional. The ID to use for the evaluation context, which will become the final component of the evaluation context'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. |
CreateEvaluationDatasetRequest
Request message for MenuService.CreateEvaluationDataset.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of evaluation datasets. Format: projects/{project}/locations/{location}/brands/{brand} |
evaluation_dataset |
Required. The evaluation dataset to create. |
evaluation_dataset_id |
Optional. The ID to use for the evaluation dataset, which will become the final component of the evaluation dataset's resource name. |
CreateEvaluationMatcherRequest
Request message for MenuService.CreateEvaluationMatcher.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of evaluation matchers. Format: projects/{project}/locations/{location}/brands/{brand} |
evaluation_matcher |
Required. The evaluation matcher to create. |
evaluation_matcher_id |
Optional. The ID to use for the evaluation matcher, which will become the final component of the evaluation matcher'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. |
CreateIngestionLogRequest
Request message for MenuService.CreateIngestionLog.
| Fields | |
|---|---|
parent |
Required. The parent resource where this ingestion log will be created. Format: projects/{project}/locations/{location}/brands/{brand} |
ingestion_log |
Required. The ingestion log to create. |
ingestion_log_id |
Required. The ID to use for the ingestion log, which will become the final component of the ingestion log's resource name. |
CreateInventoryRequest
Request message for MenuService.CreateInventory.
| Fields | |
|---|---|
parent |
Required. The parent store, which owns this collection of inventories. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store} |
inventory_id |
Optional. The Inventory ID to use for the inventory, which will become the final component of the inventory'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. |
inventory |
Required. The inventory to create. |
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} |
DeleteDiscountRequest
Request message for MenuService.DeleteDiscount.
| Fields | |
|---|---|
name |
Required. The name of the discount to delete. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}/discounts/{discount} |
DeleteEvaluationCaseRequest
Request message for MenuService.DeleteEvaluationCase.
| Fields | |
|---|---|
name |
Required. The name of the evaluation case to delete. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationCases/{evaluation_case} |
DeleteEvaluationCaseResultRequest
Request message for MenuService.DeleteEvaluationCaseResult.
| Fields | |
|---|---|
name |
Required. The name of the evaluation case result to delete. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationCaseResults/{evaluation_case_result} |
DeleteEvaluationContextRequest
Request message for MenuService.DeleteEvaluationContext.
| Fields | |
|---|---|
name |
Required. The name of the evaluation context to delete. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationContexts/{evaluation_context} |
DeleteEvaluationDatasetRequest
Request message for MenuService.DeleteEvaluationDataset.
| Fields | |
|---|---|
name |
Required. The name of the evaluation dataset to delete. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationDatasets/{evaluation_dataset} |
DeleteEvaluationDatasetResultRequest
Request message for MenuService.DeleteEvaluationDatasetResult.
| Fields | |
|---|---|
name |
Required. The name of the evaluation dataset result to delete. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationDatasetResults/{evaluation_dataset_result} |
DeleteEvaluationMatcherRequest
Request message for MenuService.DeleteEvaluationMatcher.
| Fields | |
|---|---|
name |
Required. The name of the evaluation matcher to delete. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationMatchers/{evaluation_matcher} |
DeleteIngestionLogRequest
Request message for MenuService.DeleteIngestionLog.
| Fields | |
|---|---|
name |
Required. The name of the ingestion log to delete. Format: projects/{project}/locations/{location}/brands/{brand}/ingestionLogs/{ingestion_log} |
DeleteInventoryRequest
Request message for MenuService.DeleteInventory.
| Fields | |
|---|---|
name |
Required. The name of the inventory to delete. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}/inventories/{inventory} |
DeleteMenuRequest
Request message for MenuService.DeleteMenu.
| Fields | |
|---|---|
name |
Required. The name of the menu to delete. Format: projects/{project}/locations/{location}/menus/{menu} |
DeleteSessionRecordRequest
Request message for [SessionRecordService.DeleteSessionRecord][].
| Fields | |
|---|---|
name |
Required. The name of the session record to delete. Format: projects/{project}/locations/{location}/brands/{brand}/sessionRecords/{session_record} |
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} |
DeliveryAddress
The delivery address of an order. It could be an existing saved or collected address.
| Fields | |
|---|---|
address |
Optional. The delivery address. |
validation_status |
Optional. The validation status of the address. |
coordinates |
Optional. The geographic coordinates of the address. Used to validate if the address is within the delivery range of the store. |
ValidationStatus
The validation status of the delivery address. It is determined by client-specific validation logic.
| Enums | |
|---|---|
VALIDATION_STATUS_UNSPECIFIED |
The address has not yet been validated. |
VALIDATION_STATUS_VALID |
The address is valid. |
VALIDATION_STATUS_INVALID |
The address is invalid (does not exist, cannot be parsed, etc.) |
VALIDATION_STATUS_OUT_OF_RANGE |
The address exists and is resolved, but out of range for the store. |
VALIDATION_STATUS_INCOMPLETE_ADDRESS |
The address is missing required fields (missing street number/name, city, state, zip, etc) |
Discount
A discount that can be applied to orders at a store. Next ID: 16
| Fields | |
|---|---|
name |
Identifier. The discount name. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}/discounts/{discount} |
display_name |
Required. The user-facing name of the discount (e.g., "20% Off Your Order"). |
type |
Required. The type of discount being applied. |
scope |
Required. The scope at which the discount is applied. |
schedule |
Optional. The schedule when the discount is active. |
fixed_amount |
Optional. The fixed monetary value of the discount or the fixed total price, depending on the 'type'. |
percent |
Optional. The percentage value of the discount (0.0 to 100.0). Set when 'type' is PERCENT_OFF. |
max_discount_value |
Optional. If the discount type is PERCENT_OFF, we can set a max discount value user can get. |
applied_items |
Optional. The group of items the discount is applied to. Required if 'scope' is ITEM. E.g. Bundles, mix-and-match, and the GET part of BOGO are defined here. |
required_items |
Optional. The group of items that must be present in the cart to activate the discount only need to be set when discount type is BOGO. E.g. The BUY part of BOGO discount is defined here. |
auto_apply |
Optional. If true, the discount is automatically applied when the criteria are met. |
promo_code |
Optional. The code required to apply the discount. |
additional_constraint |
Optional. Additional constraint to apply this discount. |
integration_attributes |
Optional. Metadata associated with this entity used for downstream integrations. |
image |
Optional. Image to display for this discount in the UI. |
Constraint
Additional constraint to apply this discount.
| Fields | |
|---|---|
min_spend |
Optional. Min spend in order to apply this discount. |
max_uses_per_order |
Optional. How many times can this discount being used per order. |
allowed_channels[] |
Optional. Channels this discount can be applied. If not set, the discount can be applied to all channels. |
requires_customer_signin |
Optional. For mobile orders, if we need customer to signin to get this discount. |
is_stackable |
Optional. If this discount can be used with other discount. |
Scope
Defines the level at which the discount is applied.
| Enums | |
|---|---|
SCOPE_UNSPECIFIED |
Unspecified scope. |
ORDER |
Applied to the entire order. |
ITEM |
Applied to specific items. |
DiscountIntegrationAttributes
Metadata associated with a discount 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. |
DiscountType
The type of a discount.
| Enums | |
|---|---|
DISCOUNT_TYPE_UNSPECIFIED |
Unspecified discount type. |
BOGO |
Buy X, Get Y Free/Z Percent Off/For Z amount. |
FIXED_OFF |
A fixed monetary amount discount (e.g., $5.00 off an item or order). |
PERCENT_OFF |
A percentage discount (e.g., 20% off an item or order). |
FIXED_TOTAL |
Sets the final price of the discounted items to a fixed total (e.g., 2 items for $10.00). |
FREE_DELIVERY |
Waives the delivery fee for the order. |
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. |
pos_response |
Optional. The POS response from checking in the order (optional). This is an opaque string payload representing the POS transaction status. |
agent_response |
Optional. The final agent response message to be spoken/displayed to the user (optional). |
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. |
REQUESTED_CHECKOUT |
The customer requested to check out. |
EvaluationCase
An individual evaluation case.
| Fields | |
|---|---|
name |
Identifier. The resource name of the evaluation case. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationCases/{evaluation_case} |
display_name |
Required. The human-readable name of the evaluation case. |
description |
Optional. The description of the evaluation case. |
evaluation_context |
Required. The resource name of the evaluation context this case is associated with. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationContexts/{evaluation_context} |
evaluation_matchers[] |
Optional. The list of evaluation matchers to use for the evaluation case. The evaluation is performed once at the end of the BidiProcessOrder session. Each matcher produces a boolean result indicating whether the evaluation matcher passed or failed. |
Union field test_case. The test case to use for the evaluation case. test_case can be only one of the following: |
|
static_text_turn_case |
Optional. A test case where the user and agent text turns are static. |
dynamic_text_turn_case |
Optional. A test case where the user text inputs are dynamically generated using LLM with an ordering instruction. |
DynamicTextTurnCase
An evaluation case where the user inputs are dynamically generated using LLM with an ordering instruction.
| Fields | |
|---|---|
ordering_instruction |
Required. The ordering instruction for the user to interact with the Food Ordering Agent. LLM dynamically generates the user text inputs based on the ordering instruction. This may include the targeted items to order, the user's preferences and constraints, and specific actions to that the user should inform the ordering agent. |
StaticTextTurnCase
An evaluation case where the user inputs are static text inputs.
| Fields | |
|---|---|
text_turns[] |
Required. The list of text turns in the evaluation case. |
TextTurn
A single text turn in the evaluation case, consisting of user input and agent response.
| Fields | |
|---|---|
user_text_input |
Required. The user text input for this turn. |
example_agent_response |
Optional. The example agent response for this turn. Note that this is not the actual agent response. The actual agent response may differ from this example response. The example response is NOT used for evaluation, but only for display purposes to make the evaluation case easier to understand. |
EvaluationCaseResult
An evaluation case result.
| Fields | |
|---|---|
name |
Identifier. The resource name of the evaluation case result. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationCaseResults/{evaluation_case_result} |
evaluation_case |
Output only. The evaluation case this result is associated with. |
evaluation_context |
Output only. The evaluation context this result is associated with. |
evaluation_dataset |
Output only. The evaluation dataset reference this result is associated with. If not set, it means the test case is run as a standalone test, not as part of an evaluation dataset. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationDatasets/{evaluation_dataset} |
session_record |
Output only. The resource name of the session record this result is associated with. Format: projects/{project}/locations/{location}/brands/{brand}/sessionRecords/{session_record} |
status |
Output only. The status of the evaluation case. |
matcher_results[] |
Output only. The list of evaluation matcher results for the evaluation case. The results of the evaluation matchers. |
create_time |
Output only. The create time of the evaluation case result. |
MatcherResult
A result of an evaluation matcher.
| Fields | |
|---|---|
evaluation_matcher |
Output only. The evaluation matcher this result is associated with. |
Union field result. The result of the evaluation matcher. result can be only one of the following: |
|
order_result_matcher_result |
Output only. The result of an order result matcher. |
agent_utterance_string_matcher_result |
Output only. The result of an agent utterance string matcher. |
llm_judgement_matcher_result |
Output only. The result of an agent utterance LLM judgement matcher. |
AgentUtteranceStringMatcherResult
A result of an agent utterance string matcher.
| Fields | |
|---|---|
match |
Output only. Whether the agent utterance string matcher passed or not. |
LLMJudgementMatcherResult
A result of an agent utterance LLM judgement matcher.
| Fields | |
|---|---|
match |
Output only. Whether the agent utterance LLM judgement matcher passed or not. |
reasoning |
Output only. Describes the reasoning on why the LLM judgement matched or failed. |
OrderResultMatcherResult
A result of an order result matcher.
| Fields | |
|---|---|
match |
Output only. Whether the order result matcher passed or not. |
difference |
Output only. The pretty printed difference between the expected order and the actual order in the order result matcher in the (-want +got) format. |
Status
The status of the evaluation case.
| Enums | |
|---|---|
STATUS_UNSPECIFIED |
Invalid status. |
PASS |
All the evaluation matchers are satisfied. |
FAIL |
At least one of the evaluation matchers is not satisfied. |
ERROR |
There was an error that the BidiProcessOrder session terminated unexpectedly and the evaluation could not be completed. |
EvaluationContext
An evaluation context for an evaluation suite or case.
| Fields | |
|---|---|
name |
Identifier. The full resource name of the evaluation context. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationContexts/{evaluation_context} |
display_name |
Required. The human-readable name of the evaluation context. |
description |
Optional. The description of the evaluation context. |
store |
Required. The full resource name of the store to use for the evaluation case. Format: projects/{project_id}/locations/{location}/brands/{brand_id}/stores/{store_id} |
menu |
Optional. Optional menu to use for the evaluation context. If not provided, it will use the default menu for the store. Format: projects/{project_id}/locations/{location}/brands/{brand_id}/menus/{menu_id} |
test_session_start_time |
Optional. Optional injected start time of the Food Ordering session. If set, the evaluation session will assume the test session started at this time. This is for simulating ordering behavior at a specific time of day. If not set, the evaluation session will use the current time as the start time. |
mock_client_executions[] |
Optional. Optional mocked client execution responses for client execution requests sent by the food ordering service during the evaluation session. |
daypart_id |
Optional. Optional daypart ID to use for the evaluation context. If provided, the agent will use this daypart ID when establishing the process order configuration. |
EvaluationDataset
A dataset of evaluation cases.
| Fields | |
|---|---|
name |
Identifier. The resource name of the evaluation dataset. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationDatasets/{evaluation_dataset} |
display_name |
Required. The human-readable name of the evaluation dataset. |
description |
Optional. The description of the evaluation dataset. |
evaluation_cases[] |
Optional. The list of evaluation cases references for this dataset. Each case with the following format: projects/{project}/locations/{location}/brands/{brand}/evaluationCases/{evaluation_case} |
evaluation_context |
Optional. Optional evaluation context to use for the evaluation dataset. If set, this overrides the evaluation context set in the individual evaluation cases. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationContexts/{evaluation_context} |
EvaluationDatasetResult
An evaluation dataset result.
| Fields | |
|---|---|
name |
Identifier. The resource name of the evaluation dataset result. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationDatasetResults/{evaluation_dataset_result} |
evaluation_dataset |
Output only. The evaluation dataset reference this result is associated with. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationDatasets/{evaluation_dataset} |
evaluation_case_results[] |
Output only. The list of evaluation case results for the evaluation dataset. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationCaseResults/{evaluation_case_result} |
EvaluationMatcher
An evaluation matcher.
| Fields | |
|---|---|
name |
Identifier. The resource name of the evaluation matcher. |
display_name |
Required. The human-readable name of the evaluation matcher. |
description |
Optional. The description of the evaluation matcher. |
Union field matcher. The matcher to use for the evaluation matcher. The matcher must produce a boolean result indicating whether the evaluation matcher passed or not. matcher can be only one of the following: |
|
order_result_matcher |
Optional. An evaluation matcher for an order result. |
agent_utterance_string_matcher |
Optional. An evaluation matcher for an agent utterance string. |
llm_judgement_matcher |
Optional. An evaluation matcher using LLM judgement. |
AgentUtteranceStringMatcher
An evaluation matcher for an agent utterance string.
| Fields | |
|---|---|
invert |
Optional. If true, the match condition is inverted (e.g., "does not contain" or "does not match"). |
Union field
|
|
contains |
Optional. The agent utterance should contain this substring. |
regex |
Optional. The agent utterance should match this regex. |
LLMJudgementMatcher
An evaluation matcher using LLM judgement with the following prompt: "You are a helpful assistant that helps users place food orders at a restaurant. You will be given user inputs and agent responses. Your task is to determine if the agent response satisfies the following criteria: {criteria}"
| Fields | |
|---|---|
criteria |
Required. The criteria for the LLM to consider if an agent response passes the check. |
invert |
Optional. If true, the match condition is inverted (e.g., "does not contain"). |
OrderResultMatcher
An evaluation matcher for an order result.
| Fields | |
|---|---|
expected_order |
Required. The expected order to match against. The actual order must match this expected order after normalization. The evaluation passes if all fields and quantities match. Default quantities of 1 are ignored during comparison to handle field omission consistently. |
EventInput
The event input from the client. This is used to trigger specific events within the agent.
| Fields | |
|---|---|
Union field event. Next ID: 10 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. |
caller_hangup_event |
Optional. A caller hangup event. |
pos_error_input |
Optional. A POS error 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". |
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. |
PosErrorEvent
Point-of-Sale (POS) specific failures.
| Fields | |
|---|---|
error_messages[] |
Optional. A list of human-readable descriptions of the errors. Multiple error messages can be provided if multiple issues occur simultaneously (e.g., multiple items are out of stock) or to provide a more detailed breakdown of a single complex failure. These messages may be used by the agent to inform the customer or for logging purposes. |
affected_item_uids[] |
Optional. Unique item UIDs generated by the Food Ordering AI Agent that caused the error. Corresponds to |
affected_external_ids[] |
Optional. List of external IDs (from the Menu) that caused the error. Should be equal to the actual representatives in the POS, which are usually under integration attributes in menu.proto (e.g., in |
metadata |
Optional. Free-form metadata for debugging or brand-specific signaling. Can be used to pass brand-specific error codes or categories (e.g., {"BRAND_ERROR_CODE": "OUT_OF_STOCK"}). |
FeatureGate
The feature gates for the session. This is used to enable or disable features for the session.
| Fields | |
|---|---|
menu_response_enabled |
Optional. Returns the menu data to the client in BidiProcessOrderResponse if set. |
updated_order_state_enabled |
Optional. If set, updated_order_state is returned instead of legacy_order_state_response. |
FeaturesConfig
Configurations for agent features. Feature flag list that is used to generate agent's custom instructions and tools.
| Fields | |
|---|---|
order_pickup |
Optional. Order pickup feature configuration. |
order_dine_in |
Optional. Order Dine-in feature configuration. |
name_collection |
Optional. Name collection feature configuration. |
NameCollection
This type has no fields.
Enables agent to collect customer name during session.
OrderDineIn
This type has no fields.
Allows customer to order food via agent for dine in
OrderPickup
This type has no fields.
Allows customer to order food via agent for pickup.
FinalizeOrderRequest
This type has no fields.
A request to finalize the order. This is typically sent by the agent when the customer indicates they are done ordering and want to pay.
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. |
total_amount_due |
Optional. The total amount due for the order. |
order_price_info |
Optional. The detailed price information of the order. |
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} |
GetDiscountRequest
Request message for MenuService.GetDiscount.
| Fields | |
|---|---|
name |
Required. The name of the discount to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}/discounts/{discount} |
GetEvaluationCaseRequest
Request message for MenuService.GetEvaluationCase.
| Fields | |
|---|---|
name |
Required. The name of the evaluation case to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationCases/{evaluation_case} |
GetEvaluationCaseResultRequest
Request message for MenuService.GetEvaluationCaseResult.
| Fields | |
|---|---|
name |
Required. The name of the evaluation case result to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationCaseResults/{evaluation_case_result} |
GetEvaluationContextRequest
Request message for MenuService.GetEvaluationContext.
| Fields | |
|---|---|
name |
Required. The name of the evaluation context to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationContexts/{evaluation_context} |
GetEvaluationDatasetRequest
Request message for MenuService.GetEvaluationDataset.
| Fields | |
|---|---|
name |
Required. The name of the evaluation dataset to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationDatasets/{evaluation_dataset} |
GetEvaluationDatasetResultRequest
Request message for MenuService.GetEvaluationDatasetResult.
| Fields | |
|---|---|
name |
Required. The name of the evaluation dataset result to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationDatasetResults/{evaluation_dataset_result} |
GetEvaluationMatcherRequest
Request message for MenuService.GetEvaluationMatcher.
| Fields | |
|---|---|
name |
Required. The name of the evaluation matcher to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationMatchers/{evaluation_matcher} |
GetIngestionLogRequest
Request message for MenuService.GetIngestionLog.
| Fields | |
|---|---|
name |
Required. The name of the ingestion log to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/ingestionLogs/{ingestion_log} |
GetInventoryRequest
Request message for MenuService.GetInventory.
| Fields | |
|---|---|
name |
Required. The name of the inventory to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}/inventories/{inventory} |
GetMenuRequest
Request message for MenuService.GetMenu.
| Fields | |
|---|---|
name |
Required. The name of the menu to retrieve. Format: projects/{project}/locations/{location}/menus/{menu} |
GetSessionRecordRequest
Request message for [SessionRecordService.GetSessionRecord][].
| Fields | |
|---|---|
name |
Required. The name of the session record to retrieve. Format: projects/{project}/locations/{location}/brands/{brand}/sessionRecords/{session_record} |
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} |
HistoryEntry
History entry for a resource revision.
| Fields | |
|---|---|
commit_time |
The time the revision was created. |
created_by |
The user or service that created the revision. |
revision_name |
The full resource name of the revision. |
resource_type |
The type of the base resource (e.g., "Brand", "Store", "ChannelConfig"). |
action |
The action that created this revision. |
Union field resource_revision. The resource revision. resource_revision can be only one of the following: |
|
brand |
The brand at the time of the commit. |
store |
The store at the time of the commit. |
channel_config |
The channel config at the time of the commit. |
config_application_rule |
The config application rule at the time of the commit. |
Image
Image to display for a menu entity.
| Fields | |
|---|---|
source_uri |
Required. The source URI of the image. |
IngestionLog
A record of a menu ingestion run.
| Fields | |
|---|---|
name |
Identifier. The resource name of the ingestion log. Format: projects/{project}/locations/{location}/brands/{brand}/ingestionLogs/{ingestion_log} |
store |
Optional. The resource name of the store for the ingestion. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store} |
state |
Output only. Data about the current state of the ingestion. |
start_time |
Output only. The time when ingestion job started. |
end_time |
Output only. The time when ingestion job finished. |
phases[] |
Output only. List of phase runtimes. |
State
The status of the ingestion run.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
The status is unspecified. |
SUCCEEDED |
The ingestion was successful. |
FAILED |
The ingestion failed. |
PROCESSING |
The ingestion is being processed. |
IngestionPhase
A phase of the ingestion run.
| Fields | |
|---|---|
phase |
Required. Name of the phase. |
start_time |
Optional. Start time of the phase. |
end_time |
Optional. End time of the phase. |
state |
Optional. State of the phase. Set by the caller on append, so it's an input, not a resource state. |
details |
Optional. Details about the phase. |
Phase
Enum for the name of the phase.
| Enums | |
|---|---|
PHASE_UNSPECIFIED |
The phase is unspecified. |
READ_SOURCE_MENU |
Reading the source menu. |
PARSE_SOURCE_MENU |
Parsing the source menu. |
BRAND_SPECIFIC_VALIDATION |
Validating the brand specific configuration. |
BRAND_AGNOSTIC_VALIDATION |
Validating the brand agnostic configuration. |
CREATE_MENU |
Creating the menu. |
State
The execution state of the phase.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
The state is unspecified. |
SUCCEEDED |
The phase completed successfully. |
FAILED |
The phase failed. |
Interaction
Represents a single interaction in a turn in the conversation.
| Fields | |
|---|---|
turn_position |
Output only. Turn position in the conversation. |
Union field interaction. The type of interaction. interaction can be only one of the following: |
|
user_utterance |
User utterance. |
agent_utterance |
Agent utterance. |
resolve_order |
ResolveOrder call performed by the agent |
submit_order |
SubmitOrder call performed by the agent |
match_intent |
MatchIntent call performed by the agent |
client_execution |
ClientExecution call performed by the agent |
AgentUtterance
The agent utterance.
| Fields | |
|---|---|
text |
The text of the agent utterance. |
create_time |
Output only. The timestamp when the agent utterance occurred. |
ClientExecution
The client execution interaction.
| Fields | |
|---|---|
tool_name |
The tool name for the client execution interaction. |
input |
The input for the client execution interaction. |
output |
The output for the client execution interaction. |
ClientExecutionInput
The input for the client execution interaction.
| Fields | |
|---|---|
payload |
The payload for the client execution interaction input. |
ClientExecutionOutput
The output for the client execution interaction.
| Fields | |
|---|---|
payload |
The payload for the client execution interaction output. |
MatchIntent
The match intent interaction.
| Fields | |
|---|---|
input |
The input for the match intent interaction. |
output |
The output for the match intent interaction. |
MatchIntentInput
The input for the match intent interaction.
| Fields | |
|---|---|
payload |
The payload for the match intent interaction input. |
MatchIntentOutput
The output for the match intent interaction.
| Fields | |
|---|---|
payload |
The payload for the match intent interaction output. |
ResolveOrder
The resolve order interaction.
| Fields | |
|---|---|
input |
The input for the resolve order action. |
output |
The output for the resolve order action. |
ResolveOrderInput
The input for the resolve order interaction.
| Fields | |
|---|---|
payload |
The payload for the resolve order interaction. |
ResolveOrderOutput
The output for the resolve order interaction.
| Fields | |
|---|---|
payload |
The payload for the resolve order interaction output. |
SubmitOrder
This type has no fields.
The submit order interaction.
UserUtterance
The user utterance.
| Fields | |
|---|---|
text |
The text of the user utterance. |
create_time |
Output only. The timestamp when the user utterance occurred. |
InteractionMode
The interaction mode of the agent.
| Enums | |
|---|---|
INTERACTION_MODE_UNSPECIFIED |
Interaction mode is unspecified. |
ORDER_TAKING |
The agent participates in a two-way conversation to take orders. |
LISTEN_ONLY |
The agent only listens and does not speak. |
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.
IntervalMetrics
Represents analytics metrics for a specific time interval.
| Fields | |
|---|---|
interval |
The start / end time reflected by these metrics. |
total_order_count |
Output only. The total number of orders. |
success_order_count |
Output only. The number of successful orders. |
avg_order_duration_ms |
Output only. The average order duration in ms. |
upsell_success_rate |
Output only. The upsell success rate. |
upsell_revenue |
Output only. The upsell revenue. |
escalation_count |
Output only. The escalation outcome group count. |
predicted_failure_category_counts[] |
Output only. The predicted failure category counts. |
invalid_order_count |
Output only. The total number of invalid orders. |
crew_escalation_count |
Output only. The number of crew escalation orders. |
PredictedFailureCategoryCount
Predicted failure category count.
| Fields | |
|---|---|
category |
Output only. The predicted failure category. |
count |
Output only. The count of sessions in this category. |
Inventory
An inventory resource for a store.
| Fields | |
|---|---|
name |
Identifier. The resource name of the inventory. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store}/inventories/{inventory} |
item_id |
Required. The item ID that this inventory belongs to. |
modifier_id |
Optional. The modifier ID that this inventory belongs to. |
pos_id |
Optional. The point of sale (POS) ID associated with this inventory. |
quantity |
Optional. The quantity of the item/modifier in stock. |
status |
Optional. The status of the inventory. |
Status
Availability status of the inventory.
| Enums | |
|---|---|
STATUS_UNSPECIFIED |
Unspecified status. |
IN_STOCK |
The item/modifier is in stock. |
OUT_OF_STOCK |
The item/modifier is out of stock. |
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. |
ItemGroup
A collection of items from the menu, defined by selection criteria, used to specify required or applied items for a discount. Next ID: 6
| Fields | |
|---|---|
name |
Optional. Name of the item group. |
Union field type. The type of item group. type can be only one of the following: |
|
select_items |
A list of matchers. An item is considered a match if it satisfies ANY of these ItemMatcher criteria (OR logic). |
all_of |
Represents a logical AND of sub-groups. |
any_of |
Represents a logical OR of sub-groups. |
AllOf
Represents a logical AND of sub-groups.
| Fields | |
|---|---|
groups[] |
Required. Sub-groups components. |
AnyOf
Represents a logical OR of sub-groups.
| Fields | |
|---|---|
groups[] |
Required. Sub-groups components. |
SelectItems
Defines a requirement to select a specific quantity of items where each item matches ANY of the provided ItemCriteria.
| Fields | |
|---|---|
matches[] |
Required. Matchers for the items. |
min_quantity |
Optional. Minimum quantity required for a match. |
max_quantity |
Optional. Maximum quantity allowed for a match. |
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. |
ItemMatcher
Defines the criteria for matching a single item. All specified fields are combined using AND. Next ID: 5
| Fields | |
|---|---|
item_id |
Optional. Item ID to match. |
modifier_id |
Optional. Modifier ID to match. |
category_id |
Optional. Category ID to match. |
modifier_matcher |
Optional. Defines the criteria for modifiers in order to match the Item. |
ModifierMatcher
Defines the criteria for matching modifiers.
| Fields | |
|---|---|
allowed_modifier_ids[] |
Optional. Modifier id that are required in order to apply the discount. |
min_modifiers |
Optional. The minimum number of modifiers required for a match. If required_modifier_ids is set, will only count modifiers in the list. |
max_modifiers |
Optional. The maximum number of modifiers allowed for a match. If required_modifier_ids is set, will only count modifiers in the list. |
ListBrandHistoryRequest
Request message for MenuService.ListBrandHistory.
| Fields | |
|---|---|
parent |
Required. The brand to list history for. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of history entries to return. |
page_token |
Optional. A page token, received from a previous |
filter |
Optional. A filter expression to filter the results. Supported filters: - |
ListBrandHistoryResponse
Response message for MenuService.ListBrandHistory.
| Fields | |
|---|---|
brand_history[] |
The history entries. |
next_page_token |
A token, which can be sent as |
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 |
ListDiscountsRequest
Request message for MenuService.ListDiscounts.
| Fields | |
|---|---|
parent |
Required. The parent store, which owns this collection of discounts. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store} |
page_size |
Optional. The maximum number of discounts 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. |
ListDiscountsResponse
Response message for MenuService.ListDiscounts.
| Fields | |
|---|---|
discounts[] |
The discounts from the specified collection. |
next_page_token |
A token, which can be sent as |
ListEvaluationCaseResultsRequest
Request message for MenuService.ListEvaluationCaseResults.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of evaluation case results. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of evaluation case results to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
filter |
Optional. Only retrieve evaluation case results matching the filter. Currently only supports filtering by |
ListEvaluationCaseResultsResponse
Response message for MenuService.ListEvaluationCaseResults.
| Fields | |
|---|---|
evaluation_case_results[] |
The evaluation case results from the specified collection. [(google.api.field_policy).auditing = "AUDIT_SIZE"]; |
next_page_token |
A token, which can be sent as |
ListEvaluationCasesRequest
Request message for MenuService.ListEvaluationCases.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of evaluation cases. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of evaluation cases to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListEvaluationCasesResponse
Response message for MenuService.ListEvaluationCases.
| Fields | |
|---|---|
evaluation_cases[] |
The evaluation cases from the specified collection. [(google.api.field_policy).auditing = "AUDIT_SIZE"]; |
next_page_token |
A token, which can be sent as |
ListEvaluationContextsRequest
Request message for MenuService.ListEvaluationContexts.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of evaluation contexts. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of evaluation contexts to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListEvaluationContextsResponse
Response message for MenuService.ListEvaluationContexts.
| Fields | |
|---|---|
evaluation_contexts[] |
The evaluation contexts from the specified collection. [(google.api.field_policy).auditing = "AUDIT_SIZE"]; |
next_page_token |
A token, which can be sent as |
ListEvaluationDatasetResultsRequest
Request message for MenuService.ListEvaluationDatasetResults.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of evaluation dataset results. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of evaluation dataset results to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListEvaluationDatasetResultsResponse
Response message for MenuService.ListEvaluationDatasetResults.
| Fields | |
|---|---|
evaluation_dataset_results[] |
The evaluation dataset results from the specified collection. [(google.api.field_policy).auditing = "AUDIT_SIZE"]; |
next_page_token |
A token, which can be sent as |
ListEvaluationDatasetsRequest
Request message for MenuService.ListEvaluationDatasets.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of evaluation datasets. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of evaluation datasets to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListEvaluationDatasetsResponse
Response message for MenuService.ListEvaluationDatasets.
| Fields | |
|---|---|
evaluation_datasets[] |
The evaluation datasets from the specified collection. [(google.api.field_policy).auditing = "AUDIT_SIZE"]; |
next_page_token |
A token, which can be sent as |
ListEvaluationMatchersRequest
Request message for MenuService.ListEvaluationMatchers.
| Fields | |
|---|---|
parent |
Required. The parent brand, which owns this collection of evaluation matchers. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of evaluation matchers to return. The service may return fewer than this value. |
page_token |
Optional. A page token, received from a previous |
ListEvaluationMatchersResponse
Response message for MenuService.ListEvaluationMatchers.
| Fields | |
|---|---|
evaluation_matchers[] |
The evaluation matchers from the specified collection. [(google.api.field_policy).auditing = "AUDIT_SIZE"]; |
next_page_token |
A token, which can be sent as |
ListIngestionLogsRequest
Request message for MenuService.ListIngestionLogs.
| Fields | |
|---|---|
parent |
Required. The parent resource, which owns this collection of ingestion logs. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of ingestion logs to return. The service may return fewer than this value. If unspecified, at most 50 ingestion logs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. |
page_token |
Optional. A page token, received from a previous When paginating, all other parameters provided to |
filter |
Optional. Filter expression to restrict ingestion logs returned. |
ListIngestionLogsResponse
Response message for MenuService.ListIngestionLogs.
| Fields | |
|---|---|
ingestion_logs[] |
The ingestion logs from the specified collection. |
next_page_token |
A token, which can be sent as |
ListInventoriesRequest
Request message for MenuService.ListInventories.
| Fields | |
|---|---|
parent |
Required. The parent store, which owns this collection of inventories. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store} |
page_size |
Optional. The maximum number of inventories 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. |
ListInventoriesResponse
Response message for MenuService.ListInventories.
| Fields | |
|---|---|
inventories[] |
The inventories 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 |
ListSessionRecordsRequest
Request message for [SessionRecordService.ListSessionRecords][].
| Fields | |
|---|---|
parent |
Required. The brand to list order sessions for. Format: projects/{project}/locations/{location}/brands/{brand} |
page_size |
Optional. The maximum number of session records to return. The service may return fewer than this value. If unspecified, at most 50 sessions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. |
page_token |
Optional. A page token, received from a previous |
filter |
Optional. Filter expression based on AIP-160. This field allows filtering session records based on various attributes. Supported Filter Fields:
Logical Operators: Conditions can be combined using |
ListSessionRecordsResponse
Response message for [SessionRecordService.ListSessionRecords][].
| Fields | |
|---|---|
session_records[] |
The list of session records. |
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. |
MockClientExecution
Represents a mocked client execution request and response pair. If the requests sent by the food ordering service in an eval run matches the mock request, the mock response will be returned to the service. Note the request.execution_id will be ignored during matching since it's session specific.
| Fields | |
|---|---|
raw_json_request |
Optional. The request for the mock client execution. |
raw_json_response |
Optional. The response for the mock client execution. |
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. |
OperationsConfig
Configurations for defining an operational strategy.
| Fields | |
|---|---|
features_config |
Optional. Agent features configuration. |
interaction_mode |
Optional. The interaction mode of the agent. |
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. |
delivery_address |
Optional. The delivery address, if the order is a delivery 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. |
discount |
Optional. Total discount applied to the order |
saving |
Optional. Deal savings applied to the order |
fees |
Optional. Total fees applied to the order |
OrderPricesRequest
A request to get the order prices.
| Fields | |
|---|---|
order |
Optional. The order to get the prices for. If not specified, we can assume the request is for the existing order/cart in the session. |
OrderPricesResponse
The result of getting the order prices.
| Fields | |
|---|---|
success |
Required. Whether the order prices were successfully retrieved. |
order_price_info |
Optional. Total order price after all discounts, fees, taxes, etc |
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. |
payment_method |
Optional. The type of payment method used. |
PaymentMethod
The type of payment method.
| Enums | |
|---|---|
PAYMENT_METHOD_UNSPECIFIED |
Unspecified payment method. |
PAYMENT_METHOD_CREDIT_CARD |
Credit card. |
PAYMENT_METHOD_CASH |
Cash. |
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} If |
PromoteChannelConfigResponse
Response message for MenuService.PromoteChannelConfig.
| Fields | |
|---|---|
channel_config |
The promoted channel config. |
RestartOrder
Customer requests to start over the order.
| Fields | |
|---|---|
confirmation_step |
The agent is asking the customer to confirm the restarting request. |
RevisionAction
The action that created a revision.
| Enums | |
|---|---|
REVISION_ACTION_UNSPECIFIED |
Unspecified action. |
CREATE |
The revision was created because the resource was created. |
UPDATE |
The revision was created because the resource was updated. |
RunEvaluationCaseMetadata
Metadata message for EvaluationRunService.RunEvaluationCase.
| Fields | |
|---|---|
evaluation_case |
Output only. The evaluation case being run. |
create_time |
Output only. The start time of the operation. |
RunEvaluationCaseRequest
Request message for EvaluationRunService.RunEvaluationCase.
| Fields | |
|---|---|
name |
Required. The resource name of the evaluation case to run. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationCases/{evaluation_case} |
RunEvaluationCaseResponse
Response message for EvaluationRunService.RunEvaluationCase.
| Fields | |
|---|---|
result |
Output only. The result of the evaluation case run. |
RunEvaluationDatasetMetadata
Metadata message for EvaluationRunService.RunEvaluationDataset.
| Fields | |
|---|---|
evaluation_dataset |
Output only. The evaluation dataset being run. |
completed_cases_count |
Output only. Number of evaluation cases that have completed execution. |
passed_cases_count |
Output only. Number of evaluation cases that have passed so far. |
create_time |
Output only. The create time of the operation. |
completed_case_details[] |
Output only. The cases that have completed execution. |
CompletedCase
A case that has completed execution.
| Fields | |
|---|---|
evaluation_case |
Output only. The resource name of the evaluation case. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationCases/{evaluation_case} |
evaluation_case_result |
Output only. The resource name of the evaluation case result. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationCaseResults/{evaluation_case_result} |
RunEvaluationDatasetRequest
Request message for EvaluationRunService.RunEvaluationDataset.
| Fields | |
|---|---|
name |
Required. The resource name of the evaluation dataset to run. Format: projects/{project}/locations/{location}/brands/{brand}/evaluationDatasets/{evaluation_dataset} |
RunEvaluationDatasetResponse
Response message for EvaluationRunService.RunEvaluationDataset.
| Fields | |
|---|---|
result |
Output only. The result of the evaluation dataset run. |
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. |
SessionRecord
Represents a single session record.
| Fields | |
|---|---|
name |
Identifier. The resource name of the SessionRecord. Format: projects/{project}/locations/{location}/brands/{brand}/sessionRecords/{session_record} |
session_start_time |
Output only. The timestamp when the session started. |
store_id |
Immutable. The ID of the store where the order was placed. |
lane_id |
Immutable. The lane ID of the order session. |
interactions[] |
Output only. The conversation turns. |
outcome_label |
Output only. The final outcome label of the order. |
outcome_group_label |
Output only. The group label for the outcome. |
audio_recording_path |
Output only. Path to the full audio recording. |
order |
Output only. The order associated with the session record. |
session_duration |
Output only. Total duration of the session. |
upsell_attempt_records[] |
Output only. Upsells performed during the session. |
audio_recording |
Output only. Audio recording for the session. This field is only populated when calling GetSessionRecord. |
traffic_type |
Output only. The traffic type for the session. |
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". |
is_final |
Indicates whether this is the final transcript for the turn. |
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. |
action |
Output only. The action that created 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. |
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. |
modifier_group_display_name |
Display name of the modifier group that this modifier belongs to. |
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 |
UpdateDiscountRequest
Request message for MenuService.UpdateDiscount.
| Fields | |
|---|---|
discount |
Required. The discount to update. The discount's |
update_mask |
Optional. The list of fields to update |
allow_missing |
Optional. If set to true, and the discount is not found, a new discount will be created. In this situation, |
UpdateEvaluationCaseRequest
Request message for MenuService.UpdateEvaluationCase.
| Fields | |
|---|---|
evaluation_case |
Required. The evaluation case to update. The evaluation case's |
update_mask |
Optional. The list of fields to update |
allow_missing |
Optional. If set to true, and the evaluation case is not found, a new evaluation case will be created. In this situation, |
UpdateEvaluationContextRequest
Request message for MenuService.UpdateEvaluationContext.
| Fields | |
|---|---|
evaluation_context |
Required. The evaluation context to update. The evaluation context's |
update_mask |
Optional. The list of fields to update |
UpdateEvaluationDatasetRequest
Request message for MenuService.UpdateEvaluationDataset.
| Fields | |
|---|---|
evaluation_dataset |
Required. The evaluation dataset to update. The evaluation dataset's |
update_mask |
Optional. The list of fields to update |
UpdateEvaluationMatcherRequest
Request message for MenuService.UpdateEvaluationMatcher.
| Fields | |
|---|---|
evaluation_matcher |
Required. The evaluation matcher to update. The evaluation matcher's |
update_mask |
Optional. The list of fields to update |
UpdateInventoryRequest
Request message for MenuService.UpdateInventory.
| Fields | |
|---|---|
inventory |
Required. The inventory to update. The inventory's |
update_mask |
Optional. The list of fields to update |
allow_missing |
Optional. If set to true, and the inventory is not found, a new inventory will be created. In this situation, |
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. |
changed |
Output only. Whether the order state has updates. |
UpsellAttemptRecord
Represents an upsell attempt. This data is used to display upsell information in the console order history, namely upsell type, turn id, and whether the upsell was accepted, and is populated from Spanner based on processed logs.
| Fields | |
|---|---|
turn_id |
Output only. ID of the turn in which the upsell opportunity occurred. |
upsell_type |
Output only. The type of upsell event. |
accepted |
Output only. Whether the upsell was accepted. |
ValidateDeliveryAddressRequest
A request to validate a delivery address collected during the session.
| Fields | |
|---|---|
delivery_address |
Required. The delivery address to validate. |
ValidateDeliveryAddressResponse
The result of validating a delivery address.
| Fields | |
|---|---|
success |
Required. Whether or not the validation completed without error. |
validation_status |
Required. The validation status of the delivery address. |