Relate Purchase History Integration

Purpose: The Relate Purchase History integration allows you to review a customer’s completed sales and return transactions across multiple channels, such as retail, call center, and e-commerce using the Display Purchase History Screen in CWSerenade. When you advance to this screen, the system retrieves the sold to customer’s purchase history information from Relate to display on the screen.

In this topic:

Relate Purchase History Integration Setup

Display Purchase History Screen

Reviewing Purchase History in Relate

Relate Customer Services API v2.3

For more information: See:

Relate Customer Integration for more information on interactively communicating with Relate to keep customer information in CWSerenade in sync with Relate when Relate is the system of record for customer information.

Relate Batch Customer and Sales Integration for more information on sending merchandise hierarchy, item, customer, sales and return information from CWSerenade to Relate using a batch process. This section also includes Relate Integration Setup (Sales and Customer).

• The Relate Implementation Guide (Installer Version) for more information on the procedures and instructions required to install and configure the Relate application and database.

• The Relate Configuration Guide for more information on configuration settings for Relate that are defined using the Conflate tool.

• The Relate Batch Processing and Web Services Guide for more information on the Relate API interface.

• The Relate Database Dictionary for more information on the tables in the Relate database.

• The Relate User Guide for more information on using the Relate application.

Relate Purchase History Integration Setup

Before you can review purchase history from Relate, you must complete the required setup.

Required versions: To review purchase history from Relate, you must be on these versions:

• CWSerenade version 5.0 or higher.

• Relate version 10.5 or higher.

In addition retrieving purchase history from Relate uses version 2.3 of the Relate Customer API.

Setup is required in both CWSerenade and Relate.

For more information: See:

Relate Batch Customer and Sales Integration for more information on the setup required to use the Relate Item Feed, Relate Sales Feed, and Relate Customer Integration.

Relate Loyalty Integration for more information on the setup required to use Relate’s loyalty program.

Setup in CWSerenade for Relate Purchase History

System Control Values for Relate Purchase History

Relate Property File Settings for Relate Purchase History

System Control Values for Relate Purchase History

System Control Value

Description

Use the Relate Integration Values (L52) umbrella screen to set the following values:

Relate Customer Integration (L37)

Enter INTERACT to send information on new and updated customers to Relate interactively. See Relate Customer Integration for more information.

Relate Organization Descriptor (L50)

Use this field to identify the Relate organization that maps to your CWSerenade company.

Default Location for Sales Download (K69)

Defines the store ID associated with a sale or return transaction in Relate. This value is used to determine the channel where the sales or return transaction took place.

Web displays if the RetailStoreID in the Relate Get Transaction History Response matches the value in the Default Location for Sales Download (K69) system control value and the PosTransactionPropertyValue for the PosTransactionPropertyCode Channel is ECOMM.

Call Center displays if the RetailStoreID in the Relate Get Transaction History Response matches the value in the Default Location for Sales Download (K69) system control value and the PosTransactionPropertyValue for the PosTransactionPropertyCode Channel is CATALOG.

Store-CODE, where CODE is the store code, displays if a RetailStoreID is defined in the Relate Get Transaction History Response and the transaction does not meet the Web or Call Center qualifications.

MICROS Integration Item ID (L38)

Defines how CWSerenade identifies items/SKUs returned in the Relate Get Transaction History Response.

ITEM = CWSerenade uses the Item code and SKU code.

XREF = CWSerenade uses the Retail reference number.

CWSerenade determines the item and SKU using the itemID with ItemType Stock for a Sale, CustomerOrderForDelivery, CustomerOrderForPickup, saleForDelivery or Return line type transaction:

• If the MICROS Integration Item ID (L38) system control value is set to ITEM, the system replaces any dashes that separate the item and SKU in the ItemID with spaces. For example, if the ItemID in the Relate Get Transaction History Response is ITM1-RED-XSML-WMNS, the Item/SKU field on the Display Purchase History Screen displays ITM1 RED XSML WMNS.

• If the MICROS Integration Item ID (L38) system control value is set to XREF, the system uses the Retail reference number passed in the ItemID in the Relate Get Transaction History Response to find the item number and SKU code in CWSerenade.

• If the item and SKU is not found in CWSerenade, the Item/SKU field on the Display Purchase History Screen displays the item and SKU in the format passed from Relate.

Relate Property File Settings for Relate Purchase History

The cwdirectcp_relate.properties file contains settings required for integration with Relate.

Where is the file located? This file is located in the same folder as the other CWSerenade properties files, where C: represents the root drive where CWSerenade is installed:

C:\jboss51\server\serenade\conf\cwdirectcpproperties\cwdirectcp_relate.properties

How to edit the file: MICROS recommends that you first make a backup copy of the configuration file. Then use a text editor, being careful not to change any of the settings except those indicated below.

Your changes take effect the next time you stop and restart the SERENADE service (or the application server).

Setting

Description

Setting

RELATE_CUSTOMER_SERVICE_PREFIX

The system uses this property to build the URL for communication with Relate during the Relate Customer Integration, Relate Purchase History Integration, and Relate Loyalty Integration.

http://relateserver:8084/ soap where:

relateserver = the name of your Relate server

8084 = the port to use on the Relate server

RELATE_CUSTOMER_SERVICE_SUFFIX

The system uses this property, along with the RELATE_CUSTOMER_SERVICE_PREFIX, to build the URL for communication with Relate using the Customer Services API.

/v2_3/CustomerServices?wsdl where 2_3 is the version of the Customer Services API

RELATE_SECURITY_ USER_ID

The Relate user ID with Security Group permission included in Relate’s API messages.

Must be a valid user ID in Relate that has Security Group permission

Setup in Relate for Relate Purchase History

CWSerenade Company > Relate Organization

An organization in Relate corresponds to a company in CWSerenade. You associate a Relate organization with a CWSerenade company through the Relate Organization Descriptor (L50) system control value.

Use Conflate to define configuration settings for the Relate organization that integrates with CWSerenade. See the Relate Configuration Guide for more information on how to define configuration settings for Relate using the Conflate tool.

Configuration Settings Required for the CWSerenade Loyalty Integration with Relate

Select Edit Configs in Conflate to define these settings for the organization that integrates with CWSerenade.

Organization Descriptor

The organization descriptor must match the setting in the Relate Organization Descriptor (L50) system control value.

This setting identifies the Relate organization that maps to your CWSerenade company.

Default Location ID

Enter a default location ID of up to 12 positions.

Transaction Search Limit

Enter the maximum number of transaction records that can be returned in the Relate Get Transaction History Response when making a purchase history lookup request to the Relate Services server. The default value is 50, indicating the 50 most recent transactions will be returned in the results.

Note: Whenever you makes changes to an organization’s configuration settings, you must stop the Relate service, deploy the configuration settings to Relate, and restart the Relate service. See:

Shut Down Services in the Add New Organization section of the Relate Implementation Guide (Installer Version) for more information on how to stop the Relate service.

• the Relate Configuration Guide for more information on deploying configuration settings to Relate.

Restart Services in the Add New Organization section of the Relate Implementation Guide (Installer Version) for more information on how to restart t he Relate service.

Display Purchase History Screen

Use this screen to review a customer’s purchase history from Relate, specifically:

• sales transactions of type:

CustomerOrderForDelivery: This sales transaction typically occurs when a customer purchases an item that is not located in the store or the item is out of stock. In this situation, the item is purchased to ship directly to the customer’s home from another location.

CustomerOrderForPickup: This sales transaction typically occurs when a customer purchases an item that is not located in the store or the item is out of stock. When the item arrives at the store, the customer picks up the item and a previous customer order is processed to close the transaction.

SaleForDelivery: This sales transaction typically occurs when the item is not in stock. In this situation, the item is delivered to an address specified by the customer.

• return transactions.

A separate row displays on this screen for each individual item on a sales or return transaction.

When you advance to this screen:

1. CWSerenade sends a Relate Retrieve Customer Request to Relate containing the customer’s Relate ID from the Customer Sold To table.

2. Relate uses the Relate ID in the Relate Retrieve Customer Request to find the customer and returns the Relate Retrieve Customer Response containing the customer’s information.

3. CWSerenade sends a Relate Get Transaction History Request to Relate.

4. Relate uses the customer information in the Relate Get Transaction History Request to retrieve the customer’s purchase history.

5. Relate returns the Relate Get Transaction History Response to CWSerenade, containing the customer’s purchase history.

6. CWSerenade displays the purchase history information returned from Relate on the Display Purchase History screen.

How to display this screen: This screen is available when the Relate Customer Integration (L37) system control value is set to INTERACT and you:

• Select Purch Hist from the Action drop-down menu on the Customer Scan Screen in Work with Customers (WCST) or Order Entry (OEOM).

• Select Purchase History on the Customer Selection Screen after selecting a sold to customer.

• Select Purchase History on the Display More Options Screen.

• Select Purchase History on the More Customer Sold To Options Screen.

• Select Purch Hist on the Third Streamlined Order Inquiry Screen (Order Summary) in Streamlined Order Inquiry (DORI).

When you select the Purchase History option, the system retrieves the sold to customer’s purchase history information from Relate to display on the Display Purchase History screen.

The message No purchase history found displays if no purchase history was returned from Relate.

Column sort: You can sort on the Purchase Date, Transaction ID, Item/SKU, Description, Channel, Transaction Type, Associate ID, Quantity, and Extended Price columns on this screen by clicking the column name. An arrow pointing up displays next to the field when the values for the field display in ascending sequence; an arrow pointing down displays next to the field when the values for the field display in descending sequence.

When you first advance to this screen, purchase history records display in descending Purchase Date sequence.

Note: The information that displays on this screen is from Relate and is not stored in CWSerenade.

Field

Description

Customer #

The number, company name, last name, and first name of the sold to customer whose purchase history you are reviewing.

Customer number: Numeric, 9 positions; display-only.

Customer name: Alphanumeric, 40 positions; display-only.

Purchase History

A separate row displays on this screen for each individual item on a sales or return transaction.

Purchase Date

The date of the sales or return transaction, in MM/DD/YY format.

From BusinessDayDate for a Sale, CustomerOrderForDelivery, CustomerOrderForPickup, saleForDelivery or Return line type transaction in the Relate Get Transaction History Response.

Trans ID

The transaction ID assigned to the sales or return transaction.

If the transaction originated in CWSerenade, this is the CWSerenade invoice number.

From SequenceNumber for a Sale, CustomerOrderForDelivery, CustomerOrderForPickup, saleForDelivery or Return line type transaction in the Relate Get Transaction History Response.

Item/SKU

The item number and SKU code of the item that was purchased or returned.

The system uses the itemID with ItemType Stock for a Sale, CustomerOrderForDelivery, CustomerOrderForPickup, saleForDelivery or Return line type transaction in the Relate Get Transaction History Response to determine the item and SKU:

• If the MICROS Integration Item ID (L38) system control value is set to ITEM, the system replaces any dashes that separate the item and SKU in the ItemID with spaces. For example, if the ItemID in the Relate Get Transaction History Response is ITM1-RED-XSML-WMNS, the Item/SKU field on the Display Purchase History Screen displays ITM1 RED XSML WMNS.

• If the MICROS Integration Item ID (L38) system control value is set to XREF, the system uses the Retail reference number passed in the ItemID in the Relate Get Transaction History Response to find the item number and SKU code in CWSerenade.

• If the item and SKU is not found in CWSerenade, the Item/SKU field displays the item and SKU in the format passed from Relate.

Description

A description of the item. If the item contains SKUs, this is the SKU description.

If the item is found in CWSerenade, from Description in the SKU or Item table.

If the item and SKU is not found in CWSerenade, the system defaults Store Only Product to the Description field.

Channel

The channel where the sales or return transaction took place.

Web displays if the RetailStoreID in the Relate Get Transaction History Response matches the value in the Default Location for Sales Download (K69) system control value and the PosTransactionPropertyValue for the PosTransactionPropertyCode Channel is ECOMM.

Call Center displays if the RetailStoreID in the Relate Get Transaction History Response matches the value in the Default Location for Sales Download (K69) system control value and the PosTransactionPropertyValue for the PosTransactionPropertyCode Channel is CATALOG.

Store-CODE, where CODE is the store code, displays if a RetailStoreID is defined in the Relate Get Transaction History Response and the transaction does not meet the Web or Call Center qualifications.

Trans Type

Defines whether the transaction was a sale or return.

Sale displays if the Line Type Element in the Relate Get Transaction History Response is Sale, CustomerOrderForDelivery, CustomerOrderForPickup, or saleForDelivery.

Return displays if the Line Type Element in the Relate Get Transaction History Response is Return.

Associate ID

The ID for the user that completed the transaction.

Note: This does not have to be a valid user in CWSerenade.

From OperatorID for a Sale, CustomerOrderForDelivery, CustomerOrderForPickup, saleForDelivery or Return line type transaction in the Relate Get Transaction History Response.

Qty

The quantity of the item associated with the transaction.

From Quantity in the Relate Get Transaction History Response for a Sale, CustomerOrderForDelivery, CustomerOrderForPickup, saleForDelivery or Return line type transaction.

Ext Price

The extended merchandise price of the transaction.

From ExtendedAmount in the Relate Get Transaction History Response for a Sale, CustomerOrderForDelivery, CustomerOrderForPickup, saleForDelivery or Return line type transaction.

Lifetime to Date

Sales Amount

The total life to date sales amount for the customer.

From TotalSalesAmount in the LifetimeActivitySummary class of the Relate Retrieve Customer Response.

Returns Amount

The total life to date return amount for the customer.

From TotalReturnsAmount in the LifetimeActivitySummary class of the Relate Retrieve Customer Response.

Net Amount

The lifetime to date net purchase amount for the customer.

The system uses the following calculation to determine the customer’s lifetime net amount:

Lifetime to Date Sales Amount - Lifetime to Date Returns Amount = Lifetime to Date Net Amount

From TotalSalesAmount and TotalReturnsAmount in the LifetimeActivitySummary class of the Relate Retrieve Customer Response.

Sales Items

The total life to date items sold for the customer.

From TotalItemsSoldCount in the LifetimeActivitySummary class of the Relate Retrieve Customer Response.

Returns Items

The total life to date items returned for the customer.

From TotalItemsReturnedCount in the LifetimeActivitySummary class of the Relate Retrieve Customer Response.

Net Items

The lifetime to date net item count for the customer.

The system uses the following calculation to determine the customer’s lifetime net item count:

Lifetime to Date Sales Items - Lifetime to Date Returns Items = Lifetime to Date Net Items

From TotalItemsSoldCount and TotalItemsReturnedCount in the LifetimeActivitySummary class of the Relate Retrieve Customer Response.

Year to Date

Sales Amount

The total year to date sales amount for the customer.

From YearToDateSalesAmount in the YearToDateActivitySummary class of the Relate Retrieve Customer Response.

Returns Amount

The total year to date return amount for the customer.

From YearToDateReturnsAmount in the YearToDateActivitySummary class of the Relate Retrieve Customer Response.

Net Amount

The year to date net purchase amount for the customer.

The system uses the following calculation to determine the customer’s year to date net amount:

Year to Date Sales Amount - Year to Date Returns Amount = Year to Date Net Amount

From YearToDateSalesAmount and YearToDateReturnsAmount in the YearToDateActivitySummary class of the Relate Retrieve Customer Response.

Sales Items

The total year to date items sold for the customer.

From YearToDateItemsSoldCount in the YearToDateActivitySummary class of the Relate Retrieve Customer Response.

Returns Items

The total year to date items returned for the customer.

From YearToDateItemsReturnedCount in the YearToDateActivitySummary class of the Relate Retrieve Customer Response.

Net Items

The year to date net item count for the customer.

The system uses the following calculation to determine the customer’s year to date net item count:

Year to Date Sales Items - Year to Date Returns Items = Year to Date Net Items

From YearToDateItemsSoldCount and YearToDateItemsReturnedCount in the YearToDateActivitySummary class of the Relate Retrieve Customer Response.

Reviewing Purchase History in Relate

You can view transactions on the Transaction History screen for a customer. To view the details for a transaction, click the transaction to open the Transaction Detail window. See Transaction History Screen in the Relate User Guide for screen details.

To view the details for a transaction, click the transaction to open the Transaction Detail window. See Transaction Detail Window in the Relate User Guide for screen details.

The Purchase Activity section of the Customer Dashboard also provides a summary of the transactions associated with a customer, including:

Total Sales Amount, Total Sales Item Count, Total Returns Amount, and Total Returns Item Count.

Year To Date Sales Amount, Year To Date Sales Item Count, Year To Date Returns Amount, and Year To Date Returns Item Count.

See Customer Dashboard in the Relate User Guide for screen details.

For more information: See the Customer Lookup / Edit section of the Relate User Guide for more information on reviewing sales and return transactions for a customer.

Relate Customer Services API v2.3

The Relate Customer Services API v2.3 is used to communicate with Relate to retrieve customer purchase history.

CWSerenade calls the Relate Customer Services API version 2.3 to generate the following messages:

Relate retrieveCustomer Method

Relate getTransactionHistory Method

The system uses the RELATE_CUSTOMER_SERVICE_PREFIX and RELATE_CUSTOMER_SERVICE_SUFFIX settings in the Relate Properties File to build the URL for communication with Relate.

Note: The Relate Customer Services API v2.3 is also used to interactively create and update customer information between Relate and CWSerenade; see the Relate Customer Integration for more information.

Relate log: CWSerenade logs the Relate transactions passed between CWSerenade and Relate in the CWSerenade Trace Log if its Logging Level is set to DEBUG.

See the Relate Batch Processing and Web Services Guide for more information on the Relate API interface.

Relate retrieveCustomer Method

The retrieveCustomer method retrieves customer information from Relate.

When called? The system calls this method when you select Purchase History to advance to the Display Purchase History Screen for a specified sold to customer.

Relate Retrieve Customer Request

CWSerenade sends the following information to Relate, using the Relate customerID to locate the customer in Relate.

Information

Description

customerId

The relate customer ID assigned to the sold to customer whose Relate purchase history you wish to review.

From the Relate ID in the Customer Sold To table.

AlternateKey

Allows you to cross reference a customer in Relate to a sold to customer in CWSerenade. To view alternate keys for a customer in Relate, select customer action ALTERNATE KEY to advance to the Customer Alternate Keys screen.

TypeCode

The entry for the RELATE_ALT_ID_SERENADE setting in the Relate Properties file. This is typically set to SERENADE_ID.

When retrieving purchase history from Relate, the system uses the Relate customerID to locate the customer in Relate.

AlternateID

The CWSerenade sold to customer number.

From the CST Customer # in the Customer Sold To table.

When retrieving purchase history from Relate, the system uses the Relate customerID to locate the customer in Relate.

cardNumber

The loyalty card number, if any, assigned to the customer in Relate.

When retrieving purchase history from Relate, the system uses the Relate customerID to locate the customer in Relate.

securityUserId

The Relate user ID with Security Group permission; this is the Relate user ID defined in the RELATE_SECURITY_ USER_ID setting of the Relate Properties file.

Sample Relate Retrieve Customer Request

The information relevant to retrieving purchase history is highlighted in the sample below.

<com.micros__retail.i11n.v1.relate.customer.RltGetCustomerRequestImpl>

<timeoutMillis__>0</timeoutMillis__>

<organizationId__>0</organizationId__>

<custServices__ class="com.micros_retail.i11n.v1.relate.customer.RltCustomerServicesImpl">

<connectionURL__>http://relateoms:8084/soap/REL/v2_3/CustomerServices?wsdl</connectionURL__>

<updateUser__>SERENADE-</updateUser__>

<timeOut__>15000</timeOut__>

<logSoap__>true</logSoap__>

<securityId__>jbenoit</securityId__>

<cacheApi__>false</cacheApi__>

</custServices__>

<retrievalKey__>11093</retrievalKey__>

<serviceURL>http://relateoms:8084/soap/REL/v2_3/CustomerServices?wsdl</serviceURL>

<timeOut>15000</timeOut>

<logSOAP>true</logSOAP>

<securityId>jbenoit</securityId>

<cacheAPI>false</cacheAPI>

</com.micros__retail.i11n.v1.relate.customer.RltGetCustomerRequestImpl>

Relate Retrieve Customer Response

The retrieveCustomer method returns the following classes:

LifetimeActivitySummary

YearToDateActivitySummary

LifetimeActivitySummary

Information

Description

TotalReturns

Amount

The total life to date return amount for the customer.

This value displays in the Lifetime to Date Returns Amount field on the Display Purchase History Screen.

TotalSalesAmount

The total life to date sales amount for the customer.

This value displays in the Lifetime to Date Sales Amount field on the Display Purchase History Screen.

TotalTransaction

Count

The total number of transactions lifetime to date.

TotalItemsSold

Count

The total life to date items sold for the customer.

This value displays in the Lifetime to Date Sales Items field on the Display Purchase History Screen.

TotalItems

ReturnedCount

The total life to date items returned for the customer.

This value displays in the Lifetime to Date Returns Items field on the Display Purchase History Screen.

YearToDateActivitySummary

Information

Description

YearToDate

ReturnsAmount

The total year to date return amount for the customer.

This value displays in the Year to Date Returns Amount field on the Display Purchase History Screen.

YearToDateSales

Amount

The total year to date sales amount for the customer.

This value displays in the Year to Date Sales Amount field on the Display Purchase History Screen.

YearToDate

TransactionCount

The total number of transactions year to date.

YearToDateItems

SoldCount

The total year to date items sold for the customer.

This value displays in the Year to Date Sales Items field on the Display Purchase History Screen.

YearToDateItems

ReturnedCount

The total year to date items returned for the customer.

This value displays in the Year to Date Returns Items field on the Display Purchase History Screen.

Sample Relate Retrieve Customer Response

The information relevant to purchase history is highlighted in the sample below.

<com.micros__retail.i11n.customer.GetCustomerResponse>

<failed__>false</failed__>

<serviceTimeInMillis__>0</serviceTimeInMillis__>

<responseObject__ class="com.dtv.csx.webservices.customer.v2_3.CustomerResponseType">

<customerID>11093</customerID>

<signupDate class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>19</orig__day>

<orig__hour>-2147483648</orig__hour>

<orig__minute>-2147483648</orig__minute>

<orig__second>-2147483648</orig__second>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>19</day>

<timezone>-300</timezone>

<hour>-2147483648</hour>

<minute>-2147483648</minute>

<second>-2147483648</second>

</signupDate>

<retailStoreID>69007</retailStoreID>

<firstPurchaseDate class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>-2147483648</orig__hour>

<orig__minute>-2147483648</orig__minute>

<orig__second>-2147483648</orig__second>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>-2147483648</hour>

<minute>-2147483648</minute>

<second>-2147483648</second>

</firstPurchaseDate>

<lastPurchaseDate class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>-2147483648</orig__hour>

<orig__minute>-2147483648</orig__minute>

<orig__second>-2147483648</orig__second>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>-2147483648</hour>

<minute>-2147483648</minute>

<second>-2147483648</second>

</lastPurchaseDate>

<validation>

<value></value>

<validFlag>true</validFlag>

</validation>

<source>Contact Center</source>

<prospect>false</prospect>

<householdKey></householdKey>

<lastUpdateInfo>

<updateUserID>SERENADE-KBOTTGER</updateUserID>

<updateDate class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>10</orig__hour>

<orig__minute>13</orig__minute>

<orig__second>6</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>10</hour>

<minute>13</minute>

<second>6</second>

<fractionalSecond>0.000</fractionalSecond>

</updateDate>

</lastUpdateInfo>

<affiliation>

<com.dtv.csx.webservices.customer.v2__3.AffiliationReturnType>

<retailStoreID>69007</retailStoreID>

</com.dtv.csx.webservices.customer.v2__3.AffiliationReturnType>

</affiliation>

<entityInformation>

<individual>

<name>

<name>

<com.dtv.csx.webservices.customer.v2__3.CustomerNameTypeReturnEntry>

<value>Rose</value>

<location>FIRST</location>

</com.dtv.csx.webservices.customer.v2__3.CustomerNameTypeReturnEntry>

<com.dtv.csx.webservices.customer.v2__3.CustomerNameTypeReturnEntry>

<value>B</value>

<location>MIDDLE</location>

</com.dtv.csx.webservices.customer.v2__3.CustomerNameTypeReturnEntry>

<com.dtv.csx.webservices.customer.v2__3.CustomerNameTypeReturnEntry>

<value>Matilda</value>

<location>LAST</location>

</com.dtv.csx.webservices.customer.v2__3.CustomerNameTypeReturnEntry>

</name>

</name>

<contactInformation>

<address>

<com.dtv.csx.webservices.customer.v2__3.AddressReturnType>

<addressLine1>10 ROSE WAY</addressLine1>

<city>TEMPLETON</city>

<country>US</country>

<territory>MA</territory>

<postalCode>01468</postalCode>

<contactPreferenceCode>Y</contactPreferenceCode>

<primaryFlag>true</primaryFlag>

<typeCode>HOME</typeCode>

<validFlag>true</validFlag>

<sequenceNumber>1</sequenceNumber>

</com.dtv.csx.webservices.customer.v2__3.AddressReturnType>

</address>

<eMail/>

<telephone/>

</contactInformation>

<personalSummary>

<maritalStatusCode>UNKNOWN</maritalStatusCode>

<rent>false</rent>

</personalSummary>

<socioEconomicProfile>

<highestEducationalLevelName></highestEducationalLevelName>

</socioEconomicProfile>

<lifetimeActivitySummary>

<totalReturnsAmount>140.010000</totalReturnsAmount>

<totalSalesAmount>158.960000</totalSalesAmount>

<totalTransactionCount>2</totalTransactionCount>

<totalItemsSoldCount>2</totalItemsSoldCount>

<totalItemsReturnedCount>1</totalItemsReturnedCount>

</lifetimeActivitySummary>

<yearToDateActivitySummary>

<yearToDateReturnsAmount>140.010000</yearToDateReturnsAmount>

<yearToDateSalesAmount>158.960000</yearToDateSalesAmount>

<yearToDateTransactionCount>2</yearToDateTransactionCount>

<yearToDateItemsSoldCount>2</yearToDateItemsSoldCount>

<yearToDateItemsReturnedCount>1</yearToDateItemsReturnedCount>

</yearToDateActivitySummary>

</individual>

</entityInformation>

<personalPreferences>

<contactPreference>

<com.dtv.csx.webservices.customer.v2__3.ContactPreferenceReturnType>

<value></value>

<contactType>MAIL</contactType>

<permission>true</permission>

</com.dtv.csx.webservices.customer.v2__3.ContactPreferenceReturnType>

<com.dtv.csx.webservices.customer.v2__3.ContactPreferenceReturnType>

<value></value>

<contactType>PHONE</contactType>

<permission>false</permission>

</com.dtv.csx.webservices.customer.v2__3.ContactPreferenceReturnType>

<com.dtv.csx.webservices.customer.v2__3.ContactPreferenceReturnType>

<value></value>

<contactType>FAX</contactType>

<permission>false</permission>

</com.dtv.csx.webservices.customer.v2__3.ContactPreferenceReturnType>

<com.dtv.csx.webservices.customer.v2__3.ContactPreferenceReturnType>

<value></value>

<contactType>EMAIL</contactType>

<permission>false</permission>

</com.dtv.csx.webservices.customer.v2__3.ContactPreferenceReturnType>

</contactPreference>

</personalPreferences>

<alternateKey>

<com.dtv.csx.webservices.customer.v2__3.AlternateKeyReturnType>

<alternateID>11093</alternateID>

<typeCode>XSTORE_CUST_ID</typeCode>

</com.dtv.csx.webservices.customer.v2__3.AlternateKeyReturnType>

<com.dtv.csx.webservices.customer.v2__3.AlternateKeyReturnType>

<alternateID>600</alternateID>

<typeCode>SERENADE_ID</typeCode>

</com.dtv.csx.webservices.customer.v2__3.AlternateKeyReturnType>

</alternateKey>

<customAttribute/>

<eligiblePromotionDeals/>

<customerCards>

<instrument>

<com.dtv.csx.webservices.customer.v2__3.InstrumentReturnType>

<cardNumber>3094812848072727</cardNumber>

<cardSerialNumber>1313201001000002</cardSerialNumber>

<primaryAccountHolderFlag>true</primaryAccountHolderFlag>

<accountId>

<com.dtv.csx.webservices.customer.v2__3.AccountIdType>

<value>19835</value>

<type>Award</type>

</com.dtv.csx.webservices.customer.v2__3.AccountIdType>

<com.dtv.csx.webservices.customer.v2__3.AccountIdType>

<value>19836</value>

<type>Loyalty</type>

</com.dtv.csx.webservices.customer.v2__3.AccountIdType>

</accountId>

<description>Benoit Loyalty Cards</description>

</com.dtv.csx.webservices.customer.v2__3.InstrumentReturnType>

<com.dtv.csx.webservices.customer.v2__3.InstrumentReturnType>

<cardNumber>7829545692246964</cardNumber>

<cardSerialNumber>1313201001000001</cardSerialNumber>

<primaryAccountHolderFlag>false</primaryAccountHolderFlag>

<accountId>

<com.dtv.csx.webservices.customer.v2__3.AccountIdType>

<value>19837</value>

<type>Award</type>

</com.dtv.csx.webservices.customer.v2__3.AccountIdType>

<com.dtv.csx.webservices.customer.v2__3.AccountIdType>

<value>19838</value>

<type>Loyalty</type>

</com.dtv.csx.webservices.customer.v2__3.AccountIdType>

</accountId>

<description>Benoit Loyalty Cards</description>

</com.dtv.csx.webservices.customer.v2__3.InstrumentReturnType>

</instrument>

</customerCards>

<maskData>false</maskData>

<securityPrivilege>READ_WRITE</securityPrivilege>

<systemCurrencyCode>USD</systemCurrencyCode>

<responseCode>OK</responseCode>

</responseObject__>

<customer__>

<customerId__>11093</customerId__>

<firstName__>Rose</firstName__>

<middleName__>B</middleName__>

<lastName__>Matilda</lastName__>

<homeStore__>69007</homeStore__>

<signUpStore__>69007</signUpStore__>

<customerPersonalInfo__>

<maritalStatus__>UNKNOWN</maritalStatus__>

</customerPersonalInfo__>

<customerActivitySummary__>

<totalReturnsAmount__>140.010000</totalReturnsAmount__>

<totalSalesAmount__>158.960000</totalSalesAmount__>

<totalTransactionCount__>2</totalTransactionCount__>

<totalItemsSoldCount__>2</totalItemsSoldCount__>

<totalItemsReturnedCount__>1</totalItemsReturnedCount__>

</customerActivitySummary__>

<addresses__>

<com.micros__retail.i11n.customer.Address>

<isPrimary__>true</isPrimary__>

<type__>HOME</type__>

<contactMethod__>Y</contactMethod__>

<line1__>10 ROSE WAY</line1__>

<city__>TEMPLETON</city__>

<state__>MA</state__>

<postal__>01468</postal__>

<country__>US</country__>

</com.micros__retail.i11n.customer.Address>

</addresses__>

<ids__>

<com.micros__retail.i11n.customer.CustomerId>

<id__>11093</id__>

<idType__>XSTORE_CUST_ID</idType__>

</com.micros__retail.i11n.customer.CustomerId>

<com.micros__retail.i11n.customer.CustomerId>

<id__>600</id__>

<idType__>SERENADE_ID</idType__>

</com.micros__retail.i11n.customer.CustomerId>

</ids__>

<customerContactPreferences__>

<com.micros__retail.i11n.customer.CustomerContactPreference>

<type__>MAIL</type__>

<permission__>true</permission__>

</com.micros__retail.i11n.customer.CustomerContactPreference>

<com.micros__retail.i11n.customer.CustomerContactPreference>

<type__>PHONE</type__>

<permission__>false</permission__>

</com.micros__retail.i11n.customer.CustomerContactPreference>

<com.micros__retail.i11n.customer.CustomerContactPreference>

<type__>FAX</type__>

<permission__>false</permission__>

</com.micros__retail.i11n.customer.CustomerContactPreference>

<com.micros__retail.i11n.customer.CustomerContactPreference>

<type__>EMAIL</type__>

<permission__>false</permission__>

</com.micros__retail.i11n.customer.CustomerContactPreference>

<com.micros__retail.i11n.customer.CustomerContactPreference>

<type__>RENT</type__>

<permission__>false</permission__>

</com.micros__retail.i11n.customer.CustomerContactPreference>

</customerContactPreferences__>

<customerCards__>

<com.micros__retail.i11n.customer.CustomerCard>

<cardNumber__>3094812848072727</cardNumber__>

<cardSerialNumber__>1313201001000002</cardSerialNumber__>

<cardDesc__>Benoit Loyalty Cards</cardDesc__>

</com.micros__retail.i11n.customer.CustomerCard>

<com.micros__retail.i11n.customer.CustomerCard>

<cardNumber__>7829545692246964</cardNumber__>

<cardSerialNumber__>1313201001000001</cardSerialNumber__>

<cardDesc__>Benoit Loyalty Cards</cardDesc__>

</com.micros__retail.i11n.customer.CustomerCard>

</customerCards__>

</customer__>

</com.micros__retail.i11n.customer.GetCustomerResponse>

Relate getTransactionHistory Method

The getTransactionHistory method retrieves the transaction history for a customer from Relate.

When called? The system calls this method when you select Purchase History to advance to the Display Purchase History Screen for a specified sold to customer. This method is called after receiving the Relate Retrieve Customer Response.

Relate Get Transaction History Request

CWSerenade sends the following information to Relate.

Information

Description

customerId

The relate customer ID assigned to the sold to customer whose Relate purchase history you wish to review; this is the Relate ID defined for the customer in the Customer Sold To table.

alternateKeyList

The alternate keys assigned to the customer.

This includes the CWSerenade customer number for which you wish to display Relate purchase history, identified with an alternateKeyListTypeCode of SERENADE_ID.

cardNumber

The loyalty card number assigned to the customer in Relate.

startDate

The start date for the requested purchase history transactions.

endDate

The end date for the requested purchase history transactions.

securityUserId

The Relate user ID with Security Group permission; this is the Relate user ID defined in the RELATE_SECURITY_ USER_ID setting of the Relate Properties file.

LineItemTypeCode

The type of line item to include in the returned transactions.

Sample Relate Retrieve Customer Request

The information relevant to retrieving purchase history is highlighted in the sample below.

<com.micros__retail.i11n.v1.relate.customer.RltGetCustomerTransRequestImpl>

<timeoutMillis__>0</timeoutMillis__>

<organizationId__>0</organizationId__>

<custServices__ class="com.micros_retail.i11n.v1.relate.customer.RltCustomerServicesImpl">

<connectionURL__>http://relateoms:8084/soap/REL/v2_3/CustomerServices?wsdl</connectionURL__>

<updateUser__>SERENADE-</updateUser__>

<timeOut__>15000</timeOut__>

<logSoap__>true</logSoap__>

<securityId__>jbenoit</securityId__>

<cacheApi__>false</cacheApi__>

</custServices__>

<id__>600</id__>

<idType__>SERENADE_ID</idType__>

<serviceURL>http://relateoms:8084/soap/REL/v2_3/CustomerServices?wsdl</serviceURL>

<timeOut>15000</timeOut>

<logSOAP>true</logSOAP>

<securityId>jbenoit</securityId>

</com.micros__retail.i11n.v1.relate.customer.RltGetCustomerTransRequestImpl>

Relate Get Transaction History Response

The getTransactionHistory method returns the TransactionType class.

TransactionType

Information

Description

CustomerID

The Relate customer ID.

Transaction

The transactions associated with the customer.

CancelFlag

Indicates whether the transaction was cancelled.

RetailStoreID

The store ID where the transaction was performed.

This value displays in the Channel field on the Display Purchase History Screen.

WorkstationID

The workstation ID where the transaction was performed.

SequenceNumber

The sequence number assigned to the transaction.

This value displays in the Trans ID field on the Display Purchase History Screen.

BusinessDayDate

The date when the transaction occurred.

This value displays in the Purchase Date field on the Display Purchase History Screen.

VoidFlag

Indicates whether the transaction has been voided.

BeginDateTime

The date and time when the transaction was started.

EndDateTime

The date and time when the transaction was completed.

OperatorID

The ID of the person that performed the transaction.

This value displays in the Associate ID field on the Display Purchase History Screen.

CurrencyCode

The currency ID used in the transaction.

OrgCurrencyCode

The currency ID used in the original transaction.

ExchangeRate

The exchange rate between the currencyCode and OrgCurrencyCode.

retailTransaction

lineItem

The line items that make up a retail transaction.

SequenceNumber

The sequence number of the line item.

BeginDateTime

The date and time at which the line item was started.

EndDateTime

The date and time at which the line item was completed.

LineItemTypes

The different type of line items.

saleForDelivery

Information for a sale for delivery item.

These transactions display on the Display Purchase History Screen with a Trans Type of Sale.

ItemID

The item ID.

This value displays in the Item/SKU field for a Trans Type of Sale.

UnitCostPrice

The cost of one sale item unit.

RegularSalesUnit

Price

The regular sale price of one item unit.

ActualSalesUnit

Price

The actual sale price of one item unit in this transaction.

ExtendedAmount

The total amount of the sale of the item.

This value displays in the Ext Price field for a Trans Type of Sale.

Quantity

The quantity of the item.

This value displays in the Qty field for a Trans Type of Sale.

SerialNumber

The serial number of the item.

AssociateID

The ID of the associate who entered the item.

This value displays in the Associate ID field for a Trans Type of Sale.

PercentageOfItem

The percentage of the item.

RetailPriceModifier

The modifiers that have been applied to the item price.

Delivery

Delivery destination information.

PreviousLayaway

Information for a previous layaway item.

These transactions do not display on the Display Purchase History Screen.

PreviousCustomerOrder

Information for a previous customer order item.

These transactions do not display on the Display Purchase History Screen.

CustomerOrderForDelivery

Information for an order for delivery item.

These transactions display on the Display Purchase History Screen with a Trans Type of Sale.

ItemID

The item ID.

This value displays in the Item/SKU field for a Trans Type of Sale.

UnitCostPrice

The cost of one sale item unit.

RegularSalesUnit

Price

The regular sale price of one item unit.

ActualSalesUnit

Price

The actual sale price of one item unit in this transaction.

ExtendedAmount

The total amount of the sale of the item.

This value displays in the Ext Price field for a Trans Type of Sale.

Quantity

The quantity of the item.

This value displays in the Qty field for a Trans Type of Sale.

SerialNumber

The serial number of the item.

AssociateID

The ID of the associate who entered the item.

This value displays in the Associate ID field for a Trans Type of Sale.

PercentageOfItem

The percentage of the item.

RetailPriceModifier

The modifiers that have been applied to the item price.

Delivery

Delivery information for the item.

Inventory

ReservationID

The ID of the inventory reservation.

From

The name used in the From: information.

CustomerOrderForPickup

Information for a customer order pickup item.

These transactions display on the Display Purchase History Screen with a Trans Type of Sale.

ItemID

The item ID.

This value displays in the Item/SKU field for a Trans Type of Sale.

UnitCostPrice

The cost of one sale item unit.

RegularSalesUnit

Price

The regular sale price of one item unit.

ActualSalesUnit

Price

The actual sale price of one item unit in this transaction.

ExtendedAmount

The total amount of the sale of the item.

This value displays in the Ext Price field for a Trans Type of Sale.

Quantity

The quantity of the item.

This value displays in the Qty field for a Trans Type of Sale.

SerialNumber

The serial number of the item.

AssociateID

The ID of the associate who entered the item.

This value displays in the Associate ID field for a Trans Type of Sale.

PercentageOfItem

The percentage of the item.

RetailPriceModifier

The modifiers that have been applied to the item price.

Delivery

Delivery information for the item.

Inventory

ReservationID

The ID of the inventory reservation.

From

The name used in the From: information.

Return

Information for a return item.

These transactions display on the Display Purchase History Screen with a Trans Type of Return.

ItemID

The item ID.

This value displays in the Item/SKU field for a Trans Type of Return.

UnitCostPrice

The cost of one returned item unit.

RegularSalesUnit

Price

The actual sale price of one returned item unit in this transaction.

ActualSalesUnit

Price

The actual sale price of one returned item unit in this transaction.

ExtendedAmount

The total amount of the sale of the returned item.

This value displays in the Ext Price field for a Trans Type of Return.

Quantity

The quantity of the returned item.

This value displays in the Qty field for a Trans Type of Return.

SerialNumber

The serial number of the item.

AssociateID

The ID of the associate who returned the item.

This value displays in the Associate ID field for a Trans Type of Return.

PercentageOfItem

The percentage of the returned item.

TransactionLink

A link to the transaction in which the item was sold.

Disposal

Indicates where the returned item was placed, such as back in stock.

Reason

The reason for the return.

ReturnType

The ID for the type of return.

ReasonComment

Additional comments about the reason for the return.

RetailPriceModifier

The modifiers that have been applied to the returned item price.

Sale

Information for a sold item.

These transactions display on the Display Purchase History Screen with a Trans Type of Sale.

ItemID

The item ID.

This value displays in the Item/SKU field for a Trans Type of Sale.

UnitCostPrice

The cost of one sale item unit.

RegularSalesUnit

Price

The regular sale price of one item unit.

ActualSalesUnit

Price

The actual sale price of one item unit in this transaction.

ExtendedAmount

The total amount of the sale of the item.

This value displays in the Ext Price field for a Trans Type of Sale.

Quantity

The quantity of the item.

This value displays in the Qty field for a Trans Type of Sale.

SerialNumber

The serial number of the item.

AssociateID

The ID of the associate who entered the item.

This value displays in the Associate ID field for a Trans Type of Sale.

PercentageOfItem

The percentage of the item.

RetailPriceModifier

The modifiers that have been applied to the item price.

Tender

Information about the tender applied to the transaction.

This information does not display on the Display Purchase History Screen.

Tax

Information about the tax applied to the transaction.

This information does not display on the Display Purchase History Screen.

DocumentType

The type of document.

ActivityCode

The ID code for the item activity.

RetailPriceModifier

Modifiers that have been applied to the layaway item price.

TotalType

Information about the total types for the transaction.

This information does not display on the Display Purchase History Screen.

CustomerAccount

The customer loyalty account associated with the transaction.

This information does not display on the Display Purchase History Screen.

Customer

The customer associated with the transaction.

This information does not display on the Display Purchase History Screen.

Name

The customer’s name.

Address

The customer’s address.

TelephoneNumber

The customer’s telephone number.

Email

The customer’s email address.

AccountNumber

The customer’s account number.

AlternateKey

Alternate keys identifying the customer.

TransactionLink

A link to any associated transactions. This is typically used in a return line item type to reference the original transaction.

This information does not display on the Display Purchase History Screen.

PosTransactionProperties

Properties of the POS transaction.

CWSerenade uses this information to determine the Channel where the sales or return transaction took place.

Web displays in the Channel field on the Display Purchase History Screen if the RetailStoreID in the Relate Get Transaction History Response matches the value in the Default Location for Sales Download (K69) system control value and the PosTransactionPropertyValue for the PosTransactionPropertyCode Channel is ECOMM.

Call Center displays in the Channel field on the Display Purchase History Screen if the RetailStoreID in the Relate Get Transaction History Response matches the value in the Default Location for Sales Download (K69) system control value and the PosTransactionPropertyValue for the PosTransactionPropertyCode Channel is CATALOG.

Store-CODE, where CODE is the store code, displays in the Channel field on the Display Purchase History Screen if the RetailStoreID in the Relate Get Transaction History Response does not match the value in the Default Location for Sales Download (K69) system control value and there is no PosTransactionPropertyCode with a value of Channel.

PosTransaction

PropertyCode

ID code for the POS transaction property.

PosTransaction

PropertyValue

Value of the POS transaction property.

Sample Relate Get Transaction History Response

The information relevant to purchase history in highlighted in the sample below.

<com.micros__retail.i11n.customer.GetCustomerTransResponse>

<failed__>false</failed__>

<serviceTimeInMillis__>0</serviceTimeInMillis__>

<transactions__ class="com.dtv.csx.webservices.customer.v2_3.TransactionReturnType">

<customerID>11093</customerID>

<transactions>

<transaction>

<com.dtv.csx.webservices.customer.v2__3.TransactionType>

<retailStoreID>320</retailStoreID>

<workstationID>1</workstationID>

<sequenceNumber>11257</sequenceNumber>

<businessDayDate class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>-2147483648</orig__hour>

<orig__minute>-2147483648</orig__minute>

<orig__second>-2147483648</orig__second>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>-2147483648</hour>

<minute>-2147483648</minute>

<second>-2147483648</second>

</businessDayDate>

<voidFlag>false</voidFlag>

<beginDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>10</orig__hour>

<orig__minute>17</orig__minute>

<orig__second>0</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>10</hour>

<minute>17</minute>

<second>0</second>

<fractionalSecond>0.000</fractionalSecond>

</beginDateTime>

<endDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>10</orig__hour>

<orig__minute>17</orig__minute>

<orig__second>0</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>10</hour>

<minute>17</minute>

<second>0</second>

<fractionalSecond>0.000</fractionalSecond>

</endDateTime>

<operatorID>100</operatorID>

<currencyCode>USD</currencyCode>

<orgCurrencyCode>USD</orgCurrencyCode>

<exchangeRate>1.000000</exchangeRate>

<retailTransaction>

<lineItem>

<com.dtv.csx.webservices.customer.v2__3.LineItemType>

<sequenceNumber>1</sequenceNumber>

<beginDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>10</orig__hour>

<orig__minute>18</orig__minute>

<orig__second>0</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>10</hour>

<minute>18</minute>

<second>0</second>

<fractionalSecond>0.000</fractionalSecond>

</beginDateTime>

<endDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>10</orig__hour>

<orig__minute>18</orig__minute>

<orig__second>0</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>10</hour>

<minute>18</minute>

<second>0</second>

<fractionalSecond>0.000</fractionalSecond>

</endDateTime>

<__return>

<itemID>RELATE</itemID>

<unitCostPrice>-5.000000</unitCostPrice>

<regularSalesUnitPrice>140.010000</regularSalesUnitPrice>

<actualSalesUnitPrice>140.010000</actualSalesUnitPrice>

<extendedAmount>140.010000</extendedAmount>

<quantity>1.00</quantity>

<transactionLink>

<retailStoreID>320</retailStoreID>

<workstationID>1</workstationID>

<sequenceNumber>11256</sequenceNumber>

<businessDayDate class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>-2147483648</orig__hour>

<orig__minute>-2147483648</orig__minute>

<orig__second>-2147483648</orig__second>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>-2147483648</hour>

<minute>-2147483648</minute>

<second>-2147483648</second>

</businessDayDate>

</transactionLink>

<reason>Return</reason>

<itemType>Stock</itemType>

</__return>

<voidFlag>false</voidFlag>

</com.dtv.csx.webservices.customer.v2__3.LineItemType>

<com.dtv.csx.webservices.customer.v2__3.LineItemType>

<sequenceNumber>2</sequenceNumber>

<beginDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>10</orig__hour>

<orig__minute>22</orig__minute>

<orig__second>16</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>10</hour>

<minute>22</minute>

<second>16</second>

<fractionalSecond>0.000</fractionalSecond>

</beginDateTime>

<endDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>10</orig__hour>

<orig__minute>22</orig__minute>

<orig__second>17</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>10</hour>

<minute>22</minute>

<second>17</second>

<fractionalSecond>0.000</fractionalSecond>

</endDateTime>

<tax>

<taxableAmount>-140.010000</taxableAmount>

<amount>-4.200000</amount>

</tax>

<voidFlag>false</voidFlag>

</com.dtv.csx.webservices.customer.v2__3.LineItemType>

<com.dtv.csx.webservices.customer.v2__3.LineItemType>

<sequenceNumber>3</sequenceNumber>

<beginDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>10</orig__hour>

<orig__minute>23</orig__minute>

<orig__second>41</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>10</hour>

<minute>23</minute>

<second>41</second>

<fractionalSecond>0.000</fractionalSecond>

</beginDateTime>

<endDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>10</orig__hour>

<orig__minute>23</orig__minute>

<orig__second>43</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>10</hour>

<minute>23</minute>

<second>43</second>

<fractionalSecond>0.000</fractionalSecond>

</endDateTime>

<tender>

<tenderID>USD_CURRENCY</tenderID>

<amount>-144.210000</amount>

</tender>

<voidFlag>false</voidFlag>

</com.dtv.csx.webservices.customer.v2__3.LineItemType>

</lineItem>

<total>

<com.dtv.csx.webservices.customer.v2__3.TotalType>

<value>140.010000</value>

<totalType>TransactionNetAmount</totalType>

</com.dtv.csx.webservices.customer.v2__3.TotalType>

<com.dtv.csx.webservices.customer.v2__3.TotalType>

<value>-144.210000</value>

<totalType>TransactionGrandAmount</totalType>

</com.dtv.csx.webservices.customer.v2__3.TotalType>

<com.dtv.csx.webservices.customer.v2__3.TotalType>

<value>-4.200000</value>

<totalType>TransactionTaxAmount</totalType>

</com.dtv.csx.webservices.customer.v2__3.TotalType>

</total>

<typeCode>Transaction</typeCode>

<transactionStatus>Delivered</transactionStatus>

</retailTransaction>

<posTransactionProperties>

<com.dtv.csx.webservices.customer.v2__3.PosTransactionPropertiesType>

<posTransactionPropertyCode>RECEIPT_DELIVERY_METHOD</posTransactionPropertyCode>

<posTransactionPropertyValue>PAPER</posTransactionPropertyValue>

</com.dtv.csx.webservices.customer.v2__3.PosTransactionPropertiesType>

</posTransactionProperties>

<cancelFlag>false</cancelFlag>

</com.dtv.csx.webservices.customer.v2__3.TransactionType>

<com.dtv.csx.webservices.customer.v2__3.TransactionType>

<retailStoreID>320</retailStoreID>

<workstationID>1</workstationID>

<sequenceNumber>11255</sequenceNumber>

<businessDayDate class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>-2147483648</orig__hour>

<orig__minute>-2147483648</orig__minute>

<orig__second>-2147483648</orig__second>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>-2147483648</hour>

<minute>-2147483648</minute>

<second>-2147483648</second>

</businessDayDate>

<voidFlag>false</voidFlag>

<beginDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>45</orig__minute>

<orig__second>11</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>9</hour>

<minute>45</minute>

<second>11</second>

<fractionalSecond>0.000</fractionalSecond>

</beginDateTime>

<endDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>45</orig__minute>

<orig__second>45</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>9</hour>

<minute>45</minute>

<second>45</second>

<fractionalSecond>0.000</fractionalSecond>

</endDateTime>

<operatorID>100</operatorID>

<currencyCode>USD</currencyCode>

<orgCurrencyCode>USD</orgCurrencyCode>

<exchangeRate>1.000000</exchangeRate>

<retailTransaction>

<lineItem>

<com.dtv.csx.webservices.customer.v2__3.LineItemType>

<sequenceNumber>1</sequenceNumber>

<beginDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>46</orig__minute>

<orig__second>16</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>9</hour>

<minute>46</minute>

<second>16</second>

<fractionalSecond>0.000</fractionalSecond>

</beginDateTime>

<endDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>46</orig__minute>

<orig__second>17</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>9</hour>

<minute>46</minute>

<second>17</second>

<fractionalSecond>0.000</fractionalSecond>

</endDateTime>

<saleForDelivery>

<itemID>RELATE</itemID>

<unitCostPrice>5.000000</unitCostPrice>

<regularSalesUnitPrice>150.000000</regularSalesUnitPrice>

<actualSalesUnitPrice>140.010000</actualSalesUnitPrice>

<extendedAmount>140.010000</extendedAmount>

<quantity>1.00</quantity>

<percentageOfItem>

<associateID>100</associateID>

<percentage>1.0000</percentage>

</percentageOfItem>

<itemType>Stock</itemType>

</saleForDelivery>

<voidFlag>false</voidFlag>

</com.dtv.csx.webservices.customer.v2__3.LineItemType>

<com.dtv.csx.webservices.customer.v2__3.LineItemType>

<sequenceNumber>2</sequenceNumber>

<beginDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>10</orig__month>

<orig__day>3</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>16</orig__minute>

<orig__second>17</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-240</orig__timezone>

<year>2014</year>

<month>10</month>

<day>3</day>

<timezone>-240</timezone>

<hour>9</hour>

<minute>16</minute>

<second>17</second>

<fractionalSecond>0.000</fractionalSecond>

</beginDateTime>

<endDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>10</orig__month>

<orig__day>3</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>16</orig__minute>

<orig__second>17</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-240</orig__timezone>

<year>2014</year>

<month>10</month>

<day>3</day>

<timezone>-240</timezone>

<hour>9</hour>

<minute>16</minute>

<second>17</second>

<fractionalSecond>0.000</fractionalSecond>

</endDateTime>

<sale>

<itemID>RELATE</itemID>

<unitCostPrice>5.000000</unitCostPrice>

<regularSalesUnitPrice>0.000000</regularSalesUnitPrice>

<actualSalesUnitPrice>18.950000</actualSalesUnitPrice>

<extendedAmount>18.950000</extendedAmount>

<quantity>1.00</quantity>

<percentageOfItem>

<associateID>100</associateID>

<percentage>0.0000</percentage>

</percentageOfItem>

<itemType>Fee</itemType>

</sale>

<voidFlag>false</voidFlag>

</com.dtv.csx.webservices.customer.v2__3.LineItemType>

<com.dtv.csx.webservices.customer.v2__3.LineItemType>

<sequenceNumber>3</sequenceNumber>

<beginDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>58</orig__minute>

<orig__second>16</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>9</hour>

<minute>58</minute>

<second>16</second>

<fractionalSecond>0.000</fractionalSecond>

</beginDateTime>

<endDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>58</orig__minute>

<orig__second>17</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>9</hour>

<minute>58</minute>

<second>17</second>

<fractionalSecond>0.000</fractionalSecond>

</endDateTime>

<tax>

<taxableAmount>140.010000</taxableAmount>

<amount>4.200000</amount>

</tax>

<voidFlag>false</voidFlag>

</com.dtv.csx.webservices.customer.v2__3.LineItemType>

<com.dtv.csx.webservices.customer.v2__3.LineItemType>

<sequenceNumber>4</sequenceNumber>

<beginDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>59</orig__minute>

<orig__second>16</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>9</hour>

<minute>59</minute>

<second>16</second>

<fractionalSecond>0.000</fractionalSecond>

</beginDateTime>

<endDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>59</orig__minute>

<orig__second>17</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>9</hour>

<minute>59</minute>

<second>17</second>

<fractionalSecond>0.000</fractionalSecond>

</endDateTime>

<tax>

<taxableAmount>18.950000</taxableAmount>

<amount>0.000000</amount>

</tax>

<voidFlag>false</voidFlag>

</com.dtv.csx.webservices.customer.v2__3.LineItemType>

<com.dtv.csx.webservices.customer.v2__3.LineItemType>

<sequenceNumber>5</sequenceNumber>

<beginDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>59</orig__minute>

<orig__second>41</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>9</hour>

<minute>59</minute>

<second>41</second>

<fractionalSecond>0.000</fractionalSecond>

</beginDateTime>

<endDateTime class="org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl">

<orig__year>2014</orig__year>

<orig__month>11</orig__month>

<orig__day>25</orig__day>

<orig__hour>9</orig__hour>

<orig__minute>59</orig__minute>

<orig__second>43</orig__second>

<orig__fracSeconds>0.000</orig__fracSeconds>

<orig__timezone>-300</orig__timezone>

<year>2014</year>

<month>11</month>

<day>25</day>

<timezone>-300</timezone>

<hour>9</hour>

<minute>59</minute>

<second>43</second>

<fractionalSecond>0.000</fractionalSecond>

</endDateTime>

<tender>

<tenderID>4444</tenderID>

<amount>170.160000</amount>

</tender>

<voidFlag>false</voidFlag>

</com.dtv.csx.webservices.customer.v2__3.LineItemType>

</lineItem>

<total>

<com.dtv.csx.webservices.customer.v2__3.TotalType>

<value>158.960000</value>

<totalType>TransactionNetAmount</totalType>

</com.dtv.csx.webservices.customer.v2__3.TotalType>

<com.dtv.csx.webservices.customer.v2__3.TotalType>

<value>170.160000</value>

<totalType>TransactionGrandAmount</totalType>

</com.dtv.csx.webservices.customer.v2__3.TotalType>

<com.dtv.csx.webservices.customer.v2__3.TotalType>

<value>4.200000</value>

<totalType>TransactionTaxAmount</totalType>

</com.dtv.csx.webservices.customer.v2__3.TotalType>

</total>

<typeCode>Transaction</typeCode>

<transactionStatus>Delivered</transactionStatus>

</retailTransaction>

<posTransactionProperties>

<com.dtv.csx.webservices.customer.v2__3.PosTransactionPropertiesType>

<posTransactionPropertyCode>RECEIPT_DELIVERY_METHOD</posTransactionPropertyCode>

<posTransactionPropertyValue>PAPER</posTransactionPropertyValue>

</com.dtv.csx.webservices.customer.v2__3.PosTransactionPropertiesType>

</posTransactionProperties>

<cancelFlag>false</cancelFlag>

</com.dtv.csx.webservices.customer.v2__3.TransactionType>

</transaction>

</transactions>

<securityPrivilege>READ_WRITE</securityPrivilege>

<maskData>false</maskData>

</transactions__>

</com.micros__retail.i11n.customer.GetCustomerTransResponse>

CS04_14 Serenade 5.0 March 2015