public interface OfferServiceExtensionHandler extends ExtensionHandler
Modifier and Type | Method and Description |
---|---|
ExtensionResultStatusType |
addAdditionalOffersForCode(List<Offer> offers,
OfferCode offerCode)
Allows module extensions to add additional offers for a given offer code.
|
ExtensionResultStatusType |
applyAdditionalFilters(List<Offer> offers,
Order order) |
ExtensionResultStatusType |
applyAdditionalRuleVariablesForItemOfferEvaluation(PromotableOrderItem orderItem,
HashMap<String,Object> vars)
Allows a module to append additional rule variables that may be needed for order item evaluation
|
ExtensionResultStatusType |
applyItemOffer(PromotableOrder order,
PromotableCandidateItemOffer itemOffer,
Map<String,Object> contextMap)
Modules may need to extend the applyItemOffer logic
For example, a subscription module might creates future payment adjustments.
|
ExtensionResultStatusType |
buildOfferCodeListForCustomer(Customer customer,
List<OfferCode> offerCodes)
Allows module extension to add additional offer codes to the list, given the customer
|
ExtensionResultStatusType |
calculatePotentialSavings(PromotableCandidateItemOffer itemOffer,
PromotableOrderItem item,
int quantity,
Map<String,Object> contextMap)
Modules may extend the calculatePotentialSavings method.
|
ExtensionResultStatusType |
chooseSaleOrRetailAdjustments(PromotableOrder order)
Allows a module to finalize adjustments.
|
ExtensionResultStatusType |
createOrderItemPriceDetailAdjustment(ExtensionResultHolder<?> resultHolder,
OrderItemPriceDetail itemDetail)
Allows module extensions to add a create a new instance of OrderItemPriceDetailAdjustment.
|
ExtensionResultStatusType |
resetPriceDetails(PromotableOrderItem item)
Modules may need to clear additional offer details when resetPriceDetails is called.
|
ExtensionResultStatusType |
synchronizeAdjustmentsAndPrices(PromotableOrder order)
Allows a module to amend the data that synchronizes the
PromotableOrder with the Order |
getPriority, isEnabled
ExtensionResultStatusType applyAdditionalFilters(List<Offer> offers, Order order)
ExtensionResultStatusType buildOfferCodeListForCustomer(Customer customer, List<OfferCode> offerCodes)
customer
- offerCodes
- ExtensionResultStatusType calculatePotentialSavings(PromotableCandidateItemOffer itemOffer, PromotableOrderItem item, int quantity, Map<String,Object> contextMap)
itemOffer
- item
- quantity
- contextMap
- ExtensionResultStatusType resetPriceDetails(PromotableOrderItem item)
item
- ExtensionResultStatusType applyItemOffer(PromotableOrder order, PromotableCandidateItemOffer itemOffer, Map<String,Object> contextMap)
order
- itemOffer
- contextMap
- ExtensionResultStatusType synchronizeAdjustmentsAndPrices(PromotableOrder order)
PromotableOrder
with the Order
order
- ExtensionResultStatusType chooseSaleOrRetailAdjustments(PromotableOrder order)
order
- ExtensionResultStatusType createOrderItemPriceDetailAdjustment(ExtensionResultHolder<?> resultHolder, OrderItemPriceDetail itemDetail)
resultHolder
- ExtensionResultStatusType applyAdditionalRuleVariablesForItemOfferEvaluation(PromotableOrderItem orderItem, HashMap<String,Object> vars)
orderItem
- - the promotable order item in considerationvars
- - the rule mapExtensionResultStatusType addAdditionalOffersForCode(List<Offer> offers, OfferCode offerCode)
offers
- offerCode
- Copyright © 2019. All rights reserved.