Configuration Guide¶
Configurations from different sections of various yml files.
User¶
These are settings regarding user authentication, authorization and permissions
section: openpos.user
exclude: passwordValidation authentication
| Property Name | Default Value | Description |
|---|---|---|
byLocationEnabled |
false |
Whether users have corresponding locations configured |
writeTransForLoginLogout |
false |
Indicates that a transaction with associated user action should be logged each time a user logs in or logs out |
authentication.userStrategy |
LocalUserStrategy |
LocalUserStrategy or LdapUserStrategy |
authentication.passwordStrategy |
LocalPasswordStrategy |
LocalPasswordStrategy or LdapPasswordStrategy |
authentication.singleSignOnEnabled |
false |
Indicates the user should be authenticated using an external single sign on provider |
authentication.useAlternateIdForValidation |
false |
Indicates that the alternateId field on the user should be sent in the authentication request |
Operations¶
These are settings regarding business unit level operations like store open and close
section: openpos.ops
| Property Name | Default Value | Description |
|---|---|---|
deviceOpenRequired |
true |
Indicates whether a device must be opened by the end user prior to using it |
autoOpenStore |
false |
Indicates that a business unit should be opened automatically in the background if it isn't already open |
storeBankEnabled |
true |
Indicates whether the store has a store safe that requires to be reconciled on opening and closing the store |
storeBankBlindFloat |
false |
Indicates whether the expected store safe amount is blind to the user |
storeBankBlindQuantity |
false |
Indicates whether the expected store safe tender quantity is blind to the user |
storeOpenDateRestrictionsEnabled |
true |
Indicates that the store has constraints on days that can be used to open store |
allowEditBusinessDate |
false |
Indicates that the store open date can be edited |
storeBankCloseConfirmTillCountsEnabled |
false |
Indicates whether a confirmation for till amounts is needed to continue with closing the store safe |
storeBankCloseConfirmStoreBankCountsEnabled |
true |
Indicates whether a final confirmation for the store safe counts is needed to complete closing the store safe |
cashDownFinalLocation |
STORE_SAFE |
The location where the cash down funds will be moved. Can be STORE_SAFE, EXTERNAL_BANK, or SELECT |
autoCloseOpenDevices |
true |
Indicates whether open devices can be auto closed during store closing |
promptCloseStoreConfirmation |
true |
When true, the user will receive a confirmation dialog prompt when attempting to close the store |
promptToPrintStoreCloseReportEnabled |
true |
Controls whether or not the user is prompted to print a Store Close Report near the end of the store close process |
isTransactionSuspensionRestrictionEnabled |
false |
Indicates if a store can be closed with suspended transactions |
autoCancelSuspendedTrans |
false |
Indicates whether suspended transactions can be auto cancelled during store closing |
closeStoreSuspendedTransAction |
REVIEW_TRANS |
Action taken when attempting to close store with suspended transactions |
showBusinessDateToast |
true |
Indicates whether Business date mismatch toast will be shown to the user |
allowInterimDeposits |
true |
Indicates whether to allow interim or midday deposits |
businessDateToastPersistent |
false |
Indicates whether Business date mismatch toast is persistent or not |
Till Management¶
Parameters on till management
section: openpos.ops.till
| Property Name | Default Value | Description |
|---|---|---|
tillType |
PHYSICAL_TILL |
Indicates the type of till. Either PHYSICAL_TILL, VIRTUAL_TILL, or SHARED_TILL |
permanentTill |
false |
Indicates whether a till is permanently assigned to a device or whether it is attached and removed on device open/close |
openCashDrawerOnCloseTill |
false |
Indicate whether the cash drawer should be opened when a till is closed |
fastOpenCloseEnabled |
false |
Indicates whether the skipping till counting on close/open when conditions are met is enabled |
cashierAccountability |
false |
Indicates whether the till accountability is on the cashier (single user on till) rather than the register (multi users for till) |
desiredFloat |
200 |
Indicates the desired float amount for the till |
useDesiredFloatFromTillEnabled |
false |
Indicates that Till open & close should use the device-configured desiredFloatAmount instead of the YML configured desiredFloat |
maxTillFloatLength |
9 |
Indicates the max length the new TillFloat form field value can be in the Change Till Float flow |
blindFloat |
false |
Indicates whether the expected tender amount is blind to the user |
blindQuantity |
false |
Indicates whether the expected media quantity is blind to the user |
minThreshold |
50 |
Indicates the minimum threshold that the till can hold before it needs to be cashed up |
maxThreshold |
500 |
Indicates the maximum threshold that the till can hold before it needs to be cashed down |
maxThresholdToast |
true |
Flag for displaying toast when till has reached maximum threshold for cash |
promptForTillClose |
true |
Flag for moving to reconcile and bypassing Close Till Prompts |
warnMobileClosingDedicatedTill |
true |
If promptForTillClose, this indicates whether mobile devices should be warned/prompted with a different message when attempting to close a dedicated till |
General¶
These are general settings that are shared by all modules
section: openpos.general
| Property Name | Default Value | Description |
|---|---|---|
phone.validateAreaCode |
true |
If true, phone number area codes will be validated against the CTX_AREA_CODE table. Must be disabled for international phone numbers |
phone.phoneNumberBlacklistEnabled |
true |
If true, phone numbers listed in the USR_PHONE_BLACKLIST table will be rejected if entered. Must be disabled for international phone numbers |
phone.phoneNumberBlacklistNumberOfDigits |
7 |
This is the number of right-most phone number digits matched against the USR_PHONE_BLACKLIST table. For US/Canada, probably 7 or 10 |
Payment¶
Configuration for the payment service for this installation
section: openpos.pay
| Property Name | Default Value | Description |
|---|---|---|
cardTenderOption |
TenderUndetermined_Card |
The button value of the card tender option for a sale from the ctx_button table |
promptForOfflineAuthEntry |
false |
When tendering offline, prompt the user to enter authorization data in place of normal payment device tendering offline |
promptForAuthEntryOfUnsupportedCard |
false |
If card is unsupported, then prompt for auth entry |
promptWhenDeviceBatteryIsLow |
true |
When tendering with a mobile payment device, prompt to select a new device when the current device's battery is low |
skipCardAcquisition |
false |
Forces the POS to skip the card acquisition step and proceed straight to the payment request |
lowBatteryThreshold |
20 |
When tendering with a mobile payment device, devices below this battery level will be disabled on the device selection list |
pinpadIdleOnVirtualReceipt |
true |
Config that drives whether the pinpad should idle on a virtual receipt |
Adyen Payment Provider¶
Configuration for Adyen payment provider
section: openpos.pay.adyen
| Property Name | Default Value | Description |
|---|---|---|
promptFactory |
defaultAdyenPromptFactory |
The bean name of the prompt factory implementation to be used for DisplayScreenRequests |
apiKey |
Adyen API key for authentication | |
cloudApi |
false |
Whether to use Adyen Cloud API |
securityKeyPassphrase |
Security key passphrase for encryption | |
securityKeyIdentifier |
Security key identifier | |
securityKeyVersion |
1 |
Version of the security key |
adyenCryptoVersion |
1 |
Version of Adyen crypto |
environment |
Test |
Adyen environment (Test/Live) |
terminalCertificatePath |
./adyen-terminalfleet-test.cer |
Path to terminal certificate |
wsUsername |
Web service username | |
wsPassword |
Web service password | |
giftCardProvider |
svs |
Gift card provider |
defaultMerchantAccount |
JumpmindPOS |
Default merchant account |
abandonedChargeDaysToPollForNotifications |
2 |
Days to poll for abandoned charge notifications |
abandonedChargeMaxTotalRefundAmountPerDay |
10000 |
Maximum total refund amount per day for abandoned charges |
abandonedChargeMaxRefundsPerExecution |
10 |
Maximum refunds per execution for abandoned charges |
abandonedChargeMaxRefundsPerDay |
70 |
Maximum refunds per day for abandoned charges |
blockDeviceSelectionOnMismatchedStoreId |
false |
Whether to block device selection on mismatched store ID |
promptTimeout |
45 |
Timeout (in seconds) for prompts sent through the DisplayScreenEndpoint |
virtual-receipt.virtualReceiptEnabled |
true |
Whether virtual receipt is enabled |
virtual-receipt.retryEnabled |
false |
Whether retry is enabled for virtual receipt |
virtual-receipt.retryAttempts |
4 |
Number of retry attempts for virtual receipt |
virtual-receipt.addHorizontalRuleAfterLineItems |
true |
Whether to add horizontal rule after line items |
Aurus Payment Provider¶
Configuration for Aurus payment provider
section: openpos.pay.aurus
| Property Name | Default Value | Description |
|---|---|---|
adskSpecVer |
6.15.4 |
ADSK specification version |
closeTransRetryDelay |
15000 |
Delay in milliseconds for close transaction retry |
closeTransMaxRetryAttempts |
4 |
Maximum retry attempts for close transaction |
corpId |
17304 |
Corporation ID |
appId |
TVSFixed |
Application ID |
cctId |
lane3600 |
CCT ID |
environment |
UAT |
Environment (UAT/PROD) |
primaryUrl |
uat42.auruspay.com |
Primary URL for Aurus service |
secondaryUrl |
uat42.auruspay.com |
Secondary URL for Aurus service |
registrationFlag |
1 |
Registration flag (Set to 0 to deregister a device) |
transactionDateFormat |
MMddyyyy |
Date format for transactions |
transactionTimeFormat |
HHmmss |
Time format for transactions |
getCardBinHeaderMessage |
key:aurus:paymentdevice.getCardBin.header |
Header message for get card BIN |
logMessageLatchInfo |
true |
Whether to log message latch info |
logJsonMessagesEnabled |
true |
Whether JSON message logging is enabled |
logIPAndPortEnabled |
true |
Whether IP and port logging is enabled |
logGetDiagnosticsResponseData |
true |
Whether to log get diagnostics response data |
requestFactoryComponentName |
defaultAurusMessageWrapperFactory |
Request factory component name |
posIdPattern |
%05d%s |
POS ID pattern |
maxSendRetries |
3 |
Maximum send retries |
registrationRequestDelayMs |
1000 |
Registration request delay in milliseconds |
delayBetweenGetCardBinCancelAndFollowingCloseTransMs |
0 |
Delay between get card BIN cancel and following close transaction |
Gift Card¶
Configuration for gift card operations
section: openpos.giftcard
| Property Name | Default Value | Description |
|---|---|---|
issue.itemId |
GIFTCARD |
The item id used for giftcards |
issue.enabled |
true |
Whether gift card issuing is enabled |
issue.validate |
true |
If true, will validate a scanned/swiped gift card barcode on activation |
issue.manualEntryAllowed |
true |
If true, a button is added so the user may select a custom amount for the gift card |
issue.minManualEntryAmount |
5 |
The minimum allowed price for a gift card using manual price entry |
issue.maxManualEntryAmount |
1000 |
The maximum allowed price for a gift card using manual price entry |
issue.allowOnReturnTransaction |
true |
Whether to allow issuing of gift cards on a return transaction |
issue.postTenderAuthorizationEnabled |
true |
If true, an issued Gift Card will be authorized using the payment service after tendering has completed |
load.enabled |
true |
Whether gift card loading is enabled |
load.scanEnabled |
false |
If true, dialog prompt will display as a scan dialog with the ability to prompt on the payment device |
cashout.maxAmountThreshold |
10.00 |
Maximum amount threshold for gift card cash out |
cashout.enabled |
true |
Whether gift card cash out is enabled |
balance.enabled |
true |
Whether gift card balance inquiry is enabled |
balance.showMasked |
true |
Whether to show masked gift card numbers |
Tax¶
Configuration for the tax module
section: openpos.tax
| Property Name | Default Value | Description |
|---|---|---|
byLocationEnabled |
false |
When enabled, use the geocode (zip+5) from the device's geo location apis to calculate tax |
roundupOnExchange.enabled |
true |
When enabled, it adds an amount to the exchange transaction to account for tax rounding issues |
roundupOnExchange.maxAmountToAdjustBy |
0.01 |
Maximum amount to adjust by for tax rounding |
displayTaxAmounts |
true |
When enabled, taxes applied to transactions will be represented |
rfcEnabled |
false |
When enabled print the RFC number in the receipt (MX) |
rfcNumber |
JMC123456789 |
RFC number to print on receipt |
Selling¶
Configuration for selling process
section: openpos.sell
| Property Name | Default Value | Description |
|---|---|---|
afterTransactionBehavior |
START_NEXT_TRANSACTION |
Determines what behavior the system will do after completing a sale. Valid values are: END_SESSION, START_NEXT_TRANSACTION, GO_BACK_HOME |
disableMixedBasket |
false |
Whether to disable mixed basket functionality |
loyaltyEnabled |
true |
If set to true, the system will allow loyalty customers to be added |
promptForLoyalty |
true |
If set to true the system will prompt for a loyalty card at the beginning of a sale transaction |
promptAssociateAssistedSaleEnabled |
false |
If set to true will prompt for associate assisted sale |
displaySeparateLineItemCounts |
false |
This is a way to customize the UI to split the item counts based on the item types |
enableItemBanners |
true |
Turns on or off item banners all-together |
loyaltyTermsAndConditionsEnabled |
false |
Displays terms and conditions as a separate step that the customer must accept before creating a loyalty account |
globalPrivacyPolicyEnabled |
false |
Displays global privacy policy that the customer must accept before creating a loyalty account |
optIntoEmailMarketingEnabled |
true |
Displays email marketing opt-in that the customer can optionally accept |
optIntoAnonymousEmailMarketingEnabled |
true |
Displays anonymous email marketing opt-in that a non-linked customer can optionally accept |
optIntoPhoneMarketingEnabled |
true |
Displays phone marketing opt-in that the customer can optionally accept |
optIntoTextMarketingEnabled |
true |
Displays text marketing opt-in that the customer can optionally accept |
optIntoMailMarketingEnabled |
true |
Displays mail marketing opt-in that the customer can optionally accept |
optInPreselect |
false |
Define default value for checkboxes for marketing opt-in options |
enableTransactionTimer |
false |
Enables or disabled the timer that can be displayed next to the transaction number |
Promotions¶
Configuration for the promotions module
section: openpos.promotions
| Property Name | Default Value | Description |
|---|---|---|
cacheRefreshCronExpression |
0 58 * * * * |
The cron schedule that will be used to determine when a promotions cache refresh will occur |
promoCodeEarnedToastDismissalMs |
5000 |
Time in milliseconds for promo code earned toast dismissal |
preloadCacheOnDeviceConnectEnabled |
true |
Whether or not promotions should be preloaded and cached upon device connection to the server |
allowAprWhenRewardAmtExceedsItemAmount |
true |
Configuration to specify whether a promotion reward can be applied to an item valued less than the reward |
allowAprWhenRewardAmtExceedsTransAmount |
false |
Configuration to specify whether a promotion reward can be applied when the transaction total is less than the reward amount |
allowGs1WhenRewardAmtExceedsItemAmount |
false |
Configuration to specify whether a gs1 reward can be applied to an item valued less than the reward |
allowGs1WhenRewardAmtExceedsTransAmount |
false |
Configuration to specify whether a gs1 reward can be applied when the transaction total is less than the reward amount |
manualCouponDiscountPromotionTypeName |
MANUAL_COUPON |
The promotion type for a manual coupon discount |
applyManualAmtDiscToQtyEnabled |
true |
Setting to false will prorate the $ AMT Disc and split it among EACH QTY of a line item |
manualItemDiscountPromotionTypeName |
MANUAL_ITEM_DISCOUNT |
The promotion type for a manual item discount |
manualTransDiscountPromotionTypeName |
MANUAL_TRANS_DISCOUNT |
The promotion type for a manual transaction discount |
manualPriceOverridePromotionTypeName |
MANUAL_PRICE_OVERRIDE |
The promotion type for a manual item price override |
gs1CouponPromotionTypeName |
GS1_COUPON |
The promotion type for a GS1 manufacturer coupon |
calculatePendingPromos |
true |
Whether to calculate pending promotions |
calculateNearMiss |
true |
Whether to calculate near miss promotions |
amtTotalQualificationCombosLimit |
30 |
Limit for amount total qualification combinations |
ui.promoDisplayMaxDays |
30 |
The maximum number of days past the promotion use date or expiration date that a promo will be displayed |
Customer¶
Configuration for customer module
section: openpos.customer
| Property Name | Default Value | Description |
|---|---|---|
add.supportsAddDeleteOfPhoneEmail |
true |
If enabled, then additional phone and emails can be added when adding customers |
add.preSignUpCheck |
true |
If enabled, then collect some user information before filling out the add customer form |
add.defaultStateFromLocationAddr |
true |
If enabled, default state fields on the add customer form to be the same as the address of the selling location |
add.defaultCountryFromLocationAddr |
true |
If enabled, default country fields on the add customer form to be the same as the address of the selling location |
add.allowAddCustomerIfExistingIsFound |
false |
If enabled, allows the creation of a new customer even if an existing is found |
add.enablePassToCustomer |
true |
If enabled, the cashier can pass the customer signup to the customer display |
customerSearchMaxResults |
25 |
Maximum number of customer search results |
lookupResults.displayPointsBalance |
true |
Whether to display points balance in lookup results |
lookupResults.displayMemberTier |
true |
Whether to display member tier in lookup results |
showCustomerDataWhenMissingCustomerId |
false |
Indicates whether the Linked Loyalty Customer button shows customer information even when the linked customer is missing a Loyalty ID |
customerMissingInfo.enabled |
true |
When a loyalty customer is linked, then notify the cashier that the customer has missing required fields |
membership.enabled |
true |
When searching for a customer or viewing information about a linked customer, show the cashier information about the membership status |
Returns¶
Configuration that is specific to returns
section: openpos.returns
| Property Name | Default Value | Description |
|---|---|---|
allowSaleAndReturnInSameTrans |
true |
Whether to allow sales and returns within the same basket |
allowReturnsFromMultipleSaleTrans |
true |
Whether to allow returns items from multiple sale transactions within the same return transaction |
allowMultiSelectFromSameReceipt |
true |
When true, allows the user to multi-select items from the transaction receipt, rather than 1 at a time |
addItemUponFetchRequest |
true |
When true, selecting Fetch item from the Product details screen will immediately attempt to add the item to the transaction |
useLoyalty |
true |
Whether to use loyalty for returns |
useLoyaltyReturnButton.enabled |
true |
Whether to enable loyalty return button |
useLoyaltyOrderSearch |
true |
Whether to use loyalty order search |
findIfCustomerLinked |
true |
Whether to find if customer is linked |
useCaptureId |
true |
Whether to use capture ID |
useScanReceipt |
true |
Whether to use scan receipt |
useReturnsCustomer |
true |
Whether to use returns customer |
promptForAddCustomerOnCheckout |
false |
Whether to prompt for add customer on checkout |
useNonReceiptedReturn |
true |
Whether to use non-receipted return |
nonReceiptedReturnAlwaysPrompt |
false |
Whether to always prompt for non-receipted return |
allowManualEntryOfReceiptDetails |
false |
Allow manual entry of receipt details in case if transaction not found but customer has a receipt |
smartReturnItemPrice |
true |
If true - do not let this cheaper item be removed from the return until more expensive has also been removed |
firstReturnReceiptedItem |
false |
If true - do not let non receipted item be removed from the return until the same receipted item has also been removed |
useStorePriceForNonReceiptedReturn |
false |
If true - do not search for the lowest price for the item when doing a non receipted return |
Tender¶
Configuration for the tendering process
section: openpos.tender
| Property Name | Default Value | Description |
|---|---|---|
preSwipe.enabled |
false |
If enabled, the POS will attempt to collect card information as soon as the user gets to the tendering screen |
displayTenderOptionsAsTiles |
false |
When true, the tender options will be displayed as tile buttons |
limitTo1CardPerStoreOrder |
false |
Some Order Management Systems only accept one credit card. This setting will allow only one credit card per transaction |
giftCardPurchaseTenderableWithGiftCard |
false |
If set to true the system will allow for the purchase of a gift card with a gift card |
supportedCardEntryModes |
INSERT,SWIPE,TAP,NFC,SCAN |
Controls the methods of card entry that the customer is allowed to use at the PIN Pad |
amountConfirmMode |
NONE |
Controls whether the confirmation of the tendering amount occurs on the PIN Pad terminal, on the POS, or not at all |
signatureCaptureFallback |
true |
If a card authorization response does not indicate whether or not a signature should be captured, this boolean will be used |
printDeclineReceiptSeparate |
false |
Determine whether the decline receipt is printed after transaction |
enablePartialTender |
true |
Determines whether the user can use a tender type to tender a portion of the total |
promptForCashTenderWithRounding |
true |
When true, the on-screen Amount Due prompt for the chosen Cash tender will be rounded |
hideReturnOptionBelowMinAmount |
false |
Determines whether return options below minimum tender amount is hidden vs disabled |
autoFocusTenderAmount |
true |
Whether the tendering amount should be autofocused when the prompt appears |
returnLessThanMinFallback |
CASH |
Tender type used to absorb the amount from other tenders where their suggested refund is below the minimum allowed |
preferredNonReceiptedRefundTender |
STORE_CREDIT |
Tender type of the preferred method to refund non-receipted return value |
optionsShownBeforeMoreOptions |
3 |
The number of available tender options shown before the More Options button during checkout |
warnTendersWillBeVoided |
true |
When exiting to the Sale screen from Tendering, warn the user that all tenders will be voided |