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.
| JSON representation |
|---|
{ "session": string, "store": string, "laneId": string, "enableEchoCancellation": boolean, "daypartId": string, "featureGate": { object ( |
| Fields | |
|---|---|
session |
Required. The session for the order. Format: |
store |
Required. The store the order is being placed for. Format: |
laneId |
Optional. The id of a specifc drive through lane. |
enableEchoCancellation |
Optional. Whether to enable echo cancellation for the session. If enabled, the client should provide the customerAudio and crewAudio in the AudioInput. |
daypartId |
Optional. Daypart of the food menu, including breakfast, lunch, dinner, etc. This is used to determine the menu to use for the order. |
featureGate |
Optional. The feature gates for the session. This is used to enable or disable features for the session. |
clientAppInfo |
Optional. The information about the client application and device environment. |
mode |
Optional. The mode of the session. |
channelType |
Optional. The type of channel used for agent communication. |
enableListenOnlyDualChannel |
Optional. Whether to enable listen-only dual channel for the session. If enabled, the client should provide the customerAudio and crewAudio in the AudioInput. |
testSessionStartTime |
Optional. The start time of the session, used for testing or evaluation purposes. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
fulfillmentMethod |
Optional. The fulfillment method for the session. |
clientEnv |
Optional. The environment on the client side (e.g., "qa", "uat", "preprod"). |
FeatureGate
The feature gates for the session. This is used to enable or disable features for the session.
| JSON representation |
|---|
{ "menuResponseEnabled": boolean, "updatedOrderStateEnabled": boolean, "enableOrderStatusRetrieval": boolean, "enableClientEscalationAudio": boolean } |
| Fields | |
|---|---|
menuResponseEnabled |
Optional. Returns the menu data to the client in BidiProcessOrderResponse if set. |
updatedOrderStateEnabled |
Optional. If set, updatedOrderState is returned instead of legacyOrderStateResponse. |
enableOrderStatusRetrieval |
Optional. If set, the agent will support order status retrieval. |
enableClientEscalationAudio |
Optional. If set, client escalation audio is synthesized and streamed on ClientEscalationEvent. |
ClientAppInfo
Information about the client application and device environment. This is primarily used for logging, analytics, and debugging.
| JSON representation |
|---|
{ "deviceModel": string, "osVersion": string, "sdkVersion": string } |
| Fields | |
|---|---|
deviceModel |
Optional. The device model of the client (e.g., "iPhone 13", "Pixel 7", "Kiosk v2"). |
osVersion |
Optional. The operating system version of the client (e.g., "iOS 16.1", "Android 13"). |
sdkVersion |
Optional. The version of the client SDK or application software. |
SessionMode
The mode of the session.
| Enums | |
|---|---|
SESSION_MODE_UNSPECIFIED |
The session mode is not specified. |
HYBRID |
The session supports both audio and text. This is the default. |
TEXT |
The session is text-only. |