# Path: google/cloud/recommendationengine_v1beta1/types/common.py
# class FeatureMap(proto.Message):
#     class StringList(proto.Message):
#     class FloatList(proto.Message):


import proto  # type: ignore
from google.cloud.recommendationengine_v1beta1.types import common

            This field must be enabled before it can be used. `Learn
            more </recommendations-ai/docs/catalog#item-group-id>`__.
        product_metadata (google.cloud.recommendationengine_v1beta1.types.ProductCatalogItem):
            Optional. Metadata specific to retail
            products.

            This field is a member of `oneof`_ ``recommendation_type``.
    """

    class CategoryHierarchy(proto.Message):
        r"""Category represents catalog item category hierarchy.

        Attributes:
            categories (Sequence[str]):
                Required. Catalog item categories. Each
                category should be a UTF-8 encoded string with a
                length limit of 2 KiB.
                Note that the order in the list denotes the
                specificity (from least to most specific).
        """

        categories = proto.RepeatedField(proto.STRING, number=1,)

    id = proto.Field(proto.STRING, number=1,)
    category_hierarchies = proto.RepeatedField(
        proto.MESSAGE, number=2, message=CategoryHierarchy,
    )
    title = proto.Field(proto.STRING, number=3,)
    description = proto.Field(proto.STRING, number=4,)

# Path: google/cloud/recommendationengine_v1beta1/types/common.py
# class FeatureMap(proto.Message):
#     class StringList(proto.Message):
#     class FloatList(proto.Message):


# Path: google/cloud/recommendationengine_v1beta1/types/catalog.py
import proto  # type: ignore
from google.cloud.recommendationengine_v1beta1.types import common


            This field must be enabled before it can be used. `Learn
            more </recommendations-ai/docs/catalog#item-group-id>`__.
        product_metadata (google.cloud.recommendationengine_v1beta1.types.ProductCatalogItem):
            Optional. Metadata specific to retail
            products.

            This field is a member of `oneof`_ ``recommendation_type``.
    """

    class CategoryHierarchy(proto.Message):
        r"""Category represents catalog item category hierarchy.

        Attributes:
            categories (Sequence[str]):
                Required. Catalog item categories. Each
                category should be a UTF-8 encoded string with a
                length limit of 2 KiB.
                Note that the order in the list denotes the
                specificity (from least to most specific).
        """

        categories = proto.RepeatedField(proto.STRING, number=1,)

    id = proto.Field(proto.STRING, number=1,)
    category_hierarchies = proto.RepeatedField(
        proto.MESSAGE, number=2, message=CategoryHierarchy,
    )
    title = proto.Field(proto.STRING, number=3,)
    description = proto.Field(proto.STRING, number=4,)

    item_attributes = proto.Field(proto.MESSAGE, number=5, message=common.FeatureMap,)