Default promotion policies

The Promotions component has various default promotion policies, each with a default XML representation.

DummyPromotionPolicy

As suggested by its name, this policy does not do anything. It always returns "true", which means this policy is satisfied and no violation is found. This policy can be used as both global and local policy.

Class name:
com.ibm.commerce.marketing.promotion.policy.DummyPromotionPolicy
Sample XML:

<PromotionPolicy impl="com.ibm.commerce.marketing.promotion.policy.DummyPromotionPolicy">
    <PromotionPolicyKey>
        <PolicyName>My Sample Dummy Policy/PolicyName>
        <StoreKey>
            <DN>ou=bluemall b2b organization,o=seller organization,o=root organization</DN>
            <Identifier>BlueStore 202</Identifier>
        </StoreKey>
    </PromotionPolicyKey>
    <Status>Active</Status>
</PromotionPolicy>

EachItemCanParticipateInPromotionOncePolicy

This policy is a group level only policy. The policy prevents any order items from being targeted or affected by a promotion more than once. By default, an order item cannot be targeted or affected more than once. However, exemptions can be made so that an order item, although it cannot be targeted more than once, can be affected more than once. Similar exemptions can be made so that order items can be targeted more than once but cannot be affected more than once.

Class name:
com.ibm.commerce.marketing.promotion.policy.EachItemCanParticipateInPromotionOncePolicy
Sample XML:

<PromotionPolicy impl="com.ibm.commerce.marketing.promotion.policy.EachItemCanParticipateInPromotionOncePolicy">
   <PromotionPolicyKey>
      <PolicyName>Shipping: Any order item can only participate in one promotion</PolicyName>
      <StoreKey>
         <DN>ou=bluemall b2b organization,o=seller organization,o=root organization</DN>
         <Identifier>BlueStore 202</Identifier>
      </StoreKey>
   </PromotionPolicyKey>
   <!-- Exemptions are optional and can be listed like the following:
      <Exemption>Targeted</Exemption>
                        OR
      <Exemption>Affected</Exemption>
        -->
   <Status>Active</Status>
</PromotionPolicy>

GlobalExclusivenessEnforcementPolicy

This policy is a global level policy. It enforces the exclusivity of promotions at the global level. If this policy is not registered with the promotion engine, promotion exclusivity at the global level is not enforced. When a promotion is marked as exclusive at the global level, it can still be combined with other promotions.

Class name:
com.ibm.commerce.marketing.promotion.policy.GlobalExclusivenessEnforcementPolicy
Sample XML:

<PromotionPolicy impl="com.ibm.commerce.marketing.promotion.policy.GlobalExclusivenessEnforcementPolicy">
   <PromotionPolicyKey>
      <PolicyName>Enforce Global Level Exclusivity</PolicyName>
      <StoreKey>
         <DN>ou=bluemall b2b organization,o=seller organization,o=root organization</DN>
         <Identifier>BlueStore 202</Identifier>
      </StoreKey>
   </PromotionPolicyKey>
   <Status>Active</Status>
</PromotionPolicy>

GroupExclusivenessEnforcementPolicy

This policy is a group level policy. It enforces the exclusivity of promotions at group level. If this policy is not registered with a promotion group, promotion exclusivity at group level in that group is not enforced. When a promotion in that group is marked as exclusive at the group level, it can still be combined with other promotions in the same group.

Class name:
com.ibm.commerce.marketing.promotion.policy.GroupExclusivenessEnforcementPolicy
Sample XML:

<PromotionPolicy impl="com.ibm.commerce.marketing.promotion.policy.GroupExclusivenessEnforcementPolicy">
   <PromotionPolicyKey>
      <PolicyName>Shipping: Enforce group level exclusiveness of promotion</PolicyName>
      <StoreKey>
         <DN>ou=bluemall b2b organization,o=seller organization,o=root organization</DN>
         <Identifier>BlueStore 202</Identifier>
      </StoreKey>
   </PromotionPolicyKey>
   <Status>Active</Status>
</PromotionPolicy>

NoneZeroOrderTotalPolicy

This policy checks if the order total is less than or equal to zero after a promotion is applied. The total is made up of the sum of all order items, excluding shipping and tax-related charges. If the order total is less than or equal to zero, a violation is reported. This policy can be used as either a global or group level policy.

Class name:
com.ibm.commerce.marketing.promotion.policy.NoneZeroOrderTotalPolicy
Sample XML:

<PromotionPolicy impl="com.ibm.commerce.marketing.promotion.policy.NoneZeroOrderTotalPolicy">
   <PromotionPolicyKey>
      <PolicyName>Order total cannot be zero</PolicyName>
      <StoreKey>
         <DN>ou=bluemall b2b organization,o=seller organization,o=root organization</DN>
         <Identifier>BlueStore 202</Identifier>
      </StoreKey>
   </PromotionPolicyKey>
   <Status>Active</Status>
</PromotionPolicy>

OnlyOnePromotionGovernedByThisPolicyAppliesPolicy

This promotion policy allows just one promotion that is governed by this policy to be applied to an order. This policy can be either a global or group level policy. If this policy is registered with a group, only one promotion in the group can be applied to an order. If this policy is registered as a global policy, only one promotion can be applied regardless of group membership.

Class name:
com.ibm.commerce.marketing.promotion.policy.OnlyOnePromotionGovernedByThisPoliceAppliesPolicy
Sample XML:

<PromotionPolicy impl="com.ibm.commerce.marketing.promotion.policy.OnlyOnePromotionGovernedByThisPoliceAppliesPolicy">
   <PromotionPolicyKey>
      <PolicyName>Order: One per group</PolicyName>
      <StoreKey>
         <DN>ou=bluemall b2b organization,o=seller organization,o=root organization</DN>
         <Identifier>BlueStore 202</Identifier>
      </StoreKey>
   </PromotionPolicyKey>
   <Status>Active</Status>
</PromotionPolicy>

OrderQualifyingTotalEnforcementPolicy

This policy is registered as a group level policy, however the order qualifying total is a global attribute and is affected by targeting qualifying total of any promotion regardless of the group membership for the promotions. This promotion policy enforces the fact that the qualifying total of an order cannot be less than or equal to zero. Order qualifying total is defined as the total of the order that can be used to qualify for promotions. This policy is used with the OrderQualifyingTotalBasedPurchaseCondition only.

Class name:
com.ibm.commerce.marketing.promotion.policy.OrderQualifyingTotalEnforcementPolicy
Sample XML:

<PromotionPolicy impl="com.ibm.commerce.marketing.promotion.policy.OrderQualifyingTotalEnforcementPolicy">
   <PromotionPolicyKey>
      <PolicyName>My Order Qualifying Total Enforcement Policy</PolicyName>
      <StoreKey>
         <DN>ou=bluemall b2b organization,o=seller organization,o=root organization</DN>
         <Identifier>BlueStore 202</Identifier>
      </StoreKey>
   </PromotionPolicyKey>
   <Status>Active</Status>
</PromotionPolicy>

RBDOrderDiscountExclusivenessEnforcementPolicy

This policy is a global level promotion policy. It is deprecated. The policy is created to mimic a behavior that promotions demonstrated where an order level promotion can be marked as able to be combined with any product level promotions.

Policy:
com.ibm.commerce.marketing.promotion.policy.RBDOrderDiscountExclusivenessEnforcementPolicy
Sample XML:

<PromotionPolicy impl="com.ibm.commerce.marketing.promotion.policy.RBDOrderDiscountExclusivenessEnforcementPolicy">
   <PromotionPolicyKey>
      <PolicyName>Global: RBD order level/product level combinability policy (backward compatibility)</PolicyName>
      <StoreKey>
         <DN>ou=bluemall b2b organization,o=seller organization,o=root organization</DN>
         <Identifier>BlueStore 202</Identifier>
      </StoreKey>
   </PromotionPolicyKey>
   <Status>Active</Status>
</PromotionPolicy>

RedemptionLimitEnforcementPolicy

This policy can be used as either a group level or global level policy. It enforces the redemption limits on a promotion. If this policy is not registered, the redemption limit on a promotion is not enforced.

Policy:
com.ibm.commerce.marketing.promotion.policy.RedemptionLimitEnforcementPolicy
Sample XML:

<PromotionPolicy impl="com.ibm.commerce.marketing.promotion.policy.RedemptionLimitEnforcementPolicy">
   <PromotionPolicyKey>
      <PolicyName>Order: Enforce the redemption limit</PolicyName>
      <StoreKey>
         <DN>ou=bluemall b2b organization,o=seller organization,o=root organization</DN>
         <Identifier>BlueStore 202</Identifier>
      </StoreKey>
   </PromotionPolicyKey>
   <Status>Active</Status>
</PromotionPolicy>