Self-Scanning Service

Note:
Self Scanning Service is available only on On-prem version

Remote Services Settings

System level configurations to set up the use of remote services.

Master Data

Table 1. self-scanning-service.properties
Property Data Type, Range Description Default
self-scanning.master-data Settings for the connection to the service providing master data information
appUrl String This parameter defines the URL to the service
getConnectionTimeout String This parameter defines the timeout for getting the connection from the connection pool 10000
connectionTimeout String This parameter defines the timeout for connecting to the remote service 30000
receiveTimeout String This parameter defines the timeout for receiving a response from the remote service 31000

Price Calculation Service

Table 2. self-scanning-service.properties
Property Data Type, Range Description Default
remote-services.price-calculation Settings for the connection to the service providing a price and promotion calculation service
appUrl String This parameter defines the URL to the service.
getConnectionTimeout String This parameter defines the timeout for getting the connection from the connection pool 10000
connectionTimeout String This parameter defines the timeout for connecting to the remote service 30000
receiveTimeout String This parameter defines the timeout for receiving a response from the remote service 31000

Tax Service

Table 3. self-scanning-service.properties
Property Data Type, Range Description Default
remote-services.tax-service Settings for the connection to the service providing a tax calculation service
appUrl String This parameter defines the URL to the service
getConnectionTimeout String This parameter defines the timeout for getting the connection from the connection pool 10000
connectionTimeout String This parameter defines the timeout for connecting to the remote service 30000
receiveTimeout String This parameter defines the timeout for receiving a response from the remote service 31000

Transaction Pool

Table 4. self-scanning-service.properties
Property Data Type, Range Description Default
remote-services.tx-pool Settings for the connection to the service providing and storing transactions
appUrl String This parameter defines the URL to the service
getConnectionTimeout String This parameter defines the timeout for getting the connection from the connection pool 10000
connectionTimeout String This parameter defines the timeout for connecting to the remote service 30000
receiveTimeout String This parameter defines the timeout for receiving a response from the remote service 31000

MCA Promotion Checkout

Table 5. self-scanning-service.properties
Property Data Type, Range Description Default
remote-services.mca Settings for the connection to the service providing and storing coupons and personalized promotions
appUrl String This parameter defines the URL to the service
getConnectionTimeout String This parameter defines the timeout for getting the connection from the connection pool 10000
connectionTimeout String This parameter defines the timeout for connecting to the remote service 30000
receiveTimeout String This parameter defines the timeout for receiving a response from the remote service 31000

Customer Profile Service

Table 6. self-scanning-service.properties
Property Data Type, Range Description Default
remote-services.cps Settings for the connection to the service providing customer detail information.
appUrl String This parameter defines the URL to the service
getConnectionTimeout String This parameter defines the timeout for getting the connection from the connection pool 10000
connectionTimeout String This parameter defines the timeout for connecting to the remote service 30000
receiveTimeout String This parameter defines the timeout for receiving a response from the remote service 31000

Loyalty Service

Table 7. self-scanning-service.properties
Property Data Type, Range Description Default
remote-services.loyalty-service Settings for the connection to the service providing and storing loyalty program information and points
appUrl String This parameter defines the URL to the service
getConnectionTimeout String This parameter defines the timeout for getting the connection from the connection pool 10000
connectionTimeout String This parameter defines the timeout for connecting to the remote service 30000
receiveTimeout String This parameter defines the timeout for receiving a response from the remote service 31000

Event Broker

Table 8. self-scanning-service.properties
Property Migration Data Type, Range Description Default
self-scanning.kafkaEnabled Replaces

self-scanning.sales-restrictions.transactionAuthorizationEnabled

Boolean Enable Kafka support for e.g. authorization of sales restrictions via Store Assistant false
self-scanning.kafka.auth Kafka authentication with SASL/PLAIN
saslPlainEnabled Boolean Enables or disables Kafka authentication with SASL/PLAIN. false
saslPlain.username String Username for Kafka authentication with SASL/PLAIN.
saslPlain.password String Password for Kafka authentication with SASL/PLAIN.
remote-services.event-service Connection and basic settings for the messaging service.
kafkaBootstrapServers String A list of host/port pairs used to establish the initial connection to the Kafka cluster (no need to name the full set of servers).Value format: host1:port1,host2:port2,... localhost:9092
kafkaProducerAcknowledgments String The number of acknowledgments that the producer requires the leader to have received before considering a request complete:
  • 0 - producer will not wait for any acknowledgment from the server at all
  • 1 - producer will wait for acknowledgment from the leader node only
  • all - producer will wait for acknowledgments from the leader node and all its replicas
all
topic.prefix String Prefix of Kafka topics for cases where multiple application instances share the same Kafka broker:
  • <empty> - topics with no prefix are used (e.g. store.events, store.states, store.commands)
  • prefix - topics have prefix separated by a dot (e.g. e25.store.events, e25.store.states, e25.store.commands for prefix e25)

Security Settings for Remote Services

Table 9. security.properties
Property Data Type, Range Description Default
core.common.security.server.predefined-user-details Password settings for service user. Passwords are secured by a hashing algorithm.
sss.password String Self Scanning Service user password.
sdc.password String SDC user password.
ssc-industrial.password String Industrial Device user password.
pos.password String POS user password.
pos-service.password String POS Service user password.
smartpos-service.password String SmartPOS Service user password.
api-gateway.password String API Gateway user password.
api-gateway-anonymous.password String API Gateway user password for anonymous users.
adyen.password String Adyen user password.
mca-app-server.password String MCA Application Server user password.
retailer-portal.password String Retailer Portal user password.
external-psp.password String Password for external PSP (external payment functionality)
sfs.password String Password for Scanless Frontend Service
checkout-service.password String Password for Checkout Service
*.passwordTemporary String Temporary password for the dedicated user, used in update scenarios, for example. Used if the first attempt failed.
core.common.security.client.http.auth Used by SSS when connecting to other systems.
username String
password String
group.ADYEN-MARKETPAY.type String BASIC
group.ADYEN-MARKETPAY.BASIC.username String
group.ADYEN-MARKETPAY.BASIC.password String
group.CLOUD4RECEIPTS.type String BASIC
group.CLOUD4RECEIPTS.BASIC.username String
group.CLOUD4RECEIPTS.BASIC.password String
group.CPS.type String BASIC
group.CPS.BASIC.username String ${core.common.security.client.http.auth.username}
group.CPS.BASIC.password String ${core.common.security.client.http.auth.password}

Generic Service Settings

System level configurations to set up the service in general.

CRM

Table 10. system.properties
Property Data Type, Range Description Default
crm.adapter.type dummy | cps Type of CRM adapter
  • dummy - dummy adapter
  • cps - Customer Profile Service adapter
dummy

CRM-Dummy config is only used if crm.adapter.type=dummy

Table 11. self-scanning-service.properties
Property Data Type, Range Description Default
crm.dummy
responseType String How the resulting customer object is constructed:
  • JSON - response created from JSON data (see property crm.dummy.json)
  • ID_ONLY - response object contains only the given customerId
JSON
json JSON object JSON representation of a customer object as it will be returned by the service <json object of customer 200>

Caching

System level configurations to set up retention times and the behavior of the service's cache.

Table 12. self-scanning-service.properties
Name Data Type, Range Description Default
caching.cachingEnabled Boolean Enables caching for the Self Scanning Service true
caching.mbeansEnabled Boolean If JMX MBeans should be registered (which allows cache clearing and access to cache statistics) false
caching.statisticsEnabled Boolean If statistics should be recorded and made available over JMX (recording involves a performance penalty) false
caching.cache Individual cache configs (per tenant)

Add caching.cache.<cacheName>.<configName> to the properties

  • cacheName - target cache name used in the application
  • configName - specific config
  • expiration - cache item expiration after write, time value (e.g. 1d, 4h, 90m...), required
  • capacity - how many items can be cached
BusinessUnit.expiration String Cache BusinessUnit; used for example in Start-of-Trip and End-of-Trip 4h
BusinessUnit.capacity Integer Cache BusinessUnit; used for example in Start-of-Trip and End-of-Trip 10000
RoundingRule.expiration String Cache RoundingRule; used i.e. in End-of-Trip 4h
RoundingRule.capacity Integer Cache RoundingRule; used i.e. in End-of-Trip 10000

End of Trip - 09420200001

System level configurations to set up the end-of-trip procedure.

End of Trip

Table 13. self-scanning-service.properties
Property Migration Data Type, Range Description Default
self-scanning.eot
operatorId Replaces AutoLoginConfigs.Default.autoLoginName String It defines the input parameter of the cashier number that is used for self scanning. selfScanningOperator
transactionTimestampContent Replaces transactionTimestampContent.mode [begin, end] It defines which timestamp (begin or end) is stored as the transaction timestamp. This timestamp is used for business processes (printing, search, etc.). end
customerAddressTypeCode Replaces CustomerOperationConfig.customerCardType String It defines the card type of the customer. 00
multipleEotEnabled Boolean Defines whether multiple EOT attempts are allowed per transaction. true
workstationId String Defines the workstationId used by the service when creating a transaction in the transaction pool. 550

Fraud Detection

Table 14. self-scanning-service.properties
Property Migration Data Type, Range Description Default
self-scanning.eot.fraud-detection.offline.rescan Some basic settings for Fraud Detection; configurable on system level.
probability Double The parameter defines the probability of a rescan. 0.05
itemsPercentage Replaces rescanSamplePercentage Double The percentage defines how many items (in %) should be rescanned. 0.5
itemsMin Integer The parameter defines the minimum number of items to be rescanned. 1
itemsMax Replaces maxRescanSampleNumber Integer The parameter defines the maximum number of items to be rescanned. 5

Sales Restrictions - 01020900130

System level configurations to set up the sales restriction process.

Transaction Authorization

Table 15. self-scanning-service.properties
Property Data Type, Range Description Default
self-scanning.sales-restrictions.transaction-authorization Configurations to set up Kafka.
deviceGroup String Default device group for sales restriction transaction authorization via Store Assistant. defaultGroup
deviceType String Default device type for sales restriction transaction authorization via Store Assistant. ssc-byod
messageTimeout Integer Timeout of the sales restriction transaction authorization request after it is created (in seconds). 600
expiration String

Supported values, e.g.: 1d, 2h, 90m, 30s, 360000: DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS

Time period (hours, days, etc.) after which the transaction authorization record will expire. The record will be deleted from the database after expiration. 48h