Serialized Form
-
Package com.broadleafcommerce.promotion.offer.domain
-
Class com.broadleafcommerce.promotion.offer.domain.Attribute extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
contextState
com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState
A subset ofTrackinginformation to expose the context state for this object. This value is not persisted, and instead it is dynamically calculated and populated when theChangeDetailsfor the parent object's entireattributesmap are compared. -
value
Object value
The value represented by this attribute. Attributes are generally placed on domain objects as a map of attribute names to attribute values:Map<String, Attribute>.
-
-
Class com.broadleafcommerce.promotion.offer.domain.CombinabilityOverride extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
contextState
com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState
A subset ofTrackinginformation to expose the context state for this object. This value is not persisted, and instead it is dynamically calculated and populated when theChangeDetailsfor the parent object's entireattributesmap are compared. -
overrideType
String overrideType
The type of override being performed for this offer combination.- See Also:
CombinabilityOverrideType
-
relatedOfferRef
String relatedOfferRef
The id of an offer for which combinability is being overridden for this offer.
-
-
Class com.broadleafcommerce.promotion.offer.domain.Discount extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
BigDecimal amount
The discount amount that this discount represents. If the amount is10, then whether it is calculated as a percentage (10%) or a currency amount ($10) is determined byDiscount.methodType. -
applicableToDependentItems
boolean applicableToDependentItems
Whether this discount should apply to an item's dependent order items (e.g., add-ons). Default is false. -
applicableToSalesPrice
boolean applicableToSalesPrice
Whether this discount should apply to an item's sale price or just its non-sale price(s). Default is true. -
methodType
String methodType
Determines the method used to apply the discount. The method can beDiscountMethodType.PERCENT_OFF,DiscountMethodType.AMOUNT_OFF, orDiscountMethodType.FIXED_PRICE.- See Also:
DiscountMethodType
-
prorationType
String prorationType
Determines how an offer'sdiscount amountis distributed across the offer's related order item types. This can either be set to prorate across target items or target and qualifier items. Default isProrationType.TARGET_AND_QUALIFIER.This property is used downstream in `OrderOperationServices` or other custom services to calculate the proper refund amounts when factoring in offer discounts.
-
targetType
String targetType
Determines the type of entity that receives the discount. The entity can beDiscountTargetType.ORDER,DiscountTargetType.ORDER_ITEM,DiscountTargetType.FULFILLMENT_GROUP,DiscountTargetType.FULFILLMENT_GROUP_ITEM. In the case of orders, order items, and free gift, the discount will be applied to their prices. In the case of fulfillment groups and group items, the discount will be applied to their fulfillment costs (e.g., shipping cost).- See Also:
DiscountTargetType
-
timingType
String timingType
Determines the timing of the discount's application. The discount can be applied eitherimmediately as an ORDER_DISCOUNTorlater as a FUTURE_CREDIT. Default value isDiscountTimingType.ORDER_DISCOUNT.- See Also:
DiscountTimingType
-
-
Class com.broadleafcommerce.promotion.offer.domain.DiscountTier extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
BigDecimal amount
The discount amount that this tier represents. If the amount is10, then whether it is calculated as a percentage (10%) or a currency amount ($10) is determined byDiscountTier.methodType. OverridesDiscount.amountof the parentOffer. -
contextState
com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState
A subset ofTrackinginformation to expose the context state for this object. This value is not persisted, and instead it is dynamically calculated and populated when theChangeDetailsfor the parent object's entireattributesmap are compared. -
methodType
String methodType
Determines the method used to apply the discount. The method can beDiscountMethodType.PERCENT_OFF,DiscountMethodType.AMOUNT_OFF, orDiscountMethodType.FIXED_PRICE. OverridesDiscount.methodTypeof the parentOffer.- See Also:
DiscountMethodType
-
minAmount
BigDecimal minAmount
The minimum currency amount to qualify for this tier. -
minQuantity
Long minQuantity
The minimum quantity of items needed to reach this tier.
-
-
Class com.broadleafcommerce.promotion.offer.domain.ItemCriteria extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
connectiveOperator
String connectiveOperator
The connective with which to join all of theItemCriteria.rulestogether. Individual rules can also have separate sub-rules connected with unrelated operators.- See Also:
DefaultConnectiveOperatorType
-
rules
Set<ItemCriteriaRule> rules
Rules that comprise this criteria. When multiple rules are present, they will be connected withItemCriteria.connectiveOperator.
-
-
Class com.broadleafcommerce.promotion.offer.domain.ItemCriteriaRule extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
numberOfMatchesRequired
int numberOfMatchesRequired
Determines the number of items that must match theItemCriteriaRule.rulein order for this criteria to be met. -
rule
String rule
String expression used to determine which items must be present so that an order may receive this offer's discount. This could be a string representation of aSpelExpression, e.g.,name == 'some-name' || id == '1', or that of some other expression language.
-
-
Class com.broadleafcommerce.promotion.offer.domain.ItemMarketingMessageRequest extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
codes
com.broadleafcommerce.promotion.offer.client.web.context.Codes codes
Deprecated.DTO containing codes used to apply offers to orders. These can beSharedCode.getCode()shared codes} or tracking IDs for entities like Campaigns. -
customerContext
com.broadleafcommerce.promotion.offer.client.web.context.CustomerContext customerContext
Deprecated. -
item
EnhancedLineItem item
Deprecated. -
locale
Locale locale
Deprecated. -
locationType
String locationType
Deprecated.- See Also:
MarketingMessageLocationType
-
-
Class com.broadleafcommerce.promotion.offer.domain.MarketingMessage extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
activeEndDate
Instant activeEndDate
Defines the ending time for which this message is active -
activeStartDate
Instant activeStartDate
Defines the beginning time for which this message is active -
contextState
com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
A subset ofTrackinginformation to expose the context state for this object. -
displayHint
String displayHint
Defines a hint to the client on how to display this message -
id
String id
-
locale
Locale locale
Deprecated.since 1.6 use translations for different localesTheLocaleto which this message is applicable. -
locationType
String locationType
Deprecated.since 1.6 functionality moved toMarketingMessage.locationTypes.Determines in what locations this message can appear, whether on product detail, browse, search, or cart pages or everywhere.- See Also:
MarketingMessageLocationType
-
locationTypes
List<String> locationTypes
Determines in what locations this message can appear, whether on product detail, browse, search, or cart pages or everywhere.- See Also:
MarketingMessageLocationType
-
maxCartSubtotal
javax.money.MonetaryAmount maxCartSubtotal
The maximum cart subtotal to display this message. If this value is specified, this message will only display if the cart subtotal is equal to or less than this value. -
minCartSubtotal
javax.money.MonetaryAmount minCartSubtotal
The minimum cart subtotal to display this message. If this value is specified, this message will only display if the cart subtotal is equal to or greater than this value. -
offerId
String offerId
Id of the parentOffer. -
priority
Integer priority
When multiple messages match a context, the message with the higher priority wins out, where smaller integer values represent higher priorities. Nulls are implicitly given lower precedence than any other value - they will appear last. -
showIfOfferApplied
boolean showIfOfferApplied
Determines whether the message should be show to the customer if the associated offer is already applied to the cart. -
targetType
String targetType
Determines whether this message should appear only next to itsoffer'stargets or qualifiers or next to both.- See Also:
MarketingMessageTargetType
-
text
String text
The actual text of the message to display. -
useCartSubtotal
boolean useCartSubtotal
Determines whether the message should be show based on the current subtotal of the customer's cart.
-
-
Class com.broadleafcommerce.promotion.offer.domain.MarketingMessageRequest extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
appliedOfferIds
List<String> appliedOfferIds
A list of currently applied offer ids -
cartProductIds
List<String> cartProductIds
The ids of any products currently in the customer's cart -
cartSubtotal
javax.money.MonetaryAmount cartSubtotal
The subtotal of the customer's cart -
categoryId
String categoryId
The current category's id -
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
TheContextInfoderived from the original request containing tenant and sandbox info. -
customerContext
com.broadleafcommerce.promotion.offer.client.web.context.CustomerContext customerContext
The customer context information that should be used in determiningwhich offers apply -
lineItems
List<EnhancedLineItem> lineItems
A list of hydratedEnhancedLineItems used by theMarketingMessageResolverto retrieveMarketingMessages -
maxMessageCount
Integer maxMessageCount
The maximum number of messages for each location and location / product combination -
productIds
List<String> productIds
The ids for all products to retrieve marketing messages for
-
-
Class com.broadleafcommerce.promotion.offer.domain.Offer extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
activeEndDate
Instant activeEndDate
Defines the ending time for which this offer is active. Must be later thanOffer.activeStartDateor null which indicates that this offer applies indefinitely. -
activeStartDate
Instant activeStartDate
Defines the beginning time for which this offer is active. -
attributes
Map<String,Attribute> attributes
Dynamic attributes that are a part of the offer. This is an admin-centered concept -
automaticallyConsidered
boolean automaticallyConsidered
Determines whether this offer should be considered to be applied without needing any
Offer.sharedCodesorOffer.campaignTrackingIds(or some other, similar constraint). Default is false.Setting to true does not guarantee that the offer will be applied. All criteria and rules associated with this offer must still be met (e.g.,
Offer.targetItemCriteria,Offer.itemQualifierCriteria,Offer.orderCriteria, andOffer.timeCriteria). -
campaignTrackingIds
Set<String> campaignTrackingIds
The tracking identifiers of the campaigns of which this offer is a part. Seecom.broadleafcommerce.promotion.campaign.domain.Campaign#id -
cartLabel
String cartLabel
A label for this offer typically used by the storefront. -
cartSubtotal
javax.money.MonetaryAmount cartSubtotal
The minimum cart subtotal to apply this offer. If this value is specified, this offer will only apply if the cart subtotal is equal to or greater than this value. -
combinabilityOverrides
Set<CombinabilityOverride> combinabilityOverrides
TheCombinabilityOverridesthat override how this offer combines with other offers.- See Also:
CombinabilityOverrideType
-
combinabilityType
String combinabilityType
Determines whether this offer can be combined with other offers. Default isCombinabilityType.ANY, meaning this offer is combinable with any other offer.- See Also:
CombinabilityType
-
contextState
com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
A subset ofTrackinginformation to expose the context state for this object. -
description
String description
Description of this offer. -
discount
Discount discount
Basic discount information for this offer.
If
Offer.tieredDiscountis true, thenDiscount.getMethodType()andDiscount.getAmount()are overridden by the same fields in the tiers (seeDiscountTier). -
discountTiers
List<DiscountTier> discountTiers
List ofdiscount tiersdetermining the discount applied with this offer.- See Also:
DiscountTier,Offer.tieredDiscount
-
distributeOfferAmountToTargets
boolean distributeOfferAmountToTargets
This property impacts the way that items share the same discount. The intended use is for offers with multiple targets such as a "bundle offer" - that is setup as Buy 2 for $10" -
estimatedValue
BigDecimal estimatedValue
Provide an estimated value for this offer. This is used when comparing one offer combination with another.This property was added for voucher offers where a voucher can represent a later value. If two vouchers are not combinable, the one with the higher estimated value will be used. Likewise, if a there is a voucher offer and an order offer that are not combinable, the one with the higher value will be used.
This property is used for free gift offers as well.
-
freeGift
boolean freeGift
Determines whether this is a free gift offer. -
freeProduct
String freeProduct
Defines the id of the free product for this offer. -
fulfillmentGroupCriteria
String fulfillmentGroupCriteria
String expression used to determine if a fulfillment group qualifies for this offer. For example, this allows for restricting this offer only to fulfillment groups with shipping price greater than $100.
Can be a string representation of a
SpelExpression, e.g.,name == 'some-name' || id == '1', or that of some other expression language. -
id
String id
The context ID of the offer. -
itemQualifierCriteria
ItemCriteria itemQualifierCriteria
Info related to determining what items are required so that an order or other items qualify to receive this offer's discount. If these items should not just qualify but also receive the discount, then setDiscount.getProrationType()toProrationType.TARGET_AND_QUALIFIER.- See Also:
ItemCriteria
-
maxSavingsPerOrder
javax.money.MonetaryAmount maxSavingsPerOrder
Determines the maximum savings a single order can receive from this offer. For example, suppose this field has a value of $50 and this is a 10% off offer. If the order's total is $600, then it would receive a $50 discount instead of $60 (i.e., 10%). A value of 0 indicates unlimited usage. Default is 0. -
maxUses
int maxUses
Determines the maximum number of times this offer can be used. A value of 0 indicates unlimited usage. Default is 0. -
maxUsesPerOrder
int maxUsesPerOrder
Determines the maximum number of times this offer can be used on a single order. A value of 0 indicates unlimited usage. Default is 0. -
maxUsesPerUser
int maxUsesPerUser
Determines the maximum number of times this offer can be used by the same user. Works in conjunction withOffer.maxUsesPerUserFrequencyto limit the frequency with which an individual user can use this offer. A value of 0 indicates unlimited usage. Default is 0. -
maxUsesPerUserFrequency
int maxUsesPerUserFrequency
This field works in conjunction withOffer.maxUsesPerUserto limit the frequency with which an individual user can use this offer. IfmaxUsesPerUser = 3andmaxUsesPerUserFrequency = 5, then a user cannot use this offer more than 3 times in any 5 day period. Note that this is a sliding-window of opportunity. If a user uses this offer on days 1, 4, and 5, then they can use it on 6 but not on 7 since day 7 is within 5 days of days 4, 5, and 6. A value of 0 indicates that a user can only use thisOffer.maxUsesPerUsertimes ever. Default is 0. -
maxUsesPerUserStrategy
String maxUsesPerUserStrategy
Enum that allows implementations to vary how user max uses will be interpreted. By default the strategy will beUserMaxUsesStrategyType.CUSTOMER. -
minTotalOfQualifierPrices
javax.money.MonetaryAmount minTotalOfQualifierPrices
Determines the price subtotal threshold that all qualifying items must reach in addition toOffer.itemQualifierCriteriain order to qualify an order items to receive this offer's discount. That is, the system will find all qualifying items (based onOffer.itemQualifierCriteria) for the given offer and sum their prices before any discounts are applied. If that sum reaches or exceeds thisminTotalOfQualifierPrices, then the targets of the offer "qualify" to receive the discount. -
minTotalOfTargetPrices
javax.money.MonetaryAmount minTotalOfTargetPrices
Determines the price subtotal threshold that all targeted items must reach in addition toOffer.targetItemCriteriain order to receive this offer's discount. That is, the system will find all targeted items in an order and sum their prices before any discounts are applied. If the sum reaches or exceeds thisminTotalOfTargetPrices, then the targets can receive the discount. -
name
String name
Display name for this offer. -
offerDiscountStrategy
String offerDiscountStrategy
Represents the discount strategy for this offer. Refer toOfferDiscountStrategyfor supported offer strategies. -
orderCriteria
String orderCriteria
String expression used in conjunction with
Offer.itemQualifierCriteriato determine if an order qualifies for this offer. WhereasOffer.itemQualifierCriteriaruns against an order's items, these criteria are run against general order attributes like locale, currencyCode, subtotal, etc. For example, this allows for restricting this offer only to orders with subtotals greater than $100.Can be a string representation of a
SpelExpression, e.g.,name == 'some-name' || id == '1', or that of some other expression language. -
preferCartBundling
boolean preferCartBundling
This property provides a hint to the front-end application to perform grouping for items that share the same discount. The intended use is for offers with multiple targets such as a "bundle offer" - that is setup as Buy 2 for $10" As the offer engine supports the concept of an item being part of more than one bundle, applications will need to make decisions on how to interpret this flag. -
priority
Long priority
When multiple offers match a context, the offer with the higher priority is applied first, where smaller integer values represent higher priorities. When used for comparisons, null should treated as lowest priority perOffer.getPriorityForComparisons(). -
qualifiersCanBeQualifiers
boolean qualifiersCanBeQualifiers
Determines whether items that qualify an order to receive this offer's discount can also be used as qualifiers for other offers of the same type (e.g., Order, Order Item, Fulfillment). For example, if an offer requires that an order contains a "red t-shirt" item in order to qualify for a 10% discount and another offer also requires that a "red t-shirt" be present to qualify for a 10% shipping discount, then this field determines whether that red t-shirt can be used by both offers to qualify the order for both 10% off the subtotal and 10% off shipping or if only the better offer can be applied. Default is false: A single qualifier cannot cause more than 1 offer to be applied. -
qualifiersCanBeTargets
boolean qualifiersCanBeTargets
Determines whether items that qualify an order to receive this offer's discount can also receive discounts from other offers of the same type (e.g., Order, Order Item, Fulfillment). For example, if this offer requires that an order contains a "red t-shirt" be present to qualify for a 10% discount on another item (think BOGO) and another offer targets that same "red t-shirt" for a 10% discount (rather than as a qualifier), then this field determines whether that red t-shirt can both qualify the another item for a 10% discount and itself receive a 10% discount or just 1 can be discounted. Default is false: A qualifier cannot also receive an individual discount. -
qualifyFulfillmentAcrossAllItems
boolean qualifyFulfillmentAcrossAllItems
Whether items across the entire order should be considered as potential qualifiers for fulfillment groups instead of just the items in the same fulfillment group. Default behavior is to use only the items within the fulfillment group as qualifiers. -
requiresRelatedTargetAndQualifiers
boolean requiresRelatedTargetAndQualifiers
Determines whether a qualifier must be matched to targets that are in its lineage, that is, targets must either be descended from or an ancestor of a qualifier. This is discovered by repeatedly calling the qualifier'sEnhancedOrderLineItem.getParent()to find the root ancestor; then, from the root, repeatedly callingEnhancedOrderLineItem.getChildren()to find if a potential order item is a descendant thereof, that is, in the same lineage as the qualifier. -
sharedCodes
Set<SharedCode> sharedCodes
TheSharedCodesthat can be used to retrieve this offer. These codes would be used in situations where this offer is not automatically considered (meaningOffer.automaticallyConsideredis false} -
stackable
boolean stackable
Determines whether this offer can be stacked on top of other offers of the same type. This is different thanCombinabilityType.ANYwhich indicates tha two offers can coexist in the same order but doesn't allow them to apply to the same target. For example, consider two offers where the first is "10% off jeans" and the second is "5% off clothing". If these are not stackable, then any jeans in the order will get 10% off while other clothing will get 5% off. If they are stackable, the jeans will get both offers and be 15% off.- See Also:
CombinabilityType
-
subscriptionDiscount
SubscriptionDiscount subscriptionDiscount
Information around discounting subscription items that have recurring billing. -
targetGroupingStrategy
String targetGroupingStrategy
The target grouping strategy. This affects how order items are grouped when applying discounts. Optional. If not set, defaults toTargetGroupingStrategy.COSTLIEST.- See Also:
TargetGroupingStrategy
-
targetItemCriteria
ItemCriteria targetItemCriteria
Info related to determining what order items can receive this offer's discount.- See Also:
ItemCriteria
-
tieredDiscount
boolean tieredDiscount
Deprecated.SeeOffer.offerDiscountStrategy. Offers with this value set to true are now considered to have a discount strategy ofOfferDiscountStrategy.TIERED_ITEM_QTY. To check if an offer is tiered, useOffer.isTieredOffer()Determines whether this offer uses tiered discounts such that the discount changes per item quantity. For example, an offer could have 3 tiers:
- Tier 1: if 0-3 items, then the discount is 10%
- Tier 2: if 4-10 items, then the discount is 15%
- Tier 3: if 11+ items, then the discount is 20%
If true, then
Discount.getMethodType()andDiscount.getAmount()are overridden by the same fields in the tiers (seeDiscountTier).- See Also:
DiscountTier,Offer.discountTiers
-
timeCriteria
String timeCriteria
String expression used to determine whether this offer can be qualified for only at certain times or on certain days or months. For example, this allows an offer to only be applicable on Fridays or the last day of any month.
Can be a string representation of a
SpelExpression, e.g.,name == 'some-name' || id == '1', or that of some other expression language. -
useQtyOnlyTierCalculation
boolean useQtyOnlyTierCalculation
Determines whether to match an
offer tier's min quantityagainst the number of items in an order or to match it against the number of target item sets that match anoffer's target item criteria.Consider the following offer:
- Has 2 tiers:
- 1st tier min quantity: 1
- 2nd tier: 5
- An order must meet the following target item criteria
- Has 3 items in the "Hot Sauces" category
- and 1 item in the "Merchandise" category
When
useQtyOnlyTierCalculation = false, the 2nd tier would apply if the order had 3 hot sauces, 1 t-shirt, and at least 1 of an item in any category. When it's true, then the order must have 5 sets of 3 hot sauces and 1 t-shirt, that is, 15 hot sauces and 5 t-shirts to match this offer. - Has 2 tiers:
-
userTargets
Set<UserTarget> userTargets
Set of users directly targeted by this offer.- See Also:
UserTarget
-
voucher
boolean voucher
Determines whether this is a voucher offer. -
voucherCampaign
String voucherCampaign
Defines the id of the campaign for this offer.
-
-
Class com.broadleafcommerce.promotion.offer.domain.OfferAuditDetail extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
dateApplied
Instant dateApplied
The date and time when the related offer was applied. Used to check against an frequency type criteria in anoffer's time criteria. -
id
String id
The context ID of the offer audit detail -
offerId
String offerId
The associatedoffer's id. -
orderId
String orderId
The id of the order upon which the related offer was used. Used to check against anOffer.maxUsesPerOrder. -
sharedCode
String sharedCode
The string of the shared code used to apply the related offer if one was used. Used to check against aSharedCode.maxUses. -
user
UserTarget user
The identifying info of the user that used the related offer. Used to check against anOffer.maxUsesPerUser.
-
-
Class com.broadleafcommerce.promotion.offer.domain.SharedCode extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
code
String code
The code string associated to this shared code and used to apply the associated offer to an order. -
contextState
com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState
A subset ofTrackinginformation to expose the context state for this object. This value is not persisted, and instead it is dynamically calculated and populated when theChangeDetailsfor the parent object's entireattributesmap are compared. -
maxUses
int maxUses
Defines the maximum number of times that this code can be used regardless of Order or Customer. The value of 0 indicates unlimited usage.
-
-
Class com.broadleafcommerce.promotion.offer.domain.SubscriptionDiscount extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
applyToFuturePeriods
boolean applyToFuturePeriods
Whether an offer should be applied to items' future periods, i.e., items that have a recurring billing cycle based on a frequency and a period. If this is false, none of the other fields on this class will be considered. Default to false. -
beginPeriod
int beginPeriod
The beginning period for which this offer should be applied. 1 refers to the first recurring billing period, and so on. -
discountCurrentOrder
boolean discountCurrentOrder
Whether to apply this discount to the current provided order. Otherwise, it will only apply to future billing cycles resulting from the current order. Default to true. -
endPeriod
int endPeriod
The ending period for which this offer should be applied. 1 refers to the first recurring billing period, and so on.
-
-
Class com.broadleafcommerce.promotion.offer.domain.UserTarget extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
contextState
com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState
A subset ofTrackinginformation to expose the context state for this object. This value is not persisted, and instead it is dynamically calculated and populated when theChangeDetailsfor the parent object's entireattributesmap are compared. -
targetType
String targetType
The type of the user. This could be "CUSTOMER", "ACCOUNT", etc. -
targetValue
String targetValue
An identifying value for the user. Could be an email, username, or some similarly identifying value.
-
-
-
Package com.broadleafcommerce.promotion.offer.provider.jpa.domain
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaAttribute extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
value
Object value
- See Also:
Attribute.getValue()
-
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaCampaignTracking extends Object implements Serializable
- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaCampaignTrackingId extends Object implements Serializable
- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaCombinabilityOverride extends Object implements Serializable
- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaCombinabilityOverrideId extends Object implements Serializable
- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaDiscountTier extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
BigDecimal amount
-
methodType
String methodType
-
minAmount
BigDecimal minAmount
-
minQuantity
Long minQuantity
-
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaItemCriteriaRule extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
numberOfMatchesRequired
int numberOfMatchesRequired
-
rule
String rule
- See Also:
ItemCriteriaRule.getRule()
-
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaMarketingMessage extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
_id
String _id
-
activeEndDate
Instant activeEndDate
-
activeStartDate
Instant activeStartDate
-
contextId
String contextId
-
currency
javax.money.CurrencyUnit currency
Transient property that holds the currency used to convert price to a MonetaryAmount. -
displayHint
String displayHint
-
locale
Locale locale
Deprecated. -
locationType
String locationType
Deprecated. -
locationTypes
List<String> locationTypes
-
maxCartSubtotal
BigDecimal maxCartSubtotal
-
minCartSubtotal
BigDecimal minCartSubtotal
-
offerContextId
String offerContextId
-
priority
Integer priority
-
showIfOfferApplied
Boolean showIfOfferApplied
-
targetType
String targetType
-
text
String text
-
tracking
com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking tracking
-
useCartSubtotal
Boolean useCartSubtotal
-
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaOffer extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
_id
String _id
-
activeEndDate
Instant activeEndDate
- See Also:
Offer.getActiveEndDate()
-
activeStartDate
Instant activeStartDate
- See Also:
Offer.getActiveStartDate()
-
applyToFuturePeriods
boolean applyToFuturePeriods
-
attributes
Map<String,JpaAttribute> attributes
-
automaticallyConsidered
boolean automaticallyConsidered
- See Also:
Offer.isAutomaticallyConsidered()
-
beginPeriod
Integer beginPeriod
-
campaignTrackingIds
Set<JpaCampaignTracking> campaignTrackingIds
- See Also:
Offer.getCampaignTrackingIds()
-
cartLabel
String cartLabel
- See Also:
Offer.getCartLabel()
-
cartSubtotal
BigDecimal cartSubtotal
- See Also:
Offer.getCartSubtotal()
-
combinabilityOverrides
Set<JpaCombinabilityOverride> combinabilityOverrides
- See Also:
Offer.getCombinabilityOverrides()
-
combinabilityType
String combinabilityType
- See Also:
Offer.getCombinabilityType()
-
contextId
String contextId
- See Also:
Offer.getId()
-
currency
javax.money.CurrencyUnit currency
Transient property that holds the currency used to convert price to a MonetaryAmount. -
description
String description
- See Also:
Offer.getDescription()
-
discountAmount
BigDecimal discountAmount
-
discountApplicableToDependentItems
boolean discountApplicableToDependentItems
-
discountApplicableToSalesPrice
boolean discountApplicableToSalesPrice
-
discountCurrentOrder
boolean discountCurrentOrder
-
discountMethodType
String discountMethodType
-
discountProrationType
String discountProrationType
-
discountTargetType
String discountTargetType
-
discountTiers
List<JpaDiscountTier> discountTiers
- See Also:
Offer.getDiscountTiers()
-
discountTimingType
String discountTimingType
-
distributeOfferAmountToTargets
boolean distributeOfferAmountToTargets
-
endPeriod
Integer endPeriod
-
estimatedValue
BigDecimal estimatedValue
Estimated value for this offer, used in scoring the best offer permutation for voucher and free gift offers.- See Also:
Offer.getEstimatedValue()
-
freeGift
boolean freeGift
- See Also:
Offer.isFreeGift()
-
freeProduct
String freeProduct
- See Also:
Offer.getFreeProduct()
-
fulfillmentGroupCriteria
String fulfillmentGroupCriteria
- See Also:
Offer.getFulfillmentGroupCriteria()
-
maxSavingsPerOrder
BigDecimal maxSavingsPerOrder
- See Also:
()
-
maxUses
int maxUses
- See Also:
Offer.getMaxUses()
-
maxUsesPerOrder
int maxUsesPerOrder
- See Also:
()
-
maxUsesPerUser
int maxUsesPerUser
- See Also:
Offer.getMaxUsesPerUser()
-
maxUsesPerUserFrequency
int maxUsesPerUserFrequency
- See Also:
Offer.getMaxUsesPerUserFrequency()
-
maxUsesPerUserStrategy
String maxUsesPerUserStrategy
- See Also:
Offer.getMaxUsesPerUserStrategy()
-
minTotalOfQualifierPrices
BigDecimal minTotalOfQualifierPrices
- See Also:
Offer.getMinTotalOfQualifierPrices()
-
minTotalOfTargetPrices
BigDecimal minTotalOfTargetPrices
- See Also:
Offer.getMinTotalOfTargetPrices()
-
name
String name
- See Also:
Offer.getName()
-
offerDiscountStrategy
String offerDiscountStrategy
-
orderCriteria
String orderCriteria
- See Also:
Offer.getOrderCriteria()
-
preferCartBundling
boolean preferCartBundling
-
priority
Long priority
- See Also:
Offer.getPriority()
-
qualifierItemCriteriaConnectiveOperator
String qualifierItemCriteriaConnectiveOperator
- See Also:
ItemCriteria.getConnectiveOperator()
-
qualifierItemCriteriaRules
Set<ItemCriteriaRule> qualifierItemCriteriaRules
- See Also:
ItemCriteria.getRules()
-
qualifiersCanBeQualifiers
boolean qualifiersCanBeQualifiers
- See Also:
Offer.isQualifiersCanBeQualifiers()
-
qualifiersCanBeTargets
boolean qualifiersCanBeTargets
- See Also:
Offer.isQualifiersCanBeTargets()
-
qualifyFulfillmentAcrossAllItems
boolean qualifyFulfillmentAcrossAllItems
-
requiresRelatedTargetAndQualifiers
boolean requiresRelatedTargetAndQualifiers
-
sharedCodes
Set<JpaSharedCode> sharedCodes
- See Also:
Offer.getSharedCodes()
-
stackable
boolean stackable
- See Also:
Offer.isStackable()
-
targetGroupingStrategy
String targetGroupingStrategy
-
targetItemCriteriaConnectiveOperator
String targetItemCriteriaConnectiveOperator
- See Also:
ItemCriteria.getConnectiveOperator()
-
targetItemCriteriaRules
Set<ItemCriteriaRule> targetItemCriteriaRules
- See Also:
ItemCriteria.getRules()
-
tieredDiscount
Boolean tieredDiscount
Deprecated.- See Also:
Offer.isTieredDiscount()
-
timeCriteria
String timeCriteria
- See Also:
Offer.getTimeCriteria()
-
tracking
com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking tracking
-
useQtyOnlyTierCalculation
boolean useQtyOnlyTierCalculation
- See Also:
Offer.isUseQtyOnlyTierCalculation()
-
userTargets
Set<JpaUserTarget> userTargets
- See Also:
Offer.getUserTargets()
-
voucher
boolean voucher
- See Also:
Offer.isVoucher()
-
voucherCampaign
String voucherCampaign
- See Also:
Offer.getVoucherCampaign()
-
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaOfferAuditDetail extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaSharedCode extends Object implements Serializable
- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaSharedCodeId extends Object implements Serializable
- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaUserTarget extends Object implements Serializable
- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.promotion.offer.provider.jpa.domain.JpaUserTargetId extends Object implements Serializable
- serialVersionUID:
- 1L
-
-
Package com.broadleafcommerce.promotion.offer.service.dto
-
Class com.broadleafcommerce.promotion.offer.service.dto.BaseCandidateOffer extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
combinableOverrides
Set<String> combinableOverrides
Convert offer data into easier structures for combinability algorithms -
currency
javax.money.CurrencyUnit currency
TheEnhancedOrder.getCurrency()order's currency code}.- See Also:
EnhancedOrder.getCurrency()
-
nonCombinableOverrides
Set<String> nonCombinableOverrides
-
offer
Offer offer
The candidateOffer. -
offerCombinabilityCriteriaKey
OfferCombinabilityCriteriaKey offerCombinabilityCriteriaKey
Holds the combinability criteria for this offer. The offer domain contains combinability flags and rules but the criteria will vary with each execution of the offer engine. For example, if "item offer a" can be combined with any "order offer except b" and b is not in the scope of the current offer engine execution, then we can say that "item offer a" can be combined with ANY order offer. Practically, this allows us to reduce the overall complexity of offer engine by getting rid of scenarios that are irrelevant to the current execution. -
potentialSavings
javax.money.MonetaryAmount potentialSavings
The total potential amount saved by applying this offer to its targets. -
roundingMode
RoundingMode roundingMode
TheRoundingModeto use when rounding. Default isRoundingMode.HALF_EVEN. -
roundOfferValues
boolean roundOfferValues
Determines whether to round
BaseCandidateOffer.potentialSavings. Default is false. Note: This is only relevant for adjustments that apply to items. The additional precision is important when multiplying by a "qty". Order and fulfillment group adjustments will always be rounded in the default implementations.It is sometimes problematic to use
DiscountMethodType.PERCENT_OFFofferswith regards to rounding. For example, consider an item that costs $9.99 and has a 50% discount. To be precise, the offer value is 4.995, but this may be a strange value to display to the user depending on the currency being used. Keeping this false produces more accurate results when using quantities > 1. For example, 20% off of $9.99 with a quantity of 5 will produce a savings of exactly $9.99 which would be expected. The savings will always be rounded to the correct precision of the currency, however theS"totalSavings" will always be displays may want to round the value unit adjustment will be up to 5 digits of precision if roundOfferValues is false. Client displays may with to round the adjustment amount if showing per quantity level adjustments. -
stackableOverrides
Set<String> stackableOverrides
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.CandidateFulfillmentGroup extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
candidateQualifiersMap
Map<ItemCriteriaRule,Collection<EnhancedFulfillmentLineItem>> candidateQualifiersMap
Map ofItemCriteriaRulefrom anoffer's item qualifier criteriato aCollectionofEnhancedFulfillmentLineItemthat meet that criteria for thisCandidateFulfillmentGroup.fulfillmentGroup. -
discountedAmount
javax.money.MonetaryAmount discountedAmount
The amount off this fulfillment group would get if thecandidate offerwas applied. -
discountedTotal
javax.money.MonetaryAmount discountedTotal
The adjusted discounted price for this candidate fulfillment group if thecandidate offerwas applied. -
fulfillmentGroup
EnhancedFulfillmentGroup fulfillmentGroup
TheEnhancedFulfillmentGroupthat is decorated for consideration as part of aCandidateFulfillmentGroupOffer.
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.CandidateFulfillmentGroupOffer extends BaseCandidateOffer implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
candidateFulfillmentGroups
List<CandidateFulfillmentGroup> candidateFulfillmentGroups
TheCandidateFulfillmentGroupsthat can be targeted byBaseCandidateOffer.offer, each one representing a decoratedEnhancedFulfillmentGroupwith savings information. -
totalSavings
javax.money.MonetaryAmount totalSavings
Total savings across allCandidateFulfillmentGroupOffer.candidateFulfillmentGroupsfor theBaseCandidateOffer.offer.
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.CandidateItemOffer extends BaseCandidateOffer implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
candidateQualifiersMap
Map<ItemCriteriaRule,Collection<EnhancedLineItem>> candidateQualifiersMap
Map ofItemCriteriaRulefrom anoffer's item qualifier criteriato aCollectionofEnhancedLineItemthat meet that criteria. -
candidateTargetsMap
Map<ItemCriteriaRule,Collection<EnhancedLineItem>> candidateTargetsMap
Map ofItemCriteriaRulefrom anoffer's target item criteriato aCollectionofEnhancedLineItemthat meet that criteria. -
originalPrice
BigDecimal originalPrice
The original, unadjusted price of the item being targeted byBaseCandidateOffer.getOffer(). -
potentialSavingsQtyOne
javax.money.MonetaryAmount potentialSavingsQtyOne
Potential savings per single use ofBaseCandidateOffer.getOffer(). TakesBaseCandidateOffer.getPotentialSavings()and divides it byCandidateItemOffer.uses. Used in weighting the potential savings to determine the best permutation of all applicable offers. -
useAmountOnlyTierCalculation
boolean useAmountOnlyTierCalculation
- See Also:
Offer#useAmountOnlyTierCalculation
-
useQtyOnlyTierCalculation
boolean useQtyOnlyTierCalculation
Determines whether to match an
offer tier's min quantityagainst the number of items in an order or to match it against the number of target item set that match anoffer's target item criteria.Consider the following offer:
- Has 2 tiers:
- 1st tier min quantity: 1
- 2nd tier: 5
- An order must meet the following target item criteria
- Has 3 items in the "Hot Sauces" category
- and 1 item in the "Merchandise" category
When
useQtyOnlyTierCalculation = true, the 2nd tier would apply if the order had 3 hot sauces, 1 t-shirt, and at least 1 of an item in any category. When it's false, then the order must have 5 sets of 3 hot sauces and 1 t-shirt, that is, 15 hot sauces and 5 t-shirts to match this offer.By default this behavior can be configured globally using
broadleaf.offer.useQuantityOnlyTierCalculation - Has 2 tiers:
-
uses
int uses
Tracks the number of times this candidate offer has been used. This is used while determining potential savings and the best permutation of applicable offers where we don't want to create anOfferAuditDetailbecause we're calculating potential rather than actually usages. -
weightedPercentSaved
BigDecimal weightedPercentSaved
Takes theBaseCandidateOffer.getPotentialSavings()and divides them by the item's price before multiply by 100 to get a percentage. Sometimes a more complex weighting algorithm is used such as when an offer has qualifiers that cannot be used by other offers.
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.CandidateOffers extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
allCandidateOffers
List<BaseCandidateOffer> allCandidateOffers
A set of all the relevant candidate offers for given offer engine execution -
allOfferIds
Set<String> allOfferIds
Set of ids for all offers that are applicable to a given offer engine execution. -
candidateFulfillmentGroupOffers
List<CandidateFulfillmentGroupOffer> candidateFulfillmentGroupOffers
List of candidate offers targetingfulfillment groups.- See Also:
DiscountTargetType.FULFILLMENT_GROUP
-
candidateFulfillmentItemOffers
List<CandidateItemOffer> candidateFulfillmentItemOffers
List of candidate offers targetingfulfillment items. -
candidateOrderItemOffers
List<CandidateItemOffer> candidateOrderItemOffers
List of candidate offers targetingorder items.- See Also:
DiscountTargetType.ORDER_ITEM
-
candidateOrderOffers
List<CandidateOrderOffer> candidateOrderOffers
List of candidate offers targetingorders.- See Also:
DiscountTargetType.ORDER
-
otherTypeOfferIdsList
Map<String,Set<String>> otherTypeOfferIdsList
For combinability algorithms, it is helpful to know the ids of all other offer types. For example, an order offer needs to know the ids of all item and fulfillment offers to see which ones it can be combined with.
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.CandidateOrderOffer extends BaseCandidateOffer implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
candidateQualifiersMap
Map<ItemCriteriaRule,Collection<EnhancedLineItem>> candidateQualifiersMap
Map ofItemCriteriaRulefrom anoffer's item qualifier criteriato aCollectionofEnhancedLineItemthat meet that criteria. -
order
EnhancedOrder order
The order being targeted byBaseCandidateOffer.getOffer()}.
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.CombinedTypesOfferPermutation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
allFulfillmentGroupPermutations
Set<OffersPermutation> allFulfillmentGroupPermutations
-
allFulfillmentItemPermutations
Set<OffersPermutation> allFulfillmentItemPermutations
-
allItemPermutations
Set<OffersPermutation> allItemPermutations
-
allOrderPermutations
Set<OffersPermutation> allOrderPermutations
-
allVoucherPermutations
Set<OffersPermutation> allVoucherPermutations
-
bestFulfillmentGroupOfferPermutation
FulfillmentGroupOfferPermutationResult bestFulfillmentGroupOfferPermutation
-
bestFulfillmentItemOfferPermutation
ItemOfferPermutationResult bestFulfillmentItemOfferPermutation
-
bestItemOfferPermutation
ItemOfferPermutationResult bestItemOfferPermutation
-
bestOrderOfferPermutation
OrderOfferPermutationResult bestOrderOfferPermutation
-
bestVoucherOfferPermutation
OffersPermutation bestVoucherOfferPermutation
-
orderTotals
OrderTotals orderTotals
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.DiscountParameters extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
discountAmount
BigDecimal discountAmount
-
discountMethodType
String discountMethodType
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.OfferCombinabilityCriteria extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
compatibleOffers
Set<BaseCandidateOffer> compatibleOffers
-
key
@NonNull OfferCombinabilityCriteriaKey key
-
permutations
Set<OffersPermutation> permutations
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.OfferProcessingContext extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
bestOfferPermutation
CombinedTypesOfferPermutation bestOfferPermutation
-
candidateOffers
CandidateOffers candidateOffers
-
combinedTypesOfferPermutations
List<CombinedTypesOfferPermutation> combinedTypesOfferPermutations
-
fulfillmentGroupCriteriaMap
Map<OfferCombinabilityCriteriaKey,OfferCombinabilityCriteria> fulfillmentGroupCriteriaMap
-
fulfillmentItemCriteriaMap
Map<OfferCombinabilityCriteriaKey,OfferCombinabilityCriteria> fulfillmentItemCriteriaMap
-
hasOffers
boolean hasOffers
-
itemOfferCriteriaMap
Map<OfferCombinabilityCriteriaKey,OfferCombinabilityCriteria> itemOfferCriteriaMap
-
order
EnhancedOrder order
-
orderOfferCriteriaMap
Map<OfferCombinabilityCriteriaKey,OfferCombinabilityCriteria> orderOfferCriteriaMap
-
voucherCriteriaMap
Map<OfferCombinabilityCriteriaKey,OfferCombinabilityCriteria> voucherCriteriaMap
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.OffersPermutation extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
candidateOffers
List<T extends BaseCandidateOffer> candidateOffers
-
offerTargetType
String offerTargetType
-
sorted
boolean sorted
-
-
Class com.broadleafcommerce.promotion.offer.service.dto.TotalPotentialSavings extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
javax.money.MonetaryAmount amount
-
weightedSavingsPercentage
BigDecimal weightedSavingsPercentage
-
-
-
Package com.broadleafcommerce.promotion.offer.web.context
-
Class com.broadleafcommerce.promotion.offer.web.context.EnhancedFulfillmentGroup extends Object implements Serializable
-
Serialized Fields
-
adjustedTotal
javax.money.MonetaryAmount adjustedTotal
-
attributes
Map<String,Object> attributes
-
destination
com.broadleafcommerce.promotion.offer.client.web.context.Destination destination
-
faxNumber
String faxNumber
-
fulfillmentItems
List<EnhancedFulfillmentLineItem> fulfillmentItems
-
fulfillmentOptionName
String fulfillmentOptionName
-
fulfillmentOptionType
String fulfillmentOptionType
-
groupAdjustments
List<FulfillmentGroupAdjustment> groupAdjustments
-
id
String id
-
priceBeforeAdjustments
javax.money.MonetaryAmount priceBeforeAdjustments
-
primaryPhone
String primaryPhone
-
proratedFulfillmentAdjustments
javax.money.MonetaryAmount proratedFulfillmentAdjustments
Prorated fulfillment adjustments for the fulfillment group itself.Fulfillment-level adjustments are prorated between the charges of the fulfullment group and those of the individual fulfullment items, the prorated fulfillment adjustments for the items are set at the item level.
-
secondaryPhone
String secondaryPhone
-
-
-
Class com.broadleafcommerce.promotion.offer.web.context.EnhancedFulfillmentLineItem extends EnhancedLineItem implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
orderLineItem
EnhancedOrderLineItem orderLineItem
The correspondingEnhancedOrderLineItemfor thisEnhancedFulfillmentLineItem. Built out as part of the offer engine and not provided by the original JSON caller.- See Also:
EnhancedOrderLineItem
-
relatedOrderLineItemNumber
String relatedOrderLineItemNumber
-
-
Class com.broadleafcommerce.promotion.offer.web.context.EnhancedLineItem extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
attributes
Map<String,Object> attributes
-
currency
javax.money.CurrencyUnit currency
-
discountable
boolean discountable
-
finalPrice
javax.money.MonetaryAmount finalPrice
The final price, including adjustments, for a single merchandising item represented by this order line item. -
id
String id
Matches the line number unless the line number isn't available in which case it will represent a uuid. -
isSubscription
boolean isSubscription
-
lineNumber
String lineNumber
-
offerDetails
List<LineItemOfferDetail> offerDetails
DTOs containing information aboutoffersapplicable to this item. -
proratedAdjustments
List<com.broadleafcommerce.promotion.offer.client.web.context.info.ProratedOfferAdjustment> proratedAdjustments
Prorated offer adjustment information for this line item.This is typically used to communicate the adjustments prorated to this item from order-level or fulfillment group-level offer adjustments.
-
quantity
int quantity
-
salePrice
javax.money.MonetaryAmount salePrice
-
standardPrice
javax.money.MonetaryAmount standardPrice
-
-
Class com.broadleafcommerce.promotion.offer.web.context.EnhancedOrder extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustedSubtotal
javax.money.MonetaryAmount adjustedSubtotal
-
attributes
Map<String,Object> attributes
-
cartSubtotal
javax.money.MonetaryAmount cartSubtotal
-
codes
com.broadleafcommerce.promotion.offer.client.web.context.Codes codes
-
currency
javax.money.CurrencyUnit currency
-
customerContext
com.broadleafcommerce.promotion.offer.client.web.context.CustomerContext customerContext
-
freeGiftItems
List<com.broadleafcommerce.promotion.offer.client.web.context.info.FreeGiftItem> freeGiftItems
-
fulfillmentGroups
List<EnhancedFulfillmentGroup> fulfillmentGroups
-
locale
Locale locale
-
orderAdjustments
List<OrderOfferAdjustment> orderAdjustments
-
orderLineItems
List<EnhancedOrderLineItem> orderLineItems
-
orderNumber
String orderNumber
-
orderSubmitDate
Instant orderSubmitDate
-
runOrderAndItemOffers
boolean runOrderAndItemOffers
-
timeOfRequest
Instant timeOfRequest
-
totalFufillmentCharges
javax.money.MonetaryAmount totalFufillmentCharges
-
vouchers
List<com.broadleafcommerce.promotion.offer.client.web.context.info.Voucher> vouchers
-
-
Class com.broadleafcommerce.promotion.offer.web.context.EnhancedOrderLineItem extends EnhancedLineItem implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
children
Set<EnhancedOrderLineItem> children
Not part of the incoming or outgoing payloads but populated at the start of the offer engine in order to provide faster lookup during processing. -
parent
EnhancedOrderLineItem parent
Not part of the incoming or outgoing payloads but populated at the start of the offer engine in order to provide faster lookup during processing. -
parentLineNumber
String parentLineNumber
-
-
-
Package com.broadleafcommerce.promotion.offer.web.context.info
-
Class com.broadleafcommerce.promotion.offer.web.context.info.EnhancedProratedItemOfferAdjustment extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
javax.money.MonetaryAmount amount
The amount of the adjustment applied to the item. -
lineItem
com.broadleafcommerce.promotion.offer.client.web.context.info.LineItemRef lineItem
TheLineItemRefof theEnhancedLineItemthat gets this adjustment. -
offer
com.broadleafcommerce.promotion.offer.client.web.context.info.OfferRef offer
TheOfferReffor theOfferthat caused this adjustment to be applied. -
parentDetail
LineItemOfferDetail parentDetail
-
quantity
int quantity
The quantity of merchandising items from theEnhancedLineItemto which this adjustment applies.
-
-
Class com.broadleafcommerce.promotion.offer.web.context.info.EnhancedProratedOfferAdjustment extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
javax.money.MonetaryAmount amount
The amount of the prorated adjustment for the item. -
lineItem
com.broadleafcommerce.promotion.offer.client.web.context.info.LineItemRef lineItem
TheLineItemRefof theEnhancedLineItemthat gets this adjustment. -
offer
com.broadleafcommerce.promotion.offer.client.web.context.info.OfferRef offer
TheOfferReffor the offer where this prorated adjustment is from.
-
-
Class com.broadleafcommerce.promotion.offer.web.context.info.FulfillmentGroupAdjustment extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
javax.money.MonetaryAmount amount
-
candidateFulfillmentGroup
CandidateFulfillmentGroup candidateFulfillmentGroup
-
candidateFulfillmentGroupOffer
CandidateFulfillmentGroupOffer candidateFulfillmentGroupOffer
-
isFutureCredit
boolean isFutureCredit
-
offer
Offer offer
-
-
Class com.broadleafcommerce.promotion.offer.web.context.info.ItemOfferAdjustment extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustmentValue
javax.money.MonetaryAmount adjustmentValue
The final amount by which to adjust theorder item'sprice. -
appliedToSalePrice
boolean appliedToSalePrice
Whether theItemOfferAdjustment.adjustmentValuewas applied toEnhancedLineItem.getStandardPrice()orEnhancedLineItem.getSalePrice(). -
candidateItemOffer
CandidateItemOffer candidateItemOffer
TheCandidateItemOfferDTO related toItemOfferAdjustment.offer. -
futureCredit
boolean futureCredit
Future credit means that the associated adjustment will be discounted at a later time to the customer via a credit. It is up to the implementor to decide how to achieve this. This field is used to determine if the adjustment originated from an offer marked as FUTURE_CREDIT.- See Also:
DiscountTimingType.FUTURE_CREDIT
-
offer
Offer offer
TheOffertargeting someEnhancedLineItem. -
offerUses
int offerUses
The number of times that the offer this adjustment was created from is applied. -
parentDetail
LineItemOfferDetail parentDetail
-
qualifierDetails
List<com.broadleafcommerce.promotion.offer.client.web.context.info.OfferItemDetail> qualifierDetails
A list ofOfferItemDetailsrepresenting the qualifier items where this adjustment was from. -
quantityPerUsage
int quantityPerUsage
The quantity per offer usage of the item where this adjustment is applied to (target item). -
saleAdjustmentValue
javax.money.MonetaryAmount saleAdjustmentValue
The amount by which to adjust theEnhancedLineItem.getSalePrice(). -
standardAdjustmentValue
javax.money.MonetaryAmount standardAdjustmentValue
The amount by which to adjust theEnhancedLineItem.getStandardPrice().
-
-
Class com.broadleafcommerce.promotion.offer.web.context.info.LineItemOfferDetail extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
adjustedTotal
javax.money.MonetaryAmount adjustedTotal
The total value of allLineItemOfferDetail.adjustmentstimes theLineItemOfferDetail.quantityof this detail. -
adjustments
Set<ItemOfferAdjustment> adjustments
-
adjustmentsFinalized
boolean adjustmentsFinalized
Whether theLineItemOfferDetail.adjustmentsare the orderAdjustments to actually use rather than being potential or incomplete. -
bundleRatio
double bundleRatio
The ratio of the offer discount to apply to this item. Used for bundle offers like buy 3 for a fixed price of $10. -
lineItem
EnhancedLineItem lineItem
TheEnhancedLineItemaffected byoffers. -
offerDiscounts
Set<OfferDiscount> offerDiscounts
Additional info for all theofferstreating theLineItemOfferDetail.lineItemas a target. WhileLineItemOfferDetail.adjustmentsare the price orderAdjustments, offer discounts track whichOffer.getTargetItemCriteria()matched theLineItemOfferDetail.lineItemand how many were matched. -
offerQualifiers
Set<OfferQualifier> offerQualifiers
Additional information about theoffersusing theLineItemOfferDetail.lineItemas item qualifiers. This includes the quantity used and and theOffer.getItemQualifierCriteria()an order item matched. -
proratedAdjustments
Set<EnhancedProratedItemOfferAdjustment> proratedAdjustments
TheProratedItemOfferAdjustmentscaused byofferswithDiscount.getProrationType()orProrationType.TARGET_AND_QUALIFIERtreating bothLineItemOfferDetail.lineItemas a target and the items that qualify it. -
quantity
int quantity
The quantity of items related to this detail. -
useSaleAdjustments
boolean useSaleAdjustments
Whether to useEnhancedLineItem.getSalePrice()in price adjustment calculations. Default is false.
-
-
Class com.broadleafcommerce.promotion.offer.web.context.info.OfferDiscount extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
candidateItemOffer
CandidateItemOffer candidateItemOffer
TheCandidateItemOfferDTO related toOfferDiscount.offer. -
finalizedQuantity
int finalizedQuantity
The actual item quantity of anEnhancedLineItemmatched to theOfferDiscount.offer. -
lineItemOfferDetail
LineItemOfferDetail lineItemOfferDetail
-
offer
Offer offer
TheOffertargeting someEnhancedLineItem. -
quantity
int quantity
The potential item quantity of anEnhancedLineItemthat matched theOfferDiscount.offer. -
targetItemCriteria
ItemCriteriaRule targetItemCriteria
TheOffer.getTargetItemCriteria()that anEnhancedLineItemmatched.
-
-
Class com.broadleafcommerce.promotion.offer.web.context.info.OfferQualifier extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
finalizedQuantity
int finalizedQuantity
The actual item quantity of anEnhancedLineItemmatched to theOfferQualifier.offer. -
itemQualifierCriteria
ItemCriteriaRule itemQualifierCriteria
TheOffer.getItemQualifierCriteria()that anEnhancedLineItemmatched. -
offer
Offer offer
TheOfferusing someEnhancedLineItemas an item qualifier. -
price
javax.money.MonetaryAmount price
Tracks the discount amount of the relateditem qualifier. The discount amount will be 0 if this item was only used as a qualifier. -
quantity
int quantity
The potential item quantity of anEnhancedLineItemthat matched theOfferQualifier.offer.
-
-
Class com.broadleafcommerce.promotion.offer.web.context.info.OrderOfferAdjustment extends Object implements Serializable
- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
javax.money.MonetaryAmount amount
-
candidateOrderOffer
CandidateOrderOffer candidateOrderOffer
-
isFutureCredit
boolean isFutureCredit
-
offer
Offer offer
-
order
EnhancedOrder order
-
roundingMode
RoundingMode roundingMode
-
roundOfferValues
boolean roundOfferValues
-
-
-
Package com.broadleafcommerce.promotion.offer.web.endpoint.exception
-
Class com.broadleafcommerce.promotion.offer.web.endpoint.exception.BadOrderDataException extends RuntimeException implements Serializable
-