Inbound Integration Guide - Vouchers and Voucher Serial Numbers
Description
This How-to guide explains the integration of following configuration data entities.
- voucherTypes
- voucherSerialNumber
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
Vouchers provide a convenient means for communicating information to Transactions from external sources and events or from other Transactions, which need not originate from the same retailer.
Enactor provides for the creation and configuration of multiple, user-defined Voucher Types. Vouchers may be issued, redeemed and/or accepted as tender or may serve as promotion triggers and/or rewards. Vouchers can be generated as a document printed at the POS as part of a receipt or issued electronically to be redeemed. Vouchers may also be produced by other means. Vouchers produced by any of these means may be associated with Serial Numbers for tracking purposes.
Voucher Types may also be associated with a product of type Voucher Issue Product, which may be sold at the POS to be redeemed. Other products of type Promotion Coupon Product may be issued as promotion reward using the Promotion Coupon Promotion Type, which results in printing of a Promotion Coupon Document at the POS. The printed Coupon may be used in some manual redemption process or treated as a zero-value sale item configured as a promotion trigger when scanned at the POS in a transaction.
Vouchers have value in the issue, redemption and tender contexts which are subject to different configuration.
For tracked voucher types the values specified in the voucher type and specific voucher serial numbers configurations always take precedence as follows:
-
Value property for an individual Voucher Serial Number
The value property of Voucher Serial Number, if non-zero, is always used for both sale and tender. If the value property of Voucher Serial Number is unspecified when the voucher is sold the sell value will be obtained from the voucher value when issued (also, see Note below).
-
Voucher Value specified in the issue data
This voucher value property is used as the item price if the voucher is sold and the value property of Voucher Serial Number is unspecified (also, see Note below). -
Tender Value specified in the redeem data
If allow tender is true, the voucher may be redeemed or used as tender. The tender value property supplies the tender amount or redemption value if the voucher is tendered or redeemed and the value property of Voucher Serial Number is unspecified.
Note: If the Prompt for Value data is true for issue, the POS operator will be prompted to enter a value for the voucher, which will be saved in the value property of the Voucher Serial Number and will override the voucher value or tender value property when the voucher is redeemed or tendered.
Vouchers types that are not-tracked have value that is subject to other configuration options in the issue, redemption and tender contexts as follows.
The voucher value specified in the issue data is always used as the item price for non-tracked vouchers that allow issue and are saleable, when issued by sale at the POS. Vouchers may also be issued at the POS as a promotion reward (must allow issue but need not be saleable). If a tender for issue is specified, voucher value is also the value that will be accrued to that tender in cash management.
Vouchers may apply a fixed value discount if applies discount is true, reward type of Discount is specified, and the discount reason referenced in the redemption data specifies a discount type of Amount in the discount data of the reason configuration. The fixed value is also specified in the discount data of the reason configuration, in the discount amount property. The redemption value may alternatively be a discount type of percentage calculated for the transaction. Vouchers may also be redeemed based on the tender value specified in the redeem data if Allow Tender is true and is processed the same as if used as tender.
If Allow Tender is true, the voucher may be redeemed as a tender. The properties Tender for Redemption, which identifies the voucher tender configuration for association with the voucher and tender value is specified in the redemption data.
Vouchers that have monetary value are normally also flagged to be tracked, in which case the tender value specified in the redemption data may be used as the tender amount. For vouchers configured as tender that are NOT flagged to be tracked, their value may be specified based on the value type property in the tender data (left unspecified for vouchers flagged to be tracked).
The value type property determines how value is applied to a Voucher when redeemed as tender. A tender voucher with value type set to None and tender value of zero, is valueless and may be applied to some other purpose, such as triggering a promotion.
For vouchers as tender that have monetary value, three other options for the value type identify the voucher as having a Fixed value (as specified in the Tender Value property), a value identified on the voucher as a Denomination and specified by the POS operator (usually by selection from the list of those defined) or a Supplied value to be entered by the POS operator. For vouchers specified with a value type of Denomination, the denominations that may be presented are defined in the Tender data.
Determination of the voucher tender or redemption value based on the tender type property is as follows:
-
Unspecified or ‘None' - The POS will prompt for a tender amount and redeem that amount regardless of the values of the voucher value and tender value properties.
-
Fixed - The tender value specified in the redemption data is used as the redemption/tender amount.
-
Denomination - The set of denominational values specified in the denominations data will be used to select an applicable value for the voucher when redeemed or tendered.
-
Supplied - This method of specification of the Voucher redeemed or tendered Value depends on the presence of an encoded value embedded within the Voucher ID (typically a Scanned Barcode). The embedded value is extracted based on a field validator set.
voucherType
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">
<retail:voucherType>
<retail:regionId groupHierarchyId="All" groupTypeId="region">All</retail:regionId>
<retail:voucherTypeId>10_POUND</retail:voucherTypeId>
<retail:description>
<core:string variant="" language="" country="">£10 Pound off</core:string>
<core:string variant="" language="en" country="GB">£10 Pound off</core:string>
</retail:description>
<retail:longDescription>
<core:string variant="" language="" country="">£10 Pound off when you spend £100</core:string>
<core:string variant="" language="en" country="GB">When you spend £100</core:string>
</retail:longDescription>
<retail:disabled>false</retail:disabled>
<retail:allowReturn>false</retail:allowReturn>
<retail:allowIssue>true</retail:allowIssue>
<retail:allowTender>true</retail:allowTender>
<retail:appliesDiscount>false</retail:appliesDiscount>
<retail:track>false</retail:track>
<retail:captureSerialNumber>false</retail:captureSerialNumber>
<retail:generateSerialNumber>false</retail:generateSerialNumber>
<retail:allowIssueOffline>false</retail:allowIssueOffline>
<retail:allowRedemptionOffline>false</retail:allowRedemptionOffline>
<retail:saleable>false</retail:saleable>
<retail:printed>false</retail:printed>
<retail:endorse>false</retail:endorse>
<retail:openDrawer>false</retail:openDrawer>
<retail:expiryPeriod>0</retail:expiryPeriod>
<retail:frankOnRedemption>false</retail:frankOnRedemption>
<retail:valueType>FIXED</retail:valueType>
<retail:redemptionOptions>
<retail:tenderValue>1000</retail:tenderValue>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>10000</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
</retail:redemptionOptions>
<retail:subTypes/>
<retail:currencyKey>GBP</retail:currencyKey>
<retail:voucherValue>10000</retail:voucherValue>
<retail:allowReturnOffline>false</retail:allowReturnOffline>
<retail:usageLimit>1000000</retail:usageLimit>
<retail:allowMultiUseInOneTransaction>true</retail:allowMultiUseInOneTransaction>
</retail:voucherType>
</Batch>
XML Structure
voucherType
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| voucherType | Root | outer wrapper for the entity | |||
| regionId | voucherType | Element | Region key for this voucher type | GroupKey | |
| voucherTypeId | voucherType | Element | The unique id for the voucher type | string | |
| description | voucherType | Element | The description of the voucher type | locale string | |
| longDescription | voucherType | Element | The long description of the voucher type | locale string | |
| disabled | voucherType | Element | if true, the voucher type is disabled if omitted, false | boolean | |
| allowReturn | voucherType | Element | if true, voucher can be returned if omitted, false | boolean | |
| allowIssue | voucherType | Element | if true, voucher can be issued if omitted, false | boolean | |
| allowTender | voucherType | Element | if true, voucher can be used as a tender if omitted, false | boolean | |
| appliesDiscount | voucherType | Element | if true, voucher applies a discount if omitted, false | boolean | |
| track | voucherType | Element | if true, track the voucher if omitted, false | boolean | |
| captureSerial Number | voucherType | Element | if true, capture the serial number if omitted, false | boolean | |
| generateSerial Number | voucherType | Element | if true, generate a serial number for this voucher if omitted, false | boolean | |
| allowIssue Offline | voucherType | Element | if true, allow the voucher to be issued offline if omitted, false | boolean | |
| allowRedemption Offline | voucherType | Element | if true, allow redemption of the voucher when offline if omitted, false | boolean | |
| saleable | voucherType | Element | if true, allow the voucher to be sold if omitted, false | boolean | |
| printed | voucherType | Element | if true, print the voucher at the point of sale if omitted, false | boolean | |
| endorse | voucherType | Element | if true, endorse the voucher when used if omitted, false | boolean | |
| openDrawer | voucherType | Element | if true, open the cash drawer when the voucher is used as a tender if omitted, false | boolean | |
| expiryPeriod | voucherType | Element | number of days before the voucher expires, if 0 voucher does not expire | numeric | |
| frankOn Redemption | voucherType | Element | if true, frank the voucher when used if omitted, false | boolean | |
| valueType | voucherType | Element | fixed string, one of the following: NONE, FIXED, DENOMINATION, SUPPLIED | string | |
| redemption Options | voucherType | Element | see redemptionOptions | redemption Options | |
| subTypes | voucherType | Element | A list of values for the vouchers | see examples | |
| currencyKey | voucherType | Element | The currency type for the voucher | currency Key | |
| voucherValue | voucherType | Element | The value of the voucher | numeric | |
| allowReturn Offline | voucherType | Element | if true, allow return when offline if omitted, false | boolean | |
| usageLimit | voucherType | Element | The number of times the voucher can be used, 0 = unlimited uses | numeric | |
| allowMultiUseIn OneTransaction | voucherType | Element | if true, allow multiple uses in a single transaction if omitted, false | boolean |
redemptionOptions
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| redemption Options | Root | outer wrapper for the entity | |||
| tenderValue | redemption Options | Element | The value of the voucher | numeric | |
| rewardType | redemption Options | Element | fixed string, one of the following: NONE, FIXED, DENOMINATION, SUPPLIED | string | |
| minimumSpend | redemption Options | Element | minimum spend required for the voucher, 0 = unlimited | numeric | |
| itemPriceAbove | redemption Options | Element | 0 = unlimited | numeric | |
| itemPriceBelow | redemption Options | Element | 0 = unlimited | numeric | |
| markItemsUsed | redemption Options | Element | if true, mark the items as used if omitted, false | boolean | |
| tenderId | redemption Options | Element | The tender key for the voucher | tenderKey |
Additional Examples
Credit Note
<?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">
<retail:voucherType>
<retail:regionId groupHierarchyId="All" groupTypeId="region">UK</retail:regionId>
<retail:voucherTypeId>CN-UK</retail:voucherTypeId>
<retail:description>
<core:string variant="" language="en" country="GB">Credit Note</core:string>
</retail:description>
<retail:longDescription>
<core:string variant="" language="en" country="GB">Credit Note</core:string>
</retail:longDescription>
<retail:disabled>false</retail:disabled>
<retail:allowReturn>false</retail:allowReturn>
<retail:allowIssue>true</retail:allowIssue>
<retail:allowTender>true</retail:allowTender>
<retail:appliesDiscount>false</retail:appliesDiscount>
<retail:track>true</retail:track>
<retail:captureSerialNumber>true</retail:captureSerialNumber>
<retail:generateSerialNumber>true</retail:generateSerialNumber>
<retail:serialNumberLength>8</retail:serialNumberLength>
<retail:allowIssueOffline>false</retail:allowIssueOffline>
<retail:allowRedemptionOffline>false</retail:allowRedemptionOffline>
<retail:saleable>false</retail:saleable>
<retail:printed>false</retail:printed>
<retail:endorse>false</retail:endorse>
<retail:openDrawer>false</retail:openDrawer>
<retail:expiryPeriod>0</retail:expiryPeriod>
<retail:frankOnRedemption>false</retail:frankOnRedemption>
<retail:redemptionOptions>
<retail:tenderValue>0</retail:tenderValue>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>0</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
<retail:tenderid>
<retail:tenderId>CN_UK</retail:tenderId>
<retail:groupId groupHierarchyId="All" groupTypeId="region">UK</retail:groupId>
</retail:tenderid>
</retail:redemptionOptions>
<retail:subTypes/>
<retail:currencyKey>GBP</retail:currencyKey>
<retail:voucherValue>0</retail:voucherValue>
<retail:allowReturnOffline>false</retail:allowReturnOffline>
<retail:usageLimit>1</retail:usageLimit>
</retail:voucherType>
</Batch>
Loyalty Triple Points
<?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">
<retail:voucherType>
<retail:lastUpdated>2012-02-15T16:15:12.671Z</retail:lastUpdated>
<retail:regionId groupHierarchyId="All" groupTypeId="region">All</retail:regionId>
<retail:voucherTypeId>LOY_REG</retail:voucherTypeId>
<retail:description>
<core:string variant="" language="en" country="GB">Earn Triple Points</core:string>
</retail:description>
<retail:longDescription>
<core:string variant="" language="en" country="GB">when you spend £80 on your next visit</core:string>
</retail:longDescription>
<retail:allowReturn>false</retail:allowReturn>
<retail:allowIssue>true</retail:allowIssue>
<retail:allowTender>false</retail:allowTender>
<retail:appliesDiscount>false</retail:appliesDiscount>
<retail:track>false</retail:track>
<retail:captureSerialNumber>true</retail:captureSerialNumber>
<retail:generateSerialNumber>true</retail:generateSerialNumber>
<retail:serialNumberLength>15</retail:serialNumberLength>
<retail:allowIssueOffline>false</retail:allowIssueOffline>
<retail:allowRedemptionOffline>false</retail:allowRedemptionOffline>
<retail:saleable>false</retail:saleable>
<retail:printed>false</retail:printed>
<retail:endorse>false</retail:endorse>
<retail:openDrawer>false</retail:openDrawer>
<retail:expiryPeriod>30</retail:expiryPeriod>
<retail:redemptionOptions>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>8000</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
</retail:redemptionOptions>
<retail:subTypes/>
<retail:currencyKey>GBP</retail:currencyKey>
<retail:voucherValue>0</retail:voucherValue>
<retail:allowReturnOffline>false</retail:allowReturnOffline>
<retail:imageKey type="png" category="VOUCHER">TRIPLE_POINTS</retail:imageKey>
<retail:usageLimit>1</retail:usageLimit>
</retail:voucherType>
</Batch>
Promo Voucher
<?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">
<retail:voucherType xmlns:core="http://www.enactor.com/core"
xmlns:hta="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/api/200803"
xmlns:htd="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/200803"
xmlns:htt="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/types/200803"
xmlns:ns11="http://www.enactor.com/retail/restaurantTableStatus/service"
xmlns:ns13="http://www.enactor.com/crm/customerLoyalty/service"
xmlns:ns3="http://www.enactor.com/retail/storedRetailTransaction/service"
xmlns:ns6="http://www.enactor.com/crm"
xmlns:ns8="http://www.enactor.com/addressLookup/service"
xmlns:ns9="http://www.enactor.com/retail/storedRestaurantSaleTransaction/service"
xmlns:retail="http://www.enactor.com/retail"
xmlns:sref="http://docs.oasis-open.org/wsbpel/2.0/serviceref"
xmlns:tools="http://www.enactor.com/tools"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:lastUpdated>2015-03-08T13:08:05.162Z</retail:lastUpdated>
<retail:regionId groupHierarchyId="All" groupTypeId="region">All</retail:regionId>
<retail:voucherTypeId>Promo_V</retail:voucherTypeId>
<retail:description>
<core:string variant="" language="en" country="US">Promo V</core:string>
</retail:description>
<retail:longDescription/>
<retail:disabled>false</retail:disabled>
<retail:allowReturn>false</retail:allowReturn>
<retail:allowIssue>false</retail:allowIssue>
<retail:allowTender>false</retail:allowTender>
<retail:appliesDiscount>false</retail:appliesDiscount>
<retail:track>false</retail:track>
<retail:captureSerialNumber>false</retail:captureSerialNumber>
<retail:generateSerialNumber>true</retail:generateSerialNumber>
<retail:allowIssueOffline>false</retail:allowIssueOffline>
<retail:allowRedemptionOffline>false</retail:allowRedemptionOffline>
<retail:redemptionOptions>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>0</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
</retail:redemptionOptions>
<retail:subTypes/>
<retail:currencyKey>GBP</retail:currencyKey>
<retail:allowReturnOffline>false</retail:allowReturnOffline>
<retail:usageLimit>1</retail:usageLimit>
</retail:voucherType>
</Batch>
Amount Voucher
<?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">
<retail:voucherType xmlns:core="http://www.enactor.com/core"
xmlns:hta="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/api/200803"
xmlns:htd="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/200803"
xmlns:htt="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/types/200803"
xmlns:ns12="http://www.enactor.com/retail/restaurantTableStatus/service"
xmlns:ns13="http://www.enactor.com/crm/customerLoyalty/service"
xmlns:ns6="http://www.enactor.com/crm"
xmlns:ns7="http://www.enactor.com/addressLookup/service"
xmlns:ns8="http://www.enactor.com/retail/storedRetailTransaction/service"
xmlns:ns9="http://www.enactor.com/retail/storedRestaurantSaleTransaction/service"
xmlns:retail="http://www.enactor.com/retail"
xmlns:sref="http://docs.oasis-open.org/wsbpel/2.0/serviceref"
xmlns:tools="http://www.enactor.com/tools"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retail:regionId groupHierarchyId="All" groupTypeId="region">All</retail:regionId>
<retail:voucherTypeId>10_POUND</retail:voucherTypeId>
<retail:description>
<core:string variant="" language="" country="">£10 Pound off</core:string>
<core:string variant="" language="en" country="GB">£10 Pound off</core:string>
</retail:description>
<retail:longDescription>
<core:string variant="" language="" country="">£10 Pound off when you spend £100</core:string>
<core:string variant="" language="en" country="GB">When you spend £100</core:string>
</retail:longDescription>
<retail:disabled>false</retail:disabled>
<retail:allowReturn>false</retail:allowReturn>
<retail:allowIssue>true</retail:allowIssue>
<retail:allowTender>true</retail:allowTender>
<retail:appliesDiscount>false</retail:appliesDiscount>
<retail:track>false</retail:track>
<retail:captureSerialNumber>false</retail:captureSerialNumber>
<retail:generateSerialNumber>false</retail:generateSerialNumber>
<retail:allowIssueOffline>false</retail:allowIssueOffline>
<retail:allowRedemptionOffline>false</retail:allowRedemptionOffline>
<retail:saleable>false</retail:saleable>
<retail:printed>false</retail:printed>
<retail:endorse>false</retail:endorse>
<retail:openDrawer>false</retail:openDrawer>
<retail:expiryPeriod>0</retail:expiryPeriod>
<retail:frankOnRedemption>false</retail:frankOnRedemption>
<retail:valueType>FIXED</retail:valueType>
<retail:redemptionOptions>
<retail:tenderValue>1000</retail:tenderValue>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>10000</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
</retail:redemptionOptions>
<retail:subTypes/>
<retail:currencyKey>GBP</retail:currencyKey>
<retail:voucherValue>10000</retail:voucherValue>
<retail:allowReturnOffline>false</retail:allowReturnOffline>
<retail:usageLimit>1000000</retail:usageLimit>
<retail:allowMultiUseInOneTransaction>true</retail:allowMultiUseInOneTransaction>
</retail:voucherType>
</Batch>
Gift Voucher
<?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">
<retail:voucherType>
<retail:lastUpdated>2014-06-04T14:23:48.273+01:00</retail:lastUpdated>
<retail:regionId groupHierarchyId="All" groupTypeId="region">UK</retail:regionId>
<retail:voucherTypeId>UK-GV</retail:voucherTypeId>
<retail:description>
<core:string variant="" language="en" country="GB">Gift Voucher UK</core:string>
</retail:description>
<retail:longDescription/>
<retail:disabled>false</retail:disabled>
<retail:allowReturn>true</retail:allowReturn>
<retail:allowIssue>true</retail:allowIssue>
<retail:allowTender>true</retail:allowTender>
<retail:appliesDiscount>false</retail:appliesDiscount>
<retail:track>true</retail:track>
<retail:captureSerialNumber>true</retail:captureSerialNumber>
<retail:generateSerialNumber>true</retail:generateSerialNumber>
<retail:serialNumberLength>0</retail:serialNumberLength>
<retail:allowIssueOffline>false</retail:allowIssueOffline>
<retail:allowRedemptionOffline>false</retail:allowRedemptionOffline>
<retail:saleable>true</retail:saleable>
<retail:printed>true</retail:printed>
<retail:printStyle>VoucherPrint40</retail:printStyle>
<retail:endorse>false</retail:endorse>
<retail:openDrawer>true</retail:openDrawer>
<retail:expiryPeriod>0</retail:expiryPeriod>
<retail:frankOnRedemption>false</retail:frankOnRedemption>
<retail:valueType>FIXED</retail:valueType>
<retail:redemptionOptions>
<retail:tenderValue>0</retail:tenderValue>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>0</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
<retail:tenderid>
<retail:tenderId>GV_UK</retail:tenderId>
<retail:groupId groupHierarchyId="All" groupTypeId="region">UK</retail:groupId>
</retail:tenderid>
</retail:redemptionOptions>
<retail:subTypes>
<entry>
<key>10</key>
<value>
<retail:subTypeId>10</retail:subTypeId>
<retail:description>
<core:string variant="" language="en" country="GB">£10</core:string>
</retail:description>
<retail:redemptionOptions>
<retail:tenderValue>1000</retail:tenderValue>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>0</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
<retail:tenderid>
<retail:tenderId>GV_UK</retail:tenderId>
<retail:groupId groupHierarchyId="All" groupTypeId="region">UK</retail:groupId>
</retail:tenderid>
</retail:redemptionOptions>
</value>
</entry>
<entry>
<key>15</key>
<value>
<retail:subTypeId>15</retail:subTypeId>
<retail:description>
<core:string variant="" language="en" country="GB">£15</core:string>
</retail:description>
<retail:redemptionOptions>
<retail:tenderValue>1500</retail:tenderValue>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>0</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
<retail:tenderid>
<retail:tenderId>GV_UK</retail:tenderId>
<retail:groupId groupHierarchyId="All" groupTypeId="region">UK</retail:groupId>
</retail:tenderid>
</retail:redemptionOptions>
</value>
</entry>
<entry>
<key>20</key>
<value>
<retail:subTypeId>20</retail:subTypeId>
<retail:description>
<core:string variant="" language="en" country="GB">£20</core:string>
</retail:description>
<retail:redemptionOptions>
<retail:tenderValue>2000</retail:tenderValue>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>0</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
<retail:tenderid>
<retail:tenderId>GV_UK</retail:tenderId>
<retail:groupId groupHierarchyId="All" groupTypeId="region">UK</retail:groupId>
</retail:tenderid>
</retail:redemptionOptions>
</value>
</entry>
<entry>
<key>25</key>
<value>
<retail:subTypeId>25</retail:subTypeId>
<retail:description>
<core:string variant="" language="en" country="GB">£25</core:string>
</retail:description>
<retail:redemptionOptions>
<retail:tenderValue>2500</retail:tenderValue>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>0</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
<retail:tenderid>
<retail:tenderId>GV_UK</retail:tenderId>
<retail:groupId groupHierarchyId="All" groupTypeId="region">UK</retail:groupId>
</retail:tenderid>
</retail:redemptionOptions>
</value>
</entry>
<entry>
<key>5</key>
<value>
<retail:subTypeId>5</retail:subTypeId>
<retail:description>
<core:string variant="" language="en" country="GB">£5</core:string>
</retail:description>
<retail:redemptionOptions>
<retail:tenderValue>500</retail:tenderValue>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>0</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
<retail:tenderid>
<retail:tenderId>GV_UK</retail:tenderId>
<retail:groupId groupHierarchyId="All" groupTypeId="region">UK</retail:groupId>
</retail:tenderid>
</retail:redemptionOptions>
</value>
</entry>
<entry>
<key>50</key>
<value>
<retail:subTypeId>50</retail:subTypeId>
<retail:description>
<core:string variant="" language="en" country="GB">£50</core:string>
</retail:description>
<retail:redemptionOptions>
<retail:tenderValue>5000</retail:tenderValue>
<retail:rewardType>NONE</retail:rewardType>
<retail:minimumSpend>0</retail:minimumSpend>
<retail:itemPriceAbove>0</retail:itemPriceAbove>
<retail:itemPriceBelow>0</retail:itemPriceBelow>
<retail:markItemsUsed>false</retail:markItemsUsed>
<retail:tenderid>
<retail:tenderId>GV_UK</retail:tenderId>
<retail:groupId groupHierarchyId="All" groupTypeId="region">UK</retail:groupId>
</retail:tenderid>
</retail:redemptionOptions>
</value>
</entry>
</retail:subTypes>
<retail:currencyKey>GBP</retail:currencyKey>
<retail:voucherValue>0</retail:voucherValue>
<retail:allowReturnOffline>false</retail:allowReturnOffline>
<retail:usageLimit>1</retail:usageLimit>
</retail:voucherType>
</Batch>
voucherSerialNumber
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">
<retail:voucherSerialNumber>
<retail:voucherTypeId>
<retail:regionId groupHierarchyId="All" groupTypeId="region">All</retail:regionId>
<retail:voucherTypeId>10_POUND</retail:voucherTypeId>
</retail:voucherTypeId>
<retail:serialNumber>11111111</retail:serialNumber>
<retail:campaignNumber></retail:campaignNumber>
<retail:value>1000</retail:value>
<retail:status>ISSUED</retail:status>
<retail:currencyId>GBP</retail:currencyId>
<retail:customerId>1</retail:customerId>
<retail:externalReference></retail:externalReference>
<retail:usageCount>1000</retail:usageCount>
</retail:voucherSerialNumber>
</Batch>
XML Structure
voucherSerialNumber
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| voucherSerial Number | Root | outer wrapper for the entity | |||
| voucherTypeId | voucherSerial Number | Element | The region based voucher id | voucherType Id | |
| serialNumber | voucherSerial Number | Element | The voucher serial number | string | |
| campaignNumber | voucherSerial Number | Element | The campaign number associated with the voucher | string | |
| value | voucherSerial Number | Element | The value of the voucher | numeric | |
| status | voucherSerial Number | Element | fixed string, one of the following: NEW, ISSUED, REDEEMED, VOIDED | voucher Serial Number Status | |
| currencyId | voucherSerial Number | Element | The currency type for the voucher | currency Key | |
| customerId | voucherSerial Number | Element | The customer number for this voucher | customer Key | |
| external Reference | voucherSerial Number | Element | An external reference id for this voucher | string | |
| usageCount | voucherSerial Number | Element | The number of times this voucher has been used | numeric |
voucherTypeId
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| voucherTypeId | Root | outer wrapper for the entity | |||
| regionId | voucherTypeID | Element | The region where the voucher type is valid | Region | |
| voucherTypeId | voucherTypeID | Element | The unique ID of the voucher type | voucherType IdKey |
voucherType Delete
XML Example
<!-- VoucherTypeKey -->
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<core:entityDeleteRequest xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<core:entityKey xsi:type="retail:VoucherTypeKey">
<retail:regionId variantGroupHierarchyId="variantGroupHierarchyId" variantGroupId="variantGroupId" variantGroupTypeId="variantGroupTypeId" groupHierarchyId="groupHierarchyId" groupTypeId="groupTypeId">groupId</retail:regionId>
<retail:voucherTypeId>voucherId</retail:voucherTypeId>
</core:entityKey>
</core:entityDeleteRequest>
XML Structure
entityDeleteRequest
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| entityKey | entityDelete Request | Element | The voucher type key to delete | String | |
| type | entityKey | Attribute | Fixed: VoucherTypeKey | fixed string | |
| regionId | entityKey | Element | The region for this voucher | RegionKey | |
| voucherTypeId | entityKey | Element | The voucher type id to delete | voucherType Key |
voucherSerialNumber Delete
XML Example
<!-- VoucherSerialNumberKey -->
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<core:entityDeleteRequest xmlns:core="http://www.enactor.com/core"
xmlns:retail="http://www.enactor.com/retail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<core:entityKey xsi:type="retail:VoucherSerialNumberKey">
<retail:voucherTypeId>
<retail:regionId variantGroupHierarchyId="variantGroupHierarchyId" variantGroupId="variantGroupId" variantGroupTypeId="variantGroupTypeId" groupHierarchyId="groupHierarchyId" groupTypeId="groupTypeId">groupId</retail:regionId>
<retail:voucherTypeId>voucherId</retail:voucherTypeId>
</retail:voucherTypeId>
<retail:serialNumber>serialNumber</retail:serialNumber>
</core:entityKey>
</core:entityDeleteRequest>
XML Structure
entityDeleteRequest
| XML Tag | Parent Element | Type | Description | Data Type | Length |
|---|---|---|---|---|---|
| entityKey | entityDelete Request | Element | The voucher serial number to delete | String | |
| type | entityKey | Attribute | Fixed: VoucherSerialNumberKey | fixed string | |
| regionId | entityKey | Element | The region for the voucher serial number | RegionKey | |
| serialNumber | entityKey | Element | The serial number to delete | string |