google-apis-retail_v2alpha 0.103.0 → 0.105.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1410,8 +1410,9 @@ module Google
1410
1410
  class GoogleCloudRetailV2alphaAlertConfigAlertPolicy
1411
1411
  include Google::Apis::Core::Hashable
1412
1412
 
1413
- # The feature that provides alerting capability. Supported value is only `search-
1414
- # data-quality` for now.
1413
+ # The feature that provides alerting capability. Supported value: - `search-data-
1414
+ # quality` for retail search customers. - `conv-data-quality` for retail
1415
+ # conversation customers.
1415
1416
  # Corresponds to the JSON property `alertGroup`
1416
1417
  # @return [String]
1417
1418
  attr_accessor :alert_group
@@ -1580,6 +1581,44 @@ module Google
1580
1581
  end
1581
1582
  end
1582
1583
 
1584
+ # Request for BatchUpdateGenerativeQuestionConfig method.
1585
+ class GoogleCloudRetailV2alphaBatchUpdateGenerativeQuestionConfigsRequest
1586
+ include Google::Apis::Core::Hashable
1587
+
1588
+ # Required. The updates question configs.
1589
+ # Corresponds to the JSON property `requests`
1590
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaUpdateGenerativeQuestionConfigRequest>]
1591
+ attr_accessor :requests
1592
+
1593
+ def initialize(**args)
1594
+ update!(**args)
1595
+ end
1596
+
1597
+ # Update properties of this object
1598
+ def update!(**args)
1599
+ @requests = args[:requests] if args.key?(:requests)
1600
+ end
1601
+ end
1602
+
1603
+ # Aggregated response for UpdateGenerativeQuestionConfig method.
1604
+ class GoogleCloudRetailV2alphaBatchUpdateGenerativeQuestionConfigsResponse
1605
+ include Google::Apis::Core::Hashable
1606
+
1607
+ # Optional. The updates question configs.
1608
+ # Corresponds to the JSON property `generativeQuestionConfigs`
1609
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaGenerativeQuestionConfig>]
1610
+ attr_accessor :generative_question_configs
1611
+
1612
+ def initialize(**args)
1613
+ update!(**args)
1614
+ end
1615
+
1616
+ # Update properties of this object
1617
+ def update!(**args)
1618
+ @generative_question_configs = args[:generative_question_configs] if args.key?(:generative_question_configs)
1619
+ end
1620
+ end
1621
+
1583
1622
  # A BigQuery output result.
1584
1623
  class GoogleCloudRetailV2alphaBigQueryOutputResult
1585
1624
  include Google::Apis::Core::Hashable
@@ -1712,28 +1751,6 @@ module Google
1712
1751
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaBranchProductCountStatistic>]
1713
1752
  attr_accessor :product_count_stats
1714
1753
 
1715
- # Output only. The number of products in different groups that this branch has.
1716
- # The key is a group representing a set of products, and the value is the number
1717
- # of products in that group. Note: keys in this map may change over time.
1718
- # Possible keys: * "primary-in-stock", products have Product.Type.PRIMARY type
1719
- # and Product.Availability.IN_STOCK availability. * "primary-out-of-stock",
1720
- # products have Product.Type.PRIMARY type and Product.Availability.OUT_OF_STOCK
1721
- # availability. * "primary-preorder", products have Product.Type.PRIMARY type
1722
- # and Product.Availability.PREORDER availability. * "primary-backorder",
1723
- # products have Product.Type.PRIMARY type and Product.Availability.BACKORDER
1724
- # availability. * "variant-in-stock", products have Product.Type.VARIANT type
1725
- # and Product.Availability.IN_STOCK availability. * "variant-out-of-stock",
1726
- # products have Product.Type.VARIANT type and Product.Availability.OUT_OF_STOCK
1727
- # availability. * "variant-preorder", products have Product.Type.VARIANT type
1728
- # and Product.Availability.PREORDER availability. * "variant-backorder",
1729
- # products have Product.Type.VARIANT type and Product.Availability.BACKORDER
1730
- # availability. * "price-discounted", products have [Product.price_info.price] <
1731
- # [Product.price_info.original_price]. This field is not populated in BranchView.
1732
- # BASIC view.
1733
- # Corresponds to the JSON property `productCounts`
1734
- # @return [Hash<String,Fixnum>]
1735
- attr_accessor :product_counts
1736
-
1737
1754
  # Output only. The quality metrics measured among products of this branch. See
1738
1755
  # QualityMetric.requirement_key for supported metrics. Metrics could be missing
1739
1756
  # if failed to retrieve. This field is not populated in BranchView.BASIC view.
@@ -1752,7 +1769,6 @@ module Google
1752
1769
  @last_product_import_time = args[:last_product_import_time] if args.key?(:last_product_import_time)
1753
1770
  @name = args[:name] if args.key?(:name)
1754
1771
  @product_count_stats = args[:product_count_stats] if args.key?(:product_count_stats)
1755
- @product_counts = args[:product_counts] if args.key?(:product_counts)
1756
1772
  @quality_metrics = args[:quality_metrics] if args.key?(:quality_metrics)
1757
1773
  end
1758
1774
  end
@@ -1934,14 +1950,13 @@ module Google
1934
1950
  # Output only. Indicates whether this attribute has been used by any products. `
1935
1951
  # True` if at least one Product is using this attribute in Product.attributes.
1936
1952
  # Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using
1937
- # CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or
1938
- # CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-
1939
- # loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither
1940
- # in use by products nor predefined can be deleted. Catalog attributes that are
1941
- # either in use by products or are predefined attributes cannot be deleted;
1942
- # however, their configuration properties will reset to default values upon
1943
- # removal request. After catalog changes, it takes about 10 minutes for this
1944
- # field to update.
1953
+ # CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig
1954
+ # APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded
1955
+ # catalog attributes that are neither in use by products nor predefined can be
1956
+ # deleted. Catalog attributes that are either in use by products or are
1957
+ # predefined attributes cannot be deleted; however, their configuration
1958
+ # properties will reset to default values upon removal request. After catalog
1959
+ # changes, it takes about 10 minutes for this field to update.
1945
1960
  # Corresponds to the JSON property `inUse`
1946
1961
  # @return [Boolean]
1947
1962
  attr_accessor :in_use
@@ -2142,13 +2157,6 @@ module Google
2142
2157
  # @return [String]
2143
2158
  attr_accessor :merged_facet_key
2144
2159
 
2145
- # Each instance is a list of facet values that map into the same (possibly
2146
- # different) merged facet value. For the current attribute config, each facet
2147
- # value should map to at most one merged facet value.
2148
- # Corresponds to the JSON property `mergedFacetValues`
2149
- # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaCatalogAttributeFacetConfigMergedFacetValue>]
2150
- attr_accessor :merged_facet_values
2151
-
2152
2160
  def initialize(**args)
2153
2161
  update!(**args)
2154
2162
  end
@@ -2156,7 +2164,6 @@ module Google
2156
2164
  # Update properties of this object
2157
2165
  def update!(**args)
2158
2166
  @merged_facet_key = args[:merged_facet_key] if args.key?(:merged_facet_key)
2159
- @merged_facet_values = args[:merged_facet_values] if args.key?(:merged_facet_values)
2160
2167
  end
2161
2168
  end
2162
2169
 
@@ -2314,11 +2321,12 @@ module Google
2314
2321
  end
2315
2322
  end
2316
2323
 
2317
- # Resource that represents attribute results.
2324
+ # Resource that represents attribute results. The list of suggestions for the
2325
+ # attribute.
2318
2326
  class GoogleCloudRetailV2alphaCompleteQueryResponseAttributeResult
2319
2327
  include Google::Apis::Core::Hashable
2320
2328
 
2321
- # The list of suggestions for the attribute.
2329
+ #
2322
2330
  # Corresponds to the JSON property `suggestions`
2323
2331
  # @return [Array<String>]
2324
2332
  attr_accessor :suggestions
@@ -2378,7 +2386,7 @@ module Google
2378
2386
  end
2379
2387
  end
2380
2388
 
2381
- # Recent search of this user.
2389
+ # Deprecated: Recent search of this user.
2382
2390
  class GoogleCloudRetailV2alphaCompleteQueryResponseRecentSearchResult
2383
2391
  include Google::Apis::Core::Hashable
2384
2392
 
@@ -2868,7 +2876,7 @@ module Google
2868
2876
  end
2869
2877
  end
2870
2878
 
2871
- # Metadata for active A/B testing Experiment.
2879
+ # Metadata for active A/B testing experiment.
2872
2880
  class GoogleCloudRetailV2alphaExperimentInfo
2873
2881
  include Google::Apis::Core::Hashable
2874
2882
 
@@ -2899,8 +2907,8 @@ module Google
2899
2907
  class GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment
2900
2908
  include Google::Apis::Core::Hashable
2901
2909
 
2902
- # The fully qualified resource name of the serving config Experiment.VariantArm.
2903
- # serving_config_id responsible for generating the search response. For example:
2910
+ # The fully qualified resource name of the serving config `Experiment.VariantArm.
2911
+ # serving_config_id` responsible for generating the search response. For example:
2904
2912
  # `projects/*/locations/*/catalogs/*/servingConfigs/*`.
2905
2913
  # Corresponds to the JSON property `experimentServingConfig`
2906
2914
  # @return [String]
@@ -3039,6 +3047,58 @@ module Google
3039
3047
  end
3040
3048
  end
3041
3049
 
3050
+ # Request message for ExportProducts method.
3051
+ class GoogleCloudRetailV2alphaExportProductsRequest
3052
+ include Google::Apis::Core::Hashable
3053
+
3054
+ # A filtering expression to specify restrictions on returned events. The
3055
+ # expression is a sequence of terms. Each term applies a restriction to the
3056
+ # returned products. Use this expression to restrict results to a specific time
3057
+ # range, tag, or stock state or to filter products by product type. For example,
3058
+ # `lastModifiedTime > "2012-04-23T18:25:43.511Z" lastModifiedTime<"2012-04-23T18:
3059
+ # 25:43.511Z" productType=primary` We expect only four types of fields: * `
3060
+ # lastModifiedTime`: This can be specified twice, once with a less than operator
3061
+ # and once with a greater than operator. The `lastModifiedTime` restriction
3062
+ # should result in one, contiguous, valid, last-modified, time range. * `
3063
+ # productType`: Supported values are `primary` and `variant`. The Boolean
3064
+ # operators `OR` and `NOT` are supported if the expression is enclosed in
3065
+ # parentheses and must be separated from the `productType` values by a space. * `
3066
+ # availability`: Supported values are `IN_STOCK`, `OUT_OF_STOCK`, `PREORDER`,
3067
+ # and `BACKORDER`. Boolean operators `OR` and `NOT` are supported if the
3068
+ # expression is enclosed in parentheses and must be separated from the `
3069
+ # availability` values by a space. * `Tag expressions`: Restricts output to
3070
+ # products that match all of the specified tags. Boolean operators `OR` and `NOT`
3071
+ # are supported if the expression is enclosed in parentheses and the operators
3072
+ # are separated from the tag values by a space. Also supported is '`-"tagA"`',
3073
+ # which is equivalent to '`NOT "tagA"`'. Tag values must be double-quoted, UTF-8
3074
+ # encoded strings and have a size limit of 1,000 characters. Some examples of
3075
+ # valid filters expressions: * Example 1: `lastModifiedTime > "2012-04-23T18:25:
3076
+ # 43.511Z" lastModifiedTime < "2012-04-23T18:30:43.511Z"` * Example 2: `
3077
+ # lastModifiedTime > "2012-04-23T18:25:43.511Z" productType = "variant"` *
3078
+ # Example 3: `tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional")
3079
+ # productType = "primary" lastModifiedTime < "2018-04-23T18:30:43.511Z"` *
3080
+ # Example 4: `lastModifiedTime > "2012-04-23T18:25:43.511Z"` * Example 5: `
3081
+ # availability = (IN_STOCK OR BACKORDER)`
3082
+ # Corresponds to the JSON property `filter`
3083
+ # @return [String]
3084
+ attr_accessor :filter
3085
+
3086
+ # The output configuration setting.
3087
+ # Corresponds to the JSON property `outputConfig`
3088
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaOutputConfig]
3089
+ attr_accessor :output_config
3090
+
3091
+ def initialize(**args)
3092
+ update!(**args)
3093
+ end
3094
+
3095
+ # Update properties of this object
3096
+ def update!(**args)
3097
+ @filter = args[:filter] if args.key?(:filter)
3098
+ @output_config = args[:output_config] if args.key?(:output_config)
3099
+ end
3100
+ end
3101
+
3042
3102
  # Response of the ExportProductsRequest. If the long running operation is done,
3043
3103
  # then this message is returned by the google.longrunning.Operations.response
3044
3104
  # field if the operation was successful.
@@ -3073,6 +3133,51 @@ module Google
3073
3133
  end
3074
3134
  end
3075
3135
 
3136
+ # Request message for the `ExportUserEvents` method.
3137
+ class GoogleCloudRetailV2alphaExportUserEventsRequest
3138
+ include Google::Apis::Core::Hashable
3139
+
3140
+ # A filtering expression to specify restrictions on returned events. The
3141
+ # expression is a sequence of terms. Each term applies a restriction to the
3142
+ # returned user events. Use this expression to restrict results to a specific
3143
+ # time range or to filter events by eventType. For example, `eventTime > "2012-
3144
+ # 04-23T18:25:43.511Z" eventsMissingCatalogItems eventTime<"2012-04-23T18:25:43.
3145
+ # 511Z" eventType=search` We expect only three types of fields: * `eventTime`:
3146
+ # This can be specified twice, once with a less than operator and once with a
3147
+ # greater than operator. The `eventTime` restriction should result in one,
3148
+ # contiguous, valid, `eventTime` range. * `eventType`: Boolean operators `OR`
3149
+ # and `NOT` are supported if the expression is enclosed in parentheses and the
3150
+ # operators are separated from the tag values by a space. * `
3151
+ # eventsMissingCatalogItems`: This restricts results to events for which catalog
3152
+ # items were not found in the catalog. The default behavior is to return only
3153
+ # those events for which catalog items were found. Some examples of valid
3154
+ # filters expressions: * Example 1: `eventTime > "2012-04-23T18:25:43.511Z"
3155
+ # eventTime < "2012-04-23T18:30:43.511Z"` * Example 2: `eventTime > "2012-04-
3156
+ # 23T18:25:43.511Z" eventType = detail-page-view` * Example 3: `
3157
+ # eventsMissingCatalogItems eventType = (NOT search) eventTime < "2018-04-23T18:
3158
+ # 30:43.511Z"` * Example 4: `eventTime > "2012-04-23T18:25:43.511Z"` * Example 5:
3159
+ # `eventType = (detail-page-view OR search)` * Example 6: `
3160
+ # eventsMissingCatalogItems`
3161
+ # Corresponds to the JSON property `filter`
3162
+ # @return [String]
3163
+ attr_accessor :filter
3164
+
3165
+ # The output configuration setting.
3166
+ # Corresponds to the JSON property `outputConfig`
3167
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaOutputConfig]
3168
+ attr_accessor :output_config
3169
+
3170
+ def initialize(**args)
3171
+ update!(**args)
3172
+ end
3173
+
3174
+ # Update properties of this object
3175
+ def update!(**args)
3176
+ @filter = args[:filter] if args.key?(:filter)
3177
+ @output_config = args[:output_config] if args.key?(:output_config)
3178
+ end
3179
+ end
3180
+
3076
3181
  # Response of the ExportUserEventsRequest. If the long running operation was
3077
3182
  # successful, then this message is returned by the google.longrunning.Operations.
3078
3183
  # response field if the operation was successful.
@@ -3202,6 +3307,99 @@ module Google
3202
3307
  end
3203
3308
  end
3204
3309
 
3310
+ # Configuration for a single generated question.
3311
+ class GoogleCloudRetailV2alphaGenerativeQuestionConfig
3312
+ include Google::Apis::Core::Hashable
3313
+
3314
+ # Optional. Whether the question is asked at serving time.
3315
+ # Corresponds to the JSON property `allowedInConversation`
3316
+ # @return [Boolean]
3317
+ attr_accessor :allowed_in_conversation
3318
+ alias_method :allowed_in_conversation?, :allowed_in_conversation
3319
+
3320
+ # Required. Resource name of the catalog. Format: projects/`project`/locations/`
3321
+ # location`/catalogs/`catalog`
3322
+ # Corresponds to the JSON property `catalog`
3323
+ # @return [String]
3324
+ attr_accessor :catalog
3325
+
3326
+ # Output only. Values that can be used to answer the question.
3327
+ # Corresponds to the JSON property `exampleValues`
3328
+ # @return [Array<String>]
3329
+ attr_accessor :example_values
3330
+
3331
+ # Required. The facet to which the question is associated.
3332
+ # Corresponds to the JSON property `facet`
3333
+ # @return [String]
3334
+ attr_accessor :facet
3335
+
3336
+ # Optional. The question that will be used at serving time. Question can have a
3337
+ # max length of 300 bytes. When not populated, generated_question should be used.
3338
+ # Corresponds to the JSON property `finalQuestion`
3339
+ # @return [String]
3340
+ attr_accessor :final_question
3341
+
3342
+ # Output only. The ratio of how often a question was asked.
3343
+ # Corresponds to the JSON property `frequency`
3344
+ # @return [Float]
3345
+ attr_accessor :frequency
3346
+
3347
+ # Output only. The LLM generated question.
3348
+ # Corresponds to the JSON property `generatedQuestion`
3349
+ # @return [String]
3350
+ attr_accessor :generated_question
3351
+
3352
+ def initialize(**args)
3353
+ update!(**args)
3354
+ end
3355
+
3356
+ # Update properties of this object
3357
+ def update!(**args)
3358
+ @allowed_in_conversation = args[:allowed_in_conversation] if args.key?(:allowed_in_conversation)
3359
+ @catalog = args[:catalog] if args.key?(:catalog)
3360
+ @example_values = args[:example_values] if args.key?(:example_values)
3361
+ @facet = args[:facet] if args.key?(:facet)
3362
+ @final_question = args[:final_question] if args.key?(:final_question)
3363
+ @frequency = args[:frequency] if args.key?(:frequency)
3364
+ @generated_question = args[:generated_question] if args.key?(:generated_question)
3365
+ end
3366
+ end
3367
+
3368
+ # Configuration for overall generative question feature state.
3369
+ class GoogleCloudRetailV2alphaGenerativeQuestionsFeatureConfig
3370
+ include Google::Apis::Core::Hashable
3371
+
3372
+ # Required. Resource name of the affected catalog. Format: projects/`project`/
3373
+ # locations/`location`/catalogs/`catalog`
3374
+ # Corresponds to the JSON property `catalog`
3375
+ # @return [String]
3376
+ attr_accessor :catalog
3377
+
3378
+ # Optional. Determines whether questions will be used at serving time. Note:
3379
+ # This feature cannot be enabled until initial data requirements are satisfied.
3380
+ # Corresponds to the JSON property `featureEnabled`
3381
+ # @return [Boolean]
3382
+ attr_accessor :feature_enabled
3383
+ alias_method :feature_enabled?, :feature_enabled
3384
+
3385
+ # Optional. Minimum number of products in the response to trigger follow-up
3386
+ # questions. Value must be 0 or positive.
3387
+ # Corresponds to the JSON property `minimumProducts`
3388
+ # @return [Fixnum]
3389
+ attr_accessor :minimum_products
3390
+
3391
+ def initialize(**args)
3392
+ update!(**args)
3393
+ end
3394
+
3395
+ # Update properties of this object
3396
+ def update!(**args)
3397
+ @catalog = args[:catalog] if args.key?(:catalog)
3398
+ @feature_enabled = args[:feature_enabled] if args.key?(:feature_enabled)
3399
+ @minimum_products = args[:minimum_products] if args.key?(:minimum_products)
3400
+ end
3401
+ end
3402
+
3205
3403
  # Response message of CatalogService.GetDefaultBranch.
3206
3404
  class GoogleCloudRetailV2alphaGetDefaultBranchResponse
3207
3405
  include Google::Apis::Core::Hashable
@@ -3686,6 +3884,25 @@ module Google
3686
3884
  end
3687
3885
  end
3688
3886
 
3887
+ # Response for ListQuestions method.
3888
+ class GoogleCloudRetailV2alphaListGenerativeQuestionConfigsResponse
3889
+ include Google::Apis::Core::Hashable
3890
+
3891
+ # All the questions for a given catalog.
3892
+ # Corresponds to the JSON property `generativeQuestionConfigs`
3893
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaGenerativeQuestionConfig>]
3894
+ attr_accessor :generative_question_configs
3895
+
3896
+ def initialize(**args)
3897
+ update!(**args)
3898
+ end
3899
+
3900
+ # Update properties of this object
3901
+ def update!(**args)
3902
+ @generative_question_configs = args[:generative_question_configs] if args.key?(:generative_question_configs)
3903
+ end
3904
+ end
3905
+
3689
3906
  # Response for MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks
3690
3907
  # method.
3691
3908
  class GoogleCloudRetailV2alphaListMerchantCenterAccountLinksResponse
@@ -3795,8 +4012,8 @@ module Google
3795
4012
  class GoogleCloudRetailV2alphaLocalInventory
3796
4013
  include Google::Apis::Core::Hashable
3797
4014
 
3798
- # Additional local inventory attributes, for example, store name, promotion tags,
3799
- # etc. This field needs to pass all below criteria, otherwise an
4015
+ # Optional. Additional local inventory attributes, for example, store name,
4016
+ # promotion tags, etc. This field needs to pass all below criteria, otherwise an
3800
4017
  # INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The
3801
4018
  # key must be a UTF-8 encoded string with a length limit of 32 characters. * The
3802
4019
  # key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or
@@ -3809,7 +4026,20 @@ module Google
3809
4026
  # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaCustomAttribute>]
3810
4027
  attr_accessor :attributes
3811
4028
 
3812
- # Input only. Supported fulfillment types. Valid fulfillment type values include
4029
+ # Optional. The availability of the Product at this place_id. Default to
4030
+ # Availability.IN_STOCK. For primary products with variants set the availability
4031
+ # of the primary as Availability.OUT_OF_STOCK and set the true availability at
4032
+ # the variant level. This way the primary product will be considered "in stock"
4033
+ # as long as it has at least one variant in stock. For primary products with no
4034
+ # variants set the true availability at the primary level. Corresponding
4035
+ # properties: Google Merchant Center property [availability](https://support.
4036
+ # google.com/merchants/answer/6324448). Schema.org property [Offer.availability](
4037
+ # https://schema.org/availability).
4038
+ # Corresponds to the JSON property `availability`
4039
+ # @return [String]
4040
+ attr_accessor :availability
4041
+
4042
+ # Optional. Supported fulfillment types. Valid fulfillment type values include
3813
4043
  # commonly used types (such as pickup in store and same day delivery), and
3814
4044
  # custom types. Customers have to map custom types to their display names before
3815
4045
  # rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-
@@ -3821,7 +4051,7 @@ module Google
3821
4051
  # @return [Array<String>]
3822
4052
  attr_accessor :fulfillment_types
3823
4053
 
3824
- # The place ID for the current set of inventory information.
4054
+ # Required. The place ID for the current set of inventory information.
3825
4055
  # Corresponds to the JSON property `placeId`
3826
4056
  # @return [String]
3827
4057
  attr_accessor :place_id
@@ -3838,6 +4068,7 @@ module Google
3838
4068
  # Update properties of this object
3839
4069
  def update!(**args)
3840
4070
  @attributes = args[:attributes] if args.key?(:attributes)
4071
+ @availability = args[:availability] if args.key?(:availability)
3841
4072
  @fulfillment_types = args[:fulfillment_types] if args.key?(:fulfillment_types)
3842
4073
  @place_id = args[:place_id] if args.key?(:place_id)
3843
4074
  @price_info = args[:price_info] if args.key?(:price_info)
@@ -4606,6 +4837,52 @@ module Google
4606
4837
  end
4607
4838
  end
4608
4839
 
4840
+ # Metadata for pinning to be returned in the response. This is used for
4841
+ # distinguishing between applied vs dropped pins.
4842
+ class GoogleCloudRetailV2alphaPinControlMetadata
4843
+ include Google::Apis::Core::Hashable
4844
+
4845
+ # Map of all matched pins, keyed by pin position.
4846
+ # Corresponds to the JSON property `allMatchedPins`
4847
+ # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaPinControlMetadataProductPins>]
4848
+ attr_accessor :all_matched_pins
4849
+
4850
+ # Map of pins that were dropped due to overlap with other matching pins, keyed
4851
+ # by pin position.
4852
+ # Corresponds to the JSON property `droppedPins`
4853
+ # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaPinControlMetadataProductPins>]
4854
+ attr_accessor :dropped_pins
4855
+
4856
+ def initialize(**args)
4857
+ update!(**args)
4858
+ end
4859
+
4860
+ # Update properties of this object
4861
+ def update!(**args)
4862
+ @all_matched_pins = args[:all_matched_pins] if args.key?(:all_matched_pins)
4863
+ @dropped_pins = args[:dropped_pins] if args.key?(:dropped_pins)
4864
+ end
4865
+ end
4866
+
4867
+ # List of product ids which have associated pins.
4868
+ class GoogleCloudRetailV2alphaPinControlMetadataProductPins
4869
+ include Google::Apis::Core::Hashable
4870
+
4871
+ # List of product ids which have associated pins.
4872
+ # Corresponds to the JSON property `productId`
4873
+ # @return [Array<String>]
4874
+ attr_accessor :product_id
4875
+
4876
+ def initialize(**args)
4877
+ update!(**args)
4878
+ end
4879
+
4880
+ # Update properties of this object
4881
+ def update!(**args)
4882
+ @product_id = args[:product_id] if args.key?(:product_id)
4883
+ end
4884
+ end
4885
+
4609
4886
  # Request message for Predict method.
4610
4887
  class GoogleCloudRetailV2alphaPredictRequest
4611
4888
  include Google::Apis::Core::Hashable
@@ -4917,10 +5194,15 @@ module Google
4917
5194
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaAudience]
4918
5195
  attr_accessor :audience
4919
5196
 
4920
- # The online availability of the Product. Default to Availability.IN_STOCK.
4921
- # Corresponding properties: Google Merchant Center property [availability](https:
4922
- # //support.google.com/merchants/answer/6324448). Schema.org property [Offer.
4923
- # availability](https://schema.org/availability).
5197
+ # The online availability of the Product. Default to Availability.IN_STOCK. For
5198
+ # primary products with variants set the availability of the primary as
5199
+ # Availability.OUT_OF_STOCK and set the true availability at the variant level.
5200
+ # This way the primary product will be considered "in stock" as long as it has
5201
+ # at least one variant in stock. For primary products with no variants set the
5202
+ # true availability at the primary level. Corresponding properties: Google
5203
+ # Merchant Center property [availability](https://support.google.com/merchants/
5204
+ # answer/6324448). Schema.org property [Offer.availability](https://schema.org/
5205
+ # availability).
4924
5206
  # Corresponds to the JSON property `availability`
4925
5207
  # @return [String]
4926
5208
  attr_accessor :availability
@@ -5148,10 +5430,9 @@ module Google
5148
5430
  # attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION,
5149
5431
  # the following fields are always returned in SearchResponse by default: * name
5150
5432
  # For Type.VARIANT, the following fields are always returned in by default: *
5151
- # name * color_info The maximum number of paths is 30. Otherwise, an
5152
- # INVALID_ARGUMENT error is returned. Note: Returning more fields in
5153
- # SearchResponse can increase response payload size and serving latency. This
5154
- # field is deprecated. Use the retrievable site-wide control instead.
5433
+ # name * color_info Note: Returning more fields in SearchResponse can increase
5434
+ # response payload size and serving latency. This field is deprecated. Use the
5435
+ # retrievable site-wide control instead.
5155
5436
  # Corresponds to the JSON property `retrievableFields`
5156
5437
  # @return [String]
5157
5438
  attr_accessor :retrievable_fields
@@ -5276,6 +5557,58 @@ module Google
5276
5557
  end
5277
5558
  end
5278
5559
 
5560
+ # Product attribute name and numeric interval.
5561
+ class GoogleCloudRetailV2alphaProductAttributeInterval
5562
+ include Google::Apis::Core::Hashable
5563
+
5564
+ # A floating point interval.
5565
+ # Corresponds to the JSON property `interval`
5566
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaInterval]
5567
+ attr_accessor :interval
5568
+
5569
+ # The attribute name (e.g. "length")
5570
+ # Corresponds to the JSON property `name`
5571
+ # @return [String]
5572
+ attr_accessor :name
5573
+
5574
+ def initialize(**args)
5575
+ update!(**args)
5576
+ end
5577
+
5578
+ # Update properties of this object
5579
+ def update!(**args)
5580
+ @interval = args[:interval] if args.key?(:interval)
5581
+ @name = args[:name] if args.key?(:name)
5582
+ end
5583
+ end
5584
+
5585
+ # Product attribute which structured by an attribute name and value. This
5586
+ # structure is used in conversational search filters and answers. For example,
5587
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
5588
+ class GoogleCloudRetailV2alphaProductAttributeValue
5589
+ include Google::Apis::Core::Hashable
5590
+
5591
+ # The attribute name.
5592
+ # Corresponds to the JSON property `name`
5593
+ # @return [String]
5594
+ attr_accessor :name
5595
+
5596
+ # The attribute value.
5597
+ # Corresponds to the JSON property `value`
5598
+ # @return [String]
5599
+ attr_accessor :value
5600
+
5601
+ def initialize(**args)
5602
+ update!(**args)
5603
+ end
5604
+
5605
+ # Update properties of this object
5606
+ def update!(**args)
5607
+ @name = args[:name] if args.key?(:name)
5608
+ @value = args[:value] if args.key?(:value)
5609
+ end
5610
+ end
5611
+
5279
5612
  # Detailed product information associated with a user event.
5280
5613
  class GoogleCloudRetailV2alphaProductDetail
5281
5614
  include Google::Apis::Core::Hashable
@@ -6243,7 +6576,7 @@ module Google
6243
6576
  include Google::Apis::Core::Hashable
6244
6577
 
6245
6578
  # Each instance corresponds to a force return attribute for the given condition.
6246
- # There can't be more 3 instances here.
6579
+ # There can't be more 15 instances here.
6247
6580
  # Corresponds to the JSON property `facetPositionAdjustments`
6248
6581
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleForceReturnFacetActionFacetPositionAdjustment>]
6249
6582
  attr_accessor :facet_position_adjustments
@@ -6475,6 +6808,12 @@ module Google
6475
6808
  # @return [String]
6476
6809
  attr_accessor :canonical_filter
6477
6810
 
6811
+ # This field specifies all conversational related parameters addition to
6812
+ # traditional retail search.
6813
+ # Corresponds to the JSON property `conversationalSearchSpec`
6814
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpec]
6815
+ attr_accessor :conversational_search_spec
6816
+
6478
6817
  # The specifications of dynamically generated facets.
6479
6818
  # Corresponds to the JSON property `dynamicFacetSpec`
6480
6819
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec]
@@ -6599,6 +6938,11 @@ module Google
6599
6938
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestSpellCorrectionSpec]
6600
6939
  attr_accessor :spell_correction_spec
6601
6940
 
6941
+ # This field specifies tile navigation related parameters.
6942
+ # Corresponds to the JSON property `tileNavigationSpec`
6943
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestTileNavigationSpec]
6944
+ attr_accessor :tile_navigation_spec
6945
+
6602
6946
  # Information of an end user.
6603
6947
  # Corresponds to the JSON property `userInfo`
6604
6948
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaUserInfo]
@@ -6653,6 +6997,7 @@ module Google
6653
6997
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
6654
6998
  @branch = args[:branch] if args.key?(:branch)
6655
6999
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
7000
+ @conversational_search_spec = args[:conversational_search_spec] if args.key?(:conversational_search_spec)
6656
7001
  @dynamic_facet_spec = args[:dynamic_facet_spec] if args.key?(:dynamic_facet_spec)
6657
7002
  @entity = args[:entity] if args.key?(:entity)
6658
7003
  @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
@@ -6669,6 +7014,7 @@ module Google
6669
7014
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
6670
7015
  @search_mode = args[:search_mode] if args.key?(:search_mode)
6671
7016
  @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
7017
+ @tile_navigation_spec = args[:tile_navigation_spec] if args.key?(:tile_navigation_spec)
6672
7018
  @user_info = args[:user_info] if args.key?(:user_info)
6673
7019
  @variant_rollup_keys = args[:variant_rollup_keys] if args.key?(:variant_rollup_keys)
6674
7020
  @visitor_id = args[:visitor_id] if args.key?(:visitor_id)
@@ -6744,6 +7090,102 @@ module Google
6744
7090
  end
6745
7091
  end
6746
7092
 
7093
+ # This field specifies all conversational related parameters addition to
7094
+ # traditional retail search.
7095
+ class GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpec
7096
+ include Google::Apis::Core::Hashable
7097
+
7098
+ # This field specifies the conversation id, which maintains the state of the
7099
+ # conversation between client side and server side. Use the value from the
7100
+ # previous ConversationalSearchResult.conversation_id. For the initial request,
7101
+ # this should be empty.
7102
+ # Corresponds to the JSON property `conversationId`
7103
+ # @return [String]
7104
+ attr_accessor :conversation_id
7105
+
7106
+ # This field specifies whether the customer would like to do conversational
7107
+ # search. If this field is set to true, conversational related extra information
7108
+ # will be returned from server side, including follow-up question, answer
7109
+ # options, etc.
7110
+ # Corresponds to the JSON property `followupConversationRequested`
7111
+ # @return [Boolean]
7112
+ attr_accessor :followup_conversation_requested
7113
+ alias_method :followup_conversation_requested?, :followup_conversation_requested
7114
+
7115
+ # This field specifies the current user answer during the conversational search.
7116
+ # This can be either user selected from suggested answers or user input plain
7117
+ # text.
7118
+ # Corresponds to the JSON property `userAnswer`
7119
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswer]
7120
+ attr_accessor :user_answer
7121
+
7122
+ def initialize(**args)
7123
+ update!(**args)
7124
+ end
7125
+
7126
+ # Update properties of this object
7127
+ def update!(**args)
7128
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
7129
+ @followup_conversation_requested = args[:followup_conversation_requested] if args.key?(:followup_conversation_requested)
7130
+ @user_answer = args[:user_answer] if args.key?(:user_answer)
7131
+ end
7132
+ end
7133
+
7134
+ # This field specifies the current user answer during the conversational search.
7135
+ # This can be either user selected from suggested answers or user input plain
7136
+ # text.
7137
+ class GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswer
7138
+ include Google::Apis::Core::Hashable
7139
+
7140
+ # This field specifies the selected answers during the conversational search.
7141
+ # Corresponds to the JSON property `selectedAnswer`
7142
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer]
7143
+ attr_accessor :selected_answer
7144
+
7145
+ # This field specifies the incremental input text from the user during the
7146
+ # conversational search.
7147
+ # Corresponds to the JSON property `textAnswer`
7148
+ # @return [String]
7149
+ attr_accessor :text_answer
7150
+
7151
+ def initialize(**args)
7152
+ update!(**args)
7153
+ end
7154
+
7155
+ # Update properties of this object
7156
+ def update!(**args)
7157
+ @selected_answer = args[:selected_answer] if args.key?(:selected_answer)
7158
+ @text_answer = args[:text_answer] if args.key?(:text_answer)
7159
+ end
7160
+ end
7161
+
7162
+ # This field specifies the selected answers during the conversational search.
7163
+ class GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer
7164
+ include Google::Apis::Core::Hashable
7165
+
7166
+ # Product attribute which structured by an attribute name and value. This
7167
+ # structure is used in conversational search filters and answers. For example,
7168
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7169
+ # Corresponds to the JSON property `productAttributeValue`
7170
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
7171
+ attr_accessor :product_attribute_value
7172
+
7173
+ # This field is deprecated and should not be set.
7174
+ # Corresponds to the JSON property `productAttributeValues`
7175
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue>]
7176
+ attr_accessor :product_attribute_values
7177
+
7178
+ def initialize(**args)
7179
+ update!(**args)
7180
+ end
7181
+
7182
+ # Update properties of this object
7183
+ def update!(**args)
7184
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7185
+ @product_attribute_values = args[:product_attribute_values] if args.key?(:product_attribute_values)
7186
+ end
7187
+ end
7188
+
6747
7189
  # The specifications of dynamically generated facets.
6748
7190
  class GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec
6749
7191
  include Google::Apis::Core::Hashable
@@ -7022,6 +7464,35 @@ module Google
7022
7464
  end
7023
7465
  end
7024
7466
 
7467
+ # This field specifies tile navigation related parameters.
7468
+ class GoogleCloudRetailV2alphaSearchRequestTileNavigationSpec
7469
+ include Google::Apis::Core::Hashable
7470
+
7471
+ # This field specifies the tiles which are already clicked in client side. NOTE:
7472
+ # This field is not being used for filtering search products. Client side should
7473
+ # also put all the applied tiles in SearchRequest.filter.
7474
+ # Corresponds to the JSON property `appliedTiles`
7475
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaTile>]
7476
+ attr_accessor :applied_tiles
7477
+
7478
+ # This field specifies whether the customer would like to request tile
7479
+ # navigation.
7480
+ # Corresponds to the JSON property `tileNavigationRequested`
7481
+ # @return [Boolean]
7482
+ attr_accessor :tile_navigation_requested
7483
+ alias_method :tile_navigation_requested?, :tile_navigation_requested
7484
+
7485
+ def initialize(**args)
7486
+ update!(**args)
7487
+ end
7488
+
7489
+ # Update properties of this object
7490
+ def update!(**args)
7491
+ @applied_tiles = args[:applied_tiles] if args.key?(:applied_tiles)
7492
+ @tile_navigation_requested = args[:tile_navigation_requested] if args.key?(:tile_navigation_requested)
7493
+ end
7494
+ end
7495
+
7025
7496
  # Response message for SearchService.Search method.
7026
7497
  class GoogleCloudRetailV2alphaSearchResponse
7027
7498
  include Google::Apis::Core::Hashable
@@ -7039,6 +7510,12 @@ module Google
7039
7510
  # @return [String]
7040
7511
  attr_accessor :attribution_token
7041
7512
 
7513
+ # This field specifies all related information that is needed on client side for
7514
+ # UI rendering of conversational retail search.
7515
+ # Corresponds to the JSON property `conversationalSearchResult`
7516
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResult]
7517
+ attr_accessor :conversational_search_result
7518
+
7042
7519
  # Contains the spell corrected query, if found. If the spell correction type is
7043
7520
  # AUTOMATIC, then the search results are based on corrected_query. Otherwise the
7044
7521
  # original query is used for search.
@@ -7046,7 +7523,7 @@ module Google
7046
7523
  # @return [String]
7047
7524
  attr_accessor :corrected_query
7048
7525
 
7049
- # Metadata related to A/B testing Experiment associated with this response. Only
7526
+ # Metadata related to A/B testing experiment associated with this response. Only
7050
7527
  # exists when an experiment is triggered.
7051
7528
  # Corresponds to the JSON property `experimentInfo`
7052
7529
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaExperimentInfo>]
@@ -7069,6 +7546,12 @@ module Google
7069
7546
  # @return [String]
7070
7547
  attr_accessor :next_page_token
7071
7548
 
7549
+ # Metadata for pinning to be returned in the response. This is used for
7550
+ # distinguishing between applied vs dropped pins.
7551
+ # Corresponds to the JSON property `pinControlMetadata`
7552
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaPinControlMetadata]
7553
+ attr_accessor :pin_control_metadata
7554
+
7072
7555
  # Information describing query expansion including whether expansion has
7073
7556
  # occurred.
7074
7557
  # Corresponds to the JSON property `queryExpansionInfo`
@@ -7087,6 +7570,12 @@ module Google
7087
7570
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseSearchResult>]
7088
7571
  attr_accessor :results
7089
7572
 
7573
+ # This field specifies all related information for tile navigation that will be
7574
+ # used in client side.
7575
+ # Corresponds to the JSON property `tileNavigationResult`
7576
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseTileNavigationResult]
7577
+ attr_accessor :tile_navigation_result
7578
+
7090
7579
  # The estimated total count of matched items irrespective of pagination. The
7091
7580
  # count of results returned by pagination may be less than the total_size that
7092
7581
  # matches.
@@ -7102,18 +7591,123 @@ module Google
7102
7591
  def update!(**args)
7103
7592
  @applied_controls = args[:applied_controls] if args.key?(:applied_controls)
7104
7593
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
7594
+ @conversational_search_result = args[:conversational_search_result] if args.key?(:conversational_search_result)
7105
7595
  @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
7106
7596
  @experiment_info = args[:experiment_info] if args.key?(:experiment_info)
7107
7597
  @facets = args[:facets] if args.key?(:facets)
7108
7598
  @invalid_condition_boost_specs = args[:invalid_condition_boost_specs] if args.key?(:invalid_condition_boost_specs)
7109
7599
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7600
+ @pin_control_metadata = args[:pin_control_metadata] if args.key?(:pin_control_metadata)
7110
7601
  @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
7111
7602
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
7112
7603
  @results = args[:results] if args.key?(:results)
7604
+ @tile_navigation_result = args[:tile_navigation_result] if args.key?(:tile_navigation_result)
7113
7605
  @total_size = args[:total_size] if args.key?(:total_size)
7114
7606
  end
7115
7607
  end
7116
7608
 
7609
+ # This field specifies all related information that is needed on client side for
7610
+ # UI rendering of conversational retail search.
7611
+ class GoogleCloudRetailV2alphaSearchResponseConversationalSearchResult
7612
+ include Google::Apis::Core::Hashable
7613
+
7614
+ # Additional filter that client side need to apply.
7615
+ # Corresponds to the JSON property `additionalFilter`
7616
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter]
7617
+ attr_accessor :additional_filter
7618
+
7619
+ # This field is deprecated but will be kept for backward compatibility. There is
7620
+ # expected to have only one additional filter and the value will be the same to
7621
+ # the same as field `additional_filter`.
7622
+ # Corresponds to the JSON property `additionalFilters`
7623
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter>]
7624
+ attr_accessor :additional_filters
7625
+
7626
+ # Conversation UUID. This field will be stored in client side storage to
7627
+ # maintain the conversation session with server and will be used for next search
7628
+ # request's SearchRequest.ConversationalSearchSpec.conversation_id to restore
7629
+ # conversation state in server.
7630
+ # Corresponds to the JSON property `conversationId`
7631
+ # @return [String]
7632
+ attr_accessor :conversation_id
7633
+
7634
+ # The follow-up question. e.g., `What is the color?`
7635
+ # Corresponds to the JSON property `followupQuestion`
7636
+ # @return [String]
7637
+ attr_accessor :followup_question
7638
+
7639
+ # The current refined query for the conversational search. This field will be
7640
+ # used in customer UI that the query in the search bar should be replaced with
7641
+ # the refined query. For example, if SearchRequest.query is `dress` and next
7642
+ # SearchRequest.ConversationalSearchSpec.UserAnswer.text_answer is `red color`,
7643
+ # which does not match any product attribute value filters, the refined query
7644
+ # will be `dress, red color`.
7645
+ # Corresponds to the JSON property `refinedQuery`
7646
+ # @return [String]
7647
+ attr_accessor :refined_query
7648
+
7649
+ # The answer options provided to client for the follow-up question.
7650
+ # Corresponds to the JSON property `suggestedAnswers`
7651
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultSuggestedAnswer>]
7652
+ attr_accessor :suggested_answers
7653
+
7654
+ def initialize(**args)
7655
+ update!(**args)
7656
+ end
7657
+
7658
+ # Update properties of this object
7659
+ def update!(**args)
7660
+ @additional_filter = args[:additional_filter] if args.key?(:additional_filter)
7661
+ @additional_filters = args[:additional_filters] if args.key?(:additional_filters)
7662
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
7663
+ @followup_question = args[:followup_question] if args.key?(:followup_question)
7664
+ @refined_query = args[:refined_query] if args.key?(:refined_query)
7665
+ @suggested_answers = args[:suggested_answers] if args.key?(:suggested_answers)
7666
+ end
7667
+ end
7668
+
7669
+ # Additional filter that client side need to apply.
7670
+ class GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter
7671
+ include Google::Apis::Core::Hashable
7672
+
7673
+ # Product attribute which structured by an attribute name and value. This
7674
+ # structure is used in conversational search filters and answers. For example,
7675
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7676
+ # Corresponds to the JSON property `productAttributeValue`
7677
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
7678
+ attr_accessor :product_attribute_value
7679
+
7680
+ def initialize(**args)
7681
+ update!(**args)
7682
+ end
7683
+
7684
+ # Update properties of this object
7685
+ def update!(**args)
7686
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7687
+ end
7688
+ end
7689
+
7690
+ # Suggested answers to the follow-up question.
7691
+ class GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultSuggestedAnswer
7692
+ include Google::Apis::Core::Hashable
7693
+
7694
+ # Product attribute which structured by an attribute name and value. This
7695
+ # structure is used in conversational search filters and answers. For example,
7696
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7697
+ # Corresponds to the JSON property `productAttributeValue`
7698
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
7699
+ attr_accessor :product_attribute_value
7700
+
7701
+ def initialize(**args)
7702
+ update!(**args)
7703
+ end
7704
+
7705
+ # Update properties of this object
7706
+ def update!(**args)
7707
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7708
+ end
7709
+ end
7710
+
7117
7711
  # A facet result.
7118
7712
  class GoogleCloudRetailV2alphaSearchResponseFacet
7119
7713
  include Google::Apis::Core::Hashable
@@ -7289,6 +7883,26 @@ module Google
7289
7883
  end
7290
7884
  end
7291
7885
 
7886
+ # This field specifies all related information for tile navigation that will be
7887
+ # used in client side.
7888
+ class GoogleCloudRetailV2alphaSearchResponseTileNavigationResult
7889
+ include Google::Apis::Core::Hashable
7890
+
7891
+ # The current tiles that are used for tile navigation, sorted by engagement.
7892
+ # Corresponds to the JSON property `tiles`
7893
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaTile>]
7894
+ attr_accessor :tiles
7895
+
7896
+ def initialize(**args)
7897
+ update!(**args)
7898
+ end
7899
+
7900
+ # Update properties of this object
7901
+ def update!(**args)
7902
+ @tiles = args[:tiles] if args.key?(:tiles)
7903
+ end
7904
+ end
7905
+
7292
7906
  # Configures metadata that is used to generate serving time results (e.g. search
7293
7907
  # results or recommendation predictions).
7294
7908
  class GoogleCloudRetailV2alphaServingConfig
@@ -7599,6 +8213,41 @@ module Google
7599
8213
  end
7600
8214
  end
7601
8215
 
8216
+ # This field specifies the tile information including an attribute key,
8217
+ # attribute value. More fields will be added in the future, eg: product id or
8218
+ # product counts, etc.
8219
+ class GoogleCloudRetailV2alphaTile
8220
+ include Google::Apis::Core::Hashable
8221
+
8222
+ # Product attribute name and numeric interval.
8223
+ # Corresponds to the JSON property `productAttributeInterval`
8224
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeInterval]
8225
+ attr_accessor :product_attribute_interval
8226
+
8227
+ # Product attribute which structured by an attribute name and value. This
8228
+ # structure is used in conversational search filters and answers. For example,
8229
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8230
+ # Corresponds to the JSON property `productAttributeValue`
8231
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
8232
+ attr_accessor :product_attribute_value
8233
+
8234
+ # The representative product id for this tile.
8235
+ # Corresponds to the JSON property `representativeProductId`
8236
+ # @return [String]
8237
+ attr_accessor :representative_product_id
8238
+
8239
+ def initialize(**args)
8240
+ update!(**args)
8241
+ end
8242
+
8243
+ # Update properties of this object
8244
+ def update!(**args)
8245
+ @product_attribute_interval = args[:product_attribute_interval] if args.key?(:product_attribute_interval)
8246
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8247
+ @representative_product_id = args[:representative_product_id] if args.key?(:representative_product_id)
8248
+ end
8249
+ end
8250
+
7602
8251
  # Metadata related to transform user events operation.
7603
8252
  class GoogleCloudRetailV2alphaTransformedUserEventsMetadata
7604
8253
  include Google::Apis::Core::Hashable
@@ -7673,6 +8322,33 @@ module Google
7673
8322
  end
7674
8323
  end
7675
8324
 
8325
+ # Request for UpdateGenerativeQuestionConfig method.
8326
+ class GoogleCloudRetailV2alphaUpdateGenerativeQuestionConfigRequest
8327
+ include Google::Apis::Core::Hashable
8328
+
8329
+ # Configuration for a single generated question.
8330
+ # Corresponds to the JSON property `generativeQuestionConfig`
8331
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaGenerativeQuestionConfig]
8332
+ attr_accessor :generative_question_config
8333
+
8334
+ # Optional. Indicates which fields in the provided GenerativeQuestionConfig to
8335
+ # update. The following are NOT supported: * GenerativeQuestionConfig.frequency
8336
+ # If not set or empty, all supported fields are updated.
8337
+ # Corresponds to the JSON property `updateMask`
8338
+ # @return [String]
8339
+ attr_accessor :update_mask
8340
+
8341
+ def initialize(**args)
8342
+ update!(**args)
8343
+ end
8344
+
8345
+ # Update properties of this object
8346
+ def update!(**args)
8347
+ @generative_question_config = args[:generative_question_config] if args.key?(:generative_question_config)
8348
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
8349
+ end
8350
+ end
8351
+
7676
8352
  # UserEvent captures all metadata information Retail API needs to know about how
7677
8353
  # end users interact with customers' website.
7678
8354
  class GoogleCloudRetailV2alphaUserEvent
@@ -8012,12 +8688,11 @@ module Google
8012
8688
  # @return [String]
8013
8689
  attr_accessor :ip_address
8014
8690
 
8015
- # User agent as included in the HTTP header. Required for getting SearchResponse.
8016
- # sponsored_results. The field must be a UTF-8 encoded string with a length
8017
- # limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
8018
- # This should not be set when using the client side event reporting with GTM or
8019
- # JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request
8020
- # is set.
8691
+ # User agent as included in the HTTP header. The field must be a UTF-8 encoded
8692
+ # string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT
8693
+ # error is returned. This should not be set when using the client side event
8694
+ # reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or
8695
+ # if direct_user_request is set.
8021
8696
  # Corresponds to the JSON property `userAgent`
8022
8697
  # @return [String]
8023
8698
  attr_accessor :user_agent