Anatomy of a barcode
The following is a typical Graphic Pass layout barcode field. This particular barcode is designed to be scanned with Symbol or gate scanners: BC_CODE128('PXX'+dec2baseXX(gst_pass.pass_no)).
The following table lists and describes the elements:
Element | Description |
BC_CODE128 | Encrypted font used for barcodes. |
P | Access control prefix (designated in the SysManager > Preferences > Access Control). |
XX | Used to bypass the expiration date check. See following description after the table. |
dec2baseXX | Further encryption to create even smaller barcodes. |
gst_pass.pass_no | Actual field containing the pass number. |
Barcodes may or may not have the expiration of the pass physically written into the barcode. When an expiration date is physically written into a barcode, the first thing that happens when a pass is scanned is a verification that the expiration date included in the barcode is still in the future. As long as the expiration date is still in the future, the number is sent to SalesEZ application for validation. If the expiration date written into the barcode is in the past, the validation immediately fails and the pass number is not sent to SalesEZ application for validation.
Normally, pass records never include an expiration date within the barcode and thus the pass number is always sent to SalesEZ application for validation – thus XX is inserted immediately after the Access Control prefix to bypass expiration date checking. However, access records often include the expiration date within the barcode. Including expiration dates in access barcodes helps to prevent fraud when scanners are off-line because the expiration date physically written into a barcode can be used to distinguish expired from non-expired tickets even if the scanners are disconnected from SalesEZ application.
Careful consideration must be made when choosing to include expiration dates in barcodes. Because the expiration date calculated at the time of sale is physically written into the barcode, even if an expired access record is edited in SysManager in order to extend its valid dates, the scan of the matching access barcode still fails. The updated access record within the server data is never checked because the original expiration date written into the barcode causes the validation to immediately fail. If it is a common practice to alter expiration dates of tickets for guests (due to guest service issues or operator error), the expiration date is not included in the Layout field for access barcodes and XX is inserted directly after the Access Control prefix instead.
Note: Expiration dates written into barcodes work with the rollover setting included in ScanMan module. Please consult the Salesware Access Control documentation for details regarding how to use expiration dates in barcodes with rollover settings.
For more information, see the Salesware Layouts document.