How to Configure SCO (Self-Checkout) POS
Introduction
Self-Checkout (SCO) POS systems are automated machines that empower customers to independently complete transactions at a retailer shop, allowing them to avoid waiting in queues for payments. Customers can scan product barcodes or select them from a list and complete their transaction using Card payments or any other configured tender.
The Enactor application addresses the above requirements by allowing the use of specific POS configuration which enables a retailer to install and execute the SCO POS. This document will provide detailed information on the necessary configuration required for the installation of a SCO POS in the Enactor solution.
Overview
The following configuration is required to set up a SCO POS:
-
Device
-
POS Terminal / POS Terminal Template
-
Role
-
User
-
Menu
-
Product List
-
Page Definitions and Page Definition Details
-
Images
Prerequisite
The following are the prerequisites to a SCO POS installation:
-
SCO-related Templates/Receipts have been imported by uploading the pos-self-checkout-xxxx.jar file via the JAR Deployer.
-
Products and Product prices are being configured.
-
SCO POS has been installed using the .msi installer. Please refer to the SCO POS Installation Guide for detailed steps on its installation.
Configuration Steps
Device Configuration
The SCO POS is considered an independent point of sale so a unique device must be allocated to run SCO-related functions.
Navigate to Device Maintenance using the search bar or the path:
Administration-> Devices -> Devices
Select Create a new Device to add a new record
Provide a unique Device ID and press Create
In the General tab: populate the mandatory fields, select “POS” as its Type, and select the desired location.
Press Save to create the device.
Page Definition Detail Configuration
The SCO POS Terminal uses “SCO Display Receipt List “option for its Customer Display Receipt List and Operator Display Receipt List parameters.
To create new Page Definition Details, navigate to Page Definition Detail maintenance via the search bar or the following path:
Configurations > System > Page Definition Details
Press Create a new Page Definition Detail record
Set the Definition ID to “SCO_OperDisplayList” and press Create
Set the following properties in the General tab**:**
Field | Property Values |
---|---|
Type | The type of the display list. Select “Operator Display Receipt List Template” |
Name | The Identifier for the created Page Definition Detail. Enter “SCO Display Receipt List”. |
URL | The external file system location of the Page Definition Detail. Enter “PosSelfCheckout/Pos/Print/SCOStandardDisplayTemplate” |
Source Filename | The name of the Page Definition file in the file system. This overrides the URL if a file is uploaded. |
Then press Save
POS Terminal Configuration
A POS Terminal for the SCO should then be created as this handles many of its interface-related configurations. This section of the document will only highlight SCO-specific configuration, as the rest of the settings are common across all pos terminals.
Navigate to POS Terminal Maintenance using the search bar or the path:
Configuration -> Organisation -> POS Terminal
Select Create a new POS Terminal to create a new record
Select the previously created device for the Device ID and set the Template to “SCO Standard React POS Terminal Template”, and press Create
Under the Peripherals tab, select the Input sub tab and set the Self Checkout Type to “PosSelfCheckout”
Select the Output sub tab and set the Pole Light Type to the desired Pole Light type.
Under the User Interface tab, select the General sub tab and set the Customer Display Receipt List and Operator Display Receipt List to “SCO Display Receipt List”.
Select the Customer View sub tab and set the Customer View Layout URL to “Pos/Print/SCOStandardDisplayTemplate“ and Customer View Theme to “Enactor Self Checkout”
Press Save to create the POS Terminal
Role Configuration
The SCO Role is needed to enable specific privileges to run SCO functionalities in the POS. This Role will also be used to display SCO Menus. The required Menu configuration is discussed in the Menu section of the document.
Navigate to User Role maintenance via the search bar or the following path:
Configurations > HR > User Roles
Select Create a new User Role
Set the Region field to the desired region, give a unique ID to the User Role ID field, and press Create
In the General tab, provide a Description and set the Autorisation Level to “0”
Then press Save
User Configuration
A unique user must be created to enable the customer to automatically log in and operate the SCO POS.
To create the SCO user , navigate to User maintenance via the search bar or the following path:
Configurations > HR > Users
Press Create New User
Set the User ID field as “SCO” and press Create
In the General tab, provide a Display Name and Surname
In the Roles tab, assign the Self Checkout role.
Press Save, provide a new password for the user, and press Save to complete the user creation.
Product List Configuration
The SCO Menus load a list of products where the user can click and add the product to the transaction basket. The Menu maintenance facilitates this function by combining it with the Product List maintenance. A Product list will be configured with the product category, and this will be attached to the Menu configuration. Please refer to more details under the Menu configuration list.
Navigate to Product List Maintenance via the search bar or the following path:
Configuration > Merchandise > Product Lists
Press Create a new Product List
Enter a unique ID to the Product List ID field and press Create
In the General tab, enter a Name for the product list
In the Items tab, add the products associated with the list by entering the product ID and pressing Add or via the Search button
Note: import or create the necessary product prices and images of the products.
Once all the required products have been added, press Save to create the product list
Repeat this process for all the required product lists.
Menu Configuration
The menu navigation and user interface of a SCO POS is drastically different to the one of a Retail or Restaurant POS. Configuration under the Menu maintenance is required to accommodate these differences.
There are two modes a SCO POS can be during its operation; these must be configured with their associated menus:
-
SCO User Mode - this mode allows the SCO user to navigate through the SCO-configured menus and complete a transaction.
-
Supervisor User Mode – this mode allows supervisor users to assits a SCO user when they encounter an error or an approval is needed. The supervisor user takes control of the transaction and help the customer to complete it. This menu is similar to the Retail/Restaurant POS.
Supervisor users are able to switch between the two modes.
Navigate to the Menu Maintenance via the search bar or the following path:
Configurations > System > Menus
The following section discusses the SCO User Mode Menus
Press Create New Menu button and create new Menu in the Menu maintenance:
A sale menu must be created to enable SCO user navigation.
Set the fields as follow:
Field | Property Values |
---|---|
Menu Set | POS |
Role | Self Checkout |
Menu Group | SCO POS |
Menu ID | SCO_SALE |
Press Create
Press Add and select Add a new Button
Create the following Menu buttons:
Bakery
Tab | Entity | Value |
---|---|---|
General | Event | enactor.pos.CategoryClicked |
General | ID | BAKERY_MENU |
General | Button Message Id | BAKERY_BUTTON |
General | Button Message Base | PosSelfCheckout/Pos/GeneralMessages |
General | Image URL | Bakery.png |
General | Pressed Image URL | Bakery.png |
General | Position | 1 |
Data | enactor.coreUi.MenuId | BAKERY_MENU |
Fruits
Tab | Entity | Value |
---|---|---|
General | Event | enactor.pos.CategoryClicked |
General | ID | FRUITS_MENU |
General | Button Message Id | FRUITS_BUTTON |
General | Button Message Base | PosSelfCheckout/Pos/GeneralMessages |
General | Image URL | Fruits.png |
General | Pressed Image URL | Fruits.png |
General | Position | 2 |
Data | enactor.coreUi.MenuId | FRUITS_MENU |
Barcode
Tab | Entity | Value |
---|---|---|
General | Event | BarcodeEnter |
General | ID | Barcode |
General | Button Message Id | BARCODE_BUTTON |
General | Button Message Base | PosSelfCheckout/Pos/GeneralMessages |
General | Image URL | Barcode.png |
General | Pressed Image URL | Barcode.png |
General | Position | 3 |
Loyalty
Tab | Entity | Value |
---|---|---|
General | Event | Capture Loyalty |
General | ID | LOYALTY |
General | Button Message Id | CAPTURE_LOYALTY_BUTTON |
General | Button Message Base | PosSelfCheckout/Pos/GeneralMessages |
General | Image URL | LoyaltyButton.png |
General | Pressed Image URL | LoyaltyButton.png |
General | Enabled Expression | #{isEmpty(view.transactionHandler.transaction.loyaltyPointsDetails) || isEmpty(view.transactionHandler.transaction.loyaltyPointsDetails.loyaltyCardNumber)} |
General | Position | 4 |
Payment
Tab | Entity | Value |
---|---|---|
General | Event | Total |
General | ID | TOTAL_BUTTON |
General | Button Message Id | TOTAL_BUTTON |
General | Button Message Base | PosSelfCheckout/Pos/GeneralMessages |
General | Image URL | TotalButton.png |
General | Pressed Image URL | TotalButton.png |
General | Visibility Expression | #{!basket:testModelBasketEmpty()} |
General | Enabled Expression | #{basket:testTransactionStarted()} |
General | Position | 6 |
Press Save
Menus for Bakery and Fruits should then be created, as these link to the product lists previously created.
Bakery Menu - set the fields as follow:
Field | Property Values |
---|---|
Menu Set | POS |
Role | Self Checkout |
Menu Group | SCO POS |
Menu ID | BAKERY_MENU |
Press Create
Press Add and select Add a new Button
Create the following Menu buttons:
Sweet Bread Buns
Tab | Entity | Value |
---|---|---|
General | Event | enactor.pos.CategoryClicked |
General | ID | SWEET_BREAD_BUNS |
General | Button Label | Sweet Bread Buns |
General | Image URL | https://zhangcatherine.com/wp-content/uploads/2021/11/PB130018-Edit-768x1024.jpg |
General | Pressed Image URL | https://zhangcatherine.com/wp-content/uploads/2021/11/PB130018-Edit-768x1024.jpg |
General | Position | 1 |
Data | productList | SWEET_BREADS_LIST |
Press Save
Fruits Menu - set the fields as follow:
Field | Property Values |
---|---|
Menu Set | POS |
Role | Self Checkout |
Menu Group | SCO POS |
Menu ID | FRUITS_MENU |
Press Create
Press Add and select Add a new Button
Create the following Menu buttons:
Fruits
Tab | Entity | Value |
---|---|---|
General | Event | enactor.pos.CategoryClicked |
General | ID | APPLE_LIST |
General | Button Label | Fruits |
General | Image URL | https://images.immediate.co.uk/production/volatile/sites/30/2023/02/Bowl-of-fruit-5155e6f.jpg?quality=90&resize=440,400 |
General | Pressed Image URL | https://images.immediate.co.uk/production/volatile/sites/30/2023/02/Bowl-of-fruit-5155e6f.jpg?quality=90&resize=440,400 |
General | Position | 1 |
Data | productList | APPLE_LIST |
Press Save
A tender menu must be created to enable tendering in SCO user mode.
Set the fields as follow:
Field | Property Values |
---|---|
Menu Set | POS |
Role | Self Checkout |
Menu Group | SCO POS |
Menu ID | TENDER_SCO |
Press Create
Press Add and select Add a new Button
Create the following Menu buttons:
Card
Tab | Entity | Value |
---|---|---|
General | Event | PaymentServiceTender |
General | ID | PaymentServiceTender |
General | Button Label | Card |
General | Position | 1 |
Data | enactor.mfc.TenderId | PST |
Gift Card
Tab | Entity | Value |
---|---|---|
General | Event | GiftCardTender |
General | ID | GiftCardTender |
General | Button Message Id | GIFT_CARD |
General | Button Message Base | Pos/Tender/TenderMessages |
General | Position | 2 |
Data | enactor.mfc.TenderId | GC |
Return to Sales
Tab | Entity | Value |
---|---|---|
General | Event | ReturnToSales |
General | ID | BACK |
General | Button Message Id | BUTTON_BACK |
General | Button Message Base | Pos/General/PosMessages |
General | Image URL | Tender/Small/returntosales_small_grey.png |
General | Pressed Image URL | Tender/Small/returntosales_small_grey.png |
General | Visibility Expression | #{empty(disallowSalesAfterTender) || !disallowSalesAfterTender} |
General | Position | 6 |
Press Save
The upcoming section will discuss the Supervisor User Mode-related Menus, here the existing Sale menu should be copied and the available functionality should be adjusted to display only relevant functions. Additional buttons to allow switching between supervisor mode to SCO mode are also required.
In Menu Maintenance copy the default Sale menu
Press Create
Remove unnecessary functions (e.g. Orders, Reports, etc.)
Press Add and select Add a new Button
Create the following Menu buttons:
Close Lane
Tab | Entity | Value |
---|---|---|
General | Event | SignOff |
General | ID | SignOff |
General | Button Label | Close Lane |
General | Visibility Expression | #{!basket:testTransactionStarted() || priv:checkPrivilege('enactor.pos.AutomaticStoreByUserId')} |
General | Position | 7 |
Back to SCO
Tab | Entity | Value |
---|---|---|
General | Event | EndProcess |
General | ID | EndProcess |
General | Button Label | Back to SCO |
General | Position | 8 |
Press Save.
Lastly, import the necessary images for menu buttons.
Broadcasting Data
To deliver the configuration changes to the POS, broadcast the following entities.
-
Device
-
POS Terminal
-
POS Terminal Template
-
Role
-
Users
-
Menu
-
Page Definition
-
Page Definition Details
-
Product List
-
Images
POS Functionality
Enactor.xml & SetEnv Script Configurations
Please refer to the SCO POS Installation Guide for detailed steps to install the SCO POS.
In order to start a SCO POS, certain parameters must be set on its enactor.xml file. This section focuses on the properties and values required.
If a React POS is being configured:
Property | Property Values |
---|---|
ReactPos.contentUrl | HTMLPos/indexsco.html |
SelfService.CustomerUser | SCO |
Browser.Type | Chromium |
ProcessSet | HTMLPos |
Additionally, the following properties must be set in its SetEnv.cmd file:
Property | Property Values |
---|---|
PARENT_THEME | NextGen1024x768/PosSelfCheckout |
THEME | PosSelfCheckout |
PARENT_PROCESS_SET | NextGen |
PROCESS_SET | HTMLPos |
VIEW_TYPE_ID | HTMLPos |
The POS device’s screen resolution should be set to one of the following supported resolutions:
-
768 x 1366 (Portrait)
-
1080 x 1920 (Portrait)
-
1920 x 1080 (Landscape)
Once the POS is launched, the Close Lane screen is displayed
There is a hidden button that navigates the user to the SCO POS login screen. This is to ensure that the Supervisor is starting up the SCO POS for the first time.
The SCO POS login page is displayed
After entering the User ID and Password of a supervisor user, the Open Lane screen is displayed
Opening the Lane in SCO Mode
To enable transactions, the lane must be opened. This can be done by selecting the Open Lane button
Alternatively, the user has the option to keep the lane closed by selecting the Cancel button. If a Pole light has been configured it will turn green, indicating that the SCO POS is available to start a transaction.
Start a Transaction in SCO Mode
Once a Lane is in the Open status, the SCO POS can start transactions. The SCO User can select Start Transaction to start a transaction and progress to the SCO Sale menu
Adding Products to the Transaction in SCO Mode
Products can be added to a SCO POS by:
-
Selecting the menus that have been configured to load product lists.
-
Scanning or key entering a Product ID
Add a Product via Product List
Select a menu button (e.g. Bakery).
The user can then select a product list (e.g. Sweet Bread Buns) or search for a product by keying the product name after pressing the Search button.
The product list is loaded and products can be selected.
The selected product is then added to basket.
Add a Product via Barcode
Select the Barcode button.
The product ID can be keyed in or scanned.
Upon pressing ENT, the product is added to the basket.
Capture Loyalty in SCO Mode
Press the Loyalty button to capture Loyalty.
The user can then Scan or Swipe the Loyalty card.
A confirmation screen is displayed if the Loyalty Card has been found.
The Loyalty details are added and displayed on top of the basket.
Switching to Supervisor Mode SCO POS
When the SCO customers encounter any errors or need some support on their operations, they can request help from a supervisor by pressing the I Need Help button.
This button is displayed on all screens while in SCO Mode.
A Please Wait! screen is displayed
A Supervisor can then press the hidden button on the top-right corner of the screen to login.
The login screen is then presented, and the Supervisor user can enter their credentials and press Sign On or ENT.
The supervisor user can continue the transaction initiated by a customer.
When a supervisor user switches to the Supervisor mode, the Retail theme loaded and can proceed with assisting the customer by modifying the transaction.
To switch back to SCO Mode the user must select the Return to SCO button.
The POS is now back on SCO mode and the customer can proceed with the transaction.
Tendering in SCO Mode
When at least one product is added to the basket, the Payment button is enabled.
Pressing the button takes the user to the Tender menu.
The customer can then select a tender to complete the transaction.
Lastly, the customer can select whether they wish to have their receipt printed or not.