google-shopping-merchant-products-v1 0.a → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/shopping/merchant/products/v1/product_inputs_service/client.rb +715 -0
  6. data/lib/google/shopping/merchant/products/v1/product_inputs_service/credentials.rb +49 -0
  7. data/lib/google/shopping/merchant/products/v1/product_inputs_service/paths.rb +66 -0
  8. data/lib/google/shopping/merchant/products/v1/product_inputs_service/rest/client.rb +668 -0
  9. data/lib/google/shopping/merchant/products/v1/product_inputs_service/rest/service_stub.rb +268 -0
  10. data/lib/google/shopping/merchant/products/v1/product_inputs_service/rest.rb +54 -0
  11. data/lib/google/shopping/merchant/products/v1/product_inputs_service.rb +57 -0
  12. data/lib/google/shopping/merchant/products/v1/productinputs_pb.rb +59 -0
  13. data/lib/google/shopping/merchant/products/v1/productinputs_services_pb.rb +69 -0
  14. data/lib/google/shopping/merchant/products/v1/products_common_pb.rb +91 -0
  15. data/lib/google/shopping/merchant/products/v1/products_pb.rb +56 -0
  16. data/lib/google/shopping/merchant/products/v1/products_service/client.rb +591 -0
  17. data/lib/google/shopping/merchant/products/v1/products_service/credentials.rb +49 -0
  18. data/lib/google/shopping/merchant/products/v1/products_service/paths.rb +66 -0
  19. data/lib/google/shopping/merchant/products/v1/products_service/rest/client.rb +551 -0
  20. data/lib/google/shopping/merchant/products/v1/products_service/rest/service_stub.rb +205 -0
  21. data/lib/google/shopping/merchant/products/v1/products_service/rest.rb +54 -0
  22. data/lib/google/shopping/merchant/products/v1/products_service.rb +57 -0
  23. data/lib/google/shopping/merchant/products/v1/products_services_pb.rb +57 -0
  24. data/lib/google/shopping/merchant/products/v1/rest.rb +40 -0
  25. data/lib/google/shopping/merchant/products/v1/version.rb +7 -2
  26. data/lib/google/shopping/merchant/products/v1.rb +48 -0
  27. data/lib/google-shopping-merchant-products-v1.rb +21 -0
  28. data/proto_docs/README.md +4 -0
  29. data/proto_docs/google/api/client.rb +473 -0
  30. data/proto_docs/google/api/field_behavior.rb +85 -0
  31. data/proto_docs/google/api/launch_stage.rb +71 -0
  32. data/proto_docs/google/api/resource.rb +227 -0
  33. data/proto_docs/google/protobuf/duration.rb +98 -0
  34. data/proto_docs/google/protobuf/empty.rb +34 -0
  35. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  36. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  37. data/proto_docs/google/shopping/merchant/products/v1/productinputs.rb +221 -0
  38. data/proto_docs/google/shopping/merchant/products/v1/products.rb +175 -0
  39. data/proto_docs/google/shopping/merchant/products/v1/products_common.rb +1303 -0
  40. data/proto_docs/google/shopping/type/types.rb +210 -0
  41. data/proto_docs/google/type/interval.rb +45 -0
  42. metadata +100 -9
@@ -0,0 +1,1303 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Shopping
22
+ module Merchant
23
+ module Products
24
+ module V1
25
+ # Product attributes.
26
+ # @!attribute [rw] identifier_exists
27
+ # @return [::Boolean]
28
+ # Set this value to false when the item does not have unique product
29
+ # identifiers appropriate to its category, such as GTIN, MPN, and brand.
30
+ # Defaults to true, if not provided.
31
+ # @!attribute [rw] is_bundle
32
+ # @return [::Boolean]
33
+ # Whether the item is a business-defined sub-API. A [sub-API]
34
+ # (https://support.google.com/merchants/answer/6324449) is a custom
35
+ # grouping of different products sold by a business for a single price.
36
+ # @!attribute [rw] title
37
+ # @return [::String]
38
+ # Title of the item.
39
+ # @!attribute [rw] description
40
+ # @return [::String]
41
+ # Description of the item.
42
+ # @!attribute [rw] link
43
+ # @return [::String]
44
+ # URL directly linking to your item's page on your online store.
45
+ # @!attribute [rw] mobile_link
46
+ # @return [::String]
47
+ # URL for the mobile-optimized version of your item's landing page.
48
+ # @!attribute [rw] canonical_link
49
+ # @return [::String]
50
+ # URL for the canonical version of your item's landing page.
51
+ # @!attribute [rw] image_link
52
+ # @return [::String]
53
+ # URL of an image of the item.
54
+ # @!attribute [rw] additional_image_links
55
+ # @return [::Array<::String>]
56
+ # Additional URLs of images of the item.
57
+ # @!attribute [rw] expiration_date
58
+ # @return [::Google::Protobuf::Timestamp]
59
+ # Date on which the item should expire, as specified upon insertion, in
60
+ # [ISO
61
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
62
+ # expiration date is exposed in `productstatuses` as
63
+ # [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
64
+ # and might be earlier if `expirationDate` is too far in the future.
65
+ # @!attribute [rw] disclosure_date
66
+ # @return [::Google::Protobuf::Timestamp]
67
+ # The date time when an offer becomes visible in search results across
68
+ # Google’s YouTube surfaces, in [ISO
69
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
70
+ # See [Disclosure date](https://support.google.com/merchants/answer/13034208)
71
+ # for more information.
72
+ # @!attribute [rw] adult
73
+ # @return [::Boolean]
74
+ # Set to true if the item is targeted towards adults.
75
+ # @!attribute [rw] age_group
76
+ # @return [::Google::Shopping::Merchant::Products::V1::AgeGroup]
77
+ # Target [age group](https://support.google.com/merchants/answer/6324463) of
78
+ # the item.
79
+ # @!attribute [rw] availability
80
+ # @return [::Google::Shopping::Merchant::Products::V1::Availability]
81
+ # [Availability](https://support.google.com/merchants/answer/6324448) status
82
+ # of the item.
83
+ # @!attribute [rw] availability_date
84
+ # @return [::Google::Protobuf::Timestamp]
85
+ # The day a pre-ordered product becomes available for delivery, in [ISO
86
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
87
+ # @!attribute [rw] brand
88
+ # @return [::String]
89
+ # [Brand](https://support.google.com/merchants/answer/6324351) of the item.
90
+ # For example, "Google".
91
+ # @!attribute [rw] color
92
+ # @return [::String]
93
+ # [Color](https://support.google.com/merchants/answer/6324487) of the item.
94
+ # For example, "red".
95
+ # @!attribute [rw] condition
96
+ # @return [::Google::Shopping::Merchant::Products::V1::Condition]
97
+ # [Condition](https://support.google.com/merchants/answer/6324469) or state
98
+ # of the item.
99
+ # @!attribute [rw] gender
100
+ # @return [::Google::Shopping::Merchant::Products::V1::Gender]
101
+ # Target [gender](https://support.google.com/merchants/answer/6324479) of the
102
+ # item.
103
+ # @!attribute [rw] google_product_category
104
+ # @return [::String]
105
+ # Google's category of the item (see [Google product
106
+ # taxonomy](https://support.google.com/merchants/answer/1705911)). When
107
+ # querying products, this field will contain the user provided value. There
108
+ # is currently no way to get back the auto assigned google product
109
+ # categories through the API.
110
+ # @!attribute [rw] gtins
111
+ # @return [::Array<::String>]
112
+ # Global Trade Item Numbers
113
+ # ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
114
+ # item.
115
+ # You can provide up to 10 GTINs.
116
+ # @!attribute [rw] item_group_id
117
+ # @return [::String]
118
+ # Shared identifier for all variants of the same product.
119
+ # @!attribute [rw] material
120
+ # @return [::String]
121
+ # The [material](https://support.google.com/merchants/answer/6324410) of
122
+ # which the item is made. For example, "Leather" or "Cotton".
123
+ # @!attribute [rw] mpn
124
+ # @return [::String]
125
+ # Manufacturer Part Number
126
+ # ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
127
+ # item.
128
+ # @!attribute [rw] pattern
129
+ # @return [::String]
130
+ # The item's [pattern](https://support.google.com/merchants/answer/6324483).
131
+ # For example, polka dots.
132
+ # @!attribute [rw] price
133
+ # @return [::Google::Shopping::Type::Price]
134
+ # Price of the item.
135
+ # @!attribute [rw] maximum_retail_price
136
+ # @return [::Google::Shopping::Type::Price]
137
+ # Maximum retail price (MRP) of the item. Applicable to India only.
138
+ # @!attribute [rw] installment
139
+ # @return [::Google::Shopping::Merchant::Products::V1::ProductInstallment]
140
+ # Number and amount of installments to pay for an item.
141
+ # @!attribute [rw] subscription_cost
142
+ # @return [::Google::Shopping::Merchant::Products::V1::SubscriptionCost]
143
+ # Number of periods (months or years) and amount of payment per period
144
+ # for an item with an associated subscription contract.
145
+ # @!attribute [rw] loyalty_points
146
+ # @return [::Google::Shopping::Merchant::Products::V1::LoyaltyPoints]
147
+ # Loyalty points that users receive after purchasing the item. Japan only.
148
+ # @!attribute [rw] loyalty_programs
149
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::LoyaltyProgram>]
150
+ # A list of loyalty program information that is used to surface loyalty
151
+ # benefits (for example, better pricing, points, etc) to the user of this
152
+ # item.
153
+ # @!attribute [rw] product_types
154
+ # @return [::Array<::String>]
155
+ # Categories of the item (formatted as in [product data
156
+ # specification](https://support.google.com/merchants/answer/7052112#product_category)).
157
+ # @!attribute [rw] sale_price
158
+ # @return [::Google::Shopping::Type::Price]
159
+ # Advertised sale price of the item.
160
+ # @!attribute [rw] sale_price_effective_date
161
+ # @return [::Google::Type::Interval]
162
+ # Date range during which the item is on sale, see [product data
163
+ # specification](https://support.google.com/merchants/answer/7052112#price_and_availability).
164
+ # @!attribute [rw] sell_on_google_quantity
165
+ # @return [::Integer]
166
+ # The quantity of the product that is available for selling on Google.
167
+ # Supported only for online products.
168
+ # @!attribute [rw] product_height
169
+ # @return [::Google::Shopping::Merchant::Products::V1::ProductDimension]
170
+ # The height of the product in the units provided. The value must be
171
+ # between
172
+ # 0 (exclusive) and 3000 (inclusive).
173
+ # @!attribute [rw] product_length
174
+ # @return [::Google::Shopping::Merchant::Products::V1::ProductDimension]
175
+ # The length of the product in the units provided. The value must be
176
+ # between 0 (exclusive) and 3000 (inclusive).
177
+ # @!attribute [rw] product_width
178
+ # @return [::Google::Shopping::Merchant::Products::V1::ProductDimension]
179
+ # The width of the product in the units provided. The value must be between
180
+ # 0 (exclusive) and 3000 (inclusive).
181
+ # @!attribute [rw] product_weight
182
+ # @return [::Google::Shopping::Merchant::Products::V1::ProductWeight]
183
+ # The weight of the product in the units provided. The value must be
184
+ # between 0 (exclusive) and 2000 (inclusive).
185
+ # @!attribute [rw] shipping
186
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::Shipping>]
187
+ # Shipping rules.
188
+ # @!attribute [rw] free_shipping_threshold
189
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::FreeShippingThreshold>]
190
+ # Conditions to be met for a product to have free shipping.
191
+ # @!attribute [rw] shipping_weight
192
+ # @return [::Google::Shopping::Merchant::Products::V1::ShippingWeight]
193
+ # Weight of the item for shipping.
194
+ # @!attribute [rw] shipping_length
195
+ # @return [::Google::Shopping::Merchant::Products::V1::ShippingDimension]
196
+ # Length of the item for shipping.
197
+ # @!attribute [rw] shipping_width
198
+ # @return [::Google::Shopping::Merchant::Products::V1::ShippingDimension]
199
+ # Width of the item for shipping.
200
+ # @!attribute [rw] shipping_height
201
+ # @return [::Google::Shopping::Merchant::Products::V1::ShippingDimension]
202
+ # Height of the item for shipping.
203
+ # @!attribute [rw] max_handling_time
204
+ # @return [::Integer]
205
+ # Maximal product handling time (in business days).
206
+ # @!attribute [rw] min_handling_time
207
+ # @return [::Integer]
208
+ # Minimal product handling time (in business days).
209
+ # @!attribute [rw] shipping_label
210
+ # @return [::String]
211
+ # The shipping label of the product, used to group product in account-level
212
+ # shipping rules.
213
+ # @!attribute [rw] transit_time_label
214
+ # @return [::String]
215
+ # The transit time label of the product, used to group product in
216
+ # account-level transit time tables.
217
+ # @!attribute [rw] size
218
+ # @return [::String]
219
+ # Size of the item. Only one value is allowed. For variants with different
220
+ # sizes, insert a separate product for each size with the same
221
+ # `itemGroupId` value, see
222
+ # [Size](https://support.google.com/merchants/answer/6324492).
223
+ # @!attribute [rw] size_system
224
+ # @return [::Google::Shopping::Merchant::Products::V1::SizeSystem]
225
+ # System in which the size is specified. Recommended for apparel items.
226
+ # For more information, see
227
+ # [Size system](https://support.google.com/merchants/answer/6324502).
228
+ # @!attribute [rw] size_types
229
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::SizeType>]
230
+ # The cut of the item. It can be used to represent combined size types for
231
+ # apparel items. Maximum two of size types can be provided, see
232
+ # [Size type](https://support.google.com/merchants/answer/6324497).
233
+ # @!attribute [rw] energy_efficiency_class
234
+ # @return [::Google::Shopping::Merchant::Products::V1::EnergyEfficiencyClass]
235
+ # The [energy efficiency
236
+ # class](https://support.google.com/merchants/answer/7562785) as defined in
237
+ # EU directive 2010/30/EU.
238
+ # @!attribute [rw] min_energy_efficiency_class
239
+ # @return [::Google::Shopping::Merchant::Products::V1::EnergyEfficiencyClass]
240
+ # The [energy efficiency
241
+ # class](https://support.google.com/merchants/answer/7562785) as defined in
242
+ # EU directive 2010/30/EU.
243
+ # @!attribute [rw] max_energy_efficiency_class
244
+ # @return [::Google::Shopping::Merchant::Products::V1::EnergyEfficiencyClass]
245
+ # The [energy efficiency
246
+ # class](https://support.google.com/merchants/answer/7562785) as defined in
247
+ # EU directive 2010/30/EU.
248
+ # @!attribute [rw] unit_pricing_measure
249
+ # @return [::Google::Shopping::Merchant::Products::V1::UnitPricingMeasure]
250
+ # The measure and dimension of an item.
251
+ # @!attribute [rw] unit_pricing_base_measure
252
+ # @return [::Google::Shopping::Merchant::Products::V1::UnitPricingBaseMeasure]
253
+ # The preference of the denominator of the unit price.
254
+ # @!attribute [rw] multipack
255
+ # @return [::Integer]
256
+ # The number of identical products in a business-defined multipack.
257
+ # @!attribute [rw] ads_grouping
258
+ # @return [::String]
259
+ # Used to group items in an arbitrary way. Only for CPA%, discouraged
260
+ # otherwise. For more information, see
261
+ # [Display ads
262
+ # attribute](https://support.google.com/merchants/answer/6069387).
263
+ # @!attribute [rw] ads_labels
264
+ # @return [::Array<::String>]
265
+ # Similar to ads_grouping, but only works on CPC.
266
+ # @!attribute [rw] ads_redirect
267
+ # @return [::String]
268
+ # Allows advertisers to override the item URL when the product is shown
269
+ # within the context of Product ads.
270
+ # @!attribute [rw] cost_of_goods_sold
271
+ # @return [::Google::Shopping::Type::Price]
272
+ # Cost of goods sold. Used for gross profit reporting.
273
+ # @!attribute [rw] product_details
274
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductDetail>]
275
+ # Technical specification or additional product details.
276
+ # @!attribute [rw] product_highlights
277
+ # @return [::Array<::String>]
278
+ # Bullet points describing the most relevant [product
279
+ # highlights](https://support.google.com/merchants/answer/9216100).
280
+ # @!attribute [rw] display_ads_id
281
+ # @return [::String]
282
+ # An identifier for an item for dynamic remarketing campaigns.
283
+ # @!attribute [rw] display_ads_similar_ids
284
+ # @return [::Array<::String>]
285
+ # Advertiser-specified recommendations. For more information, see
286
+ # [Display ads attribute
287
+ # specification](https://support.google.com/merchants/answer/6069387).
288
+ # @!attribute [rw] display_ads_title
289
+ # @return [::String]
290
+ # Title of an item for dynamic remarketing campaigns.
291
+ # @!attribute [rw] display_ads_link
292
+ # @return [::String]
293
+ # URL directly to your item's landing page for dynamic remarketing
294
+ # campaigns.
295
+ # @!attribute [rw] display_ads_value
296
+ # @return [::Float]
297
+ # Offer margin for dynamic remarketing campaigns. For more information, see
298
+ # [Display ads
299
+ # attribute](https://support.google.com/merchants/answer/6069387).
300
+ # @!attribute [rw] promotion_ids
301
+ # @return [::Array<::String>]
302
+ # The unique ID of a promotion.
303
+ # @!attribute [rw] pickup_method
304
+ # @return [::Google::Shopping::Merchant::Products::V1::PickupMethod]
305
+ # The [pickup](https://support.google.com/merchants/answer/14634021) option
306
+ # for the item.
307
+ # @!attribute [rw] pickup_sla
308
+ # @return [::Google::Shopping::Merchant::Products::V1::PickupSla]
309
+ # Item store pickup timeline. For more information, see
310
+ # [Pickup SLA](https://support.google.com/merchants/answer/14635400).
311
+ # @!attribute [rw] link_template
312
+ # @return [::String]
313
+ # [Link template](https://support.google.com/merchants/answer/13871172) for
314
+ # business hosted local storefront.
315
+ # @!attribute [rw] mobile_link_template
316
+ # @return [::String]
317
+ # [Link template](https://support.google.com/merchants/answer/13870216) for
318
+ # business hosted local storefront optimized for mobile
319
+ # devices.
320
+ # @!attribute [rw] custom_label_0
321
+ # @return [::String]
322
+ # [Custom label 0](https://support.google.com/merchants/answer/6324473) for
323
+ # custom grouping of items in a Shopping campaign.
324
+ # @!attribute [rw] custom_label_1
325
+ # @return [::String]
326
+ # [Custom label 1](https://support.google.com/merchants/answer/6324473)
327
+ # for custom grouping of items in a Shopping campaign.
328
+ # @!attribute [rw] custom_label_2
329
+ # @return [::String]
330
+ # [Custom label 2](https://support.google.com/merchants/answer/6324473)
331
+ # for custom grouping of items in a Shopping campaign.
332
+ # @!attribute [rw] custom_label_3
333
+ # @return [::String]
334
+ # [Custom label 3](https://support.google.com/merchants/answer/6324473)
335
+ # for custom grouping of items in a Shopping campaign.
336
+ # @!attribute [rw] custom_label_4
337
+ # @return [::String]
338
+ # [Custom label 4](https://support.google.com/merchants/answer/6324473) for
339
+ # custom grouping of items in a Shopping campaign.
340
+ # @!attribute [rw] included_destinations
341
+ # @return [::Array<::Google::Shopping::Type::Destination::DestinationEnum>]
342
+ # The list of destinations to include for this target (corresponds to
343
+ # checked check boxes in Merchant Center). Default destinations are always
344
+ # included unless provided in `excludedDestinations`.
345
+ #
346
+ # For more information, see
347
+ # [Included
348
+ # destination](https://support.google.com/merchants/answer/7501026).
349
+ #
350
+ # Note: We recommend setting destinations on datasources level for most use
351
+ # cases. Use this field within products to only setup exceptions.
352
+ # @!attribute [rw] excluded_destinations
353
+ # @return [::Array<::Google::Shopping::Type::Destination::DestinationEnum>]
354
+ # The list of destinations to exclude for this target (corresponds to
355
+ # unchecked check boxes in Merchant Center).
356
+ #
357
+ # For more information, see
358
+ # [Excluded
359
+ # destination](https://support.google.com/merchants/answer/6324486).
360
+ #
361
+ # Note: We recommend setting destinations on datasources level for most use
362
+ # cases. Use this field within products to only setup exceptions.
363
+ # @!attribute [rw] shopping_ads_excluded_countries
364
+ # @return [::Array<::String>]
365
+ # List of country codes [(ISO 3166-1
366
+ # alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to exclude the
367
+ # offer from Shopping Ads destination. Countries from this list are removed
368
+ # from countries configured in data source settings.
369
+ # @!attribute [rw] external_seller_id
370
+ # @return [::String]
371
+ # Required for multi-seller accounts. Use this attribute if you're a
372
+ # marketplace uploading products for various sellers to your multi-seller
373
+ # account.
374
+ # @!attribute [rw] pause
375
+ # @return [::Google::Shopping::Merchant::Products::V1::Pause]
376
+ # Publication of this item will be temporarily
377
+ # [paused](https://support.google.com/merchants/answer/11909930).
378
+ # @!attribute [rw] lifestyle_image_links
379
+ # @return [::Array<::String>]
380
+ # Additional URLs of lifestyle images of the item, used to explicitly
381
+ # identify images that showcase your item in a real-world context. See the
382
+ # [Help Center article](https://support.google.com/merchants/answer/9103186)
383
+ # for more information.
384
+ # @!attribute [rw] cloud_export_additional_properties
385
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::CloudExportAdditionalProperties>]
386
+ # Extra fields to export to the Cloud Retail program.
387
+ # @!attribute [rw] virtual_model_link
388
+ # @return [::String]
389
+ # URL of the 3D image of the item. See the
390
+ # [Help Center article](https://support.google.com/merchants/answer/13674896)
391
+ # for more information.
392
+ # @!attribute [rw] certifications
393
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductCertification>]
394
+ # Product Certifications, for example for energy efficiency labeling of
395
+ # products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home)
396
+ # database. See the [Help
397
+ # Center](https://support.google.com/merchants/answer/13528839)
398
+ # article for more information.
399
+ # @!attribute [rw] structured_title
400
+ # @return [::Google::Shopping::Merchant::Products::V1::StructuredTitle]
401
+ # Structured title, for algorithmically (AI)-generated titles.
402
+ # @!attribute [rw] structured_description
403
+ # @return [::Google::Shopping::Merchant::Products::V1::StructuredDescription]
404
+ # Structured description, for algorithmically (AI)-generated descriptions.
405
+ # @!attribute [rw] auto_pricing_min_price
406
+ # @return [::Google::Shopping::Type::Price]
407
+ # A safeguard in the [automated discounts]
408
+ # (https://support.google.com/merchants/answer/10295759) and
409
+ # "Dynamic Promotions"
410
+ # (https://support.google.com/merchants/answer/13949249) projects,
411
+ # ensuring that discounts on business offers do not fall below this value,
412
+ # thereby preserving the offer's value and profitability.
413
+ # @!attribute [rw] sustainability_incentives
414
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductSustainabilityIncentive>]
415
+ # The list of sustainability incentive programs.
416
+ class ProductAttributes
417
+ include ::Google::Protobuf::MessageExts
418
+ extend ::Google::Protobuf::MessageExts::ClassMethods
419
+ end
420
+
421
+ # The ShippingWeight of the product.
422
+ # @!attribute [rw] value
423
+ # @return [::Float]
424
+ # The weight of the product used to calculate the shipping cost of the
425
+ # item.
426
+ # @!attribute [rw] unit
427
+ # @return [::String]
428
+ # The unit of value.
429
+ class ShippingWeight
430
+ include ::Google::Protobuf::MessageExts
431
+ extend ::Google::Protobuf::MessageExts::ClassMethods
432
+ end
433
+
434
+ # The ShippingDimension of the product.
435
+ # @!attribute [rw] value
436
+ # @return [::Float]
437
+ # The dimension of the product used to calculate the shipping cost of the
438
+ # item.
439
+ # @!attribute [rw] unit
440
+ # @return [::String]
441
+ # The unit of value.
442
+ class ShippingDimension
443
+ include ::Google::Protobuf::MessageExts
444
+ extend ::Google::Protobuf::MessageExts::ClassMethods
445
+ end
446
+
447
+ # The UnitPricingBaseMeasure of the product.
448
+ # @!attribute [rw] value
449
+ # @return [::Integer]
450
+ # The denominator of the unit price.
451
+ # @!attribute [rw] unit
452
+ # @return [::String]
453
+ # The unit of the denominator.
454
+ class UnitPricingBaseMeasure
455
+ include ::Google::Protobuf::MessageExts
456
+ extend ::Google::Protobuf::MessageExts::ClassMethods
457
+ end
458
+
459
+ # The UnitPricingMeasure of the product.
460
+ # @!attribute [rw] value
461
+ # @return [::Float]
462
+ # The measure of an item.
463
+ # @!attribute [rw] unit
464
+ # @return [::String]
465
+ # The unit of the measure.
466
+ class UnitPricingMeasure
467
+ include ::Google::Protobuf::MessageExts
468
+ extend ::Google::Protobuf::MessageExts::ClassMethods
469
+ end
470
+
471
+ # The SubscriptionCost of the product.
472
+ # @!attribute [rw] period
473
+ # @return [::Google::Shopping::Merchant::Products::V1::SubscriptionPeriod]
474
+ # The type of subscription period.
475
+ # Supported values are:
476
+ # * "`month`"
477
+ # * "`year`"
478
+ # @!attribute [rw] period_length
479
+ # @return [::Integer]
480
+ # The number of subscription periods the buyer has to pay.
481
+ # @!attribute [rw] amount
482
+ # @return [::Google::Shopping::Type::Price]
483
+ # The amount the buyer has to pay per subscription period.
484
+ class SubscriptionCost
485
+ include ::Google::Protobuf::MessageExts
486
+ extend ::Google::Protobuf::MessageExts::ClassMethods
487
+ end
488
+
489
+ # A message that represents installment.
490
+ # @!attribute [rw] months
491
+ # @return [::Integer]
492
+ # The number of installments the buyer has to pay.
493
+ # @!attribute [rw] amount
494
+ # @return [::Google::Shopping::Type::Price]
495
+ # The amount the buyer has to pay per month.
496
+ # @!attribute [rw] downpayment
497
+ # @return [::Google::Shopping::Type::Price]
498
+ # The up-front down payment amount the buyer has to pay.
499
+ # @!attribute [rw] credit_type
500
+ # @return [::Google::Shopping::Merchant::Products::V1::CreditType]
501
+ # Type of installment payments.
502
+ class ProductInstallment
503
+ include ::Google::Protobuf::MessageExts
504
+ extend ::Google::Protobuf::MessageExts::ClassMethods
505
+ end
506
+
507
+ # A message that represents loyalty points.
508
+ # @!attribute [rw] name
509
+ # @return [::String]
510
+ # Name of loyalty points program. It is recommended to limit the name to
511
+ # 12 full-width characters or 24 Roman characters.
512
+ # @!attribute [rw] points_value
513
+ # @return [::Integer]
514
+ # The retailer's loyalty points in absolute value.
515
+ # @!attribute [rw] ratio
516
+ # @return [::Float]
517
+ # The ratio of a point when converted to currency. Google assumes currency
518
+ # based on Merchant Center settings. If ratio is left out, it defaults to
519
+ # 1.0.
520
+ class LoyaltyPoints
521
+ include ::Google::Protobuf::MessageExts
522
+ extend ::Google::Protobuf::MessageExts::ClassMethods
523
+ end
524
+
525
+ # A message that represents loyalty program.
526
+ # @!attribute [rw] program_label
527
+ # @return [::String]
528
+ # The label of the loyalty program. This is an internal label that uniquely
529
+ # identifies the relationship between a business entity and a loyalty
530
+ # program entity. The label must be provided so that the system can associate
531
+ # the assets below (for example, price and points) with a business. The
532
+ # corresponding program must be linked to the Merchant Center account.
533
+ # @!attribute [rw] tier_label
534
+ # @return [::String]
535
+ # The label of the tier within the loyalty program.
536
+ # Must match one of the labels within the program.
537
+ # @!attribute [rw] price
538
+ # @return [::Google::Shopping::Type::Price]
539
+ # The price for members of the given tier, that is, the instant discount
540
+ # price. Must be smaller or equal to the regular price.
541
+ # @!attribute [rw] cashback_for_future_use
542
+ # @return [::Google::Shopping::Type::Price]
543
+ # The cashback that can be used for future purchases.
544
+ # @!attribute [rw] loyalty_points
545
+ # @return [::Integer]
546
+ # The amount of loyalty points earned on a purchase.
547
+ # @!attribute [rw] member_price_effective_date
548
+ # @return [::Google::Type::Interval]
549
+ # A date range during which the item is eligible for member price. If not
550
+ # specified, the member price is always applicable. The date range is
551
+ # represented by a pair of ISO 8601 dates separated by a space,
552
+ # comma, or slash.
553
+ # @!attribute [rw] shipping_label
554
+ # @return [::String]
555
+ # The label of the shipping benefit. If the field has value, this offer has
556
+ # loyalty shipping benefit. If the field value isn't provided, the item is
557
+ # not eligible for loyalty shipping for the given loyalty tier.
558
+ class LoyaltyProgram
559
+ include ::Google::Protobuf::MessageExts
560
+ extend ::Google::Protobuf::MessageExts::ClassMethods
561
+ end
562
+
563
+ # The Shipping of the product.
564
+ # @!attribute [rw] price
565
+ # @return [::Google::Shopping::Type::Price]
566
+ # Fixed shipping price, represented as a number.
567
+ # @!attribute [rw] country
568
+ # @return [::String]
569
+ # The [CLDR territory
570
+ # code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
571
+ # of the country to which an item will ship.
572
+ # @!attribute [rw] region
573
+ # @return [::String]
574
+ # The geographic region to which a shipping rate applies.
575
+ # See [region](https://support.google.com/merchants/answer/6324484) for more
576
+ # information.
577
+ # @!attribute [rw] service
578
+ # @return [::String]
579
+ # A free-form description of the service class or delivery speed.
580
+ # @!attribute [rw] location_id
581
+ # @return [::Integer]
582
+ # The numeric ID of a location that the shipping rate applies to as
583
+ # defined in the [AdWords
584
+ # API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
585
+ # @!attribute [rw] location_group_name
586
+ # @return [::String]
587
+ # The location where the shipping is applicable, represented by a
588
+ # location group name.
589
+ # @!attribute [rw] postal_code
590
+ # @return [::String]
591
+ # The postal code range that the shipping rate applies to, represented by
592
+ # a postal code, a postal code prefix followed by a * wildcard, a range
593
+ # between two postal codes or two postal code prefixes of equal length.
594
+ # @!attribute [rw] min_handling_time
595
+ # @return [::Integer]
596
+ # Minimum handling time (inclusive) between when the order is received and
597
+ # shipped in business days. 0 means that the order is shipped on the same
598
+ # day as it is received if it happens before the cut-off time.
599
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#min_handling_time minHandlingTime}
600
+ # can only be present together with
601
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#max_handling_time maxHandlingTime};
602
+ # but it is not required if
603
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#max_handling_time maxHandlingTime}
604
+ # is present.
605
+ # @!attribute [rw] max_handling_time
606
+ # @return [::Integer]
607
+ # Maximum handling time (inclusive) between when the order is received and
608
+ # shipped in business days. 0 means that the order is shipped on the same
609
+ # day as it is received if it happens before the cut-off time. Both
610
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#max_handling_time maxHandlingTime}
611
+ # and
612
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#max_transit_time maxTransitTime}
613
+ # are required if providing shipping speeds.
614
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#min_handling_time minHandlingTime}
615
+ # is optional if
616
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#max_handling_time maxHandlingTime}
617
+ # is present.
618
+ # @!attribute [rw] min_transit_time
619
+ # @return [::Integer]
620
+ # Minimum transit time (inclusive) between when the order has shipped and
621
+ # when it is delivered in business days. 0 means that the order is
622
+ # delivered on the same day as it ships.
623
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#min_transit_time minTransitTime}
624
+ # can only be present together with
625
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#max_transit_time maxTransitTime};
626
+ # but it is not required if
627
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#max_transit_time maxTransitTime}
628
+ # is present.
629
+ # @!attribute [rw] max_transit_time
630
+ # @return [::Integer]
631
+ # Maximum transit time (inclusive) between when the order has shipped and
632
+ # when it is delivered in business days. 0 means that the order is
633
+ # delivered on the same day as it ships. Both
634
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#max_handling_time maxHandlingTime}
635
+ # and
636
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#max_transit_time maxTransitTime}
637
+ # are required if providing shipping speeds.
638
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#min_transit_time minTransitTime}
639
+ # is optional if
640
+ # {::Google::Shopping::Merchant::Products::V1::Shipping#max_transit_time maxTransitTime}
641
+ # is present.
642
+ class Shipping
643
+ include ::Google::Protobuf::MessageExts
644
+ extend ::Google::Protobuf::MessageExts::ClassMethods
645
+ end
646
+
647
+ # Conditions to be met for a product to have free shipping.
648
+ # @!attribute [rw] country
649
+ # @return [::String]
650
+ # The [CLDR territory
651
+ # code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
652
+ # of the country to which an item will ship.
653
+ # @!attribute [rw] price_threshold
654
+ # @return [::Google::Shopping::Type::Price]
655
+ # The minimum product price for the shipping cost to become free. Represented
656
+ # as a number.
657
+ class FreeShippingThreshold
658
+ include ::Google::Protobuf::MessageExts
659
+ extend ::Google::Protobuf::MessageExts::ClassMethods
660
+ end
661
+
662
+ # The product details.
663
+ # @!attribute [rw] section_name
664
+ # @return [::String]
665
+ # The section header used to group a set of product details.
666
+ # @!attribute [rw] attribute_name
667
+ # @return [::String]
668
+ # The name of the product detail.
669
+ # @!attribute [rw] attribute_value
670
+ # @return [::String]
671
+ # The value of the product detail.
672
+ class ProductDetail
673
+ include ::Google::Protobuf::MessageExts
674
+ extend ::Google::Protobuf::MessageExts::ClassMethods
675
+ end
676
+
677
+ # Product
678
+ # [certification](https://support.google.com/merchants/answer/13528839),
679
+ # initially introduced for EU energy efficiency labeling compliance using the
680
+ # EU EPREL database.
681
+ # @!attribute [rw] certification_authority
682
+ # @return [::Google::Shopping::Merchant::Products::V1::CertificationAuthority]
683
+ # The certification authority.
684
+ # @!attribute [rw] certification_name
685
+ # @return [::Google::Shopping::Merchant::Products::V1::CertificationName]
686
+ # The name of the certification.
687
+ # @!attribute [rw] certification_code
688
+ # @return [::String]
689
+ # The certification code.
690
+ # Maximum length is 2000 characters.
691
+ # @!attribute [rw] certification_value
692
+ # @return [::String]
693
+ # The certification value (also known as class, level or grade), for
694
+ # example "A+", "C", "gold". Maximum length is 2000 characters.
695
+ class ProductCertification
696
+ include ::Google::Protobuf::MessageExts
697
+ extend ::Google::Protobuf::MessageExts::ClassMethods
698
+ end
699
+
700
+ # Structured title, for algorithmically (AI)-generated titles.
701
+ # @!attribute [rw] digital_source_type
702
+ # @return [::Google::Shopping::Merchant::Products::V1::DigitalSourceType]
703
+ # The digital source type.
704
+ # Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype).
705
+ # @!attribute [rw] content
706
+ # @return [::String]
707
+ # The title text
708
+ # Maximum length is 150 characters
709
+ class StructuredTitle
710
+ include ::Google::Protobuf::MessageExts
711
+ extend ::Google::Protobuf::MessageExts::ClassMethods
712
+ end
713
+
714
+ # Structured description, for algorithmically (AI)-generated descriptions.
715
+ # @!attribute [rw] digital_source_type
716
+ # @return [::Google::Shopping::Merchant::Products::V1::DigitalSourceType]
717
+ # The digital source type.
718
+ # Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype).
719
+ # @!attribute [rw] content
720
+ # @return [::String]
721
+ # The description text
722
+ # Maximum length is 5000 characters
723
+ class StructuredDescription
724
+ include ::Google::Protobuf::MessageExts
725
+ extend ::Google::Protobuf::MessageExts::ClassMethods
726
+ end
727
+
728
+ # The dimension of the product.
729
+ # @!attribute [rw] value
730
+ # @return [::Float]
731
+ # Required. The dimension value represented as a number. The value can have a
732
+ # maximum precision of four decimal places.
733
+ # @!attribute [rw] unit
734
+ # @return [::String]
735
+ # Required. The dimension units.
736
+ # Acceptable values are:
737
+ # * "`in`"
738
+ # * "`cm`"
739
+ class ProductDimension
740
+ include ::Google::Protobuf::MessageExts
741
+ extend ::Google::Protobuf::MessageExts::ClassMethods
742
+ end
743
+
744
+ # The weight of the product.
745
+ # @!attribute [rw] value
746
+ # @return [::Float]
747
+ # Required. The weight represented as a number. The weight can have a maximum
748
+ # precision of four decimal places.
749
+ # @!attribute [rw] unit
750
+ # @return [::String]
751
+ # Required. The weight unit.
752
+ # Acceptable values are:
753
+ # * "`g`"
754
+ # * "`kg`"
755
+ # * "`oz`"
756
+ # * "`lb`"
757
+ class ProductWeight
758
+ include ::Google::Protobuf::MessageExts
759
+ extend ::Google::Protobuf::MessageExts::ClassMethods
760
+ end
761
+
762
+ # The status of a product, data validation issues, that is, information about
763
+ # a product computed asynchronously.
764
+ # @!attribute [rw] destination_statuses
765
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductStatus::DestinationStatus>]
766
+ # The intended destinations for the product.
767
+ # @!attribute [rw] item_level_issues
768
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductStatus::ItemLevelIssue>]
769
+ # A list of all issues associated with the product.
770
+ # @!attribute [rw] creation_date
771
+ # @return [::Google::Protobuf::Timestamp]
772
+ # Date on which the item has been created, in [ISO
773
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
774
+ # @!attribute [rw] last_update_date
775
+ # @return [::Google::Protobuf::Timestamp]
776
+ # Date on which the item has been last updated, in [ISO
777
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
778
+ # @!attribute [rw] google_expiration_date
779
+ # @return [::Google::Protobuf::Timestamp]
780
+ # Date on which the item expires, in [ISO
781
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
782
+ class ProductStatus
783
+ include ::Google::Protobuf::MessageExts
784
+ extend ::Google::Protobuf::MessageExts::ClassMethods
785
+
786
+ # The destination status of the product status.
787
+ # @!attribute [rw] reporting_context
788
+ # @return [::Google::Shopping::Type::ReportingContext::ReportingContextEnum]
789
+ # The name of the reporting context.
790
+ # @!attribute [rw] approved_countries
791
+ # @return [::Array<::String>]
792
+ # List of country codes (ISO 3166-1 alpha-2) where the offer is approved.
793
+ # @!attribute [rw] pending_countries
794
+ # @return [::Array<::String>]
795
+ # List of country codes (ISO 3166-1 alpha-2) where the offer is pending
796
+ # approval.
797
+ # @!attribute [rw] disapproved_countries
798
+ # @return [::Array<::String>]
799
+ # List of country codes (ISO 3166-1 alpha-2) where the offer is
800
+ # disapproved.
801
+ class DestinationStatus
802
+ include ::Google::Protobuf::MessageExts
803
+ extend ::Google::Protobuf::MessageExts::ClassMethods
804
+ end
805
+
806
+ # The ItemLevelIssue of the product status.
807
+ # @!attribute [rw] code
808
+ # @return [::String]
809
+ # The error code of the issue.
810
+ # @!attribute [rw] severity
811
+ # @return [::Google::Shopping::Merchant::Products::V1::ProductStatus::ItemLevelIssue::Severity]
812
+ # How this issue affects serving of the offer.
813
+ # @!attribute [rw] resolution
814
+ # @return [::String]
815
+ # Whether the issue can be resolved by the business.
816
+ # @!attribute [rw] attribute
817
+ # @return [::String]
818
+ # The attribute's name, if the issue is caused by a single attribute.
819
+ # @!attribute [rw] reporting_context
820
+ # @return [::Google::Shopping::Type::ReportingContext::ReportingContextEnum]
821
+ # The reporting context the issue applies to.
822
+ # @!attribute [rw] description
823
+ # @return [::String]
824
+ # A short issue description in English.
825
+ # @!attribute [rw] detail
826
+ # @return [::String]
827
+ # A detailed issue description in English.
828
+ # @!attribute [rw] documentation
829
+ # @return [::String]
830
+ # The URL of a web page to help with resolving this issue.
831
+ # @!attribute [rw] applicable_countries
832
+ # @return [::Array<::String>]
833
+ # List of country codes (ISO 3166-1 alpha-2) where issue applies to the
834
+ # offer.
835
+ class ItemLevelIssue
836
+ include ::Google::Protobuf::MessageExts
837
+ extend ::Google::Protobuf::MessageExts::ClassMethods
838
+
839
+ # How the issue affects the serving of the product.
840
+ module Severity
841
+ # Not specified.
842
+ SEVERITY_UNSPECIFIED = 0
843
+
844
+ # This issue represents a warning and does not have a direct affect
845
+ # on the product.
846
+ NOT_IMPACTED = 1
847
+
848
+ # The product is demoted and most likely have limited performance
849
+ # in search results
850
+ DEMOTED = 2
851
+
852
+ # Issue disapproves the product.
853
+ DISAPPROVED = 3
854
+ end
855
+ end
856
+ end
857
+
858
+ # Product property for the Cloud Retail API.
859
+ # For example, properties for a TV product could be "Screen-Resolution" or
860
+ # "Screen-Size".
861
+ # @!attribute [rw] property_name
862
+ # @return [::String]
863
+ # Name of the given property. For example,
864
+ # "Screen-Resolution" for a TV product. Maximum string size is 256
865
+ # characters.
866
+ # @!attribute [rw] text_value
867
+ # @return [::Array<::String>]
868
+ # Text value of the given property. For example,
869
+ # "8K(UHD)" could be a text value for a TV product. Maximum
870
+ # repeatedness of this value is 400. Values are stored in an arbitrary but
871
+ # consistent order. Maximum string size is 256 characters.
872
+ # @!attribute [rw] bool_value
873
+ # @return [::Boolean]
874
+ # Boolean value of the given property. For example for a TV product,
875
+ # "True" or "False" if the screen is UHD.
876
+ # @!attribute [rw] int_value
877
+ # @return [::Array<::Integer>]
878
+ # Integer values of the given property. For example, 1080 for a TV
879
+ # product's Screen Resolution. Maximum repeatedness of this value
880
+ # is 400. Values are stored in an arbitrary but consistent order.
881
+ # @!attribute [rw] float_value
882
+ # @return [::Array<::Float>]
883
+ # Float values of the given property. For example for a TV product
884
+ # 1.2345. Maximum repeatedness of this value is 400. Values
885
+ # are stored in an arbitrary but consistent order.
886
+ # @!attribute [rw] min_value
887
+ # @return [::Float]
888
+ # Minimum float value of the given property. For example for a TV
889
+ # product 1.00.
890
+ # @!attribute [rw] max_value
891
+ # @return [::Float]
892
+ # Maximum float value of the given property. For example for a TV
893
+ # product 100.00.
894
+ # @!attribute [rw] unit_code
895
+ # @return [::String]
896
+ # Unit of the given property. For example, "Pixels" for a TV product. Maximum
897
+ # string size is 256B.
898
+ class CloudExportAdditionalProperties
899
+ include ::Google::Protobuf::MessageExts
900
+ extend ::Google::Protobuf::MessageExts::ClassMethods
901
+ end
902
+
903
+ # Information regarding sustainability-related incentive programs such as
904
+ # rebates or tax relief.
905
+ # @!attribute [rw] amount
906
+ # @return [::Google::Shopping::Type::Price]
907
+ # The fixed amount of the incentive.
908
+ #
909
+ # Note: The following fields are mutually exclusive: `amount`, `percentage`. If a field in that set is populated, all other fields in the set will automatically be cleared.
910
+ # @!attribute [rw] percentage
911
+ # @return [::Float]
912
+ # The percentage of the sale price that the incentive is applied to.
913
+ #
914
+ # Note: The following fields are mutually exclusive: `percentage`, `amount`. If a field in that set is populated, all other fields in the set will automatically be cleared.
915
+ # @!attribute [rw] type
916
+ # @return [::Google::Shopping::Merchant::Products::V1::ProductSustainabilityIncentive::Type]
917
+ # Sustainability incentive program.
918
+ class ProductSustainabilityIncentive
919
+ include ::Google::Protobuf::MessageExts
920
+ extend ::Google::Protobuf::MessageExts::ClassMethods
921
+
922
+ # Types of supported sustainability incentive programs.
923
+ module Type
924
+ # Unspecified or unknown sustainability incentive type.
925
+ TYPE_UNSPECIFIED = 0
926
+
927
+ # Program offering tax liability reductions for electric vehicles and, in
928
+ # some countries, plug-in hybrids. These reductions can be based on a
929
+ # specific amount or a percentage of the sale price.
930
+ EV_TAX_CREDIT = 1
931
+
932
+ # A subsidy program, often called an environmental bonus, provides a
933
+ # purchase grant for electric vehicles and, in some countries, plug-in
934
+ # hybrids. The grant amount may be a fixed sum or a percentage of the sale
935
+ # price.
936
+ EV_PRICE_DISCOUNT = 2
937
+ end
938
+ end
939
+
940
+ # Information regarding Automated Discounts.
941
+ # @!attribute [rw] prior_price
942
+ # @return [::Google::Shopping::Type::Price]
943
+ # The price prior to the application of the first price reduction.
944
+ # Absent if the information about the prior price of the product is not
945
+ # available.
946
+ # @!attribute [rw] prior_price_progressive
947
+ # @return [::Google::Shopping::Type::Price]
948
+ # The price prior to the application of consecutive price reductions.
949
+ # Absent if the information about the prior price of the product is not
950
+ # available.
951
+ # @!attribute [rw] gad_price
952
+ # @return [::Google::Shopping::Type::Price]
953
+ # The current sale price for products with a price optimized using Google
954
+ # Automated Discounts (GAD). Absent if the information about the GAD_price of
955
+ # the product is not available.
956
+ class AutomatedDiscounts
957
+ include ::Google::Protobuf::MessageExts
958
+ extend ::Google::Protobuf::MessageExts::ClassMethods
959
+ end
960
+
961
+ # The subscription period of the product.
962
+ module SubscriptionPeriod
963
+ # Indicates that the subscription period is unspecified.
964
+ SUBSCRIPTION_PERIOD_UNSPECIFIED = 0
965
+
966
+ # Indicates that the subscription period is month.
967
+ MONTH = 1
968
+
969
+ # Indicates that the subscription period is year.
970
+ YEAR = 2
971
+ end
972
+
973
+ # Target [age group](https://support.google.com/merchants/answer/6324463) of
974
+ # the item.
975
+ module AgeGroup
976
+ # Age group is not specified.
977
+ AGE_GROUP_UNSPECIFIED = 0
978
+
979
+ # Teens or older.
980
+ ADULT = 1
981
+
982
+ # 5-13 years old.
983
+ KIDS = 2
984
+
985
+ # 1-5 years old.
986
+ TODDLER = 3
987
+
988
+ # 3-12 months old.
989
+ INFANT = 4
990
+
991
+ # 0-3 months old.
992
+ NEWBORN = 5
993
+ end
994
+
995
+ # [Availability](https://support.google.com/merchants/answer/6324448) status
996
+ # of the item.
997
+ module Availability
998
+ # Availability is not specified.
999
+ AVAILABILITY_UNSPECIFIED = 0
1000
+
1001
+ # In stock.
1002
+ IN_STOCK = 1
1003
+
1004
+ # Out of stock.
1005
+ OUT_OF_STOCK = 2
1006
+
1007
+ # Pre-order.
1008
+ PREORDER = 3
1009
+
1010
+ # Limited availability.
1011
+ LIMITED_AVAILABILITY = 4
1012
+
1013
+ # Backorder.
1014
+ BACKORDER = 5
1015
+ end
1016
+
1017
+ # [Condition](https://support.google.com/merchants/answer/6324469) or state
1018
+ # of the item.
1019
+ module Condition
1020
+ # Default value. This value is unused.
1021
+ CONDITION_UNSPECIFIED = 0
1022
+
1023
+ # Brand new, original, unopened packaging.
1024
+ NEW = 1
1025
+
1026
+ # Previously used, original packaging opened or missing.
1027
+ USED = 2
1028
+
1029
+ # Professionally restored to working order, comes with a warranty, may or
1030
+ # may not have the original packaging.
1031
+ REFURBISHED = 3
1032
+ end
1033
+
1034
+ # Target [gender](https://support.google.com/merchants/answer/6324479) of the
1035
+ # item.
1036
+ module Gender
1037
+ # Gender is not specified.
1038
+ GENDER_UNSPECIFIED = 0
1039
+
1040
+ # Male.
1041
+ MALE = 1
1042
+
1043
+ # Female.
1044
+ FEMALE = 2
1045
+
1046
+ # Unisex.
1047
+ UNISEX = 3
1048
+ end
1049
+
1050
+ # Type of installment payments.
1051
+ module CreditType
1052
+ # Default value. This value is unused.
1053
+ CREDIT_TYPE_UNSPECIFIED = 0
1054
+
1055
+ # Finance.
1056
+ FINANCE = 1
1057
+
1058
+ # Lease.
1059
+ LEASE = 2
1060
+ end
1061
+
1062
+ # System in which the size is specified. Recommended for apparel items.
1063
+ # For more information, see
1064
+ # [Size system](https://support.google.com/merchants/answer/6324502).
1065
+ module SizeSystem
1066
+ # Unspecified size system.
1067
+ SIZE_SYSTEM_UNSPECIFIED = 0
1068
+
1069
+ # AU.
1070
+ AU = 1
1071
+
1072
+ # BR.
1073
+ BR = 2
1074
+
1075
+ # CN.
1076
+ CN = 3
1077
+
1078
+ # DE.
1079
+ DE = 4
1080
+
1081
+ # EU.
1082
+ EU = 5
1083
+
1084
+ # FR.
1085
+ FR = 6
1086
+
1087
+ # IT.
1088
+ IT = 7
1089
+
1090
+ # JP.
1091
+ JP = 8
1092
+
1093
+ # MEX.
1094
+ MEX = 9
1095
+
1096
+ # UK.
1097
+ UK = 10
1098
+
1099
+ # US.
1100
+ US = 11
1101
+ end
1102
+
1103
+ # The cut of the item. It can be used to represent combined size types for
1104
+ # apparel items. Maximum two of size types can be provided, see
1105
+ # [Size type](https://support.google.com/merchants/answer/6324497).
1106
+ module SizeType
1107
+ # The size type is not specified.
1108
+ SIZE_TYPE_UNSPECIFIED = 0
1109
+
1110
+ # Regular size.
1111
+ REGULAR = 1
1112
+
1113
+ # Petite size.
1114
+ PETITE = 2
1115
+
1116
+ # Maternity size.
1117
+ MATERNITY = 3
1118
+
1119
+ # Big size.
1120
+ BIG = 4
1121
+
1122
+ # Tall size.
1123
+ TALL = 5
1124
+
1125
+ # Plus size.
1126
+ PLUS = 6
1127
+ end
1128
+
1129
+ # The [energy efficiency
1130
+ # class](https://support.google.com/merchants/answer/7562785) as defined in EU
1131
+ # directive 2010/30/EU.
1132
+ module EnergyEfficiencyClass
1133
+ # The energy efficiency class is unspecified.
1134
+ ENERGY_EFFICIENCY_CLASS_UNSPECIFIED = 0
1135
+
1136
+ # A+++.
1137
+ APPP = 1
1138
+
1139
+ # A++.
1140
+ APP = 2
1141
+
1142
+ # A+.
1143
+ AP = 3
1144
+
1145
+ # A.
1146
+ A = 4
1147
+
1148
+ # B.
1149
+ B = 5
1150
+
1151
+ # C.
1152
+ C = 6
1153
+
1154
+ # D.
1155
+ D = 7
1156
+
1157
+ # E.
1158
+ E = 8
1159
+
1160
+ # F.
1161
+ F = 9
1162
+
1163
+ # G.
1164
+ G = 10
1165
+ end
1166
+
1167
+ # The [pickup](https://support.google.com/merchants/answer/14634021) option
1168
+ # for the item.
1169
+ module PickupMethod
1170
+ # Pickup method is not specified.
1171
+ PICKUP_METHOD_UNSPECIFIED = 0
1172
+
1173
+ # The item is not available for store pickup.
1174
+ NOT_SUPPORTED = 1
1175
+
1176
+ # The entire transaction occurs online.
1177
+ BUY = 2
1178
+
1179
+ # The item is reserved online and the transaction occurs in-store.
1180
+ RESERVE = 3
1181
+
1182
+ # The item is purchased online and shipped to a local store for the customer
1183
+ # to pick up.
1184
+ SHIP_TO_STORE = 4
1185
+ end
1186
+
1187
+ # Item store pickup timeline. For more information, see
1188
+ # [Pickup SLA](https://support.google.com/merchants/answer/14635400).
1189
+ module PickupSla
1190
+ # Pickup SLA is not specified.
1191
+ PICKUP_SLA_UNSPECIFIED = 0
1192
+
1193
+ # Indicates that the product is available for pickup the same day that the
1194
+ # order is placed, subject to cut off times.
1195
+ SAME_DAY = 1
1196
+
1197
+ # Indicates that the product is available for pickup the following day that
1198
+ # the order is placed.
1199
+ NEXT_DAY = 2
1200
+
1201
+ # Indicates that the product will be shipped to a store for a customer to
1202
+ # pick up in 2 days.
1203
+ TWO_DAY = 3
1204
+
1205
+ # Indicates that the product will be shipped to a store for a customer to
1206
+ # pick up in 3 days.
1207
+ THREE_DAY = 4
1208
+
1209
+ # Indicates that the product will be shipped to a store for a customer to
1210
+ # pick up in 4 days
1211
+ FOUR_DAY = 5
1212
+
1213
+ # Indicates that the product will be shipped to a store for a customer to
1214
+ # pick up in 5 days.
1215
+ FIVE_DAY = 6
1216
+
1217
+ # Indicates that the product will be shipped to a store for a customer to
1218
+ # pick up in 6 days.
1219
+ SIX_DAY = 7
1220
+
1221
+ # Indicates that the product will be shipped to a store for a customer to
1222
+ # pick up in one week or more.
1223
+ MULTI_WEEK = 8
1224
+ end
1225
+
1226
+ # Publication of this item will be temporarily
1227
+ # [paused](https://support.google.com/merchants/answer/11909930).
1228
+ module Pause
1229
+ # The pause is unspecified.
1230
+ PAUSE_UNSPECIFIED = 0
1231
+
1232
+ # You’re currently pausing your product for all ads locations (including
1233
+ # Shopping Ads, Display Ads, and local inventory ads).
1234
+ ADS = 1
1235
+
1236
+ # You’re currently pausing your product for all Shopping locations
1237
+ # (including Shopping Ads, Display Ads, local inventory ads, Buy on Google,
1238
+ # and free listings).
1239
+ ALL = 2
1240
+ end
1241
+
1242
+ # The certification authority.
1243
+ module CertificationAuthority
1244
+ # Certification authority is not specified.
1245
+ CERTIFICATION_AUTHORITY_UNSPECIFIED = 0
1246
+
1247
+ # For the French CO2 emissions class for vehicles.
1248
+ ADEME = 1
1249
+
1250
+ # For the German CO2 emissions classes for vehicles.
1251
+ BMWK = 2
1252
+
1253
+ # Environment Protection Agency.
1254
+ EPA = 3
1255
+
1256
+ # European Commission for energy labels in the EU.
1257
+ EC = 4
1258
+ end
1259
+
1260
+ # The name of the certification.
1261
+ module CertificationName
1262
+ # Certification name is not specified.
1263
+ CERTIFICATION_NAME_UNSPECIFIED = 0
1264
+
1265
+ # Energy Star.
1266
+ ENERGY_STAR = 1
1267
+
1268
+ # Energy Star Most Efficient.
1269
+ ENERGY_STAR_MOST_EFFICIENT = 2
1270
+
1271
+ # Represents energy efficiency certifications in the EU European
1272
+ # Registry for Energy Labeling (EPREL) database.
1273
+ EPREL = 3
1274
+
1275
+ # EU Ecolabel.
1276
+ EU_ECOLABEL = 4
1277
+
1278
+ # The overall CO2 class of a vehicle
1279
+ VEHICLE_ENERGY_EFFICIENCY = 5
1280
+
1281
+ # For the CO2 class of a vehicle with a discharged battery.
1282
+ VEHICLE_ENERGY_EFFICIENCY_DISCHARGED_BATTERY = 6
1283
+ end
1284
+
1285
+ # The digital source type.
1286
+ # Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype).
1287
+ module DigitalSourceType
1288
+ # Digital source type is unspecified.
1289
+ DIGITAL_SOURCE_TYPE_UNSPECIFIED = 0
1290
+
1291
+ # Text created algorithmically using a model derived from sampled
1292
+ # content.
1293
+ TRAINED_ALGORITHMIC_MEDIA = 1
1294
+
1295
+ # Text NOT created algorithmically using a model derived from sampled
1296
+ # content (the default)
1297
+ DEFAULT = 2
1298
+ end
1299
+ end
1300
+ end
1301
+ end
1302
+ end
1303
+ end