Barcode Processor

The barcode processor is a module that will analyze any scanned barcode, parse it and trigger certain actions with regards to the barcode prefix and internal state.

barcodeProcessor.properties

Any entry in barcodeProcessor.properties has the prefix BarcodeProcessorConfig.barcodes. The number that follows groups the properties for a particular processor rule. A rule consists of the following top level properties:

Property Data Type, Range Description
BarcodeProcessorConfig.barcodes.<number> A barcode processor rule.
id Integer Unique ID for the rule.
name String Short name describing the intention of the rule.
type UPCA | EAN8 | EAN13 | EAN128 | RSS14 | CODE128 | TWO_OF_FIVE | AZTEC Barcode type triggering this rule.
length Integer Length of the barcode.

Templates

Properties with the prefix BarcodeProcessorConfig.barcodes.<number>.templates are used to identify the barcode in more detail.

Property Data Type, Range Description
BarcodeProcessorConfig.barcodes.<number>.templates.<number>
id Integer Unique ID for the template.
name String '...name=prefix' identifies the following value as a barcode prefix definition.
value Integer Specific barcode prefix to trigger this rule.

POS States

Barcodes might trigger different actions depending on the current app state. Some special barcodes might also not trigger any action at all, if the app is not in the right state. The allowed states are defined by properties with the prefix BarcodeProcessorConfig.barcodes.<number>.posStates

Property Data Type, Range Description
BarcodeProcessorConfig.barcodes.<number>.posStates.<number>
id Integer Unique ID for the posState entry.
processName String Name of the specific process.

Actions

The action to be triggered are defined in BarcodeProcessorConfig.barcodes.<number>.actions.<number>

Property Data Type, Range Description
BarcodeProcessorConfig.barcodes.<number>.actions.<number>
id Integer Unique ID for the action.
configId String A configuration object as defined in the POS config model. Not used in Self Scanning.
BarcodeProcessorConfig.barcodes.<number>.actions.<number>.processReactions.<number> The reaction/function that should be started.
processName String The name of the start process. It must match one of the states defined in BarcodeProcessorConfig.barcodes.<number>.posStates.*
reactionName String Name of the function to be started.
BarcodeProcessorConfig.barcodes.<number>.actions.<number>.configParameters.<number> Function parameters that are extracted from the barcode together with the rules on how to extract them.
configParameters.<number>.name String Name of a function parameter that the extracted value should be mapped to.
configParameters.<number>.patternStart Integer Defines the start index within the barcode. Note: The first number in the barcode is at position 0.
configParameters.<number>.patternEnd Integer Defines the end index within the barcode. Note: The first number in the barcode is at position 0.
configParameters.<number>.trimZeroesLeft Boolean Leading zeroes of the extracted values are cut off, if set to true.
configParameters.<number>.trimZeroesRight Boolean Trailing zeroes of the extracted values are cut off, if set to true.
configParameters.<number>.decPointPosition Integer The extracted value is interpreted as a fixed point number with the defined number of decimal places.