Develop > Presentation layer > Customize promotions > Promotion engine customization
Example: Adjustment XML fragments
Review the XML representation of some common adjustments in the runtime promotion XML for a promotion type can help you understand how to customize an adjustment.
This file contains .
Bonus point adjustment
<!-- This adjustment is not be handled by the order subsystem. --> <Adjustment impl="com.ibm.commerce.marketing.promotion.reward.CustomNumericValueAdjustment"> <CustomNumericValue>12</CustomNumericValue> <!-- Possible values are wholeOrder: This adjustment is applied to the entire order as a whole. IndividualAffectedItem: This adjustment is applied to each and every one of the affected order items. AllAfftectedItems: This adjustment is applied to all affected order items as a whole. This attribute is common to all Adjustments. --> <AdjustmentType>wholeOrder</AdjustmentType> </Adjustment>
Simple fixed amount off adjustment
<Adjustment impl="com.ibm.commerce.marketing.promotion.reward.FixedAmountOffAdjustment"> <AmountOff>15</AmountOff> <Currency>USD</Currency> <AdjustmentType>wholeOrder</AdjustmentType> </Adjustment>
Complex fixed amount off adjustment
<!-- Applies to a set of order items, based on the quantity in the set, this assigns different discount amounts to the items. --> <Adjustment impl="com.ibm.commerce.marketing.promotion.reward.FixedAmountOffVolumeAdjustment"> <AdjustmentType>IndividualAffectedItems</AdjustmentType> <Range> <AmountOff>15</AmountOff> <Currency>CAD</Currency> <LowerBound>1</LowerBound> <UpperBound>5</UpperBound> <LowerBoundIncluded>true</LowerBoundIncluded> <UpperBoundIncluded>true</UpperBoundIncluded> </Range> <Range> <AmountOff>25</AmountOff> <Currency>CAD</Currency> <LowerBound>6</LowerBound> <!-- -1 indicates unlimited --> <UpperBound>-1</UpperBound> <LowerBoundIncluded>true</LowerBoundIncluded> <UpperBoundIncluded>false</UpperBoundIncluded> </Range> </Adjustment>
Fixed amount off shipping adjustment
<Adjustment impl="com.ibm.commerce.marketing.promotion.reward.FixedAmountOffShippingAdjustment"> <AmountOff>15</AmountOff> <Currency>CAD</Currency> <AdjustmentType>wholeOrder</AdjustmentType> </Adjustment>
Fixed cost adjustment
<Adjustment impl="com.ibm.commerce.marketing.promotion.reward.FixedCostAdjustment"> <FixedCost>45</FixedCost> <Currency>CAD</Currency> <AdjustmentType>wholeOrder</AdjustmentType> </Adjustment>
Fixed cost shipping adjustment
<Adjustment impl="com.ibm.commerce.marketing.promotion.reward.FixedCostShippingAdjustment"> <FixedCost>15</FixedCost> <Currency>CAD</Currency> <AdjustmentType>wholeOrder</AdjustmentType> </Adjustment>
Free gift with purchase adjustment
<Adjustment impl="com.ibm.commerce.marketing.promotion.reward.FreePurchasableGiftAdjustment"> <GiftItem> <CatalogEntryKey> <SKU>SKU-20101099</SKU> <DN>o=Root Organization</DN> </CatalogEntryKey> </GiftItem> <Quantity>1</Quantity> <!-- Possible values are: 0: As needed: If there are any items in the shop cart that satisfy free gift description, that item will be marked down by 100%. If there is not or there is not enough, free gifts will be added. 1: Always add: Regardless of what is in the shopcart add the free gifts. 2: Never add: Never add free gift, if the shoppers are to get the free gifts, they have to put the gifts into the shop cart by themselves. --> <AddStrategy>0</AddStrategy> <AdjustmentType>wholeOrder</AdjustmentType> </Adjustment>
Percent off adjustment
<Adjustment impl="com.ibm.commerce.marketing.promotion.reward.PercentOffAdjustment"> <Percentage>15</Percentage> <AdjustmentType>wholeOrder</AdjustmentType> </Adjustment>
Percent off shipping adjustment
<Adjustment impl="com.ibm.commerce.marketing.promotion.reward.PercentOffShippingAdjustment"> <PercentOff>10</PercentOff> <AdjustmentType>wholeOrder</AdjustmentType> </Adjustment>
Promotion reward issues coupon adjustment
<Adjustment impl="com.ibm.commerce.marketing.promotion.reward.VoucherAdjustment"> <PromotionKey> <PromotionName>20% Off Any Purchase</PromotionName> <StoreKey> <DN>Root Organization</DN> <Identifier>Store 201</Identifier> </StoreKey> <Version>2</Version> <Revision>1</Revision> </PromotionKey> <AdjustmentType>wholeOrder</AdjustmentType> </Adjustment>
Fixed amount off on standard offer price, contract price, or discounted price
<Adjustment impl= "com.ibm.commerce.marketing.promotion.reward.FixedAmountOffPriceAdjustment"> <!-- Possible values are: -1: Standard offer price -2: Contract price -3: Discounted price --> <PriceAdjustmentBase>-1</PriceAdjustmentBase> <AmountOff>15</AmountOff> <Currency>CAD</Currency> <!-- For B2B price adjustments this field is always IndividualAfftectedItems --> <AdjustmentType>IndividualAffectedItems</AdjustmentType> </Adjustment>
Percent off standard offer price, contract price, or discounted price
<Adjustment impl="com.ibm.commerce.marketing.promotion.reward.PercentOffPriceAdjustment"> <!-- Possible values are: -1: Standard offer price -2: Contract price -3: Discounted price --> <PriceAdjustmentBase>-1</PriceAdjustmentBase> <Percentage>15</Percentage> <AdjustmentType>IndividualAffectedItems</AdjustmentType> </Adjustment>
Related concepts