Skip to main content

How To Guide Native iOS POS Installation WIP

Introduction

The purpose of this document is to describe the necessary configuration needed to install the Enactor Native POS application on an iOS device

Overview

This guide will cover the installation of the Enactor Native POS application on an iOS device.

The Estate Manager must be installed and configured before you install the Native POS application. Additionally, the following entities should be configured prior to installation: Device, Location, and POS terminal. Configuration steps for device, location, and POS terminal settings are described in the separate document: How To Configure a New Store.

The Enactor Native POS application can be downloaded and installed from the Apple App Store. When the Enactor Native POS is launched for the first time, the application initialises without any device-specific configuration. During serial number registration, the device specific configuration will be downloaded based on the configurations set in the Estate Manager.

Prerequisites

To complete the installation, you need:

  • An iOS device which utilises a minimum of 128GB is recommended.

  • iOS versions 17.0 to 18.7 are recommended.

  • Estate Manager on version 2.7.1529 or greater.

  • The following configuration present in the Estate Manager:

    • Option set - NATIVE_POS_CONFIG_OPTIONS

    • User - BROADCAST_USER

    • Predefined broadcast - NATIVE_POS_PDB

    • Process detail – PingExtension

    • Pos Terminal Template - REACT_RETAIL_REDUCED_POS_TEMPLATE

  • Network connectivity to the Estate Manager.

  • Network connectivity to the Store Server (v2.7.1529 or greater), if applicable.

* Contact your Enactor CSM to receive any of these.

If the Embedded PDC is used, you will also need the following payment configuration:

  • Device (for the PDC)

  • Payment Device (for the PED)

  • Payment Device Host (for the PDC)

  • EFT Merchant ID (for the location)

  • EFT Terminal ID (for the PDC)

Deployment Models

The Native POS configuration will depend on the deployment model. Specifically, will the store server be deployed or will the Native POS connect directly to the Estate Manager.

Store Server

When a store server is deployed for a location, the Native POS will need additional information about the store server hostname for each of the component servers - application, processing, services, and reports.

The process connection will be StandardPosBackOfficeEstateManager.

ios-deployment-with-store-server

No Store Server

When the store server is not deployed for a location, the Native POS will connect to the Estate Manager for the component servers - application, processing, services, and reports. Use the Estate Manager hostnames for the store server component server hostnames.

The process connection will be StandardPosEstateManager.

ios-deployment-without-store-server

Configuration Steps

The following steps outline how to configure the Option Set, Client Configuration Set, and Device to enable serial registration for a Native POS device.

Attribute / Option Sets

Option Sets are typically used to create user-configurable data entry fields, for which Value options may also be supplied. The option set described in this step contains all the necessary properties used by the Enactor Native POS application.

The Attribute / Option Set maintenance application can be accessed through:

Configuration -> Merchandise -> Attribute / Option Sets

ios-attribute-option-sets-menu

ios-option-sets-list-view

Find and press View on the NATIVE_POS_CONFIG_OPTIONS entry to view its contents. This Option Set is included in the Standard Configuration 2 bundle.

ios-native-pos-config-options-view

ios-client-configuration-region-settings

This entry is of type 'Client Configuration' for the Region 'All' and is already populated with core, additional, and payment configuration options.

Core Configuration

NameID
Development Mode EnabledCommon.DevelopmentMode
Axis2 URLaxis2.url
Broadcast Default Download Server Host NameBroadcast.DefaultDownloadServerHostName
Broadcast Default Download Server PortBroadcast.DefaultDownloadServerPort
Bpel Runtime URLBpel.RuntimeURL
Report PDF Viewer CommandReport.PDFViewerCommand
Back Office App URL BaseServer.BOApp.URL.Base
Back Office Proc URL BaseServer.BOProc.URL.Base
Back Office Proc RMI URL BaseServer.BOProcRMI.URL.Base
Back Office Reports URL BaseServer.BOReports.URL.Base
Back Office Web Service URL BaseServer.BOWS.URL.Base
Business Processing URL BaseServer.BP.URL.Base
Card Authorisation 1 URL BaseServer.CardAuth1.URL.Base
Card Authorisation 2 URL BaseServer.CardAuth2.URL.Base
Gift Card Authorisation 1 URL BaseServer.GiftCardAuth1.URL.Base
Gift Card Authorisation 2 URL BaseServer.GiftCardAuth2.URL.Base
CM App URL BaseServer.CMApp.URL.Base
CM Proc URL BaseServer.CMProc.URL.Base
CM Web Service URL BaseServer.CMWS.URL.Base
EM App URL BaseServer.EMApp.URL.Base
EM Proc URL BaseServer.EMProc.URL.Base
EM Reports URL BaseServer.EMReports.URL.Base
EM Web Service URL BaseServer.EMWS.URL.Base
PM URL BaseServer.PM.URL.Base
IM Proc URL BaseServer.IMProc.URL.Base
IM WS URL BaseServer.IMWS.URL.Base
OM WS URL BaseServer.OMWS.URL.Base
RRS URL BaseServer.RRS.URL.Base
Process Connections Definition IDProcessConnections.DefinitionId
React Pos Content URLReactPos.contentUrl
Enable Run ServicesCommon.Manage.EnableRunServices
Background Services SupportedBackgroundServices.Supported
Synchronous Retail Queue Connector ModuleServiceModules.SynchronousRetailQueueConnectorModule
Synchronous Scheduled Job Feeder ModuleServiceModules.SynchronousScheduledJobFeederModule

Additional Configuration

NameID
Automatic PurgingModule.AutomaticPurging.Enabled
Broadcast Predefined Broadcast IDBroadcast.Predefined.BroadcastID
Broadcast Changes PeriodBroadcast.ChangesPeriod
Keep Screen OnCommon.KeepScreenOn
Customer Collections ModuleModules.CustomerCollectionsModule
Order ModuleModules.OrderModule
Time Attendance ModuleModules.TimeAttendanceModule
Re-Register PasswordApplication.Settings.Password

Payments Configuration

NameID
Embedded PDCPdc.EmbeddedPdcEnabled
PDC Company NamePdc.CompanyName
PDC Datasource NamePdc.DatasourceName
PDC Database LocationPdc.DatabaseLocation
Payment Portal HostServer.PP.Host
PDC Primary TMS URLPdc.PrimaryTmsUrl
PDC Secondary TDMS URLPdc.SecondaryTmsUrl
PDC Key IDPdc.KeyId
PDC Public KeyPdc.PublicKey

Press Cancel as no configuration changes are needed here.

Adding Additional Options to Option Sets

The NATIVE_POS_CONFIG_OPTIONS Option Set, referenced in this document, provides a baseline of common properties for configuration.

Please note that this set is not exhaustive; it does not contain every possible property available in the enactor.xml file. If your implementation requires a property that is not already listed, you must add it.

The following steps will guide you through adding any new properties to the Option Set.

Edit the Option Set.

ios-edit-option-set-button ios-ui-spacer-icon

Select Add.

ios-add-option-button

Select the appropriate option type (such as 'Add Boolean Option' for true/false or 'Add Text Option' for text) that matches the kind of data this property will store.

Fill in the Option ID with the exact property ID (e.g., Broadcast.Predefined.BroadcastID) and then enter a friendly Name (e.g., 'Predefined Broadcast ID') that will be used as the display label.

ios-option-id-and-name-entry

Press Save.

Client Configuration Set

To enable the use of the previously viewed Option Set, a Client Configuration Set must be configured with the appropriate values for each property. These values will be used during the serial registration step to generate the enactor.xml file used by the application.

The Client Configuration Set maintenance application can be accessed through:

Administration -> Devices -> Client Configuration Sets

ios-client-configuration-sets-menu

ios-create-new-config-set

Press the Create a new Configuration Set button.

General tab

ios-config-set-general-tab

Configure these properties as follow:

NameValueDescription
DescriptionNative POS Client Configuration SwingProvide a name for the client configuration set.
Device TypePOSSelect the device type.
Operating SystemIOSSelect the operating system.

Select the Properties tab.

Properties tab

Select Native Pos Config Options from the Property Set drop down list.

ios-config-set-properties-tab

Values for each property can be entered here. These values will be used to generate the enactor.xml file during the registration process using a serial number. All available properties are described below, along with sample values. The properties are categorized into Core, Additional, and Payments groups.

Core Configuration

Configure these properties as follow, replacing xx.xxx.xx.xxx with your Estate Manager Ip address:

NameValueDescription
Axis2 URLhttp://xx.xxx.xx.xxx:39833/axis2Set the axis 2 URL.
Broadcast Default Download Server Host Namexx.xxx.xx.xxxSet the broadcast default download server host name.
Broadcast Default Download Server Port39832Set the broadcast default download server port.
Bpel Runtime URLhttp://xx.xxx.xx.xxx:39832/WebCoreSet the bpel runtime URL.
Report PDF Viewer Command
Back Office App URL Basehttp://xx.xxx.xx.xxx:39848Set the back office app URL.
Back Office Proc URL Basehttp://xx.xxx.xx.xxx:39848Set the back office proc URL.
Back Office Proc RMI URL Basehttp://xx.xxx.xx.xxx:39848Set the back office proc RMI URL.
Back Office Reports URL Basehttp://xx.xxx.xx.xxx:39848Set the back office reports URL.
Back Office Web Service URL Basehttp://xx.xxx.xx.xxx:39848Set the back office web service URL.
Business Processing URL Basehttp://xx.xxx.xx.xxx:39832Set the business processing URL.
Card Authorisation 1 URL Basehttp://xx.xxx.xx.xxx:39856Set the first card auth server URL.
Card Authorisation 2 URL Basehttp://xx.xxx.xx.xxx:39856Set the second card auth server URL.
Gift Card Authorisation 1 URL Basehttp://xx.xxx.xx.xxx:39856Set the first gift card auth server URL.
Gift Card Authorisation 2 URL Basehttp://xx.xxx.xx.xxx:39856Set the second gift card auth server URL
CM App URL Basehttp://xx.xxx.xx.xxx:39830Set the CM app URL.
CM Proc URL Basehttp://xx.xxx.xx.xxx:39832Set the CM proc URL.
CM Web Service URL Basehttp://xx.xxx.xx.xxx:39833Set the CM web service URL.
EM App URL Basehttp://xx.xxx.xx.xxx:39830Set the EM app URL.
EM Proc URL Basehttp://xx.xxx.xx.xxx:39832Set the EM proc URL.
EM Reports URL Basehttp://xx.xxx.xx.xxx:39831Set the EM reports URL.
EM Web Service URL Basehttp://xx.xxx.xx.xxx:39833Set the EM web service URL.
PM URL Basehttp://xx.xxx.xx.xxx:39833Set the PM URL.
IM Proc URL Basehttp://xx.xxx.xx.xxx:39832Set the IM proc URL.
IM WS URL Basehttp://xx.xxx.xx.xxx:39833Set the IM web service URL.
OM WS URL Basehttp://xx.xxx.xx.xxx:39837Set the OM web service URL.
RRS URL Basehttp://xx.xxx.xx.xxx:39833Set the RRS URL.
Process Connections Definition IDStandardPosBackOfficeEstateManagerSet the process connection diagram based on your deployment model: StandardPosEstateManager or StandardPosBackOfficeEstateManager.
React Pos Content URLapps/react-pos-all-app/index.htmlSet the UI content URL.
Payment Portal HostSet the payment portal host.
Enable Run ServicesEnabledEnable the background services.
Background Services SupportedEnabledEnable the background services.
Synchronous Retail Queue Connector ModuleEnabledEnable the Synchronous Retail Queue Connector module.
Synchronous Scheduled Job Feeder ModuleEnabledEnable the Synchronous Scheduled Job Feeder module.

Note: The ports specified above are Enactor's default values - if alternative port numbers are used, they should be updated accordingly.

Additional Configuration

Configure these properties as follow:

NameValueDescription
Automatic PurgingEnabledToggle automatic purging, which contain rules to purge certain entities and files from tables and directories. This is independent of your location purging configuration.
Broadcast Predefined Broadcast IDNATIVE_POS_PDBPredefined Broadcast ID used to automatically request data from the Estate Manager during the application's first startup.
Broadcast Changes Period5Specify the number of years to filter the data sent by the automatic broadcast, ensuring only data from the last 'x' years is included.
Keep Screen OnDisabledPrevent the device from sleeping. Not required on Swing.
Customer Collections ModuleEnabledEnable or disable the Customer Collections Module.
Order ModuleEnabledEnable or disable the Order Module.
Time Attendance ModuleEnabledEnable or disable the Time Attendance Module.
Re-Register Password12345Expected PIN to allow Re-Registering the device via the Context Menu.
Payments Configuration

Configure these properties as follow, replacing xx.xxx.xx.xxx with your TMS IP address:

NameValueDescription
Embedded PDCEnabledEnable or disable the embedded PDC. This is a separate application that runs in conjunction with the Native POS.
PDC Company NameEnactor LtdThe company name.
PDC Datasource NameenactorpdcThe data source name of the PDC.
PDC Database Location/data/user/0/com.enactor.pos/files/PDC/db/pdcThe path to the PDC database location.
PDC Primary TMS URLhttp://xx.xxx.xx.xxx/PaymentDevicemanagementServiceIP address of the primary TMS.
PDC Secondary TMS URLhttp://xx.xxx.xx.xxx/PaymentDevicemanagementServiceIP address of the secondary TMS.
PDC Key IDSet the PDC Key ID
PDC Public KeySet the PDC Public Key ID

Press Save to save the configuration.

Devices

The device entity of a Native POS requires additional configuration to enable serial number registration. This step covers selecting the appropriate Configuration Set and the necessary values to generate a serial number.

The Devices maintenance application can be accessed through:

Administration -> Devices -> Devices

ios-devices-maintenance-menu

ios-devices-list-view

If a Device record for the Native POS has already been created, find and Edit it. Alternatively, a new Device record can be created.

Note: For more configurations on the Devices and POS Terminals refer: How To Configure a New Store.

ios-edit-device-record

Select the Registration tab.

ios-device-registration-tab

This is the tab where details for the serial registration are entered.

ios-serial-registration-details

Configure these properties as follow, replacing xx.xxx.xx.xxx with your Estate Manager IP address:

NameValueDescription
Configuration SetNative POS Client Configuration IOSSelect the Client Configuration Set to use.
Download Hostnamexx.xxx.xx.xxxIP address of the Estate Manager to download the configuration settings.
Download Port39833EM Server port.
Expiry Date09 October 2030Date of expiry of the serial number.

POS Terminals

The POS Terminal entity for a Native POS requires additional configuration to properly utilize the POS Terminal Template. This section details the necessary steps to both update the POS Terminal template and configure the Embedded PDC in POS Terminal.

The POS Terminal maintenance application can be accessed through:

Configuration -> Organisation -> POS Terminals

ios-pos-terminals-menu

ios-pos-terminals-list

Edit the designated POS Terminal.
Navigate to the General main tab and then the Overview sub tab.
Change the POS Terminal Template to 'React Reduced POS Terminal Template'

ios-pos-terminal-template-selection

Then, press Save.

The following step only requires if you plan to use the Embedded PDC instead of an external one. The Embedded PDC functions like any standard PDC and is bundled directly with the Native POS application.

Edit the POS Terminal and select the Peripherals tab.

ios-pos-terminal-peripherals-tab

Select the Payment Device Host that the Embedded PDC should use.

ios-payment-device-host-selection

Lastly, press Save.

After POS Terminal configurations, go back to Device Maintenance, edit the device, and select the Registration tab.

ios-device-registration-tab-final

Then press the Generate button next to the Registration Serial Number field. This will generate the serial needed to register the Native POS device.

ios-generated-serial-number

Take note of the serial number and press Save.

Native POS Registration

The Enactor Native POS Application should be downloaded from Apple App Store. When the Enactor Native POS is launched for the first time, the application initialises without any device-specific configuration, as the download of such data is deferred to the serial number registration step.

Serial Number Registration

Launch the Enactor Native POS APP.** ** This action creates the database tables and the Data

Select the Using a Serial Number option.

ios-registration-serial-number-option

Enter the device's registration serial number, then press Continue.

ios-enter-serial-number

A call is then made to the Estate Manager to identify the POS device being configured.

If successful, a pop-up message appears asking for confirmation to register the device.

Press OK to confirm.

ios-registration-confirm-dialog

This action automatically sends a request to the Estate Manager to download static data using the predefined broadcast NATIVE_POS_PDB by the user BROADCAST_USER.

ios-requesting-pos-data-toast

A series of messages indicate the progress and stages of the broadcast.

The first message reads: 'Requesting POS Data. This may take a few minutes.'

Once the request is acknowledged by the Estate Manager, the message updates to: 'Requested POS Data. This may take a few minutes.'

ios-requested-pos-data-toast

In the Estate Manager's Broadcast History Maintenance, the following broadcast record can be seen:

ios-broadcast-history-maintenance

The broadcast request is then processed, exported, and sent to the POS.

When the POS receives the instructions to download the broadcast .zip file, the toast message updates to: 'Notification received. Downloading and importing data.'

ios-broadcast-download-progress

Once the initial broadcast has been successfully imported, a final message appears: 'Data fully received and ready to use.'

ios-broadcast-complete-toast

The message disappears after a few seconds, and the POS is then ready for use.

ios-pos-ready-to-use-login