Broadleaf Microservices
  • v1.0.0-latest-prod

Customization Hook Points

There are several hook points throughout the quote flow that supports easy customization for more personalized flow.

Status Transitions

  • AbstractQuoteCartStatusHandler

    • If introducing a new quote status, a new implementation this handler should also be created

  • AbstractCartStatusChangeHandler#canBeReadByUser

    • Useful for adding custom rules on when a quote can be read

  • AbstractCartStatusChangeHandler#canBeUpdatedByUser

    • Useful for adding custom rules on when a quote can be updated

  • AbstractCartStatusChangeHandler#getValidOriginatingStatuses

    • Useful for adding custom originating statuses

  • AbstractCartStatusChangeHandler#validateTransitionRules

    • Useful for adding custom transition rules

  • AbstractCartStatusChangeHandler#postProcessStatusChange

    • Useful for adding custom post-processing changes or actions for the quote

Handling Custom Quote Items

  • DefaultCartOperationService#populateCartItemFromNonCatalogItemRequest

    • Useful for populating the CartItem based on the NonCatalogItemDetails that was passed through the AddItemRequest

  • DefaultCartOperationService#addCustomQuoteItemToFulfillmentGroup

    • Useful for handling custom quote items in regards to FulfillmentGroups

      • By default, custom quote items are not added to any FulfillmentGroup

  • DefaultCartOperationService#resolveDefaultFulfillmentType

    • Useful for determining the default fulfillment type for custom quote items in case they are added to FulfillmentGroups

      • By default, TO_BE_DETERMINED is returned for custom quote items

  • DefaultCartOperationService#validateItemsRemovalForCustomQuoteItems

    • Useful for validating whether the CartItems removal is valid based on the state of the custom quote items in the cart

Cart Action Audits

  • DefaultQuoteService#determineCustomQuoteActionType

    • Useful for adding custom quote action type for the CartActionAudit