# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/recommendationengine/v1beta1/catalog.proto

require 'google/protobuf'

require 'google/api/field_behavior_pb'
require 'google/cloud/recommendationengine/v1beta1/common_pb'
require 'google/protobuf/struct_pb'
require 'google/api/annotations_pb'
Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/recommendationengine/v1beta1/catalog.proto", :syntax => :proto3) do
    add_message "google.cloud.recommendationengine.v1beta1.CatalogItem" do
      optional :id, :string, 1
      repeated :category_hierarchies, :message, 2, "google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy"
      optional :title, :string, 3
      optional :description, :string, 4
      optional :item_attributes, :message, 5, "google.cloud.recommendationengine.v1beta1.FeatureMap"
      optional :language_code, :string, 6
      repeated :tags, :string, 8
      optional :item_group_id, :string, 9
      oneof :recommendation_type do
        optional :product_metadata, :message, 10, "google.cloud.recommendationengine.v1beta1.ProductCatalogItem"
      end
    end
    add_message "google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy" do
      repeated :categories, :string, 1
    end
    add_message "google.cloud.recommendationengine.v1beta1.ProductCatalogItem" do
      map :costs, :string, :float, 3
      optional :currency_code, :string, 4
      optional :stock_state, :enum, 5, "google.cloud.recommendationengine.v1beta1.ProductCatalogItem.StockState"
      optional :available_quantity, :int64, 6
      optional :canonical_product_uri, :string, 7
      repeated :images, :message, 8, "google.cloud.recommendationengine.v1beta1.Image"
      oneof :price do
        optional :exact_price, :message, 1, "google.cloud.recommendationengine.v1beta1.ProductCatalogItem.ExactPrice"
        optional :price_range, :message, 2, "google.cloud.recommendationengine.v1beta1.ProductCatalogItem.PriceRange"
      end
    end
    add_message "google.cloud.recommendationengine.v1beta1.ProductCatalogItem.ExactPrice" do
      optional :display_price, :float, 1
      optional :original_price, :float, 2
    end
    add_message "google.cloud.recommendationengine.v1beta1.ProductCatalogItem.PriceRange" do
      optional :min, :float, 1
      optional :max, :float, 2
    end
    add_enum "google.cloud.recommendationengine.v1beta1.ProductCatalogItem.StockState" do
      value :STOCK_STATE_UNSPECIFIED, 0
      value :IN_STOCK, 0
      value :OUT_OF_STOCK, 1
      value :PREORDER, 2
      value :BACKORDER, 3
    end
    add_message "google.cloud.recommendationengine.v1beta1.Image" do
      optional :uri, :string, 1
      optional :height, :int32, 2
      optional :width, :int32, 3
    end
  end
end

module Google
  module Cloud
    module RecommendationEngine
      module V1beta1
        CatalogItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommendationengine.v1beta1.CatalogItem").msgclass
        CatalogItem::CategoryHierarchy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy").msgclass
        ProductCatalogItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommendationengine.v1beta1.ProductCatalogItem").msgclass
        ProductCatalogItem::ExactPrice = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommendationengine.v1beta1.ProductCatalogItem.ExactPrice").msgclass
        ProductCatalogItem::PriceRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommendationengine.v1beta1.ProductCatalogItem.PriceRange").msgclass
        ProductCatalogItem::StockState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommendationengine.v1beta1.ProductCatalogItem.StockState").enummodule
        Image = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recommendationengine.v1beta1.Image").msgclass
      end
    end
  end
end