Interface FulfillmentPricingService

  • All Known Implementing Classes:
    DefaultFulfillmentPricingService

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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void applyFulfillmentPricing​(com.broadleafcommerce.cart.client.domain.Cart cart)
      Service for calculating and applying fulfillment pricing to a Cart, typically by integrating with Shipping Services.
      boolean canCalculateFulfillmentPricing​(com.broadleafcommerce.cart.client.domain.Cart cart)
      Whether the cart contains the information required to calculate fulfillment pricing.
      List<com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse> getOptions​(com.broadleafcommerce.cart.client.domain.Cart cart, String referenceNumber)
      A list of all potential fulfillment options for the specified cart and fulfillment group.
      void prorateFulfillmentGroupsAdjustments​(com.broadleafcommerce.cart.client.domain.Cart cart)
      Prorates the FulfillmentGroup level adjustments down to the items for the entire cart.
    • Method Detail

      • applyFulfillmentPricing

        void applyFulfillmentPricing​(com.broadleafcommerce.cart.client.domain.Cart cart)
        Service for calculating and applying fulfillment pricing to a Cart, typically by integrating with Shipping Services. Options are expected to be unique across all providers, once a provider is found that can handle an option, it will be the one used for calculation.
        Parameters:
        cart - The cart to apply fulfillment pricing against.
      • canCalculateFulfillmentPricing

        boolean canCalculateFulfillmentPricing​(com.broadleafcommerce.cart.client.domain.Cart cart)
        Whether the cart contains the information required to calculate fulfillment pricing.
        Parameters:
        cart - The cart to determine whether fulfillment pricing can be calculated for.
        Returns:
        Whether the cart contains the information required to calculate fulfillment pricing.
      • getOptions

        List<com.broadleafcommerce.shipping.domain.FulfillmentOptionPricedResponse> getOptions​(com.broadleafcommerce.cart.client.domain.Cart cart,
                                                                                               String referenceNumber)
        A list of all potential fulfillment options for the specified cart and fulfillment group.
        Parameters:
        cart - The cart to determine which fulfillment options can be chosen.
        referenceNumber - The id of the fulfillment group we are retrieving options for.
        Returns:
        A list of all potential fulfillment options for the specified cart and fulfillment group.
      • prorateFulfillmentGroupsAdjustments

        void prorateFulfillmentGroupsAdjustments​(com.broadleafcommerce.cart.client.domain.Cart cart)
        Prorates the FulfillmentGroup level adjustments down to the items for the entire cart. This is useful for downstream services for calculating partial captures and refunds.
        Parameters:
        cart - The parent cart