Class PricedFulfillmentOption

java.lang.Object
com.broadleafcommerce.order.common.domain.PricedFulfillmentOption
All Implemented Interfaces:
Serializable

public class PricedFulfillmentOption extends Object implements Serializable
Represents specific fulfillment price data for a particular FulfillmentGroup or FulfillmentItem, including the fulfillment service level and price.
See Also:
  • Constructor Details

    • PricedFulfillmentOption

      public PricedFulfillmentOption()
  • Method Details

    • getDescription

      public String getDescription()
    • getServiceLevel

      @NonNull public String getServiceLevel()

      Specific description for how this fulfillment option is fulfilled. This will typically include values like "SAME_DAY", "FIRST_CLASS", "OVERNIGHT", "STANDARD", etc. for FulfillmentType#SHIP, and values such as "IN_STORE" or "CURBSIDE" for FulfillmentType#PICKUP. The exact configurations will depend on how clients (tenants or applications) define their available service levels and calculators.

      The service level is a key driver for which FulfillmentPricingCalculator is used to determine the fulfillment price. (see FulfillmentServices microservice).

    • getFulfillmentType

      @NonNull public String getFulfillmentType()
      Broad categorization of how this fulfillment option is fulfilled. For instance, SHIP, PICKUP, or VIRTUAL. See com.broadleafcommerce.order.common.domain.enums.FulfillmentType for system defaults.
    • getCalculatorIds

      @NonNull public Set<String> getCalculatorIds()
      The list of calculatorIds which were used to compute the price for this option.
    • getBandFields

      @Nullable public Set<String> getBandFields()
      The list of item fields used to determine price band, e.g. item price or item weight.
    • getFulfillmentReference

      @NonNull public String getFulfillmentReference()
      This is the "reference number" of the FulfillmentGroup or FulfillmentItem that this fulfillment price applies to.
    • getEstimatedMinDaysToFulfill

      @Nullable public Integer getEstimatedMinDaysToFulfill()
      The minimum number of days estimated for delivery. Null value is possible and means that the estimated days to deliver is unknown.
    • getEstimatedMaxDaysToFulfill

      @Nullable public Integer getEstimatedMaxDaysToFulfill()
      The maximum number of days expected for delivery. Null value is possible meaning no max days to fulfill has been configured.
    • getPrice

      @NonNull public javax.money.MonetaryAmount getPrice()
      The fulfillment price of this fulfillment option. This may be ZERO.
    • isTaxable

      public boolean isTaxable()
      Indicate if this fulfillment price is taxable.
    • getTaxCode

      @Nullable public String getTaxCode()
      A tax code for this fulfillment option.
    • getAdditionalAttributes

      @NonNull public Map<String,Object> getAdditionalAttributes()
      Map to hold arbitrary additional attributes.
    • setServiceLevel

      public void setServiceLevel(@NonNull String serviceLevel)

      Specific description for how this fulfillment option is fulfilled. This will typically include values like "SAME_DAY", "FIRST_CLASS", "OVERNIGHT", "STANDARD", etc. for FulfillmentType#SHIP, and values such as "IN_STORE" or "CURBSIDE" for FulfillmentType#PICKUP. The exact configurations will depend on how clients (tenants or applications) define their available service levels and calculators.

      The service level is a key driver for which FulfillmentPricingCalculator is used to determine the fulfillment price. (see FulfillmentServices microservice).

    • setFulfillmentType

      public void setFulfillmentType(@NonNull String fulfillmentType)
      Broad categorization of how this fulfillment option is fulfilled. For instance, SHIP, PICKUP, or VIRTUAL. See com.broadleafcommerce.order.common.domain.enums.FulfillmentType for system defaults.
    • setDescription

      public void setDescription(@Nullable String description)
      Human-readable description (e.g. First Class, USPS First Class, or Pickup at Store #53).
    • setCalculatorIds

      public void setCalculatorIds(@NonNull Set<String> calculatorIds)
      The list of calculatorIds which were used to compute the price for this option.
    • setBandFields

      public void setBandFields(@Nullable Set<String> bandFields)
      The list of item fields used to determine price band, e.g. item price or item weight.
    • setFulfillmentReference

      public void setFulfillmentReference(@NonNull String fulfillmentReference)
      This is the "reference number" of the FulfillmentGroup or FulfillmentItem that this fulfillment price applies to.
    • setEstimatedMinDaysToFulfill

      public void setEstimatedMinDaysToFulfill(@Nullable Integer estimatedMinDaysToFulfill)
      The minimum number of days estimated for delivery. Null value is possible and means that the estimated days to deliver is unknown.
    • setEstimatedMaxDaysToFulfill

      public void setEstimatedMaxDaysToFulfill(@Nullable Integer estimatedMaxDaysToFulfill)
      The maximum number of days expected for delivery. Null value is possible meaning no max days to fulfill has been configured.
    • setPrice

      public void setPrice(@NonNull javax.money.MonetaryAmount price)
      The fulfillment price of this fulfillment option. This may be ZERO.
    • setTaxable

      public void setTaxable(boolean taxable)
      Indicate if this fulfillment price is taxable.
    • setTaxCode

      public void setTaxCode(@Nullable String taxCode)
      A tax code for this fulfillment option.
    • setAdditionalAttributes

      public void setAdditionalAttributes(@NonNull Map<String,Object> additionalAttributes)
      Map to hold arbitrary additional attributes.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object