Skip to main content

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 TagParent ElementTypeDescriptionData TypeLength
promotionRootOuter wrapper for the entityString
promotionIdpromotionElementThe unique id for the promotionString20
groupKeypromotionElementThe region to which the promotion is applicable
(see groupId)
groupId20
descriptionpromotionElementThe friendly name for the promotionString50
notespromotionElementA long description for the promotionString200
prioritypromotionElementThe priority for this promotionInteger2
overlappingpromotionElementif true, allow promotion overlap with all other promotions
if omitted, false
Boolean
promotionOverlapspromotionElementThe specific promotions that this promotion can overlapString
allowForReturnspromotionElementif true, this promotion can execute during returns
if omitted, false
Boolean
returnsOnlypromotionElementif true, this promotion is only for returns
if omitted, false
Boolean
invertReturns
Value
promotionElementif true, the promotion increases value to the customer
if omitted, false
Boolean
distributeSavings
OverAllItems
promotionElementif 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
promotionElementOne of the following fixed values:
GROSS, NET, NET_OF_NET
fixed
operationWith
Discounts
promotionElementOne of the following fixed values:
APPLIES_BEFORE, APPLIES_AFTER_ON_GROSS, APPLIES_AFTER_ON_NET
fixed
raiseNearMissAlertpromotionElementif true, raise near miss alert when above alertThresholdValue but below thresholdValue
if false, do not raise alert
if omitted, false
Boolean
forceAcknowledge
NearMissAlert
promotionElementif true, operator must acknowlege near miss
if omitted, false
Boolean
nearMissAlert
Message
promotionElementText to display to the operator for a near missString
manualActivation
Required
promotionElementif true, promotion requires manual action to activate
if omitted, false
Boolean
forceAcknowledge
TriggeredAlert
promotionElementif true, operator must acknowledge promotion trigger
if omitted, false
Boolean
triggeredAlert
Message
promotionElementText to display to the operator when the promotion triggersString
triggeredReceipt
Message
promotionElementText for the receipt when the promotion triggersString
customerCapture
OptionSetId
promotionElementOption set to capture when promotion triggers
(see optionSetId)
option
SetId
includedLocationpromotionElementIf 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
promotionElementif true, do not allow promotions to result in negative transaction values
if omitted, false
Boolean
manuallyTarget
Items
promotionElementif true, allow operator to select items
if omitted, false
Boolean
maximumTriggers
PerTransaction
promotionElementLimit the promotion to a maximum number per transaction
0 means unlimited
Integer
limitAppliesAcross
Transactions
promotionElementif true, the promotion can apply to other transactions in addition to the current transaction
if omitted, false
Boolean
limitApplicability
Period
promotionElementif limitAppliesAcrossTranaction = true, limit the period to this number of days from when promotion triggeredInteger
loyaltyTransactions
Only
promotionElementif true, promotion only available when loyalty customer is included with transaction
if omitted, false
Boolean
allowedFor
EmployeeSale
promotionElementif true, this promotion can execute in an employee sale
if omitted, false
Boolean
employeeSale
Only
promotionElementif true, this promotion can execute only during an employee sale
if omitted, false
Boolean
adjustEmployee
Balance
promotionElementif true, this promotion will adjust the employee balance account
if omitted, false
Boolean
multiBuyRewardpromotionElementThe item set criteria for this promotion; if omitted, no item criteria
(see multiBuyReward)
multiBuy
Reward
transactionRewardpromotionElementThe transaction criteria for this promotion; if omitted, no transaction criteria
(see transactionReward)
transaction
Reward
timetableTriggerpromotionElementThe date and time criteria for this promotion; if omitted, no timetable criteria
(see timetableTrigger)
timetable
Trigger
customerTriggerpromotionElementThe customer criteria for this promotion; if omitted, no customer criteria
(see customerTrigger)
customer
Trigger
tenderTriggerpromotionElementThe tender criteria for this promotion; if omitted, no tender criteria
(see tenderTrigger)
tender
Trigger
voucherTriggerpromotionElementThe voucher/coupon criteria for this promotion; if omitted, no voucher/coupon criteria
(see voucherTrigger)
voucher
Trigger

multibuyReward

XML TagParent ElementTypeDescriptionData TypeLength
multibuyRewardRootOuter wrapper for the entity
multibuyRewardIdmultibuyRewardElementThe unique id for this item setString
descriptionmultibuyRewardElementThe name of this item setString
rewardTypemultibuyRewardElementOne 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
rewardValuemultibuyRewardElementThe value of this rewardFloat
thresholdTypemultibuyRewardElementOne of the following fixed values
COUNT
VALUE
POINTS
fixed
thresholdValuemultibuyRewardElementThe threshold valueFloat
alertThresholdValuemultibuyRewardElementThe alert threshold valueFloat
maximum
Threshold
multibuyRewardElementThe maximum threshold valueFloat
roundingRulemultibuyRewardElementOne of the following fixed values:
DOWN
NEAREST
UP
DOWN_BY_QUANTITY
NEAREST_BY_QUANTITY
UP_BY_QUANTITY
fixed
uniqueItemsmultibuyRewardElementThe items in this promotion may not be used in other promotionsBoolean
includeAllItemsmultibuyRewardElementif 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
multibuyRewardElementif true, all items included in this promotion will be excluded from other promotions if this promotion triggers
if omitted, false
Boolean
maximumItem
Quantity
multibuyRewardElementThe maximum item quantity for this promotionFloat
freeProductsmultibuyRewardElementif type is a free item promotion, number of free items for rewardInteger
rollingRewardmultibuyRewardElementif true,
if omitted, false
Boolean
includedProductmultibuyRewardElementRepeat for each product included in the promotion qualifying criteriaString
excludedProductmultibuyRewardElementRepeat for each product excluded from the promotion qualifying criteriaString
includedMMGroupmultibuyRewardElementRepeat for each productGroup included in the promotion qualifying criteria
(see groupId)
groupId
excludedMMGroupmultibuyRewardElementRepeat for each productGroup excluded from the promotion qualifying criteria
(see groupId)
groupId
includedMMGroupmultibuyRewardElementRepeat for each mmGroup included in the promotion qualifying criteria
(see groupId)
groupId
excludedMMGroupmultibuyRewardElementRepeat for each mmGroup excluded from the promotion qualifying criteria
(see groupId)
groupId
includedBrandmultibuyRewardElementRepeat for each brand included in the promotion qualifying criteria
(see groupId)
groupId
excludedBrandmultibuyRewardElementRepeat for each brand excluded from the promotion qualifying criteria
(see groupId)
groupId
includedPriceTypemultibuyRewardElementRepeat for each price type included in the promotion qualifying criteriaString
excludedPriceTypemultibuyRewardElementRepeat for each price type excluded from the promotion qualifying criteriaString
includedPrice
ChangeType
multibuyRewardElementRepeat for each price change type included in the promotion qualifying criteriaString
excludedPrice
ChangeType
multibuyRewardElementRepeat for each price change type excluded from the promotion qualifying criteriaString

transactionReward

XML TagParent ElementTypeDescriptionData TypeLength
transaction
Reward
RootOuter wrapper for the entityString
rewardTypetransaction
Reward
ElementOne 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
rewardValuetransaction
Reward
ElementThe value of this rewardFloat
thresholdTypetransaction
Reward
ElementOne of the following fixed values
COUNT
VALUE
POINTS
fixed
thresholdValuetransaction
Reward
ElementThe threshold valueFloat
alertThreshold
Value
transaction
Reward
ElementThe alert threshold valueFloat

timetableTrigger

XML TagParent ElementTypeDescriptionData TypeLength
timetable
Trigger
RootOuter wrapper for the entity
startDatetimetable
Trigger
ElementDateTime when promotion is availableDateTime
endDatetimetable
Trigger
ElementDateTime when promotion is no longer availableDateTime
triggerEnd
Date
timetable
Trigger
ElementDateTime when promotion is no longer triggered automaticallyDateTime
timePeriodtimetable
Trigger
Elementday of week and time when promotion is available
(see timePeriod)
timePeriod

timePeriod

XML TagParent ElementTypeDescriptionData TypeLength
timePeriodRootOuter wrapper for the entityString
dayOfWeektimePeriodElementDay of the week when this promotion is availableInteger
startTimetimePeriodElementStart time for promotion availability
hourstartTimeAttributeStart time hourString
minutestartTimeAttributeStart time minuteString
secondstartTimeAttributeStart time secondString
endTimetimePeriodElementEnd time for promotion availability
hourendTimeAttributeEnd time hourString
minuteendTimeAttributeEnd time minuteString
secondendTimeAttributeEnd time secondString

customerTrigger

XML TagParent ElementTypeDescriptionData TypeLength
customer
Trigger
RootOuter wrapper for the entityString
customer
Group
customer
Trigger
ElementIncluded customer group; repeat for each customer group included
(see groupId)
groupId
excCustomer
Group
customer
Trigger
ElementExcluded customer group; repeat for each customer group excluded
(see groupId)
groupId
customercustomer
Trigger
ElementIncluded customer id; repeat for each customer includedString
excCustomercustomer
Trigger
ElementExcluded customer id; repeat for each customer excludedString
loyaltyScheme
Id
customer
Trigger
ElementApplicable loyalty schemeString
loyaltyTier
Code
customer
Trigger
ElementApplicable loyalty tier within the applicable loyalty schemeString

tenderTrigger

XML TagParent ElementTypeDescriptionData TypeLength
tender
Trigger
RootOuter wrapper for the entityString
tenderKeytender
Trigger
ElementTender that must be used for this promotion; repeat for each tender that is eligible with the promotion
tenderIdtenderKeyElementUnique id of the tenderString
groupIdtenderKeyElementThe region for this tender
(see groupId)
groupId

voucherTrigger

XML TagParent ElementTypeDescriptionData TypeLength
voucher
Trigger
RootOuter wrapper for the entityString
voucher
TypeKey
voucher
Trigger
ElementVoucher that must be used for this promotion; repeat for each voucher that is eligible with the promotion
voucher
TypeId
voucher
TypeKey
ElementUnique id of the voucherString
regionIdvoucher
TypeKey
ElementThe 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 TagParent ElementTypeDescriptionData TypeLength
entityKeyentityDelete
Request
ElementString
typeentityKeyAttributeFixed:PromotionKeyfixed
promotionIdentityKeyElementThe promotion idString
groupKeyentityKeyElementThe group keygroupKey