Inbound Integration Guide - Promotions
Description
This How-to guide explains the integration of following configuration data entities.
- Promotion
Notes
This guide does not cover all possible integration topics. Please see the Enactor Books for detailed information.
See the Inbound Integration Guide - Introduction for the basics of importing and exporting data.
This guide will use manual import and export of data using the Enactor Estate Manager.
Overview
Promotions are actions that are designed to encourage specific customer behavior. These actions could be awareness of products, increases in sales, or information that will enrich the customer relationship.
There are over 35 promotion types that can be created. Promotions are grouped into Item promotions and Transaction promotions.
This guide will cover the overall Promotion entity structure as well as use cases for the common promotion types.
Promotions are executed with a simple process of identifying the possible promotions, filtering to the applicable promotions, evaluate order for the best deal for the customer, and triggering the promotions. In order to evaluate the promotions that are applicable, there are generally 2 sets of criteria that have to be considered: the qualifying criteria, and the reward criteria.
The qualifying criteria establishes what products or entities must be present in order to qualify for the promotion. If the qualifying criteria are not met, the promotion cannot be executed.
The reward criteria establishes what the reward will be when the promotion is executed once the qualifying criteria are met. The reward could be monetary (amount or discount), loyalty points, message content on the screen or receipt, or promotion of the customer to a different loyalty tier.
Limits can be set on promotions if there is a desire to restrict the number of times the promotion can execute.
A priority is given to a promotion to assist in the best deal evaluation. Where 2 or more promotions return an equivalent value to the customer, the promotion with the highest priority is selected.
Near miss or near threshold alerting can be used to notify the operator/customer when qualifying criteria, although below the threshold, is above a specified near miss threshold.
The most common promotion types are percent discount including free products, amount discount, fixed price, and buy more/save more promotions. The full list of promotion types are in the Enactor books.
When multiple products are included in the reward and the system must choose which product will receive the reward, there are three additional criteria that are helpful when establishing the reward for the promotion: cheapest products, closest products, and dearest products.
Cheapest products will instruct the promotions engine to attach the reward to the lowest price products that meet the reward criteria. Dearest products will attach the reward to the highest price products that meet the reward criteria. Closest products will attach the reward to the cheapest products of the qualifying set.
Promotion
The Promotion entity controls promotion availability and execution. See the Enactor books and other How To Guides for setting up products, product groups, customers, employees, regions, fascias, and locations that may be referenced by the promotion entity.
This example is to show the most possible tags. Refer to the specific use case examples for tags that are needed to accomplish specific promotion types.
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>STATIONARY-01</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">UK</retail:groupKey>
<retail:description>10% Off Scrap Books</retail:description>
<retail:priority>1</retail:priority>
<retail:overlapping>true</retail:overlapping>
<retail:promotionOverlaps/>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:multibuyReward>
<retail:rewardType>PERCENTAGE_DISCOUNT</retail:rewardType>
<retail:rewardValue>0.1</retail:rewardValue>
<retail:thresholdType>COUNT</retail:thresholdType>
<retail:thresholdValue>1.0</retail:thresholdValue>
<retail:roundingRule>DOWN</retail:roundingRule>
<retail:multibuyRewardId>1</retail:multibuyRewardId>
<retail:description>10% off Scrap Books</retail:description>
<retail:rollingReward>false</retail:rollingReward>
<retail:maximumThresholdValue>0.0</retail:maximumThresholdValue>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>false</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
<retail:includedMMGroup variantGroupHierarchyId="All" variantGroupId="All" variantGroupTypeId="region" groupHierarchyId="STATIONARY" groupTypeId="mmGroup">SCRAPBOOKS</retail:includedMMGroup>
</retail:multibuyReward>
<retail:timetableTrigger>
<retail:startDate>2014-09-02T17:09:43+01:00</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
XML Structure
promotion
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| promotion | Root | Outer wrapper for the entity | String | ||
| promotionId | promotion | Element | The unique id for the promotion | String | 20 |
| groupKey | promotion | Element | The region to which the promotion is applicable (see groupId) | groupId | 20 |
| description | promotion | Element | The friendly name for the promotion | String | 50 |
| notes | promotion | Element | A long description for the promotion | String | 200 |
| priority | promotion | Element | The priority for this promotion | Integer | 2 |
| overlapping | promotion | Element | if true, allow promotion overlap with all other promotions if omitted, false | Boolean | |
| promotionOverlaps | promotion | Element | The specific promotions that this promotion can overlap | String | |
| allowForReturns | promotion | Element | if true, this promotion can execute during returns if omitted, false | Boolean | |
| returnsOnly | promotion | Element | if true, this promotion is only for returns if omitted, false | Boolean | |
| invertReturns Value | promotion | Element | if true, the promotion increases value to the customer if omitted, false | Boolean | |
| distributeSavings OverAllItems | promotion | Element | if true, distribute/prorate discount reward value across all items in the item sets if false, discount value will be distributed across the discount item set only if omitted, false | Boolean | |
| operationWith PreviousPromotions | promotion | Element | One of the following fixed values: GROSS, NET, NET_OF_NET | fixed | |
| operationWith Discounts | promotion | Element | One of the following fixed values: APPLIES_BEFORE, APPLIES_AFTER_ON_GROSS, APPLIES_AFTER_ON_NET | fixed | |
| raiseNearMissAlert | promotion | Element | if true, raise near miss alert when above alertThresholdValue but below thresholdValue if false, do not raise alert if omitted, false | Boolean | |
| forceAcknowledge NearMissAlert | promotion | Element | if true, operator must acknowlege near miss if omitted, false | Boolean | |
| nearMissAlert Message | promotion | Element | Text to display to the operator for a near miss | String | |
| manualActivation Required | promotion | Element | if true, promotion requires manual action to activate if omitted, false | Boolean | |
| forceAcknowledge TriggeredAlert | promotion | Element | if true, operator must acknowledge promotion trigger if omitted, false | Boolean | |
| triggeredAlert Message | promotion | Element | Text to display to the operator when the promotion triggers | String | |
| triggeredReceipt Message | promotion | Element | Text for the receipt when the promotion triggers | String | |
| customerCapture OptionSetId | promotion | Element | Option set to capture when promotion triggers (see optionSetId) | option SetId | |
| includedLocation | promotion | Element | If the promotion is limited to specific locations, repeat for each locationId where promotion is applicable if omitted, promotion can execute at all locations | String | |
| preventNegative Savings | promotion | Element | if true, do not allow promotions to result in negative transaction values if omitted, false | Boolean | |
| manuallyTarget Items | promotion | Element | if true, allow operator to select items if omitted, false | Boolean | |
| maximumTriggers PerTransaction | promotion | Element | Limit the promotion to a maximum number per transaction 0 means unlimited | Integer | |
| limitAppliesAcross Transactions | promotion | Element | if true, the promotion can apply to other transactions in addition to the current transaction if omitted, false | Boolean | |
| limitApplicability Period | promotion | Element | if limitAppliesAcrossTranaction = true, limit the period to this number of days from when promotion triggered | Integer | |
| loyaltyTransactions Only | promotion | Element | if true, promotion only available when loyalty customer is included with transaction if omitted, false | Boolean | |
| allowedFor EmployeeSale | promotion | Element | if true, this promotion can execute in an employee sale if omitted, false | Boolean | |
| employeeSale Only | promotion | Element | if true, this promotion can execute only during an employee sale if omitted, false | Boolean | |
| adjustEmployee Balance | promotion | Element | if true, this promotion will adjust the employee balance account if omitted, false | Boolean | |
| multiBuyReward | promotion | Element | The item set criteria for this promotion; if omitted, no item criteria (see multiBuyReward) | multiBuy Reward | |
| transactionReward | promotion | Element | The transaction criteria for this promotion; if omitted, no transaction criteria (see transactionReward) | transaction Reward | |
| timetableTrigger | promotion | Element | The date and time criteria for this promotion; if omitted, no timetable criteria (see timetableTrigger) | timetable Trigger | |
| customerTrigger | promotion | Element | The customer criteria for this promotion; if omitted, no customer criteria (see customerTrigger) | customer Trigger | |
| tenderTrigger | promotion | Element | The tender criteria for this promotion; if omitted, no tender criteria (see tenderTrigger) | tender Trigger | |
| voucherTrigger | promotion | Element | The voucher/coupon criteria for this promotion; if omitted, no voucher/coupon criteria (see voucherTrigger) | voucher Trigger |
multibuyReward
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| multibuyReward | Root | Outer wrapper for the entity | |||
| multibuyRewardId | multibuyReward | Element | The unique id for this item set | String | |
| description | multibuyReward | Element | The name of this item set | String | |
| rewardType | multibuyReward | Element | One of the following fixed values: NONE ADDITIONAL_POINTS AMOUNT_DISCOUNT AMOUNT_DISCOUNT_BY_ITEM CHEAPEST_PRODUCTS_FREE CLOSEST_PRODUCTS_FREE DEAREST_PRODUCTS_FREE DISCOUNT_CHEAPEST_PRODUCTS DISCOUNT_CLOSEST_PRODUCTS DISCOUNT_DEAREST_PRODUCTS FIXED_PRICE FIXED_PRICE_BY_ITEM OFFER_PRICE FREE_PRODUCT_ALERT PERCENTAGE_DISCOUNT POINTS_MULTIPLIER POINTS_RATE VOUCHER PROMOTIONAL_VOUCHER GIFT_CARD SPEND_X_GET_FREE_PRODUCT SPEND_X_GET_Y | fixed | |
| rewardValue | multibuyReward | Element | The value of this reward | Float | |
| thresholdType | multibuyReward | Element | One of the following fixed values COUNT VALUE POINTS | fixed | |
| thresholdValue | multibuyReward | Element | The threshold value | Float | |
| alertThresholdValue | multibuyReward | Element | The alert threshold value | Float | |
| maximum Threshold | multibuyReward | Element | The maximum threshold value | Float | |
| roundingRule | multibuyReward | Element | One of the following fixed values: DOWN NEAREST UP DOWN_BY_QUANTITY NEAREST_BY_QUANTITY UP_BY_QUANTITY | fixed | |
| uniqueItems | multibuyReward | Element | The items in this promotion may not be used in other promotions | Boolean | |
| includeAllItems | multibuyReward | Element | if true, all items in the transaction will be part of the qualifying criteria; all product, brand, product group, and mmgroup will be ignored if omitted, false | Boolean | |
| excludeItemsFrom SubsequentItemSets | multibuyReward | Element | if true, all items included in this promotion will be excluded from other promotions if this promotion triggers if omitted, false | Boolean | |
| maximumItem Quantity | multibuyReward | Element | The maximum item quantity for this promotion | Float | |
| freeProducts | multibuyReward | Element | if type is a free item promotion, number of free items for reward | Integer | |
| rollingReward | multibuyReward | Element | if true, if omitted, false | Boolean | |
| includedProduct | multibuyReward | Element | Repeat for each product included in the promotion qualifying criteria | String | |
| excludedProduct | multibuyReward | Element | Repeat for each product excluded from the promotion qualifying criteria | String | |
| includedMMGroup | multibuyReward | Element | Repeat for each productGroup included in the promotion qualifying criteria (see groupId) | groupId | |
| excludedMMGroup | multibuyReward | Element | Repeat for each productGroup excluded from the promotion qualifying criteria (see groupId) | groupId | |
| includedMMGroup | multibuyReward | Element | Repeat for each mmGroup included in the promotion qualifying criteria (see groupId) | groupId | |
| excludedMMGroup | multibuyReward | Element | Repeat for each mmGroup excluded from the promotion qualifying criteria (see groupId) | groupId | |
| includedBrand | multibuyReward | Element | Repeat for each brand included in the promotion qualifying criteria (see groupId) | groupId | |
| excludedBrand | multibuyReward | Element | Repeat for each brand excluded from the promotion qualifying criteria (see groupId) | groupId | |
| includedPriceType | multibuyReward | Element | Repeat for each price type included in the promotion qualifying criteria | String | |
| excludedPriceType | multibuyReward | Element | Repeat for each price type excluded from the promotion qualifying criteria | String | |
| includedPrice ChangeType | multibuyReward | Element | Repeat for each price change type included in the promotion qualifying criteria | String | |
| excludedPrice ChangeType | multibuyReward | Element | Repeat for each price change type excluded from the promotion qualifying criteria | String |
transactionReward
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| transaction Reward | Root | Outer wrapper for the entity | String | ||
| rewardType | transaction Reward | Element | One of the following fixed values: NONE ADDITIONAL_POINTS AMOUNT_DISCOUNT FREE_PRODUCT_ALERT PERCENTAGE_DISCOUNT POINTS_MULTIPLIER POINTS_RATE PROMOTIONAL_VOUCHER GIFT_CARD SPEND_X_GET_Y | fixed | |
| rewardValue | transaction Reward | Element | The value of this reward | Float | |
| thresholdType | transaction Reward | Element | One of the following fixed values COUNT VALUE POINTS | fixed | |
| thresholdValue | transaction Reward | Element | The threshold value | Float | |
| alertThreshold Value | transaction Reward | Element | The alert threshold value | Float |
timetableTrigger
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| timetable Trigger | Root | Outer wrapper for the entity | |||
| startDate | timetable Trigger | Element | DateTime when promotion is available | DateTime | |
| endDate | timetable Trigger | Element | DateTime when promotion is no longer available | DateTime | |
| triggerEnd Date | timetable Trigger | Element | DateTime when promotion is no longer triggered automatically | DateTime | |
| timePeriod | timetable Trigger | Element | day of week and time when promotion is available (see timePeriod) | timePeriod |
timePeriod
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| timePeriod | Root | Outer wrapper for the entity | String | ||
| dayOfWeek | timePeriod | Element | Day of the week when this promotion is available | Integer | |
| startTime | timePeriod | Element | Start time for promotion availability | ||
| hour | startTime | Attribute | Start time hour | String | |
| minute | startTime | Attribute | Start time minute | String | |
| second | startTime | Attribute | Start time second | String | |
| endTime | timePeriod | Element | End time for promotion availability | ||
| hour | endTime | Attribute | End time hour | String | |
| minute | endTime | Attribute | End time minute | String | |
| second | endTime | Attribute | End time second | String |
customerTrigger
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| customer Trigger | Root | Outer wrapper for the entity | String | ||
| customer Group | customer Trigger | Element | Included customer group; repeat for each customer group included (see groupId) | groupId | |
| excCustomer Group | customer Trigger | Element | Excluded customer group; repeat for each customer group excluded (see groupId) | groupId | |
| customer | customer Trigger | Element | Included customer id; repeat for each customer included | String | |
| excCustomer | customer Trigger | Element | Excluded customer id; repeat for each customer excluded | String | |
| loyaltyScheme Id | customer Trigger | Element | Applicable loyalty scheme | String | |
| loyaltyTier Code | customer Trigger | Element | Applicable loyalty tier within the applicable loyalty scheme | String |
tenderTrigger
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| tender Trigger | Root | Outer wrapper for the entity | String | ||
| tenderKey | tender Trigger | Element | Tender that must be used for this promotion; repeat for each tender that is eligible with the promotion | ||
| tenderId | tenderKey | Element | Unique id of the tender | String | |
| groupId | tenderKey | Element | The region for this tender (see groupId) | groupId |
voucherTrigger
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| voucher Trigger | Root | Outer wrapper for the entity | String | ||
| voucher TypeKey | voucher Trigger | Element | Voucher that must be used for this promotion; repeat for each voucher that is eligible with the promotion | ||
| voucher TypeId | voucher TypeKey | Element | Unique id of the voucher | String | |
| regionId | voucher TypeKey | Element | The region for this voucher (see groupId) | groupId |
Examples
10% off Scrap Books
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>STATIONARY-01</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">UK</retail:groupKey>
<retail:description>10% Off Scrap Books</retail:description>
<retail:priority>1</retail:priority>
<retail:overlapping>true</retail:overlapping>
<retail:promotionOverlaps/>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:multibuyReward>
<retail:rewardType>PERCENTAGE_DISCOUNT</retail:rewardType>
<retail:rewardValue>0.1</retail:rewardValue>
<retail:thresholdType>COUNT</retail:thresholdType>
<retail:thresholdValue>1.0</retail:thresholdValue>
<retail:roundingRule>DOWN</retail:roundingRule>
<retail:multibuyRewardId>1</retail:multibuyRewardId>
<retail:description>10% off Scrap Books</retail:description>
<retail:rollingReward>false</retail:rollingReward>
<retail:maximumThresholdValue>0.0</retail:maximumThresholdValue>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>false</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
<retail:includedMMGroup variantGroupHierarchyId="All" variantGroupId="All" variantGroupTypeId="region" groupHierarchyId="STATIONARY" groupTypeId="mmGroup">SCRAPBOOKS</retail:includedMMGroup>
</retail:multibuyReward>
<retail:timetableTrigger>
<retail:startDate>2014-09-02T17:09:43+01:00</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
Cheapest Free - Excluded Merchandise
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>3</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">All</retail:groupKey>
<retail:description>£10 off when you spend £100</retail:description>
<retail:priority>1</retail:priority>
<retail:promotionOverlaps/>
<retail:notes></retail:notes>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:transactionReward>
<retail:rewardType>AMOUNT_DISCOUNT</retail:rewardType>
<retail:rewardValue>1000.0</retail:rewardValue>
<retail:thresholdType>COUNT</retail:thresholdType>
</retail:transactionReward>
<retail:timetableTrigger>
<retail:startDate>2019-01-18T15:45:54Z</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:voucherTrigger>
<retail:voucherTypeKey>
<retail:regionId groupHierarchyId="All" groupTypeId="region">All</retail:regionId>
<retail:voucherTypeId>10_POUND</retail:voucherTypeId>
</retail:voucherTypeKey>
</retail:voucherTrigger>
<retail:triggeredReceiptMessage></retail:triggeredReceiptMessage>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
Spend £300+ get 300 additional point
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>AddPoints</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">UK</retail:groupKey>
<retail:description>Spend £300+ get 300 additional point</retail:description>
<retail:priority>1</retail:priority>
<retail:overlapping>true</retail:overlapping>
<retail:promotionOverlaps/>
<retail:notes></retail:notes>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:transactionReward>
<retail:rewardType>ADDITIONAL_POINTS</retail:rewardType>
<retail:rewardValue>300.0</retail:rewardValue>
<retail:thresholdType>VALUE</retail:thresholdType>
<retail:thresholdValue>29999.0</retail:thresholdValue>
</retail:transactionReward>
<retail:timetableTrigger>
<retail:startDate>2014-05-07T22:20:38+01:00</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:customerTrigger>
<retail:loyaltySchemeId>MWLOY1</retail:loyaltySchemeId>
<retail:loyaltyTierCode>FR1</retail:loyaltyTierCode>
</retail:customerTrigger>
<retail:loyaltyTransactionsOnly>true</retail:loyaltyTransactionsOnly>
<retail:triggeredReceiptMessage>You've received 300 additional points today</retail:triggeredReceiptMessage>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
£3.50 off of Clinique Brand
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>AmountDiscount_Brand</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">UK</retail:groupKey>
<retail:description>£3.50 off of Clinque Brand</retail:description>
<retail:priority>1</retail:priority>
<retail:overlapping>true</retail:overlapping>
<retail:promotionOverlaps/>
<retail:notes></retail:notes>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:multibuyReward>
<retail:rewardType>AMOUNT_DISCOUNT</retail:rewardType>
<retail:rewardValue>350.0</retail:rewardValue>
<retail:thresholdType>COUNT</retail:thresholdType>
<retail:thresholdValue>1.0</retail:thresholdValue>
<retail:multibuyRewardId>1</retail:multibuyRewardId>
<retail:description>£3.5 Euro off of Clinque Brand</retail:description>
<retail:rollingReward>false</retail:rollingReward>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>false</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
<retail:includedBrand variantGroupHierarchyId="All" variantGroupId="All" variantGroupTypeId="region" groupHierarchyId="COSMETICS" groupTypeId="brand">CLINIQUE</retail:includedBrand>
</retail:multibuyReward>
<retail:timetableTrigger>
<retail:startDate>2014-05-07T22:22:09+01:00</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:triggeredReceiptMessage></retail:triggeredReceiptMessage>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
Bronze Loyalty members get 5% off
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>Bronze_Loy001</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">UK</retail:groupKey>
<retail:description>Bronze Loyalty members get 5% off</retail:description>
<retail:priority>1</retail:priority>
<retail:overlapping>true</retail:overlapping>
<retail:promotionOverlaps/>
<retail:notes></retail:notes>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:multibuyReward>
<retail:rewardType>PERCENTAGE_DISCOUNT</retail:rewardType>
<retail:rewardValue>0.05</retail:rewardValue>
<retail:thresholdType>COUNT</retail:thresholdType>
<retail:thresholdValue>1.0</retail:thresholdValue>
<retail:roundingRule>DOWN</retail:roundingRule>
<retail:multibuyRewardId>1</retail:multibuyRewardId>
<retail:description>Bronze Loyalty members get 5%</retail:description>
<retail:rollingReward>false</retail:rollingReward>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>true</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
</retail:multibuyReward>
<retail:timetableTrigger>
<retail:startDate>2014-05-07T22:22:43+01:00</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:customerTrigger>
<retail:loyaltySchemeId>LOYALTY_UK</retail:loyaltySchemeId>
<retail:loyaltyTierCode>FR1</retail:loyaltyTierCode>
</retail:customerTrigger>
<retail:loyaltyTransactionsOnly>true</retail:loyaltyTransactionsOnly>
<retail:triggeredReceiptMessage></retail:triggeredReceiptMessage>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
£5 Coupon
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>C543210</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">UK</retail:groupKey>
<retail:description>£5 Coupon</retail:description>
<retail:priority>1</retail:priority>
<retail:overlapping>false</retail:overlapping>
<retail:promotionOverlaps/>
<retail:notes></retail:notes>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:multibuyReward>
<retail:rewardType>NONE</retail:rewardType>
<retail:thresholdType>COUNT</retail:thresholdType>
<retail:thresholdValue>1.0</retail:thresholdValue>
<retail:multibuyRewardId>1</retail:multibuyRewardId>
<retail:description>Redeem Coupon</retail:description>
<retail:rollingReward>false</retail:rollingReward>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>false</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
<retail:includedProduct>C543210</retail:includedProduct>
</retail:multibuyReward>
<retail:multibuyReward>
<retail:rewardType>AMOUNT_DISCOUNT</retail:rewardType>
<retail:rewardValue>500.0</retail:rewardValue>
<retail:thresholdType>COUNT</retail:thresholdType>
<retail:thresholdValue>1.0</retail:thresholdValue>
<retail:multibuyRewardId>2</retail:multibuyRewardId>
<retail:description>£5</retail:description>
<retail:rollingReward>false</retail:rollingReward>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>true</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
</retail:multibuyReward>
<retail:timetableTrigger>
<retail:startDate>2014-06-05T10:06:41+01:00</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:triggeredReceiptMessage></retail:triggeredReceiptMessage>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
Free Product Alert
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>Free Product Alert 1</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">All</retail:groupKey>
<retail:description>Free Prod Alert - Include PCT</retail:description>
<retail:priority>1</retail:priority>
<retail:promotionOverlaps/>
<retail:notes>Free Product Alert - Include Price Change</retail:notes>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:multibuyReward>
<retail:rewardType>FREE_PRODUCT_ALERT</retail:rewardType>
<retail:thresholdType>COUNT</retail:thresholdType>
<retail:thresholdValue>1.0</retail:thresholdValue>
<retail:freeProduct>FREEPRODUCT</retail:freeProduct>
<retail:multibuyRewardId>1</retail:multibuyRewardId>
<retail:description>Specific Items</retail:description>
<retail:maximumThresholdValue>0.0</retail:maximumThresholdValue>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>false</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
<retail:includedProduct>UM_1</retail:includedProduct>
<retail:includedPriceChangeType>PCT_1</retail:includedPriceChangeType>
</retail:multibuyReward>
<retail:timetableTrigger>
<retail:startDate>2020-04-21T01:55:36Z</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
Dearest Free - Exclude MMG
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>IS_09</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">All</retail:groupKey>
<retail:description>Dearest Free - Exclude MMG</retail:description>
<retail:priority>1</retail:priority>
<retail:promotionOverlaps/>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:multibuyReward>
<retail:rewardType>DEAREST_PRODUCTS_FREE</retail:rewardType>
<retail:rewardValue>100.0</retail:rewardValue>
<retail:thresholdType>COUNT</retail:thresholdType>
<retail:thresholdValue>6.0</retail:thresholdValue>
<retail:multibuyRewardId>1</retail:multibuyRewardId>
<retail:description>Dearest Free - Exclude MMG</retail:description>
<retail:rollingReward>true</retail:rollingReward>
<retail:maximumThresholdValue>0.0</retail:maximumThresholdValue>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>true</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
<retail:excludedMMGroup variantGroupHierarchyId="All" variantGroupId="All" variantGroupTypeId="region" groupHierarchyId="COSMETICS" groupTypeId="mmGroup">FACE_MASKS</retail:excludedMMGroup>
<retail:excludeItemsFromSubsequentItemSets>true</retail:excludeItemsFromSubsequentItemSets>
</retail:multibuyReward>
<retail:timetableTrigger>
<retail:startDate>2020-04-23T01:38:03Z</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
Cheapest Free - Exclude Merchandise
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>IS_08</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">All</retail:groupKey>
<retail:description>Cheapest Free - Exclude Merchandise</retail:description>
<retail:priority>1</retail:priority>
<retail:promotionOverlaps/>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:multibuyReward>
<retail:rewardType>CHEAPEST_PRODUCTS_FREE</retail:rewardType>
<retail:rewardValue>100.0</retail:rewardValue>
<retail:thresholdType>COUNT</retail:thresholdType>
<retail:thresholdValue>5.0</retail:thresholdValue>
<retail:multibuyRewardId>1</retail:multibuyRewardId>
<retail:description>Cheapest Free - Exclude Merchandise</retail:description>
<retail:rollingReward>true</retail:rollingReward>
<retail:maximumThresholdValue>0.0</retail:maximumThresholdValue>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>true</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
<retail:excludedProductGroup variantGroupHierarchyId="All" variantGroupId="All" variantGroupTypeId="region" groupHierarchyId="Product Type" groupTypeId="productGroup">PG_01</retail:excludedProductGroup>
<retail:excludeItemsFromSubsequentItemSets>true</retail:excludeItemsFromSubsequentItemSets>
</retail:multibuyReward>
<retail:timetableTrigger>
<retail:startDate>2020-04-23T00:11:52Z</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
Spend 500 and Get an Item Free
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>SpendXandgetitem1</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">All</retail:groupKey>
<retail:description>Spend 500 and Get an Item Free</retail:description>
<retail:priority>1</retail:priority>
<retail:overlapping>false</retail:overlapping>
<retail:promotionOverlaps/>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:multibuyReward>
<retail:rewardType>SPEND_X_GET_FREE_PRODUCT</retail:rewardType>
<retail:thresholdType>VALUE</retail:thresholdType>
<retail:thresholdValue>50000.0</retail:thresholdValue>
<retail:freeProduct>DJ_FREEPRODUCT</retail:freeProduct>
<retail:multibuyRewardId>1</retail:multibuyRewardId>
<retail:description>Spent 500 and Get an item Free</retail:description>
<retail:rollingReward>false</retail:rollingReward>
<retail:maximumThresholdValue>0.0</retail:maximumThresholdValue>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>false</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
<retail:excludedProduct>DJ4</retail:excludedProduct>
<retail:excludedPriceChangeType>PCT_UK3</retail:excludedPriceChangeType>
</retail:multibuyReward>
<retail:timetableTrigger>
<retail:startDate>2020-04-29T03:23:21+01:00</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
£25 Voucher - £400 - Treatments
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core" xmlns:retail="http://www.enactor.com/retail">
<retail:promotion>
<retail:promotionId>Voucher001</retail:promotionId>
<retail:groupKey groupHierarchyId="All" groupTypeId="region">UK</retail:groupKey>
<retail:description>£25 Voucher - £400 - Treatments</retail:description>
<retail:priority>1</retail:priority>
<retail:overlapping>true</retail:overlapping>
<retail:promotionOverlaps/>
<retail:notes></retail:notes>
<retail:distributeSavingsOverAllItems>false</retail:distributeSavingsOverAllItems>
<retail:operationWithPreviousPromotions>GROSS</retail:operationWithPreviousPromotions>
<retail:operationWithDiscounts>APPLIES_AFTER_ON_GROSS</retail:operationWithDiscounts>
<retail:raiseNearMissAlert>false</retail:raiseNearMissAlert>
<retail:maximumTriggersPerTransaction>0</retail:maximumTriggersPerTransaction>
<retail:multibuyReward>
<retail:rewardType>VOUCHER</retail:rewardType>
<retail:thresholdType>VALUE</retail:thresholdType>
<retail:thresholdValue>39999.0</retail:thresholdValue>
<retail:promotionalVoucherType>
<retail:regionId groupHierarchyId="All" groupTypeId="region">UK</retail:regionId>
<retail:voucherTypeId>UK-GV</retail:voucherTypeId>
</retail:promotionalVoucherType>
<retail:multibuyRewardId>1</retail:multibuyRewardId>
<retail:description>£25 Voucher - £400</retail:description>
<retail:rollingReward>false</retail:rollingReward>
<retail:uniqueItems>false</retail:uniqueItems>
<retail:includeAllItems>false</retail:includeAllItems>
<retail:maximumItemQuantity>0.0</retail:maximumItemQuantity>
<retail:freeProducts>1</retail:freeProducts>
<retail:includedMMGroup variantGroupHierarchyId="All" variantGroupId="All" variantGroupTypeId="region" groupHierarchyId="COSMETICS" groupTypeId="mmGroup">TREAT</retail:includedMMGroup>
</retail:multibuyReward>
<retail:timetableTrigger>
<retail:startDate>2014-05-07T22:24:42+01:00</retail:startDate>
<retail:endDate/>
<retail:triggerEndDate/>
<retail:timePeriod>
<core:dayOfWeek>1</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>2</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>3</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>4</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>5</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>6</core:dayOfWeek>
</retail:timePeriod>
<retail:timePeriod>
<core:dayOfWeek>7</core:dayOfWeek>
</retail:timePeriod>
</retail:timetableTrigger>
<retail:triggeredReceiptMessage></retail:triggeredReceiptMessage>
<retail:preventNegativeSavings>true</retail:preventNegativeSavings>
</retail:promotion>
</Batch>
Promotion Delete
XML Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- PromotionKey -->
<core:entityDeleteRequest>
<core:entityKey xsi:type="retail:PromotionKey">
<retail:promotionId>promotionId</retail:promotionId>
<retail:groupKey variantGroupHierarchyId="variantGroupHierarchyId" variantGroupId="variantGroupId" variantGroupTypeId="variantGroupTypeId" groupHierarchyId="groupHierarchyId" groupTypeId="groupTypeId">groupId</retail:groupKey>
</core:entityKey>
</core:entityDeleteRequest>
</Batch>
XML Structure
entityDeleteRequest
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| entityKey | entityDelete Request | Element | String | ||
| type | entityKey | Attribute | Fixed:PromotionKey | fixed | |
| promotionId | entityKey | Element | The promotion id | String | |
| groupKey | entityKey | Element | The group key | groupKey |