google-apis-retail_v2beta 0.99.0 → 0.100.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2635,6 +2635,85 @@ module Google
2635
2635
  end
2636
2636
  end
2637
2637
 
2638
+ # Project level alert config.
2639
+ class GoogleCloudRetailV2betaAlertConfig
2640
+ include Google::Apis::Core::Hashable
2641
+
2642
+ # Alert policies for a customer. They must be unique by [AlertPolicy.alert_group]
2643
+ # Corresponds to the JSON property `alertPolicies`
2644
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAlertConfigAlertPolicy>]
2645
+ attr_accessor :alert_policies
2646
+
2647
+ # Required. Immutable. The name of the AlertConfig singleton resource. Format:
2648
+ # projects/*/alertConfig
2649
+ # Corresponds to the JSON property `name`
2650
+ # @return [String]
2651
+ attr_accessor :name
2652
+
2653
+ def initialize(**args)
2654
+ update!(**args)
2655
+ end
2656
+
2657
+ # Update properties of this object
2658
+ def update!(**args)
2659
+ @alert_policies = args[:alert_policies] if args.key?(:alert_policies)
2660
+ @name = args[:name] if args.key?(:name)
2661
+ end
2662
+ end
2663
+
2664
+ # Alert policy for a customer.
2665
+ class GoogleCloudRetailV2betaAlertConfigAlertPolicy
2666
+ include Google::Apis::Core::Hashable
2667
+
2668
+ # The feature that provides alerting capability. Supported value: - `search-data-
2669
+ # quality` for retail search customers. - `conv-data-quality` for retail
2670
+ # conversation customers.
2671
+ # Corresponds to the JSON property `alertGroup`
2672
+ # @return [String]
2673
+ attr_accessor :alert_group
2674
+
2675
+ # The enrollment status of a customer.
2676
+ # Corresponds to the JSON property `enrollStatus`
2677
+ # @return [String]
2678
+ attr_accessor :enroll_status
2679
+
2680
+ # Recipients for the alert policy. One alert policy should not exceed 20
2681
+ # recipients.
2682
+ # Corresponds to the JSON property `recipients`
2683
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAlertConfigAlertPolicyRecipient>]
2684
+ attr_accessor :recipients
2685
+
2686
+ def initialize(**args)
2687
+ update!(**args)
2688
+ end
2689
+
2690
+ # Update properties of this object
2691
+ def update!(**args)
2692
+ @alert_group = args[:alert_group] if args.key?(:alert_group)
2693
+ @enroll_status = args[:enroll_status] if args.key?(:enroll_status)
2694
+ @recipients = args[:recipients] if args.key?(:recipients)
2695
+ end
2696
+ end
2697
+
2698
+ # Recipient contact information.
2699
+ class GoogleCloudRetailV2betaAlertConfigAlertPolicyRecipient
2700
+ include Google::Apis::Core::Hashable
2701
+
2702
+ # Email address of the recipient.
2703
+ # Corresponds to the JSON property `emailAddress`
2704
+ # @return [String]
2705
+ attr_accessor :email_address
2706
+
2707
+ def initialize(**args)
2708
+ update!(**args)
2709
+ end
2710
+
2711
+ # Update properties of this object
2712
+ def update!(**args)
2713
+ @email_address = args[:email_address] if args.key?(:email_address)
2714
+ end
2715
+ end
2716
+
2638
2717
  # Catalog level attribute config.
2639
2718
  class GoogleCloudRetailV2betaAttributesConfig
2640
2719
  include Google::Apis::Core::Hashable
@@ -2757,6 +2836,44 @@ module Google
2757
2836
  end
2758
2837
  end
2759
2838
 
2839
+ # Request for BatchUpdateGenerativeQuestionConfig method.
2840
+ class GoogleCloudRetailV2betaBatchUpdateGenerativeQuestionConfigsRequest
2841
+ include Google::Apis::Core::Hashable
2842
+
2843
+ # Required. The updates question configs.
2844
+ # Corresponds to the JSON property `requests`
2845
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaUpdateGenerativeQuestionConfigRequest>]
2846
+ attr_accessor :requests
2847
+
2848
+ def initialize(**args)
2849
+ update!(**args)
2850
+ end
2851
+
2852
+ # Update properties of this object
2853
+ def update!(**args)
2854
+ @requests = args[:requests] if args.key?(:requests)
2855
+ end
2856
+ end
2857
+
2858
+ # Aggregated response for UpdateGenerativeQuestionConfig method.
2859
+ class GoogleCloudRetailV2betaBatchUpdateGenerativeQuestionConfigsResponse
2860
+ include Google::Apis::Core::Hashable
2861
+
2862
+ # Optional. The updates question configs.
2863
+ # Corresponds to the JSON property `generativeQuestionConfigs`
2864
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaGenerativeQuestionConfig>]
2865
+ attr_accessor :generative_question_configs
2866
+
2867
+ def initialize(**args)
2868
+ update!(**args)
2869
+ end
2870
+
2871
+ # Update properties of this object
2872
+ def update!(**args)
2873
+ @generative_question_configs = args[:generative_question_configs] if args.key?(:generative_question_configs)
2874
+ end
2875
+ end
2876
+
2760
2877
  # A BigQuery output result.
2761
2878
  class GoogleCloudRetailV2betaBigQueryOutputResult
2762
2879
  include Google::Apis::Core::Hashable
@@ -2926,14 +3043,13 @@ module Google
2926
3043
  # Output only. Indicates whether this attribute has been used by any products. `
2927
3044
  # True` if at least one Product is using this attribute in Product.attributes.
2928
3045
  # Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using
2929
- # CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or
2930
- # CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-
2931
- # loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither
2932
- # in use by products nor predefined can be deleted. Catalog attributes that are
2933
- # either in use by products or are predefined attributes cannot be deleted;
2934
- # however, their configuration properties will reset to default values upon
2935
- # removal request. After catalog changes, it takes about 10 minutes for this
2936
- # field to update.
3046
+ # CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig
3047
+ # APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded
3048
+ # catalog attributes that are neither in use by products nor predefined can be
3049
+ # deleted. Catalog attributes that are either in use by products or are
3050
+ # predefined attributes cannot be deleted; however, their configuration
3051
+ # properties will reset to default values upon removal request. After catalog
3052
+ # changes, it takes about 10 minutes for this field to update.
2937
3053
  # Corresponds to the JSON property `inUse`
2938
3054
  # @return [Boolean]
2939
3055
  attr_accessor :in_use
@@ -3134,13 +3250,6 @@ module Google
3134
3250
  # @return [String]
3135
3251
  attr_accessor :merged_facet_key
3136
3252
 
3137
- # Each instance is a list of facet values that map into the same (possibly
3138
- # different) merged facet value. For the current attribute config, each facet
3139
- # value should map to at most one merged facet value.
3140
- # Corresponds to the JSON property `mergedFacetValues`
3141
- # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCatalogAttributeFacetConfigMergedFacetValue>]
3142
- attr_accessor :merged_facet_values
3143
-
3144
3253
  def initialize(**args)
3145
3254
  update!(**args)
3146
3255
  end
@@ -3148,7 +3257,6 @@ module Google
3148
3257
  # Update properties of this object
3149
3258
  def update!(**args)
3150
3259
  @merged_facet_key = args[:merged_facet_key] if args.key?(:merged_facet_key)
3151
- @merged_facet_values = args[:merged_facet_values] if args.key?(:merged_facet_values)
3152
3260
  end
3153
3261
  end
3154
3262
 
@@ -3261,6 +3369,12 @@ module Google
3261
3369
  class GoogleCloudRetailV2betaCompleteQueryResponse
3262
3370
  include Google::Apis::Core::Hashable
3263
3371
 
3372
+ # A map of matched attribute suggestions. This field is only available for "
3373
+ # cloud-retail" dataset. Current supported keys: * `brands` * `categories`
3374
+ # Corresponds to the JSON property `attributeResults`
3375
+ # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCompleteQueryResponseAttributeResult>]
3376
+ attr_accessor :attribute_results
3377
+
3264
3378
  # A unique complete token. This should be included in the UserEvent.
3265
3379
  # completion_detail for search events resulting from this completion, which
3266
3380
  # enables accurate attribution of complete model performance.
@@ -3293,12 +3407,33 @@ module Google
3293
3407
 
3294
3408
  # Update properties of this object
3295
3409
  def update!(**args)
3410
+ @attribute_results = args[:attribute_results] if args.key?(:attribute_results)
3296
3411
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
3297
3412
  @completion_results = args[:completion_results] if args.key?(:completion_results)
3298
3413
  @recent_search_results = args[:recent_search_results] if args.key?(:recent_search_results)
3299
3414
  end
3300
3415
  end
3301
3416
 
3417
+ # Resource that represents attribute results. The list of suggestions for the
3418
+ # attribute.
3419
+ class GoogleCloudRetailV2betaCompleteQueryResponseAttributeResult
3420
+ include Google::Apis::Core::Hashable
3421
+
3422
+ #
3423
+ # Corresponds to the JSON property `suggestions`
3424
+ # @return [Array<String>]
3425
+ attr_accessor :suggestions
3426
+
3427
+ def initialize(**args)
3428
+ update!(**args)
3429
+ end
3430
+
3431
+ # Update properties of this object
3432
+ def update!(**args)
3433
+ @suggestions = args[:suggestions] if args.key?(:suggestions)
3434
+ end
3435
+ end
3436
+
3302
3437
  # Resource that represents completion results.
3303
3438
  class GoogleCloudRetailV2betaCompleteQueryResponseCompletionResult
3304
3439
  include Google::Apis::Core::Hashable
@@ -3327,7 +3462,7 @@ module Google
3327
3462
  end
3328
3463
  end
3329
3464
 
3330
- # Recent search of this user.
3465
+ # Deprecated: Recent search of this user.
3331
3466
  class GoogleCloudRetailV2betaCompleteQueryResponseRecentSearchResult
3332
3467
  include Google::Apis::Core::Hashable
3333
3468
 
@@ -3739,7 +3874,7 @@ module Google
3739
3874
  end
3740
3875
  end
3741
3876
 
3742
- # Metadata for active A/B testing Experiment.
3877
+ # Metadata for active A/B testing experiment.
3743
3878
  class GoogleCloudRetailV2betaExperimentInfo
3744
3879
  include Google::Apis::Core::Hashable
3745
3880
 
@@ -3770,8 +3905,8 @@ module Google
3770
3905
  class GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment
3771
3906
  include Google::Apis::Core::Hashable
3772
3907
 
3773
- # The fully qualified resource name of the serving config Experiment.VariantArm.
3774
- # serving_config_id responsible for generating the search response. For example:
3908
+ # The fully qualified resource name of the serving config `Experiment.VariantArm.
3909
+ # serving_config_id` responsible for generating the search response. For example:
3775
3910
  # `projects/*/locations/*/catalogs/*/servingConfigs/*`.
3776
3911
  # Corresponds to the JSON property `experimentServingConfig`
3777
3912
  # @return [String]
@@ -3910,6 +4045,58 @@ module Google
3910
4045
  end
3911
4046
  end
3912
4047
 
4048
+ # Request message for ExportProducts method.
4049
+ class GoogleCloudRetailV2betaExportProductsRequest
4050
+ include Google::Apis::Core::Hashable
4051
+
4052
+ # A filtering expression to specify restrictions on returned events. The
4053
+ # expression is a sequence of terms. Each term applies a restriction to the
4054
+ # returned products. Use this expression to restrict results to a specific time
4055
+ # range, tag, or stock state or to filter products by product type. For example,
4056
+ # `lastModifiedTime > "2012-04-23T18:25:43.511Z" lastModifiedTime<"2012-04-23T18:
4057
+ # 25:43.511Z" productType=primary` We expect only four types of fields: * `
4058
+ # lastModifiedTime`: This can be specified twice, once with a less than operator
4059
+ # and once with a greater than operator. The `lastModifiedTime` restriction
4060
+ # should result in one, contiguous, valid, last-modified, time range. * `
4061
+ # productType`: Supported values are `primary` and `variant`. The Boolean
4062
+ # operators `OR` and `NOT` are supported if the expression is enclosed in
4063
+ # parentheses and must be separated from the `productType` values by a space. * `
4064
+ # availability`: Supported values are `IN_STOCK`, `OUT_OF_STOCK`, `PREORDER`,
4065
+ # and `BACKORDER`. Boolean operators `OR` and `NOT` are supported if the
4066
+ # expression is enclosed in parentheses and must be separated from the `
4067
+ # availability` values by a space. * `Tag expressions`: Restricts output to
4068
+ # products that match all of the specified tags. Boolean operators `OR` and `NOT`
4069
+ # are supported if the expression is enclosed in parentheses and the operators
4070
+ # are separated from the tag values by a space. Also supported is '`-"tagA"`',
4071
+ # which is equivalent to '`NOT "tagA"`'. Tag values must be double-quoted, UTF-8
4072
+ # encoded strings and have a size limit of 1,000 characters. Some examples of
4073
+ # valid filters expressions: * Example 1: `lastModifiedTime > "2012-04-23T18:25:
4074
+ # 43.511Z" lastModifiedTime < "2012-04-23T18:30:43.511Z"` * Example 2: `
4075
+ # lastModifiedTime > "2012-04-23T18:25:43.511Z" productType = "variant"` *
4076
+ # Example 3: `tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional")
4077
+ # productType = "primary" lastModifiedTime < "2018-04-23T18:30:43.511Z"` *
4078
+ # Example 4: `lastModifiedTime > "2012-04-23T18:25:43.511Z"` * Example 5: `
4079
+ # availability = (IN_STOCK OR BACKORDER)`
4080
+ # Corresponds to the JSON property `filter`
4081
+ # @return [String]
4082
+ attr_accessor :filter
4083
+
4084
+ # The output configuration setting.
4085
+ # Corresponds to the JSON property `outputConfig`
4086
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaOutputConfig]
4087
+ attr_accessor :output_config
4088
+
4089
+ def initialize(**args)
4090
+ update!(**args)
4091
+ end
4092
+
4093
+ # Update properties of this object
4094
+ def update!(**args)
4095
+ @filter = args[:filter] if args.key?(:filter)
4096
+ @output_config = args[:output_config] if args.key?(:output_config)
4097
+ end
4098
+ end
4099
+
3913
4100
  # Response of the ExportProductsRequest. If the long running operation is done,
3914
4101
  # then this message is returned by the google.longrunning.Operations.response
3915
4102
  # field if the operation was successful.
@@ -3944,6 +4131,51 @@ module Google
3944
4131
  end
3945
4132
  end
3946
4133
 
4134
+ # Request message for the `ExportUserEvents` method.
4135
+ class GoogleCloudRetailV2betaExportUserEventsRequest
4136
+ include Google::Apis::Core::Hashable
4137
+
4138
+ # A filtering expression to specify restrictions on returned events. The
4139
+ # expression is a sequence of terms. Each term applies a restriction to the
4140
+ # returned user events. Use this expression to restrict results to a specific
4141
+ # time range or to filter events by eventType. For example, `eventTime > "2012-
4142
+ # 04-23T18:25:43.511Z" eventsMissingCatalogItems eventTime<"2012-04-23T18:25:43.
4143
+ # 511Z" eventType=search` We expect only three types of fields: * `eventTime`:
4144
+ # This can be specified twice, once with a less than operator and once with a
4145
+ # greater than operator. The `eventTime` restriction should result in one,
4146
+ # contiguous, valid, `eventTime` range. * `eventType`: Boolean operators `OR`
4147
+ # and `NOT` are supported if the expression is enclosed in parentheses and the
4148
+ # operators are separated from the tag values by a space. * `
4149
+ # eventsMissingCatalogItems`: This restricts results to events for which catalog
4150
+ # items were not found in the catalog. The default behavior is to return only
4151
+ # those events for which catalog items were found. Some examples of valid
4152
+ # filters expressions: * Example 1: `eventTime > "2012-04-23T18:25:43.511Z"
4153
+ # eventTime < "2012-04-23T18:30:43.511Z"` * Example 2: `eventTime > "2012-04-
4154
+ # 23T18:25:43.511Z" eventType = detail-page-view` * Example 3: `
4155
+ # eventsMissingCatalogItems eventType = (NOT search) eventTime < "2018-04-23T18:
4156
+ # 30:43.511Z"` * Example 4: `eventTime > "2012-04-23T18:25:43.511Z"` * Example 5:
4157
+ # `eventType = (detail-page-view OR search)` * Example 6: `
4158
+ # eventsMissingCatalogItems`
4159
+ # Corresponds to the JSON property `filter`
4160
+ # @return [String]
4161
+ attr_accessor :filter
4162
+
4163
+ # The output configuration setting.
4164
+ # Corresponds to the JSON property `outputConfig`
4165
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaOutputConfig]
4166
+ attr_accessor :output_config
4167
+
4168
+ def initialize(**args)
4169
+ update!(**args)
4170
+ end
4171
+
4172
+ # Update properties of this object
4173
+ def update!(**args)
4174
+ @filter = args[:filter] if args.key?(:filter)
4175
+ @output_config = args[:output_config] if args.key?(:output_config)
4176
+ end
4177
+ end
4178
+
3947
4179
  # Response of the ExportUserEventsRequest. If the long running operation was
3948
4180
  # successful, then this message is returned by the google.longrunning.Operations.
3949
4181
  # response field if the operation was successful.
@@ -4073,6 +4305,99 @@ module Google
4073
4305
  end
4074
4306
  end
4075
4307
 
4308
+ # Configuration for a single generated question.
4309
+ class GoogleCloudRetailV2betaGenerativeQuestionConfig
4310
+ include Google::Apis::Core::Hashable
4311
+
4312
+ # Optional. Whether the question is asked at serving time.
4313
+ # Corresponds to the JSON property `allowedInConversation`
4314
+ # @return [Boolean]
4315
+ attr_accessor :allowed_in_conversation
4316
+ alias_method :allowed_in_conversation?, :allowed_in_conversation
4317
+
4318
+ # Required. Resource name of the catalog. Format: projects/`project`/locations/`
4319
+ # location`/catalogs/`catalog`
4320
+ # Corresponds to the JSON property `catalog`
4321
+ # @return [String]
4322
+ attr_accessor :catalog
4323
+
4324
+ # Output only. Values that can be used to answer the question.
4325
+ # Corresponds to the JSON property `exampleValues`
4326
+ # @return [Array<String>]
4327
+ attr_accessor :example_values
4328
+
4329
+ # Required. The facet to which the question is associated.
4330
+ # Corresponds to the JSON property `facet`
4331
+ # @return [String]
4332
+ attr_accessor :facet
4333
+
4334
+ # Optional. The question that will be used at serving time. Question can have a
4335
+ # max length of 300 bytes. When not populated, generated_question should be used.
4336
+ # Corresponds to the JSON property `finalQuestion`
4337
+ # @return [String]
4338
+ attr_accessor :final_question
4339
+
4340
+ # Output only. The ratio of how often a question was asked.
4341
+ # Corresponds to the JSON property `frequency`
4342
+ # @return [Float]
4343
+ attr_accessor :frequency
4344
+
4345
+ # Output only. The LLM generated question.
4346
+ # Corresponds to the JSON property `generatedQuestion`
4347
+ # @return [String]
4348
+ attr_accessor :generated_question
4349
+
4350
+ def initialize(**args)
4351
+ update!(**args)
4352
+ end
4353
+
4354
+ # Update properties of this object
4355
+ def update!(**args)
4356
+ @allowed_in_conversation = args[:allowed_in_conversation] if args.key?(:allowed_in_conversation)
4357
+ @catalog = args[:catalog] if args.key?(:catalog)
4358
+ @example_values = args[:example_values] if args.key?(:example_values)
4359
+ @facet = args[:facet] if args.key?(:facet)
4360
+ @final_question = args[:final_question] if args.key?(:final_question)
4361
+ @frequency = args[:frequency] if args.key?(:frequency)
4362
+ @generated_question = args[:generated_question] if args.key?(:generated_question)
4363
+ end
4364
+ end
4365
+
4366
+ # Configuration for overall generative question feature state.
4367
+ class GoogleCloudRetailV2betaGenerativeQuestionsFeatureConfig
4368
+ include Google::Apis::Core::Hashable
4369
+
4370
+ # Required. Resource name of the affected catalog. Format: projects/`project`/
4371
+ # locations/`location`/catalogs/`catalog`
4372
+ # Corresponds to the JSON property `catalog`
4373
+ # @return [String]
4374
+ attr_accessor :catalog
4375
+
4376
+ # Optional. Determines whether questions will be used at serving time. Note:
4377
+ # This feature cannot be enabled until initial data requirements are satisfied.
4378
+ # Corresponds to the JSON property `featureEnabled`
4379
+ # @return [Boolean]
4380
+ attr_accessor :feature_enabled
4381
+ alias_method :feature_enabled?, :feature_enabled
4382
+
4383
+ # Optional. Minimum number of products in the response to trigger follow-up
4384
+ # questions. Value must be 0 or positive.
4385
+ # Corresponds to the JSON property `minimumProducts`
4386
+ # @return [Fixnum]
4387
+ attr_accessor :minimum_products
4388
+
4389
+ def initialize(**args)
4390
+ update!(**args)
4391
+ end
4392
+
4393
+ # Update properties of this object
4394
+ def update!(**args)
4395
+ @catalog = args[:catalog] if args.key?(:catalog)
4396
+ @feature_enabled = args[:feature_enabled] if args.key?(:feature_enabled)
4397
+ @minimum_products = args[:minimum_products] if args.key?(:minimum_products)
4398
+ end
4399
+ end
4400
+
4076
4401
  # Response message of CatalogService.GetDefaultBranch.
4077
4402
  class GoogleCloudRetailV2betaGetDefaultBranchResponse
4078
4403
  include Google::Apis::Core::Hashable
@@ -4503,6 +4828,25 @@ module Google
4503
4828
  end
4504
4829
  end
4505
4830
 
4831
+ # Response for ListQuestions method.
4832
+ class GoogleCloudRetailV2betaListGenerativeQuestionConfigsResponse
4833
+ include Google::Apis::Core::Hashable
4834
+
4835
+ # All the questions for a given catalog.
4836
+ # Corresponds to the JSON property `generativeQuestionConfigs`
4837
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaGenerativeQuestionConfig>]
4838
+ attr_accessor :generative_question_configs
4839
+
4840
+ def initialize(**args)
4841
+ update!(**args)
4842
+ end
4843
+
4844
+ # Update properties of this object
4845
+ def update!(**args)
4846
+ @generative_question_configs = args[:generative_question_configs] if args.key?(:generative_question_configs)
4847
+ end
4848
+ end
4849
+
4506
4850
  # Response to a ListModelRequest.
4507
4851
  class GoogleCloudRetailV2betaListModelsResponse
4508
4852
  include Google::Apis::Core::Hashable
@@ -4583,8 +4927,8 @@ module Google
4583
4927
  class GoogleCloudRetailV2betaLocalInventory
4584
4928
  include Google::Apis::Core::Hashable
4585
4929
 
4586
- # Additional local inventory attributes, for example, store name, promotion tags,
4587
- # etc. This field needs to pass all below criteria, otherwise an
4930
+ # Optional. Additional local inventory attributes, for example, store name,
4931
+ # promotion tags, etc. This field needs to pass all below criteria, otherwise an
4588
4932
  # INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The
4589
4933
  # key must be a UTF-8 encoded string with a length limit of 32 characters. * The
4590
4934
  # key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or
@@ -4597,7 +4941,20 @@ module Google
4597
4941
  # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>]
4598
4942
  attr_accessor :attributes
4599
4943
 
4600
- # Input only. Supported fulfillment types. Valid fulfillment type values include
4944
+ # Optional. The availability of the Product at this place_id. Default to
4945
+ # Availability.IN_STOCK. For primary products with variants set the availability
4946
+ # of the primary as Availability.OUT_OF_STOCK and set the true availability at
4947
+ # the variant level. This way the primary product will be considered "in stock"
4948
+ # as long as it has at least one variant in stock. For primary products with no
4949
+ # variants set the true availability at the primary level. Corresponding
4950
+ # properties: Google Merchant Center property [availability](https://support.
4951
+ # google.com/merchants/answer/6324448). Schema.org property [Offer.availability](
4952
+ # https://schema.org/availability).
4953
+ # Corresponds to the JSON property `availability`
4954
+ # @return [String]
4955
+ attr_accessor :availability
4956
+
4957
+ # Optional. Supported fulfillment types. Valid fulfillment type values include
4601
4958
  # commonly used types (such as pickup in store and same day delivery), and
4602
4959
  # custom types. Customers have to map custom types to their display names before
4603
4960
  # rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-
@@ -4609,7 +4966,7 @@ module Google
4609
4966
  # @return [Array<String>]
4610
4967
  attr_accessor :fulfillment_types
4611
4968
 
4612
- # The place ID for the current set of inventory information.
4969
+ # Required. The place ID for the current set of inventory information.
4613
4970
  # Corresponds to the JSON property `placeId`
4614
4971
  # @return [String]
4615
4972
  attr_accessor :place_id
@@ -4626,6 +4983,7 @@ module Google
4626
4983
  # Update properties of this object
4627
4984
  def update!(**args)
4628
4985
  @attributes = args[:attributes] if args.key?(:attributes)
4986
+ @availability = args[:availability] if args.key?(:availability)
4629
4987
  @fulfillment_types = args[:fulfillment_types] if args.key?(:fulfillment_types)
4630
4988
  @place_id = args[:place_id] if args.key?(:place_id)
4631
4989
  @price_info = args[:price_info] if args.key?(:price_info)
@@ -5074,6 +5432,52 @@ module Google
5074
5432
  end
5075
5433
  end
5076
5434
 
5435
+ # Metadata for pinning to be returned in the response. This is used for
5436
+ # distinguishing between applied vs dropped pins.
5437
+ class GoogleCloudRetailV2betaPinControlMetadata
5438
+ include Google::Apis::Core::Hashable
5439
+
5440
+ # Map of all matched pins, keyed by pin position.
5441
+ # Corresponds to the JSON property `allMatchedPins`
5442
+ # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPinControlMetadataProductPins>]
5443
+ attr_accessor :all_matched_pins
5444
+
5445
+ # Map of pins that were dropped due to overlap with other matching pins, keyed
5446
+ # by pin position.
5447
+ # Corresponds to the JSON property `droppedPins`
5448
+ # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPinControlMetadataProductPins>]
5449
+ attr_accessor :dropped_pins
5450
+
5451
+ def initialize(**args)
5452
+ update!(**args)
5453
+ end
5454
+
5455
+ # Update properties of this object
5456
+ def update!(**args)
5457
+ @all_matched_pins = args[:all_matched_pins] if args.key?(:all_matched_pins)
5458
+ @dropped_pins = args[:dropped_pins] if args.key?(:dropped_pins)
5459
+ end
5460
+ end
5461
+
5462
+ # List of product ids which have associated pins.
5463
+ class GoogleCloudRetailV2betaPinControlMetadataProductPins
5464
+ include Google::Apis::Core::Hashable
5465
+
5466
+ # List of product ids which have associated pins.
5467
+ # Corresponds to the JSON property `productId`
5468
+ # @return [Array<String>]
5469
+ attr_accessor :product_id
5470
+
5471
+ def initialize(**args)
5472
+ update!(**args)
5473
+ end
5474
+
5475
+ # Update properties of this object
5476
+ def update!(**args)
5477
+ @product_id = args[:product_id] if args.key?(:product_id)
5478
+ end
5479
+ end
5480
+
5077
5481
  # Request message for Predict method.
5078
5482
  class GoogleCloudRetailV2betaPredictRequest
5079
5483
  include Google::Apis::Core::Hashable
@@ -5385,10 +5789,15 @@ module Google
5385
5789
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAudience]
5386
5790
  attr_accessor :audience
5387
5791
 
5388
- # The online availability of the Product. Default to Availability.IN_STOCK.
5389
- # Corresponding properties: Google Merchant Center property [availability](https:
5390
- # //support.google.com/merchants/answer/6324448). Schema.org property [Offer.
5391
- # availability](https://schema.org/availability).
5792
+ # The online availability of the Product. Default to Availability.IN_STOCK. For
5793
+ # primary products with variants set the availability of the primary as
5794
+ # Availability.OUT_OF_STOCK and set the true availability at the variant level.
5795
+ # This way the primary product will be considered "in stock" as long as it has
5796
+ # at least one variant in stock. For primary products with no variants set the
5797
+ # true availability at the primary level. Corresponding properties: Google
5798
+ # Merchant Center property [availability](https://support.google.com/merchants/
5799
+ # answer/6324448). Schema.org property [Offer.availability](https://schema.org/
5800
+ # availability).
5392
5801
  # Corresponds to the JSON property `availability`
5393
5802
  # @return [String]
5394
5803
  attr_accessor :availability
@@ -5616,10 +6025,9 @@ module Google
5616
6025
  # attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION,
5617
6026
  # the following fields are always returned in SearchResponse by default: * name
5618
6027
  # For Type.VARIANT, the following fields are always returned in by default: *
5619
- # name * color_info The maximum number of paths is 30. Otherwise, an
5620
- # INVALID_ARGUMENT error is returned. Note: Returning more fields in
5621
- # SearchResponse can increase response payload size and serving latency. This
5622
- # field is deprecated. Use the retrievable site-wide control instead.
6028
+ # name * color_info Note: Returning more fields in SearchResponse can increase
6029
+ # response payload size and serving latency. This field is deprecated. Use the
6030
+ # retrievable site-wide control instead.
5623
6031
  # Corresponds to the JSON property `retrievableFields`
5624
6032
  # @return [String]
5625
6033
  attr_accessor :retrievable_fields
@@ -5744,6 +6152,58 @@ module Google
5744
6152
  end
5745
6153
  end
5746
6154
 
6155
+ # Product attribute name and numeric interval.
6156
+ class GoogleCloudRetailV2betaProductAttributeInterval
6157
+ include Google::Apis::Core::Hashable
6158
+
6159
+ # A floating point interval.
6160
+ # Corresponds to the JSON property `interval`
6161
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaInterval]
6162
+ attr_accessor :interval
6163
+
6164
+ # The attribute name (e.g. "length")
6165
+ # Corresponds to the JSON property `name`
6166
+ # @return [String]
6167
+ attr_accessor :name
6168
+
6169
+ def initialize(**args)
6170
+ update!(**args)
6171
+ end
6172
+
6173
+ # Update properties of this object
6174
+ def update!(**args)
6175
+ @interval = args[:interval] if args.key?(:interval)
6176
+ @name = args[:name] if args.key?(:name)
6177
+ end
6178
+ end
6179
+
6180
+ # Product attribute which structured by an attribute name and value. This
6181
+ # structure is used in conversational search filters and answers. For example,
6182
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
6183
+ class GoogleCloudRetailV2betaProductAttributeValue
6184
+ include Google::Apis::Core::Hashable
6185
+
6186
+ # The attribute name.
6187
+ # Corresponds to the JSON property `name`
6188
+ # @return [String]
6189
+ attr_accessor :name
6190
+
6191
+ # The attribute value.
6192
+ # Corresponds to the JSON property `value`
6193
+ # @return [String]
6194
+ attr_accessor :value
6195
+
6196
+ def initialize(**args)
6197
+ update!(**args)
6198
+ end
6199
+
6200
+ # Update properties of this object
6201
+ def update!(**args)
6202
+ @name = args[:name] if args.key?(:name)
6203
+ @value = args[:value] if args.key?(:value)
6204
+ end
6205
+ end
6206
+
5747
6207
  # Detailed product information associated with a user event.
5748
6208
  class GoogleCloudRetailV2betaProductDetail
5749
6209
  include Google::Apis::Core::Hashable
@@ -6685,7 +7145,7 @@ module Google
6685
7145
  include Google::Apis::Core::Hashable
6686
7146
 
6687
7147
  # Each instance corresponds to a force return attribute for the given condition.
6688
- # There can't be more 3 instances here.
7148
+ # There can't be more 15 instances here.
6689
7149
  # Corresponds to the JSON property `facetPositionAdjustments`
6690
7150
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRuleForceReturnFacetActionFacetPositionAdjustment>]
6691
7151
  attr_accessor :facet_position_adjustments
@@ -6917,6 +7377,12 @@ module Google
6917
7377
  # @return [String]
6918
7378
  attr_accessor :canonical_filter
6919
7379
 
7380
+ # This field specifies all conversational related parameters addition to
7381
+ # traditional retail search.
7382
+ # Corresponds to the JSON property `conversationalSearchSpec`
7383
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestConversationalSearchSpec]
7384
+ attr_accessor :conversational_search_spec
7385
+
6920
7386
  # The specifications of dynamically generated facets.
6921
7387
  # Corresponds to the JSON property `dynamicFacetSpec`
6922
7388
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec]
@@ -7033,6 +7499,11 @@ module Google
7033
7499
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestSpellCorrectionSpec]
7034
7500
  attr_accessor :spell_correction_spec
7035
7501
 
7502
+ # This field specifies tile navigation related parameters.
7503
+ # Corresponds to the JSON property `tileNavigationSpec`
7504
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestTileNavigationSpec]
7505
+ attr_accessor :tile_navigation_spec
7506
+
7036
7507
  # Information of an end user.
7037
7508
  # Corresponds to the JSON property `userInfo`
7038
7509
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaUserInfo]
@@ -7087,6 +7558,7 @@ module Google
7087
7558
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
7088
7559
  @branch = args[:branch] if args.key?(:branch)
7089
7560
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
7561
+ @conversational_search_spec = args[:conversational_search_spec] if args.key?(:conversational_search_spec)
7090
7562
  @dynamic_facet_spec = args[:dynamic_facet_spec] if args.key?(:dynamic_facet_spec)
7091
7563
  @entity = args[:entity] if args.key?(:entity)
7092
7564
  @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
@@ -7102,6 +7574,7 @@ module Google
7102
7574
  @query_expansion_spec = args[:query_expansion_spec] if args.key?(:query_expansion_spec)
7103
7575
  @search_mode = args[:search_mode] if args.key?(:search_mode)
7104
7576
  @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
7577
+ @tile_navigation_spec = args[:tile_navigation_spec] if args.key?(:tile_navigation_spec)
7105
7578
  @user_info = args[:user_info] if args.key?(:user_info)
7106
7579
  @variant_rollup_keys = args[:variant_rollup_keys] if args.key?(:variant_rollup_keys)
7107
7580
  @visitor_id = args[:visitor_id] if args.key?(:visitor_id)
@@ -7177,6 +7650,102 @@ module Google
7177
7650
  end
7178
7651
  end
7179
7652
 
7653
+ # This field specifies all conversational related parameters addition to
7654
+ # traditional retail search.
7655
+ class GoogleCloudRetailV2betaSearchRequestConversationalSearchSpec
7656
+ include Google::Apis::Core::Hashable
7657
+
7658
+ # This field specifies the conversation id, which maintains the state of the
7659
+ # conversation between client side and server side. Use the value from the
7660
+ # previous ConversationalSearchResult.conversation_id. For the initial request,
7661
+ # this should be empty.
7662
+ # Corresponds to the JSON property `conversationId`
7663
+ # @return [String]
7664
+ attr_accessor :conversation_id
7665
+
7666
+ # This field specifies whether the customer would like to do conversational
7667
+ # search. If this field is set to true, conversational related extra information
7668
+ # will be returned from server side, including follow-up question, answer
7669
+ # options, etc.
7670
+ # Corresponds to the JSON property `followupConversationRequested`
7671
+ # @return [Boolean]
7672
+ attr_accessor :followup_conversation_requested
7673
+ alias_method :followup_conversation_requested?, :followup_conversation_requested
7674
+
7675
+ # This field specifies the current user answer during the conversational search.
7676
+ # This can be either user selected from suggested answers or user input plain
7677
+ # text.
7678
+ # Corresponds to the JSON property `userAnswer`
7679
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswer]
7680
+ attr_accessor :user_answer
7681
+
7682
+ def initialize(**args)
7683
+ update!(**args)
7684
+ end
7685
+
7686
+ # Update properties of this object
7687
+ def update!(**args)
7688
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
7689
+ @followup_conversation_requested = args[:followup_conversation_requested] if args.key?(:followup_conversation_requested)
7690
+ @user_answer = args[:user_answer] if args.key?(:user_answer)
7691
+ end
7692
+ end
7693
+
7694
+ # This field specifies the current user answer during the conversational search.
7695
+ # This can be either user selected from suggested answers or user input plain
7696
+ # text.
7697
+ class GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswer
7698
+ include Google::Apis::Core::Hashable
7699
+
7700
+ # This field specifies the selected answers during the conversational search.
7701
+ # Corresponds to the JSON property `selectedAnswer`
7702
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer]
7703
+ attr_accessor :selected_answer
7704
+
7705
+ # This field specifies the incremental input text from the user during the
7706
+ # conversational search.
7707
+ # Corresponds to the JSON property `textAnswer`
7708
+ # @return [String]
7709
+ attr_accessor :text_answer
7710
+
7711
+ def initialize(**args)
7712
+ update!(**args)
7713
+ end
7714
+
7715
+ # Update properties of this object
7716
+ def update!(**args)
7717
+ @selected_answer = args[:selected_answer] if args.key?(:selected_answer)
7718
+ @text_answer = args[:text_answer] if args.key?(:text_answer)
7719
+ end
7720
+ end
7721
+
7722
+ # This field specifies the selected answers during the conversational search.
7723
+ class GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer
7724
+ include Google::Apis::Core::Hashable
7725
+
7726
+ # Product attribute which structured by an attribute name and value. This
7727
+ # structure is used in conversational search filters and answers. For example,
7728
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7729
+ # Corresponds to the JSON property `productAttributeValue`
7730
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
7731
+ attr_accessor :product_attribute_value
7732
+
7733
+ # This field is deprecated and should not be set.
7734
+ # Corresponds to the JSON property `productAttributeValues`
7735
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue>]
7736
+ attr_accessor :product_attribute_values
7737
+
7738
+ def initialize(**args)
7739
+ update!(**args)
7740
+ end
7741
+
7742
+ # Update properties of this object
7743
+ def update!(**args)
7744
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7745
+ @product_attribute_values = args[:product_attribute_values] if args.key?(:product_attribute_values)
7746
+ end
7747
+ end
7748
+
7180
7749
  # The specifications of dynamically generated facets.
7181
7750
  class GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec
7182
7751
  include Google::Apis::Core::Hashable
@@ -7455,6 +8024,35 @@ module Google
7455
8024
  end
7456
8025
  end
7457
8026
 
8027
+ # This field specifies tile navigation related parameters.
8028
+ class GoogleCloudRetailV2betaSearchRequestTileNavigationSpec
8029
+ include Google::Apis::Core::Hashable
8030
+
8031
+ # This field specifies the tiles which are already clicked in client side. NOTE:
8032
+ # This field is not being used for filtering search products. Client side should
8033
+ # also put all the applied tiles in SearchRequest.filter.
8034
+ # Corresponds to the JSON property `appliedTiles`
8035
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaTile>]
8036
+ attr_accessor :applied_tiles
8037
+
8038
+ # This field specifies whether the customer would like to request tile
8039
+ # navigation.
8040
+ # Corresponds to the JSON property `tileNavigationRequested`
8041
+ # @return [Boolean]
8042
+ attr_accessor :tile_navigation_requested
8043
+ alias_method :tile_navigation_requested?, :tile_navigation_requested
8044
+
8045
+ def initialize(**args)
8046
+ update!(**args)
8047
+ end
8048
+
8049
+ # Update properties of this object
8050
+ def update!(**args)
8051
+ @applied_tiles = args[:applied_tiles] if args.key?(:applied_tiles)
8052
+ @tile_navigation_requested = args[:tile_navigation_requested] if args.key?(:tile_navigation_requested)
8053
+ end
8054
+ end
8055
+
7458
8056
  # Response message for SearchService.Search method.
7459
8057
  class GoogleCloudRetailV2betaSearchResponse
7460
8058
  include Google::Apis::Core::Hashable
@@ -7472,6 +8070,12 @@ module Google
7472
8070
  # @return [String]
7473
8071
  attr_accessor :attribution_token
7474
8072
 
8073
+ # This field specifies all related information that is needed on client side for
8074
+ # UI rendering of conversational retail search.
8075
+ # Corresponds to the JSON property `conversationalSearchResult`
8076
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResult]
8077
+ attr_accessor :conversational_search_result
8078
+
7475
8079
  # Contains the spell corrected query, if found. If the spell correction type is
7476
8080
  # AUTOMATIC, then the search results are based on corrected_query. Otherwise the
7477
8081
  # original query is used for search.
@@ -7479,7 +8083,7 @@ module Google
7479
8083
  # @return [String]
7480
8084
  attr_accessor :corrected_query
7481
8085
 
7482
- # Metadata related to A/B testing Experiment associated with this response. Only
8086
+ # Metadata related to A/B testing experiment associated with this response. Only
7483
8087
  # exists when an experiment is triggered.
7484
8088
  # Corresponds to the JSON property `experimentInfo`
7485
8089
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaExperimentInfo>]
@@ -7502,6 +8106,12 @@ module Google
7502
8106
  # @return [String]
7503
8107
  attr_accessor :next_page_token
7504
8108
 
8109
+ # Metadata for pinning to be returned in the response. This is used for
8110
+ # distinguishing between applied vs dropped pins.
8111
+ # Corresponds to the JSON property `pinControlMetadata`
8112
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPinControlMetadata]
8113
+ attr_accessor :pin_control_metadata
8114
+
7505
8115
  # Information describing query expansion including whether expansion has
7506
8116
  # occurred.
7507
8117
  # Corresponds to the JSON property `queryExpansionInfo`
@@ -7520,6 +8130,12 @@ module Google
7520
8130
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseSearchResult>]
7521
8131
  attr_accessor :results
7522
8132
 
8133
+ # This field specifies all related information for tile navigation that will be
8134
+ # used in client side.
8135
+ # Corresponds to the JSON property `tileNavigationResult`
8136
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseTileNavigationResult]
8137
+ attr_accessor :tile_navigation_result
8138
+
7523
8139
  # The estimated total count of matched items irrespective of pagination. The
7524
8140
  # count of results returned by pagination may be less than the total_size that
7525
8141
  # matches.
@@ -7535,18 +8151,123 @@ module Google
7535
8151
  def update!(**args)
7536
8152
  @applied_controls = args[:applied_controls] if args.key?(:applied_controls)
7537
8153
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
8154
+ @conversational_search_result = args[:conversational_search_result] if args.key?(:conversational_search_result)
7538
8155
  @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
7539
8156
  @experiment_info = args[:experiment_info] if args.key?(:experiment_info)
7540
8157
  @facets = args[:facets] if args.key?(:facets)
7541
8158
  @invalid_condition_boost_specs = args[:invalid_condition_boost_specs] if args.key?(:invalid_condition_boost_specs)
7542
8159
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8160
+ @pin_control_metadata = args[:pin_control_metadata] if args.key?(:pin_control_metadata)
7543
8161
  @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
7544
8162
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
7545
8163
  @results = args[:results] if args.key?(:results)
8164
+ @tile_navigation_result = args[:tile_navigation_result] if args.key?(:tile_navigation_result)
7546
8165
  @total_size = args[:total_size] if args.key?(:total_size)
7547
8166
  end
7548
8167
  end
7549
8168
 
8169
+ # This field specifies all related information that is needed on client side for
8170
+ # UI rendering of conversational retail search.
8171
+ class GoogleCloudRetailV2betaSearchResponseConversationalSearchResult
8172
+ include Google::Apis::Core::Hashable
8173
+
8174
+ # Additional filter that client side need to apply.
8175
+ # Corresponds to the JSON property `additionalFilter`
8176
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResultAdditionalFilter]
8177
+ attr_accessor :additional_filter
8178
+
8179
+ # This field is deprecated but will be kept for backward compatibility. There is
8180
+ # expected to have only one additional filter and the value will be the same to
8181
+ # the same as field `additional_filter`.
8182
+ # Corresponds to the JSON property `additionalFilters`
8183
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResultAdditionalFilter>]
8184
+ attr_accessor :additional_filters
8185
+
8186
+ # Conversation UUID. This field will be stored in client side storage to
8187
+ # maintain the conversation session with server and will be used for next search
8188
+ # request's SearchRequest.ConversationalSearchSpec.conversation_id to restore
8189
+ # conversation state in server.
8190
+ # Corresponds to the JSON property `conversationId`
8191
+ # @return [String]
8192
+ attr_accessor :conversation_id
8193
+
8194
+ # The follow-up question. e.g., `What is the color?`
8195
+ # Corresponds to the JSON property `followupQuestion`
8196
+ # @return [String]
8197
+ attr_accessor :followup_question
8198
+
8199
+ # The current refined query for the conversational search. This field will be
8200
+ # used in customer UI that the query in the search bar should be replaced with
8201
+ # the refined query. For example, if SearchRequest.query is `dress` and next
8202
+ # SearchRequest.ConversationalSearchSpec.UserAnswer.text_answer is `red color`,
8203
+ # which does not match any product attribute value filters, the refined query
8204
+ # will be `dress, red color`.
8205
+ # Corresponds to the JSON property `refinedQuery`
8206
+ # @return [String]
8207
+ attr_accessor :refined_query
8208
+
8209
+ # The answer options provided to client for the follow-up question.
8210
+ # Corresponds to the JSON property `suggestedAnswers`
8211
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResultSuggestedAnswer>]
8212
+ attr_accessor :suggested_answers
8213
+
8214
+ def initialize(**args)
8215
+ update!(**args)
8216
+ end
8217
+
8218
+ # Update properties of this object
8219
+ def update!(**args)
8220
+ @additional_filter = args[:additional_filter] if args.key?(:additional_filter)
8221
+ @additional_filters = args[:additional_filters] if args.key?(:additional_filters)
8222
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
8223
+ @followup_question = args[:followup_question] if args.key?(:followup_question)
8224
+ @refined_query = args[:refined_query] if args.key?(:refined_query)
8225
+ @suggested_answers = args[:suggested_answers] if args.key?(:suggested_answers)
8226
+ end
8227
+ end
8228
+
8229
+ # Additional filter that client side need to apply.
8230
+ class GoogleCloudRetailV2betaSearchResponseConversationalSearchResultAdditionalFilter
8231
+ include Google::Apis::Core::Hashable
8232
+
8233
+ # Product attribute which structured by an attribute name and value. This
8234
+ # structure is used in conversational search filters and answers. For example,
8235
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8236
+ # Corresponds to the JSON property `productAttributeValue`
8237
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
8238
+ attr_accessor :product_attribute_value
8239
+
8240
+ def initialize(**args)
8241
+ update!(**args)
8242
+ end
8243
+
8244
+ # Update properties of this object
8245
+ def update!(**args)
8246
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8247
+ end
8248
+ end
8249
+
8250
+ # Suggested answers to the follow-up question.
8251
+ class GoogleCloudRetailV2betaSearchResponseConversationalSearchResultSuggestedAnswer
8252
+ include Google::Apis::Core::Hashable
8253
+
8254
+ # Product attribute which structured by an attribute name and value. This
8255
+ # structure is used in conversational search filters and answers. For example,
8256
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8257
+ # Corresponds to the JSON property `productAttributeValue`
8258
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
8259
+ attr_accessor :product_attribute_value
8260
+
8261
+ def initialize(**args)
8262
+ update!(**args)
8263
+ end
8264
+
8265
+ # Update properties of this object
8266
+ def update!(**args)
8267
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8268
+ end
8269
+ end
8270
+
7550
8271
  # A facet result.
7551
8272
  class GoogleCloudRetailV2betaSearchResponseFacet
7552
8273
  include Google::Apis::Core::Hashable
@@ -7722,6 +8443,26 @@ module Google
7722
8443
  end
7723
8444
  end
7724
8445
 
8446
+ # This field specifies all related information for tile navigation that will be
8447
+ # used in client side.
8448
+ class GoogleCloudRetailV2betaSearchResponseTileNavigationResult
8449
+ include Google::Apis::Core::Hashable
8450
+
8451
+ # The current tiles that are used for tile navigation, sorted by engagement.
8452
+ # Corresponds to the JSON property `tiles`
8453
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaTile>]
8454
+ attr_accessor :tiles
8455
+
8456
+ def initialize(**args)
8457
+ update!(**args)
8458
+ end
8459
+
8460
+ # Update properties of this object
8461
+ def update!(**args)
8462
+ @tiles = args[:tiles] if args.key?(:tiles)
8463
+ end
8464
+ end
8465
+
7725
8466
  # Configures metadata that is used to generate serving time results (e.g. search
7726
8467
  # results or recommendation predictions).
7727
8468
  class GoogleCloudRetailV2betaServingConfig
@@ -8032,6 +8773,41 @@ module Google
8032
8773
  end
8033
8774
  end
8034
8775
 
8776
+ # This field specifies the tile information including an attribute key,
8777
+ # attribute value. More fields will be added in the future, eg: product id or
8778
+ # product counts, etc.
8779
+ class GoogleCloudRetailV2betaTile
8780
+ include Google::Apis::Core::Hashable
8781
+
8782
+ # Product attribute name and numeric interval.
8783
+ # Corresponds to the JSON property `productAttributeInterval`
8784
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeInterval]
8785
+ attr_accessor :product_attribute_interval
8786
+
8787
+ # Product attribute which structured by an attribute name and value. This
8788
+ # structure is used in conversational search filters and answers. For example,
8789
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8790
+ # Corresponds to the JSON property `productAttributeValue`
8791
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
8792
+ attr_accessor :product_attribute_value
8793
+
8794
+ # The representative product id for this tile.
8795
+ # Corresponds to the JSON property `representativeProductId`
8796
+ # @return [String]
8797
+ attr_accessor :representative_product_id
8798
+
8799
+ def initialize(**args)
8800
+ update!(**args)
8801
+ end
8802
+
8803
+ # Update properties of this object
8804
+ def update!(**args)
8805
+ @product_attribute_interval = args[:product_attribute_interval] if args.key?(:product_attribute_interval)
8806
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8807
+ @representative_product_id = args[:representative_product_id] if args.key?(:representative_product_id)
8808
+ end
8809
+ end
8810
+
8035
8811
  # Metadata associated with a tune operation.
8036
8812
  class GoogleCloudRetailV2betaTuneModelMetadata
8037
8813
  include Google::Apis::Core::Hashable
@@ -8080,6 +8856,33 @@ module Google
8080
8856
  end
8081
8857
  end
8082
8858
 
8859
+ # Request for UpdateGenerativeQuestionConfig method.
8860
+ class GoogleCloudRetailV2betaUpdateGenerativeQuestionConfigRequest
8861
+ include Google::Apis::Core::Hashable
8862
+
8863
+ # Configuration for a single generated question.
8864
+ # Corresponds to the JSON property `generativeQuestionConfig`
8865
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaGenerativeQuestionConfig]
8866
+ attr_accessor :generative_question_config
8867
+
8868
+ # Optional. Indicates which fields in the provided GenerativeQuestionConfig to
8869
+ # update. The following are NOT supported: * GenerativeQuestionConfig.frequency
8870
+ # If not set or empty, all supported fields are updated.
8871
+ # Corresponds to the JSON property `updateMask`
8872
+ # @return [String]
8873
+ attr_accessor :update_mask
8874
+
8875
+ def initialize(**args)
8876
+ update!(**args)
8877
+ end
8878
+
8879
+ # Update properties of this object
8880
+ def update!(**args)
8881
+ @generative_question_config = args[:generative_question_config] if args.key?(:generative_question_config)
8882
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
8883
+ end
8884
+ end
8885
+
8083
8886
  # UserEvent captures all metadata information Retail API needs to know about how
8084
8887
  # end users interact with customers' website.
8085
8888
  class GoogleCloudRetailV2betaUserEvent
@@ -8419,12 +9222,11 @@ module Google
8419
9222
  # @return [String]
8420
9223
  attr_accessor :ip_address
8421
9224
 
8422
- # User agent as included in the HTTP header. Required for getting SearchResponse.
8423
- # sponsored_results. The field must be a UTF-8 encoded string with a length
8424
- # limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
8425
- # This should not be set when using the client side event reporting with GTM or
8426
- # JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request
8427
- # is set.
9225
+ # User agent as included in the HTTP header. The field must be a UTF-8 encoded
9226
+ # string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT
9227
+ # error is returned. This should not be set when using the client side event
9228
+ # reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or
9229
+ # if direct_user_request is set.
8428
9230
  # Corresponds to the JSON property `userAgent`
8429
9231
  # @return [String]
8430
9232
  attr_accessor :user_agent