Skip to main content

How To Configure Supplementary Transaction Reference Entity

Introduction

The Supplementary Transaction Reference feature enables reference codes - such as gift receipt references - to be attached to POS transactions for scanning, storage, and retrieval. Once configured, customers can use the supplementary reference number to return a transaction without the original receipt.

The purpose of this guide is to demonstrate the steps required to configure the Supplementary Transaction Reference feature in Enactor POS, update the return prompt message in Application Translations, and broadcast the configuration to the POS.


Overview

The following steps are required to enable Supplementary Transaction Reference:

  1. Importing the Process Connection XMLs - Import the RestServiceConnection XML configuration files into the Estate Manager
  2. Application Translations - Update the return screen prompt to reflect the supplementary reference number as an accepted input
  3. Broadcasting - Deliver configuration changes to the POS

Prerequisites

Before starting, you should have the following resources in place:

  • Enactor Estate Manager
  • Enactor POS (configured and connected to the Estate Manager)

You should be familiar with the following:

  • Estate Manager configuration
  • Data broadcasting

Configuration Steps

Importing the Process Connection XMLs

The RestServiceConnection Process Connection Type must be present on the Estate Manager. Import the two XML configuration samples below into the Estate Manager before proceeding.

core:processConnections
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch>

<core:processConnections 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:ns10="http://www.enactor.com/retail/storedRestaurantSaleTransaction/service" xmlns:ns11="http://www.enactor.com/addressLookup/service" xmlns:ns13="http://www.enactor.com/retail/restaurantTableStatus/service" xmlns:ns14="http://www.enactor.com/crm/customerLoyalty/service" xmlns:ns4="http://www.enactor.com/crm" xmlns:ns9="http://www.enactor.com/retail/storedRetailTransaction/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">
<core:processConnectionsId>RestServiceConnections</core:processConnectionsId>
<core:name>Extension for Rest Connections</core:name>

<core:connectedProcesses>
<core:connectedApplication>
<core:processId>TransactionReference</core:processId>
<core:connectedApplicationProcessMetaData>
<core:inputs/>
<core:outputs>
<core:output>SaveTransactionReference</core:output>
<core:output>SearchTransactionReference</core:output>
</core:outputs>
</core:connectedApplicationProcessMetaData>
<core:uiSettings xsi:type="tools:ConnectedProcessEditorSettings">
<core:constraint xsi:type="core:UIPositionConstraint">
<core:x>161</core:x>
<core:y>228</core:y>
</core:constraint>
<tools:displayedSections>
<item>OUTPUTS</item>
</tools:displayedSections>
</core:uiSettings>
</core:connectedApplication>
</core:connectedProcesses>
<core:connectionProviders>
<core:restServiceConnection>
<core:endpointReference xsi:type="core:restEndpoint">
<core:accountCredentialsId>REST_API_ACCESS</core:accountCredentialsId>
<core:isDynamicEndpoint>true</core:isDynamicEndpoint>
<core:url>${Server.EMWS.URL.Base}/WebRestApi/rest/retailTransaction/reference</core:url>
<core:httpMethod>POST</core:httpMethod>
<core:queryParams/>
<core:headers/>
<core:authenticationType>BASIC</core:authenticationType>
<core:payloadFormat>JSON</core:payloadFormat>
<core:requestTransformParams/>
<core:responseTransformParams/>
</core:endpointReference>
<core:connectionProviderId>SaveTransactionReferenceREST</core:connectionProviderId>
<core:name>SaveTransactionReference-REST</core:name>
</core:restServiceConnection>
<core:restServiceConnection>
<core:endpointReference xsi:type="core:restEndpoint">
<core:accountCredentialsId>REST_API_ACCESS</core:accountCredentialsId>
<core:isDynamicEndpoint>true</core:isDynamicEndpoint>
<core:url>${Server.EMWS.URL.Base}/WebRestApi/rest/retailTransaction/reference/search</core:url>
<core:httpMethod>GET</core:httpMethod>
<core:queryParams>
<core:param value="#{transactionId}" name="transactionId">
<core:interfaceName>java.lang.String</core:interfaceName>
</core:param>
<core:param value="#{supplementaryReference}" name="supplementaryReference">
<core:interfaceName>java.lang.String</core:interfaceName>
</core:param>
</core:queryParams>
<core:headers/>
<core:authenticationType>BASIC</core:authenticationType>
<core:payloadFormat>JSON</core:payloadFormat>
<core:requestTransformParams/>
<core:responseTransformParams/>
</core:endpointReference>
<core:connectionProviderId>SearchTransactionReferenceREST</core:connectionProviderId>
<core:name>SearchTransactionReference-REST</core:name>
</core:restServiceConnection>
</core:connectionProviders>
<core:queues/>
<core:webServiceGroups>
<core:webServiceGroup>
<core:processId>TransactionReferenceService</core:processId>
<core:webServiceGroupMetaData>
<core:connectionProviders>
<core:provider>SaveTransactionReferenceREST</core:provider>
<core:provider>SearchTransactionReferenceREST</core:provider>
</core:connectionProviders>
</core:webServiceGroupMetaData>
<core:uiSettings xsi:type="core:UIEditorSettings">
<core:constraint xsi:type="core:UIPositionConstraint">
<core:x>457</core:x>
<core:y>227</core:y>
</core:constraint>
</core:uiSettings>
</core:webServiceGroup>
</core:webServiceGroups>
<core:connections>
<core:processConnection>
<core:connectionId>TransactionReference-1</core:connectionId>
<core:fromId>TransactionReference</core:fromId>
<core:fromOutputId>SaveTransactionReference</core:fromOutputId>
<core:fromType>PROCESS</core:fromType>
<core:toId>TransactionReferenceService</core:toId>
<core:toType>SERVICE</core:toType>
<core:providerId>SaveTransactionReferenceREST</core:providerId>
</core:processConnection>
<core:processConnection>
<core:connectionId>TransactionReference-2</core:connectionId>
<core:fromId>TransactionReference</core:fromId>
<core:fromOutputId>SearchTransactionReference</core:fromOutputId>
<core:fromType>PROCESS</core:fromType>
<core:toId>TransactionReferenceService</core:toId>
<core:toType>SERVICE</core:toType>
<core:providerId>SearchTransactionReferenceREST</core:providerId>
</core:processConnection>
</core:connections>
<core:parameters/>
</core:processConnections>

</Batch>
core:processConnectionsType
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch>

<core:processConnectionsType 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:ns14="http://www.enactor.com/crm/customerLoyalty/service" xmlns:ns4="http://www.enactor.com/crm" xmlns:ns5="http://www.enactor.com/retail/storedRestaurantSaleTransaction/service" xmlns:ns6="http://www.enactor.com/retail/storedRetailTransaction/service" xmlns:ns8="http://www.enactor.com/retail/restaurantTableStatus/service" xmlns:ns9="http://www.enactor.com/addressLookup/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">
<core:description>Connection strategy for Pos and Estate Manager for Rest Services</core:description>

<core:name>Extension for Rest Service Connections</core:name>
<core:processConnectionsDefId>RestServiceConnections</core:processConnectionsDefId>
<core:extendingConnectedProcessId>StandardPosBackOfficeEstateManager</core:extendingConnectedProcessId>
<core:extensionApplicableHostIds>
<core:extensionApplicableHostId>POS</core:extensionApplicableHostId>
<core:extensionApplicableHostId>MASTER_POS</core:extensionApplicableHostId>
<core:extensionApplicableHostId>ESTATE_MANAGER</core:extensionApplicableHostId>
</core:extensionApplicableHostIds>
</core:processConnectionsType>

</Batch>

This completes the Importing the Process Connection XMLs configuration.


Application Translations

The return screen prompt can be updated to reflect that a supplementary reference number is an accepted input. This is configured in Application Translations Maintenance on the Estate Manager.

Navigate to Application Translations Maintenance using the Search or the path:

Configuration > Organisation > Application Translations

Select Enactor POS from the Application Package dropdown and wait for the Message Sets list to load.

Application Translations Maintenance showing Enactor POS selected as the Application Package with the Message Sets list loading

Select Enactor POS from the Application Package dropdown and wait for the Message Sets list to load.

Scroll to the Transaction Message Set and select the + symbol to expand it, or the edit icon if amendments have already been made.

Application Translations Maintenance showing the Transaction Message Set in the list with the + expand symbol

Scroll to the Transaction Message Set and select the + symbol to expand it, or the edit icon if amendments have already been made.

Scroll to the message with ID ENTER_ORIGINAL_TRANSACTION_ID and enter the amended message text.

Application Translations Maintenance showing the ENTER_ORIGINAL_TRANSACTION_ID message with the updated return prompt text entered

Locate the ENTER_ORIGINAL_TRANSACTION_ID message and enter the updated prompt text. Select Save to apply the changes.

The table below shows where the return message is stored:

FieldValue
Application PackageEnactor POS
Message SetTransaction
Message FilePos/Transaction/TransactionMessages
Message IDENTER_ORIGINAL_TRANSACTION_ID
tip

For example, update the message from "Please scan the transaction ID or select one of the available options." to "Please scan the transaction ID or enter the supplementary reference number." This ensures clarity for users at the point of return.

This completes the Application Translations configuration.


Broadcasting

To deliver the configuration changes to the POS, broadcast the following entities:

  • Process Connections Def
  • Process Connections Type
  • Message Resources

This completes the Broadcasting configuration.


POS Functionality

Gift Receipt Reference Functionality

Start the POS and log in.

Enactor POS login screen showing the username and password entry fields

Start the POS and log in using your credentials to begin a transaction.

Select Sales > Receipts > Request Gift Receipt.

POS Sales menu showing the navigation path to the Request Gift Receipt option

Select Sales then Receipts then Request Gift Receipt to initiate a gift receipt transaction.

Add an item to the basket and select total, then select a receipt style and complete the transaction.

POS receipt style selection screen showing available receipt options after completing a transaction

Select a receipt style and complete the transaction. A supplementary transaction reference is generated and attached to the transaction record.

Transaction XML Without Supplementary Reference

The following shows the transaction XML structure for a standard transaction without a supplementary reference attached:

Transaction XML showing standard structure without a supplementaryReference element

A standard transaction XML record without a supplementary reference. No supplementaryReference element is present.

Transaction XML With Supplementary Reference

The following shows the transaction XML structure for a transaction with a supplementary reference attached:

Transaction XML showing structure with a supplementaryReference element containing the gift receipt reference code

The transaction XML with a supplementary reference attached, showing the reference code associated with the gift receipt.

Detailed transaction XML showing the supplementaryReference element structure with reference code and type values

The detailed supplementaryReference element structure within the transaction XML, showing the reference code and type values.

Returning a Transaction via Supplementary Reference Number

Select Returns from the POS main menu.

POS Returns menu showing the available return options including Return from Receipt

Select Returns from the main POS menu to access the return options.

Select Return from Receipt and enter the supplementary reference number.

POS Return from Receipt screen showing the input field for entering the supplementary reference number

Select Return from Receipt and enter the supplementary reference number to locate the original transaction.

POS Returns menu displayed after the supplementary reference number is entered

The returns menu is displayed after the supplementary reference number has been entered.

POS return transaction confirmation screen showing the located transaction details ready for return processing

The original transaction is located and displayed for confirmation. Complete the return process as required.