Interface FulfillmentPricingProvider

All Known Implementing Classes:
BandedFulfillmentPricingProvider, FixedFulfillmentPricingProvider, ShipEngineFulfillmentPricingProvider, VirtualFulfillmentPricingProvider

public interface FulfillmentPricingProvider
Defines a service that provides fulfillment pricing, e.g., shipping.
Author:
Chad Harchar (charchar)
  • Method Summary

    Modifier and Type
    Method
    Description
    default com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse
    calculateCostForFulfillmentGroup(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest)
    Deprecated, for removal: This API element is subject to removal in a future version.
    com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse
    calculateCostForFulfillmentGroup(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Calculate shipping for a request that includes a specified fulfillment option.
    default boolean
    canCalculateCostForOption(String fulfillmentOptionName)
    Deprecated, for removal: This API element is subject to removal in a future version.
    boolean
    canCalculateCostForOption(String fulfillmentOptionName, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Whether this provider has knowledge of the provided option and thus can provide cost information for it.
    default boolean
    canProvidePricedFulfillmentOptions(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest)
    Deprecated, for removal: This API element is subject to removal in a future version.
    default boolean
    canProvidePricedFulfillmentOptions(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Whether this provider can provide fulfillment options based on the "fulfillmentPricingRequest"
    default com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse
    estimateCostForFulfillmentGroup(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest)
    Estimate shipping for a request that includes a specified fulfillment option.
    com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse
    estimateCostForFulfillmentGroup(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Estimate shipping for a request that includes a specified fulfillment option.
    default List<com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse>
    getFulfillmentOptionPricingResponses(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest)
    default List<com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse>
    providePricedFulfillmentOptions(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest)
    Deprecated, for removal: This API element is subject to removal in a future version.
    List<com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse>
    providePricedFulfillmentOptions(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Retrieve all possible priced fulfillment options for the provided request.
  • Method Details

    • getFulfillmentOptionPricingResponses

      @Deprecated default List<com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse> getFulfillmentOptionPricingResponses(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest)
      Retrieve all possible priced fulfillment options for the provided request. Intended to be used to display options to the customer for selection.
      Parameters:
      fulfillmentPricingRequest - The request for which to calculate shipping and return options.
      Returns:
      All possible priced fulfillment options for the provided request.
    • providePricedFulfillmentOptions

      @Deprecated(since="1.0.0", forRemoval=true) default List<com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse> providePricedFulfillmentOptions(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Retrieve all possible priced fulfillment options for the provided request. Intended to be used to display options to the customer for selection.
      Parameters:
      fulfillmentPricingRequest - The request for which to calculate shipping and return options.
      Returns:
      All possible priced fulfillment options for the provided request.
    • providePricedFulfillmentOptions

      List<com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse> providePricedFulfillmentOptions(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Retrieve all possible priced fulfillment options for the provided request. Intended to be used to display options to the customer for selection.
      Parameters:
      fulfillmentPricingRequest - The request for which to calculate shipping and return options.
      contextInfo - context information around sandbox and multitenant state
      Returns:
      All possible priced fulfillment options for the provided request.
    • canProvidePricedFulfillmentOptions

      @Deprecated(since="1.1.0", forRemoval=true) default boolean canProvidePricedFulfillmentOptions(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Whether this provider can provide fulfillment options based on the "fulfillmentPricingRequest"
      Parameters:
      fulfillmentPricingRequest - The request used to identify relevant fulfillment options
      Returns:
      Whether this provider can provide fulfillment options based on the "fulfillmentPricingRequest"
    • canProvidePricedFulfillmentOptions

      default boolean canProvidePricedFulfillmentOptions(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Whether this provider can provide fulfillment options based on the "fulfillmentPricingRequest"
      Parameters:
      fulfillmentPricingRequest - The request used to identify relevant fulfillment options
      contextInfo - context information around sandbox and multitenant state
      Returns:
      Whether this provider can provide fulfillment options based on the "fulfillmentPricingRequest"
    • calculateCostForFulfillmentGroup

      @Deprecated(since="1.0.0", forRemoval=true) default com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse calculateCostForFulfillmentGroup(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Calculate shipping for a request that includes a specified fulfillment option.
      Parameters:
      fulfillmentPricingRequest - The request for which to calculate shipping.
      Returns:
      Response object with calculated shipping cost for the provided request.
    • calculateCostForFulfillmentGroup

      com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse calculateCostForFulfillmentGroup(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Calculate shipping for a request that includes a specified fulfillment option.
      Parameters:
      fulfillmentPricingRequest - The request for which to calculate shipping.
      contextInfo - context information around sandbox and multitenant state
      Returns:
      Response object with calculated shipping cost for the provided request.
    • canCalculateCostForOption

      @Deprecated(since="1.0.0", forRemoval=true) default boolean canCalculateCostForOption(@Nullable String fulfillmentOptionName)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Whether this provider has knowledge of the provided option and thus can provide cost information for it.
      Parameters:
      fulfillmentOptionName - The option to consider whether this provider can calculate cost information.
      Returns:
      Whether this provider has knowledge of the provided option and thus can provide cost information for it.
    • canCalculateCostForOption

      boolean canCalculateCostForOption(@Nullable String fulfillmentOptionName, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Whether this provider has knowledge of the provided option and thus can provide cost information for it.
      Parameters:
      fulfillmentOptionName - The option to consider whether this provider can calculate cost information.
      contextInfo - context information around sandbox and multitenant state
      Returns:
      Whether this provider has knowledge of the provided option and thus can provide cost information for it.
    • estimateCostForFulfillmentGroup

      default com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse estimateCostForFulfillmentGroup(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest)
      Estimate shipping for a request that includes a specified fulfillment option.
      Parameters:
      fulfillmentPricingRequest - The request for which to estimate shipping.
      Returns:
      Response object with estimated shipping cost for the provided request.
    • estimateCostForFulfillmentGroup

      com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse estimateCostForFulfillmentGroup(com.broadleafcommerce.shipping.domain.FulfillmentPricingRequest fulfillmentPricingRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Estimate shipping for a request that includes a specified fulfillment option.
      Parameters:
      fulfillmentPricingRequest - The request for which to estimate shipping.
      contextInfo - context information around sandbox and multitenant state
      Returns:
      Response object with estimated shipping cost for the provided request.