# frozen_string_literal: true # Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Shopping module Merchant module Products module V1beta # Attributes. # @!attribute [rw] identifier_exists # @return [::Boolean] # Set this value to false when the item does not have unique product # identifiers appropriate to its category, such as GTIN, MPN, and brand. # Defaults to true, if not provided. # @!attribute [rw] is_bundle # @return [::Boolean] # Whether the item is a merchant-defined bundle. A bundle is a custom # grouping of different products sold by a merchant for a single price. # @!attribute [rw] title # @return [::String] # Title of the item. # @!attribute [rw] description # @return [::String] # Description of the item. # @!attribute [rw] link # @return [::String] # URL directly linking to your item's page on your online store. # @!attribute [rw] mobile_link # @return [::String] # URL for the mobile-optimized version of your item's landing page. # @!attribute [rw] canonical_link # @return [::String] # URL for the canonical version of your item's landing page. # @!attribute [rw] image_link # @return [::String] # URL of an image of the item. # @!attribute [rw] additional_image_links # @return [::Array<::String>] # Additional URLs of images of the item. # @!attribute [rw] expiration_date # @return [::Google::Protobuf::Timestamp] # Date on which the item should expire, as specified upon insertion, in # [ISO # 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual # expiration date is exposed in `productstatuses` as # [googleExpirationDate](https://support.google.com/merchants/answer/6324499) # and might be earlier if `expirationDate` is too far in the future. # @!attribute [rw] disclosure_date # @return [::Google::Protobuf::Timestamp] # The date time when an offer becomes visible in search results across # Google’s YouTube surfaces, in [ISO # 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date]( # https://support.google.com/merchants/answer/13034208) for more information. # @!attribute [rw] adult # @return [::Boolean] # Set to true if the item is targeted towards adults. # @!attribute [rw] age_group # @return [::String] # Target [age group](https://support.google.com/merchants/answer/6324463) of # the item. # @!attribute [rw] availability # @return [::String] # Availability status of the item. # @!attribute [rw] availability_date # @return [::Google::Protobuf::Timestamp] # The day a pre-ordered product becomes available for delivery, in [ISO # 8601](http://en.wikipedia.org/wiki/ISO_8601) format. # @!attribute [rw] brand # @return [::String] # Brand of the item. # @!attribute [rw] color # @return [::String] # Color of the item. # @!attribute [rw] condition # @return [::String] # Condition or state of the item. # @!attribute [rw] gender # @return [::String] # Target gender of the item. # @!attribute [rw] google_product_category # @return [::String] # Google's category of the item (see [Google product # taxonomy](https://support.google.com/merchants/answer/1705911)). When # querying products, this field will contain the user provided value. There # is currently no way to get back the auto assigned google product # categories through the API. # @!attribute [rw] gtin # @return [::Array<::String>] # Global Trade Item Numbers # ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the # item. # You can provide up to 10 GTINs. # @!attribute [rw] item_group_id # @return [::String] # Shared identifier for all variants of the same product. # @!attribute [rw] material # @return [::String] # The material of which the item is made. # @!attribute [rw] mpn # @return [::String] # Manufacturer Part Number # ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the # item. # @!attribute [rw] pattern # @return [::String] # The item's pattern (for example, polka dots). # @!attribute [rw] price # @return [::Google::Shopping::Type::Price] # Price of the item. # @!attribute [rw] installment # @return [::Google::Shopping::Merchant::Products::V1beta::Installment] # Number and amount of installments to pay for an item. # @!attribute [rw] subscription_cost # @return [::Google::Shopping::Merchant::Products::V1beta::SubscriptionCost] # Number of periods (months or years) and amount of payment per period # for an item with an associated subscription contract. # @!attribute [rw] loyalty_points # @return [::Google::Shopping::Merchant::Products::V1beta::LoyaltyPoints] # Loyalty points that users receive after purchasing the item. Japan only. # @!attribute [rw] loyalty_programs # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::LoyaltyProgram>] # A list of loyalty program information that is used to surface loyalty # benefits (for example, better pricing, points, etc) to the user of this # item. # @!attribute [rw] product_types # @return [::Array<::String>] # Categories of the item (formatted as in [product data # specification](https://support.google.com/merchants/answer/188494#product_type)). # @!attribute [rw] sale_price # @return [::Google::Shopping::Type::Price] # Advertised sale price of the item. # @!attribute [rw] sale_price_effective_date # @return [::Google::Type::Interval] # Date range during which the item is on sale (see [product data # specification](https://support.google.com/merchants/answer/188494#sale_price_effective_date)). # @!attribute [rw] sell_on_google_quantity # @return [::Integer] # The quantity of the product that is available for selling on Google. # Supported only for online products. # @!attribute [rw] product_height # @return [::Google::Shopping::Merchant::Products::V1beta::ProductDimension] # The height of the product in the units provided. The value must be # between # 0 (exclusive) and 3000 (inclusive). # @!attribute [rw] product_length # @return [::Google::Shopping::Merchant::Products::V1beta::ProductDimension] # The length of the product in the units provided. The value must be # between 0 (exclusive) and 3000 (inclusive). # @!attribute [rw] product_width # @return [::Google::Shopping::Merchant::Products::V1beta::ProductDimension] # The width of the product in the units provided. The value must be between # 0 (exclusive) and 3000 (inclusive). # @!attribute [rw] product_weight # @return [::Google::Shopping::Merchant::Products::V1beta::ProductWeight] # The weight of the product in the units provided. The value must be # between 0 (exclusive) and 2000 (inclusive). # @!attribute [rw] shipping # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::Shipping>] # Shipping rules. # @!attribute [rw] free_shipping_threshold # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::FreeShippingThreshold>] # Conditions to be met for a product to have free shipping. # @!attribute [rw] shipping_weight # @return [::Google::Shopping::Merchant::Products::V1beta::ShippingWeight] # Weight of the item for shipping. # @!attribute [rw] shipping_length # @return [::Google::Shopping::Merchant::Products::V1beta::ShippingDimension] # Length of the item for shipping. # @!attribute [rw] shipping_width # @return [::Google::Shopping::Merchant::Products::V1beta::ShippingDimension] # Width of the item for shipping. # @!attribute [rw] shipping_height # @return [::Google::Shopping::Merchant::Products::V1beta::ShippingDimension] # Height of the item for shipping. # @!attribute [rw] max_handling_time # @return [::Integer] # Maximal product handling time (in business days). # @!attribute [rw] min_handling_time # @return [::Integer] # Minimal product handling time (in business days). # @!attribute [rw] shipping_label # @return [::String] # The shipping label of the product, used to group product in account-level # shipping rules. # @!attribute [rw] transit_time_label # @return [::String] # The transit time label of the product, used to group product in # account-level transit time tables. # @!attribute [rw] size # @return [::String] # Size of the item. Only one value is allowed. For variants with different # sizes, insert a separate product for each size with the same # `itemGroupId` value (see # [https://support.google.com/merchants/answer/6324492](size definition)). # @!attribute [rw] size_system # @return [::String] # System in which the size is specified. Recommended for apparel items. # @!attribute [rw] size_types # @return [::Array<::String>] # The cut of the item. It can be used to represent combined size types for # apparel items. Maximum two of size types can be provided (see # [https://support.google.com/merchants/answer/6324497](size type)). # @!attribute [rw] taxes # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::Tax>] # Tax information. # @!attribute [rw] tax_category # @return [::String] # The tax category of the product. # @!attribute [rw] energy_efficiency_class # @return [::String] # The energy efficiency class as defined in EU directive 2010/30/EU. # @!attribute [rw] min_energy_efficiency_class # @return [::String] # The energy efficiency class as defined in EU directive 2010/30/EU. # @!attribute [rw] max_energy_efficiency_class # @return [::String] # The energy efficiency class as defined in EU directive 2010/30/EU. # @!attribute [rw] unit_pricing_measure # @return [::Google::Shopping::Merchant::Products::V1beta::UnitPricingMeasure] # The measure and dimension of an item. # @!attribute [rw] unit_pricing_base_measure # @return [::Google::Shopping::Merchant::Products::V1beta::UnitPricingBaseMeasure] # The preference of the denominator of the unit price. # @!attribute [rw] multipack # @return [::Integer] # The number of identical products in a merchant-defined multipack. # @!attribute [rw] ads_grouping # @return [::String] # Used to group items in an arbitrary way. Only for CPA%, discouraged # otherwise. # @!attribute [rw] ads_labels # @return [::Array<::String>] # Similar to ads_grouping, but only works on CPC. # @!attribute [rw] ads_redirect # @return [::String] # Allows advertisers to override the item URL when the product is shown # within the context of Product ads. # @!attribute [rw] cost_of_goods_sold # @return [::Google::Shopping::Type::Price] # Cost of goods sold. Used for gross profit reporting. # @!attribute [rw] product_details # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::ProductDetail>] # Technical specification or additional product details. # @!attribute [rw] product_highlights # @return [::Array<::String>] # Bullet points describing the most relevant highlights of a product. # @!attribute [rw] display_ads_id # @return [::String] # An identifier for an item for dynamic remarketing campaigns. # @!attribute [rw] display_ads_similar_ids # @return [::Array<::String>] # Advertiser-specified recommendations. # @!attribute [rw] display_ads_title # @return [::String] # Title of an item for dynamic remarketing campaigns. # @!attribute [rw] display_ads_link # @return [::String] # URL directly to your item's landing page for dynamic remarketing # campaigns. # @!attribute [rw] display_ads_value # @return [::Float] # Offer margin for dynamic remarketing campaigns. # @!attribute [rw] promotion_ids # @return [::Array<::String>] # The unique ID of a promotion. # @!attribute [rw] pickup_method # @return [::String] # The pick up option for the item. # @!attribute [rw] pickup_sla # @return [::String] # Item store pickup timeline. # @!attribute [rw] link_template # @return [::String] # Link template for merchant hosted local storefront. # @!attribute [rw] mobile_link_template # @return [::String] # Link template for merchant hosted local storefront optimized for mobile # devices. # @!attribute [rw] custom_label_0 # @return [::String] # Custom label 0 for custom grouping of items in a Shopping campaign. # @!attribute [rw] custom_label_1 # @return [::String] # Custom label 1 for custom grouping of items in a Shopping campaign. # @!attribute [rw] custom_label_2 # @return [::String] # Custom label 2 for custom grouping of items in a Shopping campaign. # @!attribute [rw] custom_label_3 # @return [::String] # Custom label 3 for custom grouping of items in a Shopping campaign. # @!attribute [rw] custom_label_4 # @return [::String] # Custom label 4 for custom grouping of items in a Shopping campaign. # @!attribute [rw] included_destinations # @return [::Array<::String>] # The list of destinations to include for this target (corresponds to # checked check boxes in Merchant Center). Default destinations are always # included unless provided in `excludedDestinations`. # @!attribute [rw] excluded_destinations # @return [::Array<::String>] # The list of destinations to exclude for this target (corresponds to # unchecked check boxes in Merchant Center). # @!attribute [rw] shopping_ads_excluded_countries # @return [::Array<::String>] # List of country codes (ISO 3166-1 alpha-2) to exclude the offer from # Shopping Ads destination. # Countries from this list are removed from countries configured # in data source settings. # @!attribute [rw] external_seller_id # @return [::String] # Required for multi-seller accounts. Use this attribute if you're a # marketplace uploading products for various sellers to your multi-seller # account. # @!attribute [rw] pause # @return [::String] # Publication of this item will be temporarily # [paused](https://support.google.com/merchants/answer/11909930). # @!attribute [rw] lifestyle_image_links # @return [::Array<::String>] # Additional URLs of lifestyle images of the item, used to explicitly # identify images that showcase your item in a real-world context. See the # [Help Center article](https://support.google.com/merchants/answer/9103186) # for more information. # @!attribute [rw] cloud_export_additional_properties # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::CloudExportAdditionalProperties>] # Extra fields to export to the Cloud Retail program. # @!attribute [rw] virtual_model_link # @return [::String] # URL of the 3D image of the item. See the # [Help Center article](https://support.google.com/merchants/answer/13674896) # for more information. # @!attribute [rw] certifications # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::Certification>] # Product Certifications, for example for energy efficiency labeling of # products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) # database. See the [Help # Center](https://support.google.com/merchants/answer/13528839) # article for more information. # @!attribute [rw] structured_title # @return [::Google::Shopping::Merchant::Products::V1beta::ProductStructuredTitle] # Structured title, for algorithmically (AI)-generated titles. # @!attribute [rw] structured_description # @return [::Google::Shopping::Merchant::Products::V1beta::ProductStructuredDescription] # Structured description, for algorithmically (AI)-generated descriptions. # @!attribute [rw] auto_pricing_min_price # @return [::Google::Shopping::Type::Price] # A safeguard in the "Automated Discounts" # (https://support.google.com/merchants/answer/10295759) and # "Dynamic Promotions" # (https://support.google.com/merchants/answer/13949249) projects, # ensuring that discounts on merchants' offers do not fall below this value, # thereby preserving the offer's value and profitability. class Attributes include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The Tax of the product. # @!attribute [rw] rate # @return [::Float] # The percentage of tax rate that applies to the item price. # @!attribute [rw] country # @return [::String] # The country within which the item is taxed, specified as a [CLDR # territory # code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml). # @!attribute [rw] region # @return [::String] # The geographic region to which the tax rate applies. # @!attribute [rw] tax_ship # @return [::Boolean] # Set to true if tax is charged on shipping. # @!attribute [rw] location_id # @return [::Integer] # The numeric ID of a location that the tax rate applies to as defined in # the [AdWords # API](https://developers.google.com/adwords/api/docs/appendix/geotargeting). # @!attribute [rw] postal_code # @return [::String] # The postal code range that the tax rate applies to, represented by # a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP # codes or two ZIP code prefixes of equal length. # Examples: 94114, 94*, 94002-95460, 94*-95*. class Tax include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The ShippingWeight of the product. # @!attribute [rw] value # @return [::Float] # The weight of the product used to calculate the shipping cost of the # item. # @!attribute [rw] unit # @return [::String] # The unit of value. class ShippingWeight include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The ShippingDimension of the product. # @!attribute [rw] value # @return [::Float] # The dimension of the product used to calculate the shipping cost of the # item. # @!attribute [rw] unit # @return [::String] # The unit of value. class ShippingDimension include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The UnitPricingBaseMeasure of the product. # @!attribute [rw] value # @return [::Integer] # The denominator of the unit price. # @!attribute [rw] unit # @return [::String] # The unit of the denominator. class UnitPricingBaseMeasure include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The UnitPricingMeasure of the product. # @!attribute [rw] value # @return [::Float] # The measure of an item. # @!attribute [rw] unit # @return [::String] # The unit of the measure. class UnitPricingMeasure include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The SubscriptionCost of the product. # @!attribute [rw] period # @return [::Google::Shopping::Merchant::Products::V1beta::SubscriptionPeriod] # The type of subscription period. # Supported values are: # * "`month`" # * "`year`" # @!attribute [rw] period_length # @return [::Integer] # The number of subscription periods the buyer has to pay. # @!attribute [rw] amount # @return [::Google::Shopping::Type::Price] # The amount the buyer has to pay per subscription period. class SubscriptionCost include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A message that represents installment. # @!attribute [rw] months # @return [::Integer] # The number of installments the buyer has to pay. # @!attribute [rw] amount # @return [::Google::Shopping::Type::Price] # The amount the buyer has to pay per month. # @!attribute [rw] downpayment # @return [::Google::Shopping::Type::Price] # The up-front down payment amount the buyer has to pay. # @!attribute [rw] credit_type # @return [::String] # Type of installment payments. # Supported values are: # * "`finance`" # * "`lease`" class Installment include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A message that represents loyalty points. # @!attribute [rw] name # @return [::String] # Name of loyalty points program. It is recommended to limit the name to # 12 full-width characters or 24 Roman characters. # @!attribute [rw] points_value # @return [::Integer] # The retailer's loyalty points in absolute value. # @!attribute [rw] ratio # @return [::Float] # The ratio of a point when converted to currency. Google assumes currency # based on Merchant Center settings. If ratio is left out, it defaults to # 1.0. class LoyaltyPoints include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A message that represents loyalty program. # @!attribute [rw] program_label # @return [::String] # The label of the loyalty program. This is an internal label that uniquely # identifies the relationship between a merchant entity and a loyalty # program entity. The label must be provided so that the system can associate # the assets below (for example, price and points) with a merchant. The # corresponding program must be linked to the merchant account. # @!attribute [rw] tier_label # @return [::String] # The label of the tier within the loyalty program. # Must match one of the labels within the program. # @!attribute [rw] price # @return [::Google::Shopping::Type::Price] # The price for members of the given tier, that is, the instant discount # price. Must be smaller or equal to the regular price. # @!attribute [rw] cashback_for_future_use # @return [::Google::Shopping::Type::Price] # The cashback that can be used for future purchases. # @!attribute [rw] loyalty_points # @return [::Integer] # The amount of loyalty points earned on a purchase. # @!attribute [rw] member_price_effective_date # @return [::Google::Type::Interval] # A date range during which the item is eligible for member price. If not # specified, the member price is always applicable. The date range is # represented by a pair of ISO 8601 dates separated by a space, # comma, or slash. # @!attribute [rw] shipping_label # @return [::String] # The label of the shipping benefit. If the field has value, this offer has # loyalty shipping benefit. If the field value isn't provided, the item is # not eligible for loyalty shipping for the given loyalty tier. class LoyaltyProgram include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The Shipping of the product. # @!attribute [rw] price # @return [::Google::Shopping::Type::Price] # Fixed shipping price, represented as a number. # @!attribute [rw] country # @return [::String] # The [CLDR territory # code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) # of the country to which an item will ship. # @!attribute [rw] region # @return [::String] # The geographic region to which a shipping rate applies. # See [region](https://support.google.com/merchants/answer/6324484) for more # information. # @!attribute [rw] service # @return [::String] # A free-form description of the service class or delivery speed. # @!attribute [rw] location_id # @return [::Integer] # The numeric ID of a location that the shipping rate applies to as # defined in the [AdWords # API](https://developers.google.com/adwords/api/docs/appendix/geotargeting). # @!attribute [rw] location_group_name # @return [::String] # The location where the shipping is applicable, represented by a # location group name. # @!attribute [rw] postal_code # @return [::String] # The postal code range that the shipping rate applies to, represented by # a postal code, a postal code prefix followed by a * wildcard, a range # between two postal codes or two postal code prefixes of equal length. # @!attribute [rw] min_handling_time # @return [::Integer] # Minimum handling time (inclusive) between when the order is received and # shipped in business days. 0 means that the order is shipped on the same # day as it is received if it happens before the cut-off time. # {::Google::Shopping::Merchant::Products::V1beta::Shipping#min_handling_time minHandlingTime} # can only be present together with # {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_handling_time maxHandlingTime}; # but it is not required if # {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_handling_time maxHandlingTime} # is present. # @!attribute [rw] max_handling_time # @return [::Integer] # Maximum handling time (inclusive) between when the order is received and # shipped in business days. 0 means that the order is shipped on the same # day as it is received if it happens before the cut-off time. Both # {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_handling_time maxHandlingTime} # and # {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_transit_time maxTransitTime} # are required if providing shipping speeds. # {::Google::Shopping::Merchant::Products::V1beta::Shipping#min_handling_time minHandlingTime} # is optional if # {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_handling_time maxHandlingTime} # is present. # @!attribute [rw] min_transit_time # @return [::Integer] # Minimum transit time (inclusive) between when the order has shipped and # when it is delivered in business days. 0 means that the order is # delivered on the same day as it ships. # {::Google::Shopping::Merchant::Products::V1beta::Shipping#min_transit_time minTransitTime} # can only be present together with # {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_transit_time maxTransitTime}; # but it is not required if # {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_transit_time maxTransitTime} # is present. # @!attribute [rw] max_transit_time # @return [::Integer] # Maximum transit time (inclusive) between when the order has shipped and # when it is delivered in business days. 0 means that the order is # delivered on the same day as it ships. Both # {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_handling_time maxHandlingTime} # and # {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_transit_time maxTransitTime} # are required if providing shipping speeds. # {::Google::Shopping::Merchant::Products::V1beta::Shipping#min_transit_time minTransitTime} # is optional if # {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_transit_time maxTransitTime} # is present. class Shipping include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Conditions to be met for a product to have free shipping. # @!attribute [rw] country # @return [::String] # The [CLDR territory # code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) # of the country to which an item will ship. # @!attribute [rw] price_threshold # @return [::Google::Shopping::Type::Price] # The minimum product price for the shipping cost to become free. Represented # as a number. class FreeShippingThreshold include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The product details. # @!attribute [rw] section_name # @return [::String] # The section header used to group a set of product details. # @!attribute [rw] attribute_name # @return [::String] # The name of the product detail. # @!attribute [rw] attribute_value # @return [::String] # The value of the product detail. class ProductDetail include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Product # [certification](https://support.google.com/merchants/answer/13528839), # initially introduced for EU energy efficiency labeling compliance using the # EU EPREL database. # @!attribute [rw] certification_authority # @return [::String] # The certification authority, for example "European_Commission". # Maximum length is 2000 characters. # @!attribute [rw] certification_name # @return [::String] # The name of the certification, for example "EPREL". # Maximum length is 2000 characters. # @!attribute [rw] certification_code # @return [::String] # The certification code. # Maximum length is 2000 characters. # @!attribute [rw] certification_value # @return [::String] # The certification value (also known as class, level or grade), for example # "A+", "C", "gold". # Maximum length is 2000 characters. class Certification include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Structured title, for algorithmically (AI)-generated titles. # @!attribute [rw] digital_source_type # @return [::String] # The digital source type, for example "trained_algorithmic_media". # Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). # Maximum length is 40 characters. # @!attribute [rw] content # @return [::String] # The title text # Maximum length is 150 characters class ProductStructuredTitle include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Structured description, for algorithmically (AI)-generated descriptions. # @!attribute [rw] digital_source_type # @return [::String] # The digital source type, for example "trained_algorithmic_media". # Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). # Maximum length is 40 characters. # @!attribute [rw] content # @return [::String] # The description text # Maximum length is 5000 characters class ProductStructuredDescription include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The dimension of the product. # @!attribute [rw] value # @return [::Float] # Required. The dimension value represented as a number. The value can have a # maximum precision of four decimal places. # @!attribute [rw] unit # @return [::String] # Required. The dimension units. # Acceptable values are: # * "`in`" # * "`cm`" class ProductDimension include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The weight of the product. # @!attribute [rw] value # @return [::Float] # Required. The weight represented as a number. The weight can have a maximum # precision of four decimal places. # @!attribute [rw] unit # @return [::String] # Required. The weight unit. # Acceptable values are: # * "`g`" # * "`kg`" # * "`oz`" # * "`lb`" class ProductWeight include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The status of a product, data validation issues, that is, information about # a product computed asynchronously. # @!attribute [rw] destination_statuses # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::ProductStatus::DestinationStatus>] # The intended destinations for the product. # @!attribute [rw] item_level_issues # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::ProductStatus::ItemLevelIssue>] # A list of all issues associated with the product. # @!attribute [rw] creation_date # @return [::Google::Protobuf::Timestamp] # Date on which the item has been created, in [ISO # 8601](http://en.wikipedia.org/wiki/ISO_8601) format. # @!attribute [rw] last_update_date # @return [::Google::Protobuf::Timestamp] # Date on which the item has been last updated, in [ISO # 8601](http://en.wikipedia.org/wiki/ISO_8601) format. # @!attribute [rw] google_expiration_date # @return [::Google::Protobuf::Timestamp] # Date on which the item expires, in [ISO # 8601](http://en.wikipedia.org/wiki/ISO_8601) format. class ProductStatus include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The destination status of the product status. # @!attribute [rw] reporting_context # @return [::Google::Shopping::Type::ReportingContext::ReportingContextEnum] # The name of the reporting context. # @!attribute [rw] approved_countries # @return [::Array<::String>] # List of country codes (ISO 3166-1 alpha-2) where the offer is approved. # @!attribute [rw] pending_countries # @return [::Array<::String>] # List of country codes (ISO 3166-1 alpha-2) where the offer is pending # approval. # @!attribute [rw] disapproved_countries # @return [::Array<::String>] # List of country codes (ISO 3166-1 alpha-2) where the offer is # disapproved. class DestinationStatus include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The ItemLevelIssue of the product status. # @!attribute [rw] code # @return [::String] # The error code of the issue. # @!attribute [rw] severity # @return [::Google::Shopping::Merchant::Products::V1beta::ProductStatus::ItemLevelIssue::Severity] # How this issue affects serving of the offer. # @!attribute [rw] resolution # @return [::String] # Whether the issue can be resolved by the merchant. # @!attribute [rw] attribute # @return [::String] # The attribute's name, if the issue is caused by a single attribute. # @!attribute [rw] reporting_context # @return [::Google::Shopping::Type::ReportingContext::ReportingContextEnum] # The reporting context the issue applies to. # @!attribute [rw] description # @return [::String] # A short issue description in English. # @!attribute [rw] detail # @return [::String] # A detailed issue description in English. # @!attribute [rw] documentation # @return [::String] # The URL of a web page to help with resolving this issue. # @!attribute [rw] applicable_countries # @return [::Array<::String>] # List of country codes (ISO 3166-1 alpha-2) where issue applies to the # offer. class ItemLevelIssue include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # How the issue affects the serving of the product. module Severity # Not specified. SEVERITY_UNSPECIFIED = 0 # This issue represents a warning and does not have a direct affect # on the product. NOT_IMPACTED = 1 # The product is demoted and most likely have limited performance # in search results DEMOTED = 2 # Issue disapproves the product. DISAPPROVED = 3 end end end # Product property for the Cloud Retail API. # For example, properties for a TV product could be "Screen-Resolution" or # "Screen-Size". # @!attribute [rw] property_name # @return [::String] # Name of the given property. For example, # "Screen-Resolution" for a TV product. Maximum string size is 256 # characters. # @!attribute [rw] text_value # @return [::Array<::String>] # Text value of the given property. For example, # "8K(UHD)" could be a text value for a TV product. Maximum # repeatedness of this value is 400. Values are stored in an arbitrary but # consistent order. Maximum string size is 256 characters. # @!attribute [rw] bool_value # @return [::Boolean] # Boolean value of the given property. For example for a TV product, # "True" or "False" if the screen is UHD. # @!attribute [rw] int_value # @return [::Array<::Integer>] # Integer values of the given property. For example, 1080 for a TV # product's Screen Resolution. Maximum repeatedness of this value # is 400. Values are stored in an arbitrary but consistent order. # @!attribute [rw] float_value # @return [::Array<::Float>] # Float values of the given property. For example for a TV product # 1.2345. Maximum repeatedness of this value is 400. Values # are stored in an arbitrary but consistent order. # @!attribute [rw] min_value # @return [::Float] # Minimum float value of the given property. For example for a TV # product 1.00. # @!attribute [rw] max_value # @return [::Float] # Maximum float value of the given property. For example for a TV # product 100.00. # @!attribute [rw] unit_code # @return [::String] # Unit of the given property. For example, "Pixels" for a TV product. Maximum # string size is 256B. class CloudExportAdditionalProperties include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The subscription period of the product. module SubscriptionPeriod # Indicates that the subscription period is unspecified. SUBSCRIPTION_PERIOD_UNSPECIFIED = 0 # Indicates that the subscription period is month. MONTH = 1 # Indicates that the subscription period is year. YEAR = 2 end end end end end end