# Configuring Your SelfServ Terminal

In 
JSM

Welcome to a localized customization heaven.


Your lane-specific configuration module, found under JSM | SelfCheckout V3 -> Terminals -> Target Terminal -> Settings, is structured as follows:

--[[ 
	           _______ __  ___
	          / / ___//  |/  /
	     __  / /\__ \/ /|_/ / 
	    / /_/ /___/ / /  / /  
	    \____//____/_/  /_/
 	      Self Checkout v3

Lane-Specific Configuration

Many settings are fetched from system settings ('JSM | SelfCheckout V3' → 'SystemConfig'). These options can be overriden by changing them lane by lane.

The 'CardOnly' setting has no effect on checkouts with no cash processing, or should a compatable ATM system not be found in the game.

]]--
local SysConf = require(script.Parent.Parent.Parent.SystemConfig)
local Settings = {
	-----------------------------------------------------------------
	["LaneNumber"] = 1,
	["CardOnly"] = false,
	["StartMode"] = 1,
	-----------------------------------------------------------------
	["UITheme"] = SysConf.UITheme,
	["CustomThemeLogo"] = SysConf.CustomThemeLogo,
	-----------------------------------------------------------------
	["Currency"] = SysConf.Currency,
	["ContactlessLimit"] = SysConf.ContactlessLimit,
	["InsertCardProximityPrompt"] = SysConf.InsertCardProximityPrompt,
	["PromptForBags"] = SysConf.PromptForBags,
	["CarrierBagCharge"] = SysConf.CarrierBagCharge,
	-----------------------------------------------------------------
	["OperatorID"] = SysConf.OperatorID,
	-----------------------------------------------------------------
	["Maintenance"] = SysConf.Maintenance,
	-----------------------------------------------------------------
	["ReceiptCustomisation"] = SysConf.ReceiptCustomisation,
	-----------------------------------------------------------------
	["Discounts"] = SysConf.Discounts,
	-----------------------------------------------------------------
	["AutomaticIntegrations"] = SysConf.AutomaticIntegrations,
	-----------------------------------------------------------------
	["InGameStaff"] = SysConf.InGameStaff,
	-----------------------------------------------------------------
	["TransactionCompletion"] = SysConf.TransactionCompletion,
	-----------------------------------------------------------------
	["MiscUISettings"] = SysConf.MiscUISettings,
	-----------------------------------------------------------------
	["BarcodeType"] = SysConf["Scan&ShopSettings"].CheckoutSettings.BarcodeType,
	-----------------------------------------------------------------
	["HotkeySettings"] = SysConf.HotkeySettings,
	-----------------------------------------------------------------
}
return Settings

# Syntax

# LaneNumber

Lane number that the SCO will use.


Example:

["LaneNumber"] = 1

# CardOnly

Should the SCO accept only card/contactless transactions?


Example:

["CardOnly"] = true

# StartMode

Start-up mode. Controls how barcodes are handled at checkout:

  • 1 — Plays full startup sequence, Lane is automatically open.
  • 2 — Plays full startup sequence, Requires a member of staff to open the lane.
  • 3 — Doesn't play full startup, Lane is automatically open.
  • 4 — System Is off, Requires a member of staff with maintenance permissions open the lane.

Example:

["StartMode"] = 1

# UITheme

UI Preset to load. Set to Default for JSM v3 UI, any other value will load UI from JSM | UI Template if found in ServerStorage.


Example:

["UITheme"] = SysConf.UITheme

If set to nil, loads default ui associated with theme, either JSM or the theme creator, or loads the image id provided.


Example:

["CustomThemeLogo"] = SysConf.CustomThemeLogo

# Currency

The specified character will be used as a prefix to all monetary values wherever a price is indicated.


Example:

["Currency"] = SysConf.Currency

# ContactlessLimit

Contactless payment upper limit. Transactions worth more than the set value won't be able to be paid via contactless.


Example:

["ContactlessLimit"] = SysConf.ContactlessLimit

# InsertCardProximityPrompt

Whether to insert a Proximity Prompt into the card reader instead of a Click Detector.


Example:

["InsertCardProximityPrompt"] = SysConf.InsertCardProximityPrompt

# PromptForBags

Whether to prompt for shopping bags before going to the payment screen.


Example:

["PromptForBags"] = SysConf.PromptForBags

# CarrierBagCharge

Price per one shopping bag. (If enabled.)


Example:

["CarrierBagCharge"] = SysConf.CarrierBagCharge

# OperatorID

Operator ID settings, see the SCO Configuration page for more information.


Example:

["OperatorID"] = SysConf.OperatorID

# Maintenance

Maintenance settings, see the SCO Configuration page for more information.


Example:

["Maintenance"] = SysConf.Maintenance

# ReceiptCustomisation

Receipt customisation settings, see the SCO Configuration page for more information.


Example:

["ReceiptCustomisation"] = SysConf.ReceiptCustomisation

# Discounts

# AutomaticIntegrations

Automatic integrations settings, see the SCO Configuration page for more information.


Example:

["AutomaticIntegrations"] = SysConf.AutomaticIntegrations

# InGameStaff

In-game staff settings, see the SCO Configuration page for more information.


Example:

["InGameStaff"] = SysConf.InGameStaff

# TransactionCompletion

Transaction completion settings, see the SCO Configuration page for more information.


Example:

["TransactionCompletion"] = SysConf.TransactionCompletion

# MiscUISettings

Miscellaneous UI settings, see the SCO Configuration page for more information.


Example:

["MiscUISettings"] = SysConf.MiscUISettings

# BarcodeType

S&S Transfer code, see the SCO Configuration page for more information.


Example:

["BarcodeType"] = SysConf["Scan&ShopSettings"].CheckoutSettings.BarcodeType

# HotkeySettings