Serialized Form

  • Package com.broadleafcommerce.catalogbrowse.domain

    • Class com.broadleafcommerce.catalogbrowse.domain.AdvancedTag

      class AdvancedTag extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • id
          String id
          A unique system identifier.
        • name
          String name
          A friendly identifier for the tag.
        • position
          String position
          Defines the position over a display component this tag should be displayed such as the "top-left" of a Product's image on a list or details page. If multiple tags have the same position, then their relative order on a product or their AdvancedTag.priority will determine which is displayed.
        • priority
          Long priority
          Priority of this tag relative to other tags that may share the same AdvancedTag.position or AdvancedTag.type. This provides a way to pick on tag over another when there is a conflict. This could be overridden in the context of a specific product depending on the ProductTag.getSorting().
        • type
          String type
          Defines the type of this tag such as "key feature" or "discount". This allows categorizing tags to enhance user's ability to prioritize related tags such as only showing one "discount" tag even if a product has several.
    • Class com.broadleafcommerce.catalogbrowse.domain.Asset

      class Asset extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • contextState
          com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
          Context information specific to this instance of a trackable entity.
        • primary
          boolean primary
          Determines whether this asset should be considered the primary (or default) asset for the parent entity.

          For any entity, there can only be one Asset with this value set to true.

        • tags
          LinkedHashSet<String> tags
          Descriptive or identifying labels.
    • Class com.broadleafcommerce.catalogbrowse.domain.BrowseDetailsRequest

      class BrowseDetailsRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • contentContext
          ContentContext contentContext
          Any contextual information needed to resolve targeted content.

          If present, this information is used during content zone resolution.

        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
        • hydrateCategoryProductsFromSearch
          boolean hydrateCategoryProductsFromSearch
          If the browse entity resolves to a category, this flag indicates that the category's products should be hydrated from Search Services rather than Catalog.

          This is only used in Catalog Browse Service and not passed downstream as a parameter.

          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • hydrateCategoryProductsOntoContentItems
          boolean hydrateCategoryProductsOntoContentItems
          If any content items reference categories, this flag indicates that the categories' products should be hydrated.

          This is only used in Catalog Browse Service and not passed downstream as a parameter, instead it will be translated in the appropriate pagination params or trigger relevant business logic.

          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • parameters
          org.springframework.util.MultiValueMap<String,String> parameters
          The parameters included in the original request that don't need to be enumerated in this service but passed along to the provider.
        • priceContext
          com.broadleafcommerce.pricing.client.domain.context.PriceContext priceContext
          The PriceContext from the original request containing general pricing info.
        • priceInfoContext
          com.broadleafcommerce.pricing.client.domain.context.PriceInfoContext priceInfoContext
        • skipInventory
          boolean skipInventory
          Whether to skip inventory for the products.

          Inventory may be skipped and the returned products will not contain inventory availability details.

        • skipPricing
          boolean skipPricing
          Whether to skip pricing for the products.

          Pricing may be skipped if the calling service prices the products separately.

    • Class com.broadleafcommerce.catalogbrowse.domain.BrowseEntityDetails

      class BrowseEntityDetails extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.catalogbrowse.domain.BulkCategoryDetailsRequest

      class BulkCategoryDetailsRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • parameters
          org.springframework.util.MultiValueMap<String,String> parameters
          Other parameters to pass along in the request.
        • priceContext
          com.broadleafcommerce.pricing.client.domain.context.PriceContext priceContext
          The PriceContext from the original request containing general pricing info.
        • priceInfoContext
          com.broadleafcommerce.pricing.client.domain.context.PriceInfoContext priceInfoContext
          The PriceInfoContext from the original request containing info specific for getting PriceInfos such as prefetched PriceLists.
        • requests
          List<CategoryDetailsRequest> requests
          List of CategoryDetailsRequests for fetching multiple Categories.
    • Class com.broadleafcommerce.catalogbrowse.domain.BulkContentResolverRequest

      class BulkContentResolverRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • contentContext
          ContentContext contentContext
          Any contextual information needed to resolve targeted content.

          If present, this information is used during content zone resolution.

        • contentResolverRequests
          List<ContentResolverRequest> contentResolverRequests
          List of ContentResolverRequest to include
        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • hydrateCategoryProducts
          boolean hydrateCategoryProducts
          If any content items reference categories, this flag indicates that the categories' products should be hydrated.

          This is only used in Catalog Browse Service and not passed downstream as a parameter, instead it will be translated in the appropriate pagination params or trigger relevant business logic.

          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • hydrateProductAssets
          boolean hydrateProductAssets
          If any content items reference products, this flag indicates that the products' non-primary assets should be hydrated.
          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • parameters
          org.springframework.util.MultiValueMap<String,String> parameters
          The parameters included in the original request that don't need to be enumerated in this service but passed along to the provider.
    • Class com.broadleafcommerce.catalogbrowse.domain.BulkContentResolverResponse

      class BulkContentResolverResponse extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.catalogbrowse.domain.CartFieldMapping

      class CartFieldMapping extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributeName
          String attributeName
          The attribute name where this field's value should be stored in.
        • attributes
          Map<String,Object> attributes
          Any additional attributes that a service receiving the request may need
        • contextState
          com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
          A subset of Tracking information to expose the context state for this object.
        • id
          String id
          The context ID of the mapping.
        • valuePath
          String valuePath
          The JsonPath on the Product to retrieve the value(s) which should be stored in that attribute.
    • Class com.broadleafcommerce.catalogbrowse.domain.CatalogItem

      class CatalogItem extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.catalogbrowse.domain.CatalogItemRef

      class CatalogItemRef extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.catalogbrowse.domain.CatalogSearchRequest

      class CatalogSearchRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • parameters
          org.springframework.util.MultiValueMap<String,String> parameters
          The parameters included in the original request that don't need to be enumerated in this service but passed along to the provider.
        • priceContext
          com.broadleafcommerce.pricing.client.domain.context.PriceContext priceContext
          The PriceContext from the original request containing general pricing info.
        • priceInfoContext
          com.broadleafcommerce.pricing.client.domain.context.PriceInfoContext priceInfoContext
          The PriceInfoContext from the original request containing info specific for getting PriceInfos such as prefetched PriceLists.
    • Class com.broadleafcommerce.catalogbrowse.domain.CatalogTypeAheadRequest

      class CatalogTypeAheadRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • parameters
          org.springframework.util.MultiValueMap<String,String> parameters
          The parameters included in the original request that don't need to be enumerated in this service but passed along to the provider.
        • priceContext
          com.broadleafcommerce.pricing.client.domain.context.PriceContext priceContext
          The PriceContext from the original request containing general pricing info.
        • priceInfoContext
          com.broadleafcommerce.pricing.client.domain.context.PriceInfoContext priceInfoContext
          The PriceInfoContext from the original request containing info specific for getting PriceInfos such as prefetched PriceLists.
    • Class com.broadleafcommerce.catalogbrowse.domain.Category

      class Category extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.catalogbrowse.domain.CategoryDetailsRequest

      class CategoryDetailsRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • categoryId
          String categoryId
          The category ID to match against. If this field is non-null, then it is used instead of CategoryDetailsRequest.categoryUrl.

          This is typically left unset when fetching a single Category, but is set when using a BulkCategoryDetailsRequest. Instead, it will be left in the CategoryDetailsRequest.parameters.

        • categoryUrl
          String categoryUrl
          The category URL to match against. If CategoryDetailsRequest.categoryId is non-null, then it is used instead of this field.

          This is typically left unset when fetching a single Category, but is set when using a BulkCategoryDetailsRequest. Instead, it will be left in the CategoryDetailsRequest.parameters.

        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • hydrateCategoryProductsFromSearch
          boolean hydrateCategoryProductsFromSearch
          This flag indicates that the category's products should be hydrated from Search Services rather than Catalog.

          This is only used in Catalog Browse Service and not passed downstream as a parameter.

          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • parameters
          org.springframework.util.MultiValueMap<String,String> parameters
          The parameters included in the original request that don't need to be enumerated in this service but passed along to the provider.
        • priceContext
          com.broadleafcommerce.pricing.client.domain.context.PriceContext priceContext
          The PriceContext from the original request containing general pricing info.
        • priceInfoContext
          com.broadleafcommerce.pricing.client.domain.context.PriceInfoContext priceInfoContext
          The PriceInfoContext from the original request containing info specific for getting PriceInfos such as prefetched PriceLists.
    • Class com.broadleafcommerce.catalogbrowse.domain.CategoryList

      class CategoryList extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • categories
          List<Category> categories
          All Categories and their details.
        • categoryIdsForMissingEntities
          Set<String> categoryIdsForMissingEntities
          The list of provided ids for which a Category could not be found
        • categoryUrisForMissingEntities
          Set<String> categoryUrisForMissingEntities
          The list of provided uris for which a Category could not be found
    • Class com.broadleafcommerce.catalogbrowse.domain.ContentField

      class ContentField extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • allowedModels
          List<String> allowedModels
          When the `referenceType` is `CONTENT`, this field holds allowed content models. If empty, allows all.
        • attributes
          Map<String,Object> attributes
          Additional attributes needed to further define this field
        • collection
          boolean collection
          Whether this field represents a collection
        • displayOrder
          Integer displayOrder
          The display order of this field in relation to other fields.
        • helpText
          String helpText
          Help text to display on the field
        • hint
          String hint
          Hint text to display below the field in the admin
        • id
          String id
          A unique id for the field.
        • label
          String label
          The friendly display label for this field
        • name
          String name
          A unique name for the content type, used for retrieval.
        • referenceType
          String referenceType
          When the `type` is `REFERENCE`, this field holds the type of entity this field links to
        • required
          boolean required
          Whether this field is required
        • translatable
          boolean translatable
          Whether the field should be translatable.
        • type
          String type
          The type of this content field
    • Class com.broadleafcommerce.catalogbrowse.domain.ContentItem

      class ContentItem extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • fields
          Map<String,ContentItemFieldData> fields
          The individual field data for this content
        • id
          String id
          The context ID of the content item.
        • model
          ContentModel model
          The content model for this content.
        • name
          String name
          A unique name for the content item, used for retrieval.
        • uri
          String uri
          SEO-friendly URI to identify this content item. This will be appended to the ContentModel's URI if ContentModel is addressable by uri. is true.
    • Class com.broadleafcommerce.catalogbrowse.domain.ContentItemFieldData

      class ContentItemFieldData extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • enableRecommendations
          boolean enableRecommendations
          Whether this field should use recommendations for its product references. Only Product Reference type field can be configured with recommendations.
          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • id
          String id
          The field's unique identifier
        • name
          String name
          The content field's name
        • numberOfRecommendations
          Integer numberOfRecommendations
          The number of recommendations requested from the recommendations engine
          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • recommendationModelType
          String recommendationModelType
          The type of Recommendation Model that should be queried when retrieving recommendations e.g. BOUGHT_ALSO_BOUGHT
          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • value
          Object value
          The field's value
    • Class com.broadleafcommerce.catalogbrowse.domain.ContentModel

      class ContentModel extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • addressableByUri
          boolean addressableByUri
          Whether all ContentItems of this model can be retrieved by navigating to ContentModel.uri from a storefront app. For example, navigating to /blogs would result in all Content Items using the "Blog" model being fetching. Moreover, those content items would have their own URIs that would be appended to the model's, e.g., /:ContentModel.uri/:ContentItem.uri.
          See Also:
        • fields
          List<ContentField> fields
          The list of fields that make up this content model
        • id
          String id
          The context ID of the content model.
        • name
          String name
          A unique name for the content model, used for retrieval.
        • uri
          String uri
          SEO-friendly URI to identify ContentItems of this model. ContentItems of this model will have their URIs appended to this.
    • Class com.broadleafcommerce.catalogbrowse.domain.ContentResolverRequest

      class ContentResolverRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • contentContext
          ContentContext contentContext
          Any contextual information needed to resolve targeted content.

          If present, this information is used during content zone resolution.

        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • hydrateCategoryProducts
          boolean hydrateCategoryProducts
          If any content items reference categories, this flag indicates that the categories' products should be hydrated.

          This is only used in Catalog Browse Service and not passed downstream as a parameter, instead it will be translated in the appropriate pagination params or trigger relevant business logic.

          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • hydrateProductAssets
          boolean hydrateProductAssets
          If any content items reference products, this flag indicates that the products' non-primary assets should be hydrated.
          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • parameters
          org.springframework.util.MultiValueMap<String,String> parameters
          The parameters included in the original request that don't need to be enumerated in this service but passed along to the provider.
        • requestId
          String requestId
          The id of this content resolver request.
    • Class com.broadleafcommerce.catalogbrowse.domain.ContentResolverResponse

      class ContentResolverResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • idsNotFound
          Set<String> idsNotFound
          Any requested ids that did not match active content.
        • namesNotFound
          Set<String> namesNotFound
          Any requested names that did not match active content.
        • paginatedResults
          SimplePage<ContentItem> paginatedResults
          Paginated results. Only present if pagination params were present in the request.
        • results
          List<ContentItem> results
          Unpaginated list of results. Only present if no pagination params were present in the request.
    • Class com.broadleafcommerce.catalogbrowse.domain.DataDrivenEnum

      class DataDrivenEnum extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • associatedCategoryExists
          boolean associatedCategoryExists
          Declares whether there is a Category associated with this DataDrivenEnum based on DataDrivenEnum.getValue().

          Since DataDrivenEnum is used to represent some product fields such as product's brand, there are categories expected to exist to further categorize products based on the data driven enum values.

          For example, if a product's brand is a DataDrivenEnum with the value SOME_BRAND_NAME, a category with the url /some-brand-name is expected to be created for this brand.

        • displayValue
          String displayValue
          The display value for the associated DataDrivenEnum.type.

          Different from DataDrivenEnum.value, the display value is meant to be more user-friendly and for client-facing usages, such as searching and faceting.

          For example, the display value for type "MATERIAL" could be "Cotton", "Leather", "Polyester", etc.

        • id
          String id
          The context ID of this enum.
        • type
          String type
          Identifies the type of the associated value, this is needed to gather all the enum values based on their types.

          For example, if this enum type was to be used for a field representing product's materials, then the type would be "MATERIAL".

        • value
          String value
          The value of the associated DataDrivenEnum.type.

          For example, the value for type "MATERIAL" could be "COTTON", "LEATHER", "POLYESTER", etc.

    • Class com.broadleafcommerce.catalogbrowse.domain.DataDrivenEnumDetailsRequest

      class DataDrivenEnumDetailsRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          org.springframework.util.MultiValueMap<String,String> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • checkIfAssociatedCategoryExist
          boolean checkIfAssociatedCategoryExist
          Whether this request should also check if an associated category exists based on the expected category url for the data driven enum value.
        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • dataDrivenEnumIds
          Set<String> dataDrivenEnumIds
    • Class com.broadleafcommerce.catalogbrowse.domain.DataDrivenEnumList

      class DataDrivenEnumList extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.catalogbrowse.domain.IncludedProduct

      class IncludedProduct extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • overridePrice
          javax.money.MonetaryAmount overridePrice
          The specific price set for this included item that overrides the price of underlying IncludedProduct.product or IncludedProduct.variant. This is primarily used for reference in determining whether IncludedProduct.priceInfo should be disregarded in pricing calculations in this service: If there is an overridePrice, then the IncludedProduct.priceInfo received from the CatalogProvider should be used as the base for additional pricing calculations informed by the PricingProvider. Otherwise, the received IncludedProduct.priceInfo should be discarded since it is really a copy of the underlying IncludedProduct.product or IncludedProduct.variant and cannot be used as a basis for additional pricing calculations for the IncludedProduct itself.
        • priceInfo
          com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo
          Summary of the pricing information related to the included item. The consumer of this service is expecting this to be the source of truth for the pricing of this item, so this field should be calculated from its own override price if present or be a copy of the underlying product's or variant's pricing to simplify the consumer's logic.
          See Also:
          • for special pricing considerations
        • pricingKey
          String pricingKey
          Unique pricing key for this particular included item. Useful for scenarios such as pricing of included items, where a system wide unique identifier for the included item would be required to associate it with a price within an external system
        • product
          Product product
          This field contains the specified product if the type is DefaultIncludedProductType.PRODUCT.
        • quantity
          int quantity
          Fixed quantity of the item that is included with the parent product.
        • type
          String type
          Defines the type of the item: usually a Product or Variant.
          See Also:
        • variant
          Variant variant
          This field contains the specified variant if the type is DefaultIncludedProductType.VARIANT.
    • Class com.broadleafcommerce.catalogbrowse.domain.ItemChoice

      class ItemChoice extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.catalogbrowse.domain.ItemChoiceCategory

      class ItemChoiceCategory extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

    • Class com.broadleafcommerce.catalogbrowse.domain.Offer

      class Offer extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • id
          String id
          The context ID of the offer.
        • name
          String name
          Display name for this offer.
    • Class com.broadleafcommerce.catalogbrowse.domain.Product

      class Product extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • advancedTags
          List<ProductTag> advancedTags
          A list of ProductTags sorted based on the sort position of the ProductTag for the produt with ties broken by AdvancedTag.getPriority().
        • assets
          List<Asset> assets
          All Asset assets for this product.
        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • availabilitySummary
          SkuInventoryAvailabilitySummary availabilitySummary
          A summary of inventory availability for this product's SKU.
        • categoryIdsWithParents
          List<String> categoryIdsWithParents
          List of all hierarchical parent category ids for the product.

          For example, if we have a category setup of: Top -> Level2 -> Level3 and the product is assigned to Level3, the list would be {Top, Level2, Level3}.

        • characteristics
          Map<String,ProductCharacteristic> characteristics
          Fields and associated Characteristics that define a specific product. These are typically manifested upon creation of a Product via a Business Type
          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • currency
          javax.money.CurrencyUnit currency
          Currency for this product.
        • id
          String id
          The unique identifier for this product.
        • includedProducts
          List<IncludedProduct> includedProducts
          Additional products or variants that are always included with the product, no matter what. Used to create fixed "bundles" or "kits".

          If some of these items should be optional or the user should decide which additional items are added to their cart, use Product.options instead.

        • inventoryCheckStrategy
          String inventoryCheckStrategy
          Indicates whether inventory should be checked, and how. Typical values are: NEVER, ADD_TO_CART If this value is anything except null or 'NEVER' then generally inventory should be checked. Note that inventory reservation does an inventory check too, so these properties are similar, especially from a browse perspective.
        • inventoryReservationStrategy
          String inventoryReservationStrategy
          Indicates whether Inventory should be reserved, and how. Typical values are: NEVER, ADD_TO_CART, SUBMIT_ORDER If this value is anything except null or 'NEVER' then generally inventory should be reserved or decremented.
        • maximumThreshold
          Integer maximumThreshold
          The maximum count of this product that must be added in a cart.
        • mergingType
          String mergingType
          Determines how this Product should merge with other similar items when it gets added to a cart. This will override the global setting on item merging. Out of box supported values are those in DefaultMergingType.
        • minimumThreshold
          Integer minimumThreshold
          The minimum count of this product that must be added in a cart.
        • options
          List<ProductOption> options
          Drives additional information that the customer should enter when purchasing this product. this can be in the form of additional variations, additional items that can be bundled with this product or simply more information that the customer needs to enter about what they are purchasing (like a personalized message).
        • price
          javax.money.MonetaryAmount price
          The price of the product. Sometimes services won't return a property PriceInfo but just a price instead. This should be converted to a price info and not returned as a separate field.
        • priceInfo
          com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo
          Summary of the pricing information related to the product.
        • pricingKey
          String pricingKey
          System-wide unique identifier to configure specific pricing for the product. Relevant if pricing data is managed in a separate system or data store, like the Broadleaf pricing services.
        • primaryAsset
          Asset primaryAsset
          The primary or default Asset to display.
        • productType
          String productType
          Defines the type of the product.
          See Also:
        • promotionalProducts
          Map<String,List<PromotionalProduct>> promotionalProducts
          Map of all of the related PromotionalProducts grouped by type.
        • sku
          String sku
          This uniquely identifies this product in the catalog when it is sold and is used for other contexts like inventory and pricing.
        • terms
          List<ProductTerm> terms
          The list of ProductTerms that are associated with this product.
          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • variants
          List<Variant> variants
          All Variants for this product.
        • vendorRef
          String vendorRef
          Soft reference to the vendor associated with this catalog. This value can be null, in which case, no vendor is associated.
    • Class com.broadleafcommerce.catalogbrowse.domain.ProductDetailsRequest

      class ProductDetailsRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • hydrateProductAssets
          boolean hydrateProductAssets
          Whether to hydrate the product's non-primary assets.
          Since:
          Catalog Browse Service 2.1.0, Release Train 2.2.0
        • parameters
          org.springframework.util.MultiValueMap<String,String> parameters
          The parameters included in the original request that don't need to be enumerated in this service but passed along to the provider.
        • priceContext
          com.broadleafcommerce.pricing.client.domain.context.PriceContext priceContext
          The PriceContext from the original request containing general pricing info.
        • priceInfoContext
          com.broadleafcommerce.pricing.client.domain.context.PriceInfoContext priceInfoContext
          The PriceInfoContext from the original request containing info specific for getting PriceInfos such as prefetched PriceLists.
        • skipInventory
          boolean skipInventory
          Whether to skip inventory for the products.

          Inventory may be skipped and the returned products will not contain inventory availability details.

        • skipPricing
          boolean skipPricing
          Whether to skip pricing for the products.

          Pricing may be skipped if the calling service prices the products separately.

    • Class com.broadleafcommerce.catalogbrowse.domain.ProductList

      class ProductList extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • productIdsForMissingEntities
          Set<String> productIdsForMissingEntities
          The list of provided ids for which a Product could not be found
        • products
          List<Product> products
          All Products and their details.
        • productUrisForMissingEntities
          Set<String> productUrisForMissingEntities
          The list of provided uris for which a Product could not be found
    • Class com.broadleafcommerce.catalogbrowse.domain.ProductOption

      class ProductOption extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • itemChoice
          ItemChoice itemChoice
          Configuration for the DefaultProductOptionType.ITEM_CHOICE. Drives customer selection of an additional item to add to their cart
        • type
          String type
          Controls both how the customer should be inputting values to fill out this option as well as storage of where the value will go once added to the cart.
          See Also:
    • Class com.broadleafcommerce.catalogbrowse.domain.ProductPricingPredicate

      class ProductPricingPredicate extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • cost
          javax.money.MonetaryAmount cost
          Default cost of the product (from the Catalog). This value may be null.
        • defaultSku
          SkuPricingPredicate defaultSku
          Default SKU price info, if applicable. This will be null if the product does not have variants or if the product does not use a default sku that matches one of the variants.
        • lowestPricedSku
          SkuPricingPredicate lowestPricedSku
          Lowest priced SKU price info, if exists. This will be null if the product does not have variants, or if none of the SKUs have a price.
        • price
          javax.money.MonetaryAmount price
          Default price of the product (from the Catalog).
        • pricingKey
          String pricingKey
          Product's pricing key - used to call the pricing service to decorate search results with additional or more accurate pricing.
        • productSku
          String productSku
          SKU of the product.
        • salePrice
          javax.money.MonetaryAmount salePrice
          Default sale price of the product (from the Catalog). This value may be null.
    • Class com.broadleafcommerce.catalogbrowse.domain.ProductTag

      class ProductTag extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • id
          String id
          A unique system identifier.
        • productId
          String productId
          ID of the parent product.
        • sorting
          String sorting
          Field indicating a sort order, if sorted. This is alphanumeric, allowing for lexicographical sorting.
        • tag
          AdvancedTag tag
          The AdvancedTag to associate with a product.
    • Class com.broadleafcommerce.catalogbrowse.domain.ProductTerm

      class ProductTerm extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • durationLength
          int durationLength
          Time interval (number of seconds, minutes, hours, etc.)
        • durationType
          String durationType
          The type of time interval (seconds, minutes, hours, etc.)
        • isDefault
          boolean isDefault
          Whether this term is the default term for the product
    • Class com.broadleafcommerce.catalogbrowse.domain.PromotionalCategoryProduct

      class PromotionalCategoryProduct extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • promotionalProduct
          Product promotionalProduct
          The product to promote.
    • Class com.broadleafcommerce.catalogbrowse.domain.PromotionalProduct

      class PromotionalProduct extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • relatedProduct
          Product relatedProduct
          The product being promoted.
        • type
          String type
          The type of the promotional product such as UP_SALE and CROSS_SALE.
    • Class com.broadleafcommerce.catalogbrowse.domain.RecommendationRequest

      class RecommendationRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • numberOfRecommendations
          Integer numberOfRecommendations
        • type
          String type
    • Class com.broadleafcommerce.catalogbrowse.domain.SearchResponse

      class SearchResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • content
          List<T> content
          The actual results for the search request.
    • Class com.broadleafcommerce.catalogbrowse.domain.SimplePage

      class SimplePage extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • content
          List<T> content
    • Class com.broadleafcommerce.catalogbrowse.domain.SkuPricingPredicate

      class SkuPricingPredicate extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • price
          javax.money.MonetaryAmount price
          Default price of the variant (from the Catalog), which may be different than the Product's default price, or it may be null.
        • salePrice
          javax.money.MonetaryAmount salePrice
          Default sale price of the variant (from the Catalog), which may be different than the Product's default sale price, or it may be null.
        • sku
          String sku
          SKU (i.e. SKU code) of the SKU or variant.
    • Class com.broadleafcommerce.catalogbrowse.domain.SpecificItemChoice

      class SpecificItemChoice extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • overridePrice
          javax.money.MonetaryAmount overridePrice
          The specific price set for this choice that overrides the price of underlying SpecificItemChoice.product or SpecificItemChoice.variant. This is primarily used for reference in determining whether SpecificItemChoice.priceInfo should be disregarded in pricing calculations in this service: If there is an overridePrice, then the SpecificItemChoice.priceInfo received from the CatalogProvider should be used as the base for additional pricing calculations informed by the PricingProvider. Otherwise, it should be discarded since it is really a copy of the underlying SpecificItemChoice.product or SpecificItemChoice.variant and cannot be used as a basis for additional pricing calculations for the SpecificItemChoice itself.
        • priceInfo
          com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo
          Summary of the pricing information related to the choice. The consumer of this service is expecting this to be the source of truth for the pricing of this specific choice, so this field should be calculated from its own override price if present or be a copy of the underlying product's or variant's pricing to simplify the consumer's logic.
          See Also:
          • for special pricing considerations
        • pricingKey
          String pricingKey
          System-wide unique identifier to configure specific pricing for the choice. Relevant if pricing data is managed in a separate system or data store, like the Broadleaf pricing services.
        • product
          Product product
          If the SpecificItemChoice.type is DefaultSpecificItemChoiceType.PRODUCT this holds the product for this choice
        • type
          String type
          Whether or not this item holds a product or a variant that the customer can select from
          See Also:
        • usingParentPricing
          boolean usingParentPricing
          Whether the SpecificItemChoice.priceInfo is inherited from the parent ItemChoice. This is usually determined after pricing is hydrated by the PricingProvider.
        • variant
          Variant variant
          If the SpecificItemChoice.type is DefaultSpecificItemChoiceType.VARIANT this holds the variant for this choice
        • variantPricing
          Map<String,SpecificItemChoiceVariantPricingOverride> variantPricing
          Pricing overrides if specific variants of the main product this item belongs to are added to the cart. This can be used in a case like a Warranty where the price of the Warranty depends on the price of the item (Variant) selected.
    • Class com.broadleafcommerce.catalogbrowse.domain.SpecificItemChoiceVariantPricingOverride

      class SpecificItemChoiceVariantPricingOverride extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • overridePrice
          javax.money.MonetaryAmount overridePrice
          The price to use for this item when the related variant is selected.
        • priceInfo
          com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo
          Summary of the pricing information for this pricing override. This is more detailed than SpecificItemChoiceVariantPricingOverride.overridePrice since it includes the price type and potentially other prices or cost.
        • pricingKey
          String pricingKey
          System-wide unique identifier to configure specific pricing for the choice. Relevant if pricing data is managed in a separate system or data store, like the Broadleaf pricing services.
        • variantId
          String variantId
          ID of the variant this pricing should be used with.
    • Class com.broadleafcommerce.catalogbrowse.domain.TypeAheadResponse

      class TypeAheadResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • suggestions
          Map<String,List<Map<String,Object>>> suggestions
          A map of suggestions, with the key being the name of the origin of the suggestion. For example, it may be manufacturer, name, title, etc.
    • Class com.broadleafcommerce.catalogbrowse.domain.UserRecommendation

      class UserRecommendation extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
        • contextState
          com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
          A subset of Tracking information to expose the context state for this object.
        • id
          String id
        • items
          List<UserRecommendationItem> items
        • type
          String type
        • userId
          String userId
    • Class com.broadleafcommerce.catalogbrowse.domain.UserRecommendationItem

      class UserRecommendationItem extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.catalogbrowse.domain.Variant

      class Variant extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • availabilitySummary
          SkuInventoryAvailabilitySummary availabilitySummary
          A summary of inventory availability for this product's SKU.
        • defaultPrice
          javax.money.MonetaryAmount defaultPrice
          The default price that should be used if there is not a Variant.salePrice set. If this price is not set, product's price would be used.
        • id
          String id
          The unique identifier for this variant.
        • inventoryCheckStrategy
          String inventoryCheckStrategy
          Describes when the variant's inventory should be checked for availability. If not set, defaults to Product.getInventoryCheckStrategy().
        • inventoryReservationStrategy
          String inventoryReservationStrategy
          Describes when the variant's inventory should be reserved. If not set, defaults to Product.getInventoryReservationStrategy().
        • maximumThreshold
          Integer maximumThreshold
          The maximum count of this variant can be added in a cart.
        • minimumThreshold
          Integer minimumThreshold
          The minimum count of this variant that must be added in a cart.
        • priceInfo
          com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo
          Summary of the pricing information related to the variant.
        • salePrice
          javax.money.MonetaryAmount salePrice
          Indicates that this product is on sale. This should take priority over the default price if the default price is higher
        • sku
          String sku
          Sku code for this particular variant. Overrides the main Product Sku that is set, if any
        • vendorRef
          String vendorRef
          Soft reference to the vendor associated with this catalog. This value can be null, in which case, no vendor is associated.
  • Package com.broadleafcommerce.catalogbrowse.domain.characteristic

    • Class com.broadleafcommerce.catalogbrowse.domain.characteristic.Characteristic

      class Characteristic extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • configurable
          boolean configurable
          Determines if the characteristic is configurable.
        • contextState
          com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
          A subset of Tracking information to expose the context state for this object.
        • description
          String description
          Description for the characteristic.
        • displayOrder
          Integer displayOrder
          Display order for the characteristic.
        • endDate
          Instant endDate
          End date for the characteristic.
        • errorMessage
          String errorMessage
          The error message to display if the validation rule fails.
        • extensible
          boolean extensible
          Determines if the characteristic is extensible.
        • fieldName
          String fieldName
          Internal field name of the characteristic.
        • id
          String id
          Id of the characteristic.
        • maxCardinality
          int maxCardinality
          Maximum cardinality for the characteristic.
        • minCardinality
          int minCardinality
          Minimum cardinality for the characteristic.
        • name
          String name
          Name of the characteristic.
        • shared
          boolean shared
          Determines if the characteristic is shared between Specifications.
        • startDate
          Instant startDate
          Start date for the characteristic.
        • targetableForPricing
          boolean targetableForPricing
          Whether this characteristic should be targetable by pricing, e.g., a product's price should change depending on the value of this characteristic.
        • targetableInRuleBuilders
          boolean targetableInRuleBuilders
          Whether this characteristic should be targetable in rule-builders (e.g., by Offers and Content Items).
        • unique
          boolean unique
          Determines if the characteristic's value must be unique.
        • validationRule
          String validationRule
          The validation rule to apply to the characteristic's value.
        • validationType
          String validationType
          The type of validation to apply to the characteristic's value.
        • value
          List<CharacteristicValue> value
          List of values for the characteristic.
        • valueType
          String valueType
          Value type for the characteristic.
    • Class com.broadleafcommerce.catalogbrowse.domain.characteristic.CharacteristicValue

      class CharacteristicValue extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Additional custom attributes associated with extensions and complex value types, e.g., enum, variant option.
        • displayOrder
          Integer displayOrder
          The order this value should display in.
        • endDate
          Instant endDate
          Date after which this value is no longer active.
        • isDefault
          boolean isDefault
          Whether this is the default value to use.
        • label
          String label
          A display label to use for complex value types like ENUM or VARIANT_OPTION.
        • rangeInterval
          String rangeInterval
          An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are "open", "closed", "closedBottom" and "closedTop".
        • rangeStep
          Integer rangeStep
          The distance between valid values in a range, e.g., 1 would indicate each discrete value is separated by 1 from its neighbors, 1, 2, 3.
        • startDate
          Instant startDate
          Date when this value begins to be active.
        • unitOfMeasure
          String unitOfMeasure
          Units used by the value.
        • value
          Object value
          The simple value. This should not be a complex object. If additional fields are desired such as a label, display order, or the like, refer to those fields if already present on this domain or store them in CharacteristicValue.attributes.
        • valueFrom
          String valueFrom
          Lower bound for the value.
        • valueTo
          String valueTo
          Upper bound for the value.
        • valueType
          String valueType
          The type of this value, e.g., enum, string, etc.
    • Class com.broadleafcommerce.catalogbrowse.domain.characteristic.ProductCharacteristic

      class ProductCharacteristic extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.catalogbrowse.domain.characteristic.ProductCharacteristicValue

      class ProductCharacteristicValue extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • sourceCharacteristicValueId
          String sourceCharacteristicValueId
          The source characteristic value this DTO is referring to
        • value
          Object value
        • valueType
          String valueType
  • Package com.broadleafcommerce.catalogbrowse.domain.context

  • Package com.broadleafcommerce.catalogbrowse.domain.inventory

    • Class com.broadleafcommerce.catalogbrowse.domain.inventory.FutureStockSummary

      class FutureStockSummary extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • expectedFutureRestockDate
          Instant expectedFutureRestockDate
          The expected date for the configured future stock to be made available.
        • futureStockType
          String futureStockType
          The type of future stock that is configured for this SKU.
        • quantityAvailable
          Integer quantityAvailable
          The current quantity available for the future stock.
    • Class com.broadleafcommerce.catalogbrowse.domain.inventory.SkuInventoryAvailabilityRequest

      class SkuInventoryAvailabilityRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • quantityRequested
          Integer quantityRequested
          Quantity delta that is being requested (i.e. the number to check). These must always be positive numbers.
        • skuCode
          String skuCode
          The value of the SKU reference. This will be one of SKU contextId, SKU external ID, arbitrary SKU code, UPC, EAN, or GTIN.
    • Class com.broadleafcommerce.catalogbrowse.domain.inventory.SkuInventoryAvailabilitySummary

      class SkuInventoryAvailabilitySummary extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • available
          boolean available
          Whether or not this SKU has inventory available.
        • futureStockSummary
          FutureStockSummary futureStockSummary
          Summary of future stock information for this sku, if applicable.
        • inventoryLocationId
          String inventoryLocationId
          The inventory location where inventory is available.
        • skuRef
          SkuRef skuRef
          A soft reference to the SKU for which this inventory is managed.
        • vendorRef
          String vendorRef
          Soft reference to the vendor associated with this sku inventory. This value can be null, in which case, no vendor is associated.
    • Class com.broadleafcommerce.catalogbrowse.domain.inventory.SkuRef

      class SkuRef extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • ean
          String ean
          Meant to hold EAN, or European Article Number (a.k.a. International Article Number). EAN is a subset of GTIN-8 and GTIN-13. EAN-13 is essentially the same as UPC-A, except that it contains an additional digit representing the country code.
        • externalId
          String externalId
          External (1st or 3rd party) system reference to a unique SKU. For example, ERP or 3rd party inventory system primary key for a SKU reference.
        • gtin
          String gtin
          GTIN (Global Trade Item Number) This holds all GTIN formats. GTIN-14 is 14 digits. This is a superset that generally includes:

          GTIN-12 (UPC-A)

          GTIN-8 (EAN/UCC-8)

          GTIN-13 (EAN/UCC-13)

          GTIN-14 (EAN/UCC-14 or ITF-14)

        • skuCode
          String skuCode
          This is the default way that Broadleaf uses for accessing SkuInventory, especially when doing inventory reservations (soft and hard). In most cases, this field should, at least, be populated.
        • skuName
          String skuName
          Optional field to store a human readable name for the SKU. Especially useful when administering inventory via the Broadleaf Admin, or when looking at inventory data in the database.
        • upc
          String upc
          Meant to hold UPC, or Universal Product Code. UPC is a subset of GTIN-12, GTIN-13, and GTIN-14. UPC-A is most common and contains 12 digits. UPC-A and EAN-13 are essentially the same, except for a country code. Less common UPC formats include UPC-B, UPC-C, UPC-D, UPC-E, UPC-2, and UPC-5. We hold it here to allow us to store a particular UPC in addition to a different EAN and a GTIN-14, for example, assuming that a single SKU can have multiple such references.
  • Package com.broadleafcommerce.catalogbrowse.domain.marketing

  • Package com.broadleafcommerce.catalogbrowse.exception

  • Package com.broadleafcommerce.catalogbrowse.service.provider.external.pricing