UNPKG

actions-on-google

Version:
1,281 lines 112 kB
/** * Copyright 2018 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ApiClientObjectMap } from '../../../common'; export declare type GoogleActionsOrdersV3ActionType = 'TYPE_UNSPECIFIED' | 'VIEW_DETAILS' | 'MODIFY' | 'CANCEL' | 'RETURN' | 'EXCHANGE' | 'EMAIL' | 'CALL' | 'REORDER' | 'REVIEW' | 'CUSTOMER_SERVICE' | 'FIX_ISSUE' | 'DIRECTION'; export declare type GoogleActionsOrdersV3OrderUpdateType = 'TYPE_UNSPECIFIED' | 'ORDER_STATUS' | 'SNAPSHOT'; export declare type GoogleActionsOrdersV3PriceAttributeState = 'STATE_UNSPECIFIED' | 'ESTIMATE' | 'ACTUAL'; export declare type GoogleActionsOrdersV3PriceAttributeType = 'TYPE_UNSPECIFIED' | 'REGULAR' | 'DISCOUNT' | 'TAX' | 'DELIVERY' | 'SUBTOTAL' | 'FEE' | 'GRATUITY' | 'TOTAL'; export declare type GoogleActionsOrdersV3VerticalsPurchaseMerchantUnitMeasureUnit = 'UNIT_UNSPECIFIED' | 'MILLIGRAM' | 'GRAM' | 'KILOGRAM' | 'OUNCE' | 'POUND'; export declare type GoogleActionsOrdersV3VerticalsPurchasePickupInfoCurbsideInfoCurbsideFulfillmentType = 'UNSPECIFIED' | 'VEHICLE_DETAIL'; export declare type GoogleActionsOrdersV3VerticalsPurchasePickupInfoPickupType = 'UNSPECIFIED' | 'INSTORE' | 'CURBSIDE'; export declare type GoogleActionsOrdersV3VerticalsPurchasePurchaseErrorType = 'ERROR_TYPE_UNSPECIFIED' | 'NOT_FOUND' | 'INVALID' | 'AVAILABILITY_CHANGED' | 'PRICE_CHANGED' | 'INCORRECT_PRICE' | 'REQUIREMENTS_NOT_MET' | 'TOO_LATE' | 'NO_CAPACITY' | 'INELIGIBLE' | 'OUT_OF_SERVICE_AREA' | 'CLOSED' | 'PROMO_NOT_APPLICABLE' | 'PROMO_NOT_RECOGNIZED' | 'PROMO_EXPIRED' | 'PROMO_USER_INELIGIBLE' | 'PROMO_ORDER_INELIGIBLE' | 'UNAVAILABLE_SLOT' | 'FAILED_PRECONDITION' | 'PAYMENT_DECLINED'; export declare type GoogleActionsOrdersV3VerticalsPurchasePurchaseFulfillmentInfoFulfillmentType = 'TYPE_UNSPECIFIED' | 'DELIVERY' | 'PICKUP'; export declare type GoogleActionsOrdersV3VerticalsPurchasePurchaseItemExtensionStatus = 'PURCHASE_STATUS_UNSPECIFIED' | 'READY_FOR_PICKUP' | 'SHIPPED' | 'DELIVERED' | 'OUT_OF_STOCK' | 'IN_PREPARATION' | 'CREATED' | 'CONFIRMED' | 'REJECTED' | 'RETURNED' | 'CANCELLED' | 'CHANGE_REQUESTED'; export declare type GoogleActionsOrdersV3VerticalsPurchasePurchaseItemExtensionType = 'PURCHASE_TYPE_UNSPECIFIED' | 'RETAIL' | 'FOOD' | 'GROCERY'; export declare type GoogleActionsOrdersV3VerticalsPurchasePurchaseOrderExtensionPurchaseLocationType = 'UNSPECIFIED_LOCATION' | 'ONLINE_PURCHASE' | 'INSTORE_PURCHASE'; export declare type GoogleActionsOrdersV3VerticalsPurchasePurchaseOrderExtensionStatus = 'PURCHASE_STATUS_UNSPECIFIED' | 'READY_FOR_PICKUP' | 'SHIPPED' | 'DELIVERED' | 'OUT_OF_STOCK' | 'IN_PREPARATION' | 'CREATED' | 'CONFIRMED' | 'REJECTED' | 'RETURNED' | 'CANCELLED' | 'CHANGE_REQUESTED'; export declare type GoogleActionsOrdersV3VerticalsPurchasePurchaseOrderExtensionType = 'PURCHASE_TYPE_UNSPECIFIED' | 'RETAIL' | 'FOOD' | 'GROCERY'; export declare type GoogleActionsOrdersV3VerticalsReservationReservationItemExtensionStatus = 'RESERVATION_STATUS_UNSPECIFIED' | 'PENDING' | 'CONFIRMED' | 'CANCELLED' | 'FULFILLED' | 'CHANGE_REQUESTED' | 'REJECTED'; export declare type GoogleActionsOrdersV3VerticalsReservationReservationItemExtensionType = 'RESERVATION_TYPE_UNSPECIFIED' | 'RESTAURANT' | 'HAIRDRESSER'; export declare type GoogleActionsOrdersV3VerticalsTicketEventCharacterType = 'TYPE_UNKNOWN' | 'ACTOR' | 'PERFORMER' | 'DIRECTOR' | 'ORGANIZER'; export declare type GoogleActionsOrdersV3VerticalsTicketTicketEventType = 'EVENT_TYPE_UNKNOWN' | 'MOVIE' | 'CONCERT' | 'SPORTS'; export declare type GoogleActionsTransactionsV3CompletePurchaseValuePurchaseStatus = 'PURCHASE_STATUS_UNSPECIFIED' | 'PURCHASE_STATUS_OK' | 'PURCHASE_STATUS_ERROR' | 'PURCHASE_STATUS_USER_CANCELLED' | 'PURCHASE_STATUS_ALREADY_OWNED' | 'PURCHASE_STATUS_ITEM_UNAVAILABLE' | 'PURCHASE_STATUS_ITEM_CHANGE_REQUESTED'; export declare type GoogleActionsTransactionsV3DigitalPurchaseCheckResultResultType = 'RESULT_TYPE_UNSPECIFIED' | 'CAN_PURCHASE' | 'CANNOT_PURCHASE'; export declare type GoogleActionsTransactionsV3PaymentInfoPaymentMethodProvenance = 'PAYMENT_METHOD_PROVENANCE_UNSPECIFIED' | 'PAYMENT_METHOD_PROVENANCE_GOOGLE' | 'PAYMENT_METHOD_PROVENANCE_MERCHANT'; export declare type GoogleActionsTransactionsV3PaymentMethodDisplayInfoPaymentType = 'PAYMENT_TYPE_UNSPECIFIED' | 'PAYMENT_CARD' | 'BANK' | 'LOYALTY_PROGRAM' | 'CASH' | 'GIFT_CARD' | 'WALLET'; export declare type GoogleActionsTransactionsV3PaymentMethodStatusStatus = 'STATUS_UNSPECIFIED' | 'STATUS_OK' | 'STATUS_REQUIRE_FIX' | 'STATUS_INAPPLICABLE'; export declare type GoogleActionsTransactionsV3SkuIdSkuType = 'SKU_TYPE_UNSPECIFIED' | 'SKU_TYPE_IN_APP' | 'SKU_TYPE_SUBSCRIPTION'; export declare type GoogleActionsTransactionsV3TransactionDecisionValueTransactionDecision = 'TRANSACTION_DECISION_UNSPECIFIED' | 'USER_CANNOT_TRANSACT' | 'ORDER_ACCEPTED' | 'ORDER_REJECTED' | 'DELIVERY_ADDRESS_UPDATED' | 'CART_CHANGE_REQUESTED'; export declare type GoogleActionsTransactionsV3TransactionRequirementsCheckResultResultType = 'RESULT_TYPE_UNSPECIFIED' | 'CAN_TRANSACT' | 'CANNOT_TRANSACT'; export declare type GoogleActionsTransactionsV3UserInfoOptionsUserInfoProperties = 'USER_INFO_PROPERTY_UNSPECIFIED' | 'EMAIL'; export declare type GoogleActionsV2ConversationType = 'TYPE_UNSPECIFIED' | 'NEW' | 'ACTIVE'; export declare type GoogleActionsV2DeliveryAddressValueUserDecision = 'UNKNOWN_USER_DECISION' | 'ACCEPTED' | 'REJECTED'; export declare type GoogleActionsV2EntitlementSkuType = 'TYPE_UNSPECIFIED' | 'IN_APP' | 'SUBSCRIPTION' | 'APP'; export declare type GoogleActionsV2MediaResponseMediaType = 'MEDIA_TYPE_UNSPECIFIED' | 'AUDIO'; export declare type GoogleActionsV2MediaStatusStatus = 'STATUS_UNSPECIFIED' | 'FINISHED' | 'FAILED'; export declare type GoogleActionsV2NewSurfaceValueStatus = 'NEW_SURFACE_STATUS_UNSPECIFIED' | 'CANCELLED' | 'OK'; export declare type GoogleActionsV2OrdersActionProvidedPaymentOptionsPaymentType = 'PAYMENT_TYPE_UNSPECIFIED' | 'PAYMENT_CARD' | 'BANK' | 'LOYALTY_PROGRAM' | 'ON_FULFILLMENT' | 'GIFT_CARD'; export declare type GoogleActionsV2OrdersCustomerInfoOptionsCustomerInfoProperties = 'CUSTOMER_INFO_PROPERTY_UNSPECIFIED' | 'EMAIL'; export declare type GoogleActionsV2OrdersGoogleProvidedPaymentOptionsSupportedCardNetworks = 'UNSPECIFIED_CARD_NETWORK' | 'AMEX' | 'DISCOVER' | 'MASTERCARD' | 'VISA' | 'JCB'; export declare type GoogleActionsV2OrdersLineItemType = 'UNSPECIFIED' | 'REGULAR' | 'TAX' | 'DISCOUNT' | 'GRATUITY' | 'DELIVERY' | 'SUBTOTAL' | 'FEE'; export declare type GoogleActionsV2OrdersOrderLocationType = 'UNKNOWN' | 'DELIVERY' | 'BUSINESS' | 'ORIGIN' | 'DESTINATION' | 'PICK_UP'; export declare type GoogleActionsV2OrdersOrderUpdateActionType = 'UNKNOWN' | 'VIEW_DETAILS' | 'MODIFY' | 'CANCEL' | 'RETURN' | 'EXCHANGE' | 'EMAIL' | 'CALL' | 'REORDER' | 'REVIEW' | 'CUSTOMER_SERVICE' | 'FIX_ISSUE'; export declare type GoogleActionsV2OrdersPaymentInfoPaymentType = 'PAYMENT_TYPE_UNSPECIFIED' | 'PAYMENT_CARD' | 'BANK' | 'LOYALTY_PROGRAM' | 'ON_FULFILLMENT' | 'GIFT_CARD'; export declare type GoogleActionsV2OrdersPaymentMethodTokenizationParametersTokenizationType = 'UNSPECIFIED_TOKENIZATION_TYPE' | 'PAYMENT_GATEWAY' | 'DIRECT'; export declare type GoogleActionsV2OrdersPriceType = 'UNKNOWN' | 'ESTIMATE' | 'ACTUAL'; export declare type GoogleActionsV2OrdersRejectionInfoType = 'UNKNOWN' | 'PAYMENT_DECLINED' | 'INELIGIBLE' | 'PROMO_NOT_APPLICABLE' | 'UNAVAILABLE_SLOT'; export declare type GoogleActionsV2OrdersTimeType = 'UNKNOWN' | 'DELIVERY_DATE' | 'ETA' | 'RESERVATION_SLOT'; export declare type GoogleActionsV2PermissionValueSpecPermissions = 'UNSPECIFIED_PERMISSION' | 'NAME' | 'DEVICE_PRECISE_LOCATION' | 'DEVICE_COARSE_LOCATION' | 'UPDATE'; export declare type GoogleActionsV2RawInputInputType = 'UNSPECIFIED_INPUT_TYPE' | 'TOUCH' | 'VOICE' | 'KEYBOARD' | 'URL'; export declare type GoogleActionsV2RegisterUpdateValueStatus = 'REGISTER_UPDATE_STATUS_UNSPECIFIED' | 'OK' | 'CANCELLED'; export declare type GoogleActionsV2SignInValueStatus = 'SIGN_IN_STATUS_UNSPECIFIED' | 'OK' | 'CANCELLED' | 'ERROR'; export declare type GoogleActionsV2TransactionDecisionValueUserDecision = 'UNKNOWN_USER_DECISION' | 'ORDER_ACCEPTED' | 'ORDER_REJECTED' | 'DELIVERY_ADDRESS_UPDATED' | 'CART_CHANGE_REQUESTED'; export declare type GoogleActionsV2TransactionRequirementsCheckResultResultType = 'RESULT_TYPE_UNSPECIFIED' | 'OK' | 'USER_ACTION_REQUIRED' | 'ASSISTANT_SURFACE_NOT_SUPPORTED' | 'REGION_NOT_SUPPORTED'; export declare type GoogleActionsV2TriggerContextTimeContextFrequency = 'FREQUENCY_UNSPECIFIED' | 'DAILY' | 'ROUTINES'; export declare type GoogleActionsV2UiElementsBasicCardImageDisplayOptions = 'DEFAULT' | 'WHITE' | 'CROPPED'; export declare type GoogleActionsV2UiElementsCarouselBrowseImageDisplayOptions = 'DEFAULT' | 'WHITE' | 'CROPPED'; export declare type GoogleActionsV2UiElementsCarouselSelectImageDisplayOptions = 'DEFAULT' | 'WHITE' | 'CROPPED'; export declare type GoogleActionsV2UiElementsCollectionSelectImageDisplayOptions = 'DEFAULT' | 'WHITE' | 'CROPPED'; export declare type GoogleActionsV2UiElementsOpenUrlActionUrlTypeHint = 'URL_TYPE_HINT_UNSPECIFIED' | 'AMP_CONTENT'; export declare type GoogleActionsV2UiElementsTableCardColumnPropertiesHorizontalAlignment = 'LEADING' | 'CENTER' | 'TRAILING'; export declare type GoogleActionsV2UserPermissions = 'UNSPECIFIED_PERMISSION' | 'NAME' | 'DEVICE_PRECISE_LOCATION' | 'DEVICE_COARSE_LOCATION' | 'UPDATE'; export declare type GoogleActionsV2UserUserVerificationStatus = 'UNKNOWN' | 'GUEST' | 'VERIFIED'; export interface GoogleActionsOrdersV3Action { /** * Metadata associated with an action. */ actionMetadata?: GoogleActionsOrdersV3ActionActionMetadata; /** * Action to take. */ openUrlAction?: GoogleActionsV2UiElementsOpenUrlAction; /** * Title or label of the action, displayed to the user. * Max allowed length is 100 chars. */ title?: string; /** * Required: Type of action. */ type?: GoogleActionsOrdersV3ActionType; } export interface GoogleActionsOrdersV3ActionActionMetadata { /** * Time when this action will expire. */ expireTime?: string; } export interface GoogleActionsOrdersV3LineItem { /** * Line item description. */ description?: string; /** * Follow up actions at line item. */ followUpActions?: GoogleActionsOrdersV3Action[]; /** * Required: Merchant assigned identifier for line item. * Used for identifying existing line item in applying partial updates. * Max allowed length is 64 chars. */ id?: string; /** * Small image associated with this item, if any. */ image?: GoogleActionsV2UiElementsImage; /** * Name of line item as displayed on the receipt. * Max allowed length is 100 chars. */ name?: string; /** * Additional notes applicable to this particular line item, for example * cancellation policy. */ notes?: string[]; /** * Line item level price and adjustments. */ priceAttributes?: GoogleActionsOrdersV3PriceAttribute[]; /** * The provider of the particular line item, if different from the overall * order. Example: Expedia Order with line item provider ANA. */ provider?: GoogleActionsOrdersV3Merchant; /** * Purchase orders like goods, food etc. */ purchase?: GoogleActionsOrdersV3VerticalsPurchasePurchaseItemExtension; /** * Line item level customers, this could be different from Order level buyer. * Example: User X made restaurant reservation under name of user Y. */ recipients?: GoogleActionsOrdersV3UserInfo[]; /** * Reservation orders like restaurant, haircut etc. */ reservation?: GoogleActionsOrdersV3VerticalsReservationReservationItemExtension; } export interface GoogleActionsOrdersV3Merchant { /** * Merchant's address. */ address?: GoogleActionsV2Location; /** * Optional ID assigned to merchant if any. */ id?: string; /** * The image associated with the merchant. */ image?: GoogleActionsV2UiElementsImage; /** * The name of the merchant like \"Panera Bread\". */ name?: string; /** * Merchant's phone numbers. */ phoneNumbers?: GoogleActionsOrdersV3PhoneNumber[]; } export interface GoogleActionsOrdersV3Money { /** * Amount in micros. * For example, this field should be set as 1990000 for $1.99. */ amountInMicros?: string; /** * The 3-letter currency code defined in ISO 4217. */ currencyCode?: string; } export interface GoogleActionsOrdersV3Order { /** * Info about the buyer. */ buyerInfo?: GoogleActionsOrdersV3UserInfo; /** * Required: Order contents which is a group of line items. */ contents?: GoogleActionsOrdersV3OrderContents; /** * Required: Date and time the order was created. */ createTime?: string; /** * Follow up actions at order level. */ followUpActions?: GoogleActionsOrdersV3Action[]; /** * Google assigned order id. */ googleOrderId?: string; /** * Image associated with the order. */ image?: GoogleActionsV2UiElementsImage; /** * Date and time the order was last updated. * Required for OrderUpdate. */ lastUpdateTime?: string; /** * Required: Merchant assigned internal order id. This id must be unique, and * is required for subsequent order update operations. This id may be set to * the provided google_order_id, or any other unique value. Note that the id * presented to users is the user_visible_order_id, which may be a different, * more user-friendly value. * Max allowed length is 64 chars. */ merchantOrderId?: string; /** * Notes attached to an order. */ note?: string; /** * Payment related data for the order. */ paymentData?: GoogleActionsTransactionsV3PaymentData; /** * Price, discounts, taxes and so on. */ priceAttributes?: GoogleActionsOrdersV3PriceAttribute[]; /** * All promotions that are associated with this order. */ promotions?: GoogleActionsOrdersV3Promotion[]; /** * Purchase order */ purchase?: GoogleActionsOrdersV3VerticalsPurchasePurchaseOrderExtension; /** * A link to the terms of service that apply to order/proposed order. */ termsOfServiceUrl?: string; /** * Ticket order */ ticket?: GoogleActionsOrdersV3VerticalsTicketTicketOrderExtension; /** * Merchant that facilitated the checkout. This could be different from * a line item level provider. Example: Expedia Order with line item from ANA. */ transactionMerchant?: GoogleActionsOrdersV3Merchant; /** * The user facing id referencing to current order. This id should be * consistent with the id displayed for this order in other contexts, * including websites, apps and email. */ userVisibleOrderId?: string; } export interface GoogleActionsOrdersV3OrderContents { /** * List of order line items. * At least 1 line_item is required and at-most 50 is allowed. * All line items must belong to same vertical. */ lineItems?: GoogleActionsOrdersV3LineItem[]; } export interface GoogleActionsOrdersV3OrderUpdate { order?: GoogleActionsOrdersV3Order; /** * Reason for the change/update. */ reason?: string; /** * Note: There are following consideration/recommendations for following * special fields: * 1. order.last_update_time will always be updated as part of the update * request. * 2. order.create_time, order.google_order_id and order.merchant_order_id * will be ignored if provided as part of the update_mask. */ updateMask?: string; /** * If specified, displays a notification to the user with the specified * title and text. Specifying a notification is a suggestion to * notify and is not guaranteed to result in a notification. */ userNotification?: GoogleActionsOrdersV3OrderUpdateUserNotification; } export interface GoogleActionsOrdersV3OrderUpdateUserNotification { /** * The contents of the notification. * Max allowed length is 100 chars. */ text?: string; /** * The title for the user notification. * Max allowed length is 30 chars. */ title?: string; } export interface GoogleActionsOrdersV3PhoneNumber { /** * Phone number in E.164 format, as defined in International * Telecommunication Union (ITU) Recommendation E.164. * wiki link: https://en.wikipedia.org/wiki/E.164 */ e164PhoneNumber?: string; /** * Extension is not standardized in ITU recommendations, except for being * defined as a series of numbers with a maximum length of 40 digits. It is * defined as a string here to accommodate for the possible use of a leading * zero in the extension (organizations have complete freedom to do so, as * there is no standard defined). Other than digits, some other dialling * characters such as \",\" (indicating a wait) may be stored here. * For example, in xxx-xxx-xxxx ext. 123, \"123\" is the extension. */ extension?: string; /** * The carrier selection code that is preferred when calling this phone number * domestically. This also includes codes that need to be dialed in some * countries when calling from landlines to mobiles or vice versa. For * example, in Columbia, a \"3\" needs to be dialed before the phone number * itself when calling from a mobile phone to a domestic landline phone and * vice versa. https://en.wikipedia.org/wiki/Telephone_numbers_in_Colombia * https://en.wikipedia.org/wiki/Brazilian_Carrier_Selection_Code * * Note this is the \"preferred\" code, which means other codes may work as * well. */ preferredDomesticCarrierCode?: string; } export interface GoogleActionsOrdersV3PriceAttribute { /** * Monetary amount. */ amount?: GoogleActionsOrdersV3Money; /** * The percentage spec, to 1/1000th of a percent. * Eg: 8.750% is represented as 8750, negative percentages represent * percentage discounts. * Deprecating this field. Can consider adding back when a solid usecase is * required. */ amountMillipercentage?: number; /** * Required: User displayed string of the price attribute. This is sent and * localized by merchant. */ name?: string; /** * Required: State of the price: Estimate vs Actual. */ state?: GoogleActionsOrdersV3PriceAttributeState; /** * Whether the price is tax included. */ taxIncluded?: boolean; /** * Required: Type of money attribute. */ type?: GoogleActionsOrdersV3PriceAttributeType; } export interface GoogleActionsOrdersV3Promotion { /** * Required: Coupon code applied to this offer. */ coupon?: string; } export interface GoogleActionsOrdersV3Time { /** * Represents an order-event time like reservation time, delivery time and so * on. Could be a duration (start & end time), just the date, date time etc. * Refer https://en.wikipedia.org/wiki/ISO_8601 for all supported formats. */ timeIso8601?: string; } export interface GoogleActionsOrdersV3UserInfo { /** * Display name of the user, might be different from first or last name. */ displayName?: string; /** * User email, Eg: janedoe@gmail.com. */ email?: string; /** * First name of the user. */ firstName?: string; /** * Last name of the user. */ lastName?: string; /** * Phone numbers of the user. */ phoneNumbers?: GoogleActionsOrdersV3PhoneNumber[]; } export interface GoogleActionsOrdersV3VerticalsCommonVehicle { /** * Vehicle color name, eg. black * Optional. */ colorName?: string; /** * URL to a photo of the vehicle. * The photo will be displayed at approximately 256x256px. * Must be a jpg or png. * Optional. */ image?: GoogleActionsV2UiElementsImage; /** * Vehicle license plate number (e.g. \"1ABC234\"). * Required. */ licensePlate?: string; /** * Vehicle make (e.g. \"Honda\"). * This is displayed to the user and must be localized. * Required. */ make?: string; /** * Vehicle model (e.g. \"Grom\"). * This is displayed to the user and must be localized. * Required. */ model?: string; } export interface GoogleActionsOrdersV3VerticalsPurchaseMerchantUnitMeasure { /** * Value: Example 1.2. */ measure?: number; /** * Unit: Example POUND, GRAM. */ unit?: GoogleActionsOrdersV3VerticalsPurchaseMerchantUnitMeasureUnit; } export interface GoogleActionsOrdersV3VerticalsPurchasePickupInfo { /** * Details specific to the curbside information. If pickup_type is not * \"CURBSIDE\", this field would be ignored. */ curbsideInfo?: GoogleActionsOrdersV3VerticalsPurchasePickupInfoCurbsideInfo; /** * Pick up method, such as INSTORE, CURBSIDE etc. */ pickupType?: GoogleActionsOrdersV3VerticalsPurchasePickupInfoPickupType; } export interface GoogleActionsOrdersV3VerticalsPurchasePickupInfoCurbsideInfo { /** * Partners need additional information to facilitate curbside pickup * orders. Depending upon what fulfillment type is chosen, corresponding * details would be collected from the user. */ curbsideFulfillmentType?: GoogleActionsOrdersV3VerticalsPurchasePickupInfoCurbsideInfoCurbsideFulfillmentType; /** * Vehicle details of the user placing the order. */ userVehicle?: GoogleActionsOrdersV3VerticalsCommonVehicle; } export interface GoogleActionsOrdersV3VerticalsPurchaseProductDetails { /** * Global Trade Item Number of the product. * Useful if offerId is not present in Merchant Center. Optional. */ gtin?: string; /** * Price look-up codes, commonly called PLU codes, PLU numbers, PLUs, * produce codes, or produce labels, are a system of numbers that * uniquely identify bulk produce sold in grocery stores and supermarkets. */ plu?: string; /** * Merchant-provided details about the product, * e.g. { \"allergen\": \"peanut\" }. * Useful if offerId is not present in Merchant Center. Optional. */ productAttributes?: ApiClientObjectMap<string>; /** * Product or offer id associated with this line item. */ productId?: string; /** * Product category defined by the merchant. * E.g. \"Home > Grocery > Dairy & Eggs > Milk > Whole Milk\" */ productType?: string; } export interface GoogleActionsOrdersV3VerticalsPurchasePurchaseError { /** * Available quantity now. Applicable in case of AVAILABILITY_CHANGED. */ availableQuantity?: number; /** * Additional error description. */ description?: string; /** * Entity Id that corresponds to the error. Example this can correspond to * LineItemId / ItemOptionId. */ entityId?: string; /** * Required: This represents the granular reason why an order gets rejected by * the merchant. */ type?: GoogleActionsOrdersV3VerticalsPurchasePurchaseErrorType; /** * Relevant in case of PRICE_CHANGED / INCORRECT_PRICE error type. */ updatedPrice?: GoogleActionsOrdersV3PriceAttribute; } export interface GoogleActionsOrdersV3VerticalsPurchasePurchaseFulfillmentInfo { /** * A window if a time-range is specified or ETA if single time specified. * Expected delivery or pickup time. */ expectedFulfillmentTime?: GoogleActionsOrdersV3Time; /** * A window if a time-range is specified or ETA if single time specified. * Expected time to prepare the food. Single-time preferred. */ expectedPreparationTime?: GoogleActionsOrdersV3Time; /** * Time at which this fulfillment option expires. */ expireTime?: string; /** * User contact for this fulfillment. */ fulfillmentContact?: GoogleActionsOrdersV3UserInfo; /** * Required: The type of fulfillment. */ fulfillmentType?: GoogleActionsOrdersV3VerticalsPurchasePurchaseFulfillmentInfoFulfillmentType; /** * Unique identifier for this service option. */ id?: string; /** * Pickup or delivery location. */ location?: GoogleActionsV2Location; /** * Additional information regarding how order would be picked. This field * would only be applicable when fulfillment type is PICKUP. */ pickupInfo?: GoogleActionsOrdersV3VerticalsPurchasePickupInfo; /** * Cost of this option. */ price?: GoogleActionsOrdersV3PriceAttribute; /** * Name of the shipping method selected by the user. */ shippingMethodName?: string; /** * StoreCode of the location. * Example: Walmart is the merchant and store_code is the walmart store * where fulfillment happened. * https://support.google.com/business/answer/3370250?hl=en&ref_topic=4596653. */ storeCode?: string; } export interface GoogleActionsOrdersV3VerticalsPurchasePurchaseItemExtension { /** * Any extra fields exchanged between merchant and google. */ extension?: ApiClientObjectMap<any>; /** * Fulfillment info for this line item. If unset, this line item * inherits order level fulfillment info. */ fulfillmentInfo?: GoogleActionsOrdersV3VerticalsPurchasePurchaseFulfillmentInfo; /** * Additional add-ons or sub-items. */ itemOptions?: GoogleActionsOrdersV3VerticalsPurchasePurchaseItemExtensionItemOption[]; /** * Details about the product. */ productDetails?: GoogleActionsOrdersV3VerticalsPurchaseProductDetails; /** * Product or offer id associated with this line item. */ productId?: string; /** * Quantity of the item. */ quantity?: number; /** * Returns info for this line item. If unset, this line item * inherits order level returns info. */ returnsInfo?: GoogleActionsOrdersV3VerticalsPurchasePurchaseReturnsInfo; /** * Required: Line item level status. */ status?: GoogleActionsOrdersV3VerticalsPurchasePurchaseItemExtensionStatus; /** * Required: Type of purchase. */ type?: GoogleActionsOrdersV3VerticalsPurchasePurchaseItemExtensionType; /** * Unit measure. * Specifies the size of the item in chosen units. The size, together with * the active price is used to determine the unit price. */ unitMeasure?: GoogleActionsOrdersV3VerticalsPurchaseMerchantUnitMeasure; /** * Required: User visible label/string for the status. * Max allowed length is 50 chars. */ userVisibleStatusLabel?: string; } export interface GoogleActionsOrdersV3VerticalsPurchasePurchaseItemExtensionItemOption { /** * For options that are items, unique item id. */ id?: string; /** * Option name. */ name?: string; /** * Note related to the option. */ note?: string; /** * Option total price. */ prices?: GoogleActionsOrdersV3PriceAttribute[]; /** * Product or offer id associated with this option. */ productId?: string; /** * For options that are items, quantity. */ quantity?: number; /** * To define other nested sub options. */ subOptions?: GoogleActionsOrdersV3VerticalsPurchasePurchaseItemExtensionItemOption[]; } export interface GoogleActionsOrdersV3VerticalsPurchasePurchaseOrderExtension { /** * Optional: Errors because of which this order was rejected. */ errors?: GoogleActionsOrdersV3VerticalsPurchasePurchaseError[]; /** * Any extra fields exchanged between merchant and google. */ extension?: ApiClientObjectMap<any>; /** * Fulfillment info for the order. */ fulfillmentInfo?: GoogleActionsOrdersV3VerticalsPurchasePurchaseFulfillmentInfo; /** * Location of the purchase (in-store / online) */ purchaseLocationType?: GoogleActionsOrdersV3VerticalsPurchasePurchaseOrderExtensionPurchaseLocationType; /** * Return info for the order. */ returnsInfo?: GoogleActionsOrdersV3VerticalsPurchasePurchaseReturnsInfo; /** * Required: Overall Status for the order. */ status?: GoogleActionsOrdersV3VerticalsPurchasePurchaseOrderExtensionStatus; /** * Required: Type of purchase. */ type?: GoogleActionsOrdersV3VerticalsPurchasePurchaseOrderExtensionType; /** * User visible label/string for the status. * Max allowed length is 50 chars. */ userVisibleStatusLabel?: string; } export interface GoogleActionsOrdersV3VerticalsPurchasePurchaseReturnsInfo { /** * Return is allowed within that many days. */ daysToReturn?: number; /** * If true, return is allowed. */ isReturnable?: boolean; /** * Link to the return policy. */ policyUrl?: string; } export interface GoogleActionsOrdersV3VerticalsReservationReservationItemExtension { /** * Confirmation code for this reservation. */ confirmationCode?: string; /** * Any extra fields exchanged between merchant and google. */ extension?: ApiClientObjectMap<any>; /** * Location of the service/event. */ location?: GoogleActionsV2Location; /** * The number of people. */ partySize?: number; /** * Time when the service/event is scheduled to occur. * Can be a time range, a date, or an exact date time. */ reservationTime?: GoogleActionsOrdersV3Time; /** * Staff facilitators who will be servicing the reservation. * Ex. The hairstylist. */ staffFacilitators?: GoogleActionsOrdersV3VerticalsReservationStaffFacilitator[]; /** * Required: Reservation status. */ status?: GoogleActionsOrdersV3VerticalsReservationReservationItemExtensionStatus; /** * Type of reservation. * May be unset if none of the type options is applicable. */ type?: GoogleActionsOrdersV3VerticalsReservationReservationItemExtensionType; /** * Time range that is acceptable to the user. */ userAcceptableTimeRange?: GoogleActionsOrdersV3Time; /** * Required: User visible label/string for the status. * Max allowed length is 50 chars. */ userVisibleStatusLabel?: string; } export interface GoogleActionsOrdersV3VerticalsReservationStaffFacilitator { /** * Performer's images. */ image?: GoogleActionsV2UiElementsImage; /** * The staff facilitator's name. Ex. \"John Smith\" */ name?: string; } export interface GoogleActionsOrdersV3VerticalsTicketEventCharacter { /** * Character's images. */ image?: GoogleActionsV2UiElementsImage; /** * Name of the character. */ name?: string; /** * Type of the event character, e.g. actor or director. */ type?: GoogleActionsOrdersV3VerticalsTicketEventCharacterType; } export interface GoogleActionsOrdersV3VerticalsTicketTicketEvent { /** * Description of the event. */ description?: string; /** * Entry time, which might be different from the event start time. e.g. the * event starts at 9am, but entry time is 8:30am. */ doorTime?: GoogleActionsOrdersV3Time; /** * End time. */ endDate?: GoogleActionsOrdersV3Time; /** * The characters related to this event. It can be directors or actors of a * movie event, or performers of a concert, etc. */ eventCharacters?: GoogleActionsOrdersV3VerticalsTicketEventCharacter[]; /** * The location where the event is happening, or an organization is located. */ location?: GoogleActionsV2Location; /** * Required: Name of the event. For example, if the event is a movie, this * should be the movie name. */ name?: string; /** * Start time. */ startDate?: GoogleActionsOrdersV3Time; /** * Required: Type of the ticket event, e.g. movie, concert. */ type?: GoogleActionsOrdersV3VerticalsTicketTicketEventType; /** * Url to the event info. */ url?: string; } export interface GoogleActionsOrdersV3VerticalsTicketTicketOrderExtension { /** * The event applied to all line item tickets. */ ticketEvent?: GoogleActionsOrdersV3VerticalsTicketTicketEvent; } export interface GoogleActionsTransactionsV3CompletePurchaseValue { /** * A unique order identifier for the transaction. This identifier corresponds * to the Google provided order ID. */ orderId?: string; /** * Status of current purchase. */ purchaseStatus?: GoogleActionsTransactionsV3CompletePurchaseValuePurchaseStatus; /** * A opaque token that uniquely identifies a purchase for a given item and * user pair. */ purchaseToken?: string; } export interface GoogleActionsTransactionsV3CompletePurchaseValueSpec { /** * An opaque string specified by developer, which would associate with the * purchase and is expected to return as part of purchase data. */ developerPayload?: string; /** * The product being purchased. */ skuId?: GoogleActionsTransactionsV3SkuId; } export interface GoogleActionsTransactionsV3DigitalPurchaseCheckResult { /** * Result type for digital purchase check result. */ resultType?: GoogleActionsTransactionsV3DigitalPurchaseCheckResultResultType; } export interface GoogleActionsTransactionsV3DigitalPurchaseCheckSpec { } export interface GoogleActionsTransactionsV3GooglePaymentOption { /** * This JSON blob captures the specification for how Google facilitates * the payment for integrators, which is the PaymentDataRequest object * as defined in * https://developers.google.com/pay/api/web/reference/object#PaymentDataRequest * Example: * { * \"apiVersion\": 2, * \"apiVersionMinor\": 0, * \"merchantInfo\": { * \"merchantName\": \"Example Merchant\" * }, * \"allowedPaymentMethods\": [ * { * \"type\": \"CARD\", * \"parameters\": { * \"allowedAuthMethods\": [\"PAN_ONLY\", \"CRYPTOGRAM_3DS\"], * \"allowedCardNetworks\": [\"AMEX\", \"DISCOVER\", \"JCB\", * \"MASTERCARD\", * \"VISA\"] * }, * \"tokenizationSpecification\": { * \"type\": \"PAYMENT_GATEWAY\", * \"parameters\": { * \"gateway\": \"example\", * \"gatewayMerchantId\": \"exampleGatewayMerchantId\" * } * } * } * ], * \"transactionInfo\": { * \"totalPriceStatus\": \"ESTIMATED\", * \"totalPrice\": \"12.34\", * \"currencyCode\": \"USD\" * } * } */ facilitationSpec?: string; } export interface GoogleActionsTransactionsV3MerchantPaymentMethod { /** * Required. Display info of this payment method. */ paymentMethodDisplayInfo?: GoogleActionsTransactionsV3PaymentMethodDisplayInfo; /** * Optional. The group / profile name that the payment method belongs to. */ paymentMethodGroup?: string; /** * Required. Id of the payment method passed from merchant / action. * Note this id is should be unique if multiple payment methods are sent from * Merchant/Action. */ paymentMethodId?: string; /** * Optional. Status of the payment method. * If not present, the payment method is assumed to be in OK status. */ paymentMethodStatus?: GoogleActionsTransactionsV3PaymentMethodStatus; } export interface GoogleActionsTransactionsV3MerchantPaymentOption { /** * Optional. Id of the default payment method, if any. */ defaultMerchantPaymentMethodId?: string; /** * Optional. A link to the action/merchant website for managing payment * method. */ managePaymentMethodUrl?: string; /** * Required. List of payment methods provided by Action/Merchant. */ merchantPaymentMethod?: GoogleActionsTransactionsV3MerchantPaymentMethod[]; } export interface GoogleActionsTransactionsV3OrderOptions { /** * If true, delivery address is required for the associated order. */ requestDeliveryAddress?: boolean; /** * The app can request user info by setting this field. * If set, the corresponding field will show up in ProposedOrderCard for * user's confirmation. */ userInfoOptions?: GoogleActionsTransactionsV3UserInfoOptions; } export interface GoogleActionsTransactionsV3PaymentData { /** * Payment information regarding the order that's useful for user facing * interaction. */ paymentInfo?: GoogleActionsTransactionsV3PaymentInfo; /** * Payment result that's used by integrator for completing a transaction. * This field will be populated by Actions on Google if the checkout * experience is managed by Actions-on-Google. */ paymentResult?: GoogleActionsTransactionsV3PaymentResult; } export interface GoogleActionsTransactionsV3PaymentInfo { /** * The display info of the payment method used for the transaction. */ paymentMethodDisplayInfo?: GoogleActionsTransactionsV3PaymentMethodDisplayInfo; /** * Provenance of the payment method used for the transaction. * User may have registered the same payment method with both google and * merchant. */ paymentMethodProvenance?: GoogleActionsTransactionsV3PaymentInfoPaymentMethodProvenance; } export interface GoogleActionsTransactionsV3PaymentMethodDisplayInfo { /** * User visible name of the payment method. For example, * VISA **** 1234 * Checking acct **** 5678 */ paymentMethodDisplayName?: string; /** * The type of the payment. */ paymentType?: GoogleActionsTransactionsV3PaymentMethodDisplayInfoPaymentType; } export interface GoogleActionsTransactionsV3PaymentMethodStatus { status?: GoogleActionsTransactionsV3PaymentMethodStatusStatus; /** * User facing message regarding the payment method status, i.e. \"Expired\". * Only required when payment method requires fix or is inapplicable. */ statusMessage?: string; } export interface GoogleActionsTransactionsV3PaymentParameters { /** * Info for requesting payment info from google. */ googlePaymentOption?: GoogleActionsTransactionsV3GooglePaymentOption; /** * Info for payment methods provided by Action/Merchant. */ merchantPaymentOption?: GoogleActionsTransactionsV3MerchantPaymentOption; } export interface GoogleActionsTransactionsV3PaymentResult { /** * Google provided payment method data. * If your payment processor is listed as Google supported payment processor * here: https://developers.google.com/pay/api/ Navigate to your payment * processor through the link to find out more details. * Otherwise, refer to following documentation for payload details. * https://developers.google.com/pay/api/payment-data-cryptography */ googlePaymentData?: string; /** * Merchant/Action provided payment method chosen by user. */ merchantPaymentMethodId?: string; } export interface GoogleActionsTransactionsV3PresentationOptions { /** * action_display_name can be one of the following values: * * `PLACE_ORDER`: Used for placing an order. * `PAY`: Used for a payment. * `BUY`: Used for a purchase. * `SEND`: Used for a money transfer. * `BOOK`: Used for a booking. * `RESERVE`: Used for reservation. * `SCHEDULE`: Used for scheduling an appointment. * `SUBSCRIBE`: Used for subscription. * * action_display_name refers to the name of the action which best describes * this order. This will be used in various places like prompt, suggestion * chip etc while proposing the order to the user. */ actionDisplayName?: string; } export interface GoogleActionsTransactionsV3SkuId { /** * The identifier of the product SKU used for registration in the developer * console. */ id?: string; /** * The name of the android package under which the sku was registered. */ packageName?: string; /** * The type of SKU. */ skuType?: GoogleActionsTransactionsV3SkuIdSkuType; } export interface GoogleActionsTransactionsV3TransactionDecisionValue { /** * If user requests for delivery address update, this field includes the * new delivery address. This field will be present only when * `transaction_decision` is `DELIVERY_ADDRESS_UPDATED`. */ deliveryAddress?: GoogleActionsV2Location; /** * The order that user has approved. This field will be present only when * `transaction_decision` is `ORDER_ACCEPTED`. */ order?: GoogleActionsOrdersV3Order; /** * Decision regarding the order. */ transactionDecision?: GoogleActionsTransactionsV3TransactionDecisionValueTransactionDecision; } export interface GoogleActionsTransactionsV3TransactionDecisionValueSpec { /** * The order that's ready for user to approve. */ order?: GoogleActionsOrdersV3Order; /** * Options associated with the order. */ orderOptions?: GoogleActionsTransactionsV3OrderOptions; /** * Parameters for requesting payment for this order. */ paymentParameters?: GoogleActionsTransactionsV3PaymentParameters; /** * Options used to customize order presentation to the user. */ presentationOptions?: GoogleActionsTransactionsV3PresentationOptions; } export interface GoogleActionsTransactionsV3TransactionRequirementsCheckResult { /** * Result type for transaction requirements check. */ resultType?: GoogleActionsTransactionsV3TransactionRequirementsCheckResultResultType; } export interface GoogleActionsTransactionsV3TransactionRequirementsCheckSpec { } export interface GoogleActionsTransactionsV3UserInfoOptions { /** * List of user info properties. */ userInfoProperties?: GoogleActionsTransactionsV3UserInfoOptionsUserInfoProperties[]; } export interface GoogleActionsV2AppRequest { /** * Surfaces available for cross surface handoff. */ availableSurfaces?: GoogleActionsV2Surface[]; /** * Holds session data like the conversation ID and conversation token. */ conversation?: GoogleActionsV2Conversation; /** * Information about the device the user is using to interact with the Action. */ device?: GoogleActionsV2Device; /** * List of inputs corresponding to the expected inputs specified by the * Action. For the initial conversation trigger, the input contains * information on how the user triggered the conversation. */ inputs?: GoogleActionsV2Input[]; /** * Indicates whether the request should be handled in sandbox mode. */ isInSandbox?: boolean; /** * Information about the surface the user is interacting with, e.g. whether it * can output audio or has a screen. */ surface?: GoogleActionsV2Surface; /** * User who initiated the conversation. */ user?: GoogleActionsV2User; } export interface GoogleActionsV2AppResponse { /** * An opaque token that is recirculated to the Action every conversation * turn. */ conversationToken?: string; /** * A custom push message that allows developers to send structured data to * Actions on Google. */ customPushMessage?: GoogleActionsV2CustomPushMessage; /** * Indicates whether the Action is expecting a user response. This is true * when the conversation is ongoing, false when the conversation is done. */ expectUserResponse?: boolean; /** * List of inputs the Action expects, each input can be a common Actions on * Google intent (start with 'actions.'), or an input taking list of possible * intents. Only one input is supported for now. */ expectedInputs?: GoogleActionsV2ExpectedInput[]; /** * Final response when the Action does not expect user's input. */ finalResponse?: GoogleActionsV2FinalResponse; /** * Indicates whether the response should be handled in sandbox mode. This * bit is needed to push structured data to Google in sandbox mode. */ isInSandbox?: boolean; /** * Whether to clear the persisted user_storage. If set to true, then in the * next interaction with the user, the user_storage field will be empty. */ resetUserStorage?: boolean; /** * An opaque token controlled by the Action that is persisted across * conversations for a particular user. If empty or unspecified, the * existing persisted token will be unchanged. * The maximum size of the string is 10k bytes. * If multiple dialogs are occurring concurrently for the same user, then * updates to this token can overwrite each other unexpectedly. */ userStorage?: string; } export interface GoogleActionsV2Argument { /** * Specified when query pattern includes a `$org.schema.type.YesNo` type or * expected input has a built-in intent: `actions.intent.CONFIRMATION`. * NOTE: if the boolean value is missing, it represents `false`. */ boolValue?: boolean; /** * Specified for the built-in intent: `actions.intent.DATETIME`. */ datetimeValue?: GoogleActionsV2DateTime; /** * Extension whose type depends on the argument. * For example, if the argument name is `SIGN_IN` for the * `actions.intent.SIGN_IN` intent, then this extension will * contain a SignInValue value. */ extension?: ApiClientObjectMap<any>; /** * Specified for built-in intent: \"actions.intent.NUMBER\" */ floatValue?: number; /** * Specified when query pattern includes a $org.schema.type.Number type or * expected input has a built-in intent: \"assistant.intent.action.NUMBER\". */ intValue?: string; /** * Name of the argument being provided for the input. */ name?: string; /** * Specified when query pattern includes a $org.schema.type.Location type or * expected input has a built-in intent: \"actions.intent.PLACE\". */ placeValue?: GoogleActionsV2Location; /** * The raw text, typed or spoken, that provided the value for the argument. */ rawText?: string; /** * Specified when an error was encountered while computing the argument. For * example, the built-in intent \"actions.intent.PLACE\" can return an error * status if the user denied the permission to access their device location. */ status?: GoogleRpcStatus; /** * Specified when Google needs to pass data value in JSON format. */ structuredValue?: ApiClientObjectMap<any>; /** * Specified when query pattern includes a `$org.schema.type.Text` type or * expected input has a built-in intent: `actions.intent.TEXT`, or * `actions.intent.OPTION`. Note that for the `OPTION` intent, we set the * `text_value` as option key, the `raw_text` above will indicate the raw * span in user's query. */ textValue?: string; } export interface GoogleActionsV2Capability { /** * The name of the capability, e.g. `actions.capability.AUDIO_OUTPUT` */ name?: string; } export interface GoogleActionsV2ConfirmationValueSpec { /** * Configures dialog that asks for confirmation. */ dialogSpec?: GoogleActionsV2ConfirmationValueSpecConfirmationDialogSpec; } export interface GoogleActionsV2ConfirmationValueSpecConfirmationDialogSpec { /** * This is the question asked by confirmation sub-dialog. For example \"Are * you sure about that?\" */ requestConfirmationText?: string; } export interface GoogleActionsV2Conversation { /** * Unique ID for the multi-turn conversation. It's assigned for the first * turn. After that it remains the same for subsequent conversation turns * until the conversation is terminated. */ conversationId?: string; /** * Opaque token specified by the Action in the last conversation turn. It can * be used by an Action to track the conversation or to store conversation * related data. */ conversationToken?: string; /** * Type indicates the state of the conversation in its lifecycle. */ type?: GoogleActionsV2ConversationType; } export interface GoogleActionsV2CustomPushMessage { /** * An order update updating orders placed through transaction APIs. */ orderUpdate?: GoogleActionsV2OrdersOrderUpdate; /** * The specified target for the push request. */ target?: GoogleActionsV2CustomPushMessageTarget; /** * If specifi