Passport scanner integration
Introduction
FBO One can be used to produce passenger immigration forms, or visa request forms. You enter the passenger and crew information, and FBO One generates the form with the passenger information as well as the flight information. For quickly entering passenger and crew information, FBO One supports reading passports using a passport scanner.
This article describes how to setup and use the passport scanner.
Before you can use passport integration you need a FBO One supported device. Currently we support the next devices:
Access IS Keyboard. This is a keyboard that has a passport swipe reader integrated in it. See http://www.access-is.com/.
Grabba device that has a passport swipe reader integrated in it, See http://grabba.com/
3M™ CR100 device that has a passport swipe reader integrated in it, See http://multimedia.3m.com/mws/media/707932O
How to setup the passport scanner for a FBO Location
To use a passport scanner at an FBO location, it must first be activated for that location. Go to Menu > Administration > Application > Passport scanners:
Click Add New:
- FBO Location defines the location where the device must be active.
- Passport Scanner, the device name. For now, we only support the ATB42x keyboard by www.access-is.com and the Grabba device with passport reader integration by http://grabba.com/. Please note that other passport scanners should also work even if you select the Access Keyboard. All that is needed, is that the scanner sends the passport information as plain text as keyboard output, and that it ends the string with a TAB key. In FBO One, the user will place the keyboard focus on a text input control before starting to scan, therefore, this approach will work with virtually any scanning device that can send keyboard output.
- Default in or out bound type, when the passport dialog starts up it will pre check the check-boxes Inbound and or Outbound type. For example, if you mostly scan immigration forms only, you can make sure the new passenger/crew records are always assigned to the inbound leg by default.
- Default crew type, when the passport dialog starts it will pre select this passenger/crew type.
- ConfigString, is an optional field for extra settings that depend the passport scanner selected.
Using a passport scanner in FBO One
Before you can use the passport scanner be sure the scanner is setup for FBO Location. When no passport scanner device is assigned to your fbo location, the 'scan passport' command is not available.
To scan a passport, look up the handling order, and go to the 'Crew/Pax' tab:
In the bottom left you can find a hyperlink named 'Scan passport with Access Keyboard'.
Note that in in the future, FBO One may also support other devices than the Access Keyboard
When clicking the link the following dialog window appears:
Before scanning, make sure the focus is on the Scan field. The Scan field should appear highlighted in blue. If it does not, click the text box with the mouse to set the focus. Now FBO One is ready to receive passport data from the keyboard. The passport data is received as a stream of regular key strokes, so for FBO One to process it correctly, it must be entered in the correct 'Scan field'.
It is possible to move the window over the screen by dragging the header bar. This could be helpful if you need to check the names in the crew/pax tab of the handling order, to prevent scanning a duplicate.
It is also possible to test this passport scanning functionality without a special keyboard. Just copy a sample passport text stream from the Appendix passport sample streams, and paste the text into the Scan field.
After scanning, or when you move the focus to the next input field using the mouse or the Tab key, FBO One will process the stream and populate the other input fields.
Before clicking 'OK' or Enter, validate the following fields:
- Inbound or Outbound flight
- Crew type
- If applicable for your immigration forms, the Gender field
When clicking OK, a crew/passenger record will added to the inbound and/or outbound legs of the handling order.
Setting up new passport scanner devices (Programmers only)
Before you can use the passport functionality in FBO One the hardware must be defined.
The is a table called PassportScanner
This table stores the relation between the scan hardware and FBO One.
- Name, will store the hardware name e.g. AccessKeyboard
- ClassName , will store the class name of the hardware, this class should support IPassportScanner interface.
- ConfigString, the configuration string needed to let the hardware work with FBOOne
- Remark, general remarks e.g. instruction when the device is not working
Access Keyboard
To work with this device you need first to install the latest driver: http://downloads.access-is.com/index.htm
After installing the driver you need to configure the keyboard by installing window registry keys defined in the attached Passport scanner integration
Default ConfigString
ConfigSting stores an property 'passportregexp' this will store the regular expression to grab the elements from the text stream.
passportregexp=(^(?<documentType>[A-Z]{1,2})([<]{0,1})(?<issuingcountry>[A-Z]{1,3})([<]{2})?(?<lastname>[A-Z]+(<[A-Z]+)*)<(<(?<names>[A-Z]+))+<*([^A-Z^0-9]{1,2})(?<passportnr>[A-Z0-9]+)(<+)?[0-9](?<nationality>[A-Z]{1,3})([<]{2})?(?<dobYYMMDD>[0-9]{2}[0-1][0-9][0-3][0-9])[0-9](?<sex>F|M)(?<expirationYYMMDD>[0-9]{2}[0-1][0-9][0-3][0-9])[0-9](?<personalnumber>[A-Z0-9]*))|(^(?<documentType>[A-Z ]{1,3})([<]{0,1})(?<issuingcountry>[A-Z]{3})(?<passportnr>[A-Z0-9]{9}).+\n(?<dobYYMMDD>[0-9]{2}[0-1][0-9][0-3][0-9])[0-9](?<sex>F|M)(?<expirationYYMMDD>[0-9]{2}[0-1][0-9][0-3][0-9])[0-9](?<nationality>[A-Z]{3}).+\n(?<lastname>[A-Z]+(<[A-Z]+)*)<(<(?<names>[A-Z]+))+);
Grabba Device
To work with this device you need be sure there will be a tab send after a swipe.
Go to the setting page of the grabba app en check the next setting:
Default ConfigString
ConfigSting stores an property 'passportregexp' this will store the regular expression to grab the elements from the text stream.
Passport Stream Expression
passportregexp=(^(?<documentType>[A-Z]{1,2})([<]{0,1})(?<issuingcountry>[A-Z]{1,3})([<]{2})?(?<lastname>[A-Z]+(<[A-Z]+)*)<(<(?<names>[A-Z]+))+<*([^A-Z^0-9]{1,2})(?<passportnr>[A-Z0-9]+)(<+)?[0-9](?<nationality>[A-Z]{1,3})([<]{2})?(?<dobYYMMDD>[0-9]{2}[0-1][0-9][0-3][0-9])[0-9](?<sex>F|M)(?<expirationYYMMDD>[0-9]{2}[0-1][0-9][0-3][0-9])[0-9](?<personalnumber>[A-Z0-9]*))|(^(?<documentType>[A-Z ]{1,3})([<]{0,1})(?<issuingcountry>[A-Z]{3})(?<passportnr>[A-Z0-9]{9}).+\n(?<dobYYMMDD>[0-9]{2}[0-1][0-9][0-3][0-9])[0-9](?<sex>F|M)(?<expirationYYMMDD>[0-9]{2}[0-1][0-9][0-3][0-9])[0-9](?<nationality>[A-Z]{3}).+\n(?<lastname>[A-Z]+(<[A-Z]+)*)<(<(?<names>[A-Z]+))+); |
3M Device
To work with this device be sure the device streams the output like this:
3M Passport stream
SWART
AUKE
04-08-71
14-10-23
PASSPORT
NR4RHH4H24
NLD
NLD
NLD
M
END
3M Passport stream with labels
Surname: SQUIRES
Forenames: RICHARD
Date of Birth: 01-01-01
Expiry Date: 18-01-19
Issue Date: 01-01-17
Document: PASSPORT
Doc. Number: 3248820
Issuing State: LBN
Nationality: LBN
Address Street:
Address City:
Address State:
Address Postal Code:
Address Country: LBN
Height:
Weight:
Hair Color:
Eye Color:
END
3M ID Card
START
TESIDCARD
TESTLASTNAME
28-06-90
03-04-23
IDENTITY CARD
108131234
SAU
SAU
SAU
M
END
To test this open the notepad application, once open, swipe a passport to see the passport data.
Default ConfigString
ConfigSting stores an property 'passportregexp' this will store the regular expression to grab the elements from the text stream.
Passport Stream Expression
3M Regexp
Appendix passport sample streams
Access Keyboard
P<NLDSWART<<AUKE<ANDRIES<<<<<<<<<<<<<<<<<<<<NR4RHH4H24NLD7108042M1404166108812297<<<<<44
P<NLDGRUIS<<MIRJAM<NIESINA<<<<<<<<<<<<<<<<<<NG96873998NLD7212284F0908092109085279<<<<<98
P<GBRACCESS<<KEYBOARDS<UK<OCRPRODUCTS<<<<<<<1007458803GBR6501082M0805102<<<<<<<<<<<<<<03
I<NLDIV1F883112256859541<<<<<3
0504276M2001274NLD<<<<<<<<<<<6
SWART<<STIJN<DAAN<<<<<<<<<<<<<
Grabba device
PNLDGRUIS<<MIRJAM<NIESINA<<<<<<<<<<<<<<<<<<*
NG96873998NLD7212284F0908092109085279<<<<<98
3M Device
START
SWART
AUKE
04-08-71
14-10-10
PASSPORT
NR4RHH4ABC
NLD
NLD
NLD
M
END
START
TESIDCARD
TESTLASTNAME
28-06-90
03-04-23
IDENTITY CARD
108134902
SAU
SAU
SAU
M
END
Developer notes
There are some small variations in passport streams.
Sometimes a passport swipe is failing because we don’t recognize the raw steam.
There is an option to analyze the passport streams. Before a passport stream is parsed the data will be stored in an audit record as remark.
Responsible function for storing raw data is: PPPBusLib.FbolocationPassportScannerRepository.ParsePasportData.
There is a PassportParserExplicitTester.TestPassportsCollectAuditSwipes in the ExplicitTests to analyze raw streams bases on the audit remarks.
This tester will search for this remarks and try to parse and trace the results.
Update 'ExplicitTests.user.config' to connect to the correct database and run the test TestPassportsCollectAuditSwipes.
Related Passport Scanner pages:
-
Mobile passport scanner — For quickly entering passenger and crew information, FBO One supports reading passports using a mobile hand held device.
-
Passport scanner integration — For quickly entering passenger and crew information, FBO One supports reading passports using a passport scanner.
Related pages:
-
AvailablePaxCrewEditorFields — Defines which fields show when adding Crew/Pax names under the Crew/Pax tab.
-
Beta_EnableNewCrewPaxScreen — Beta setting to enable the modernUI transition for Crew/pax order details.
-
Beta_RestrictCrewTypes — Beta setting to enable the function to restrict Crew types to FBO locations or FBO location groups.
-
Crew member (Fields) — List of available fields for adding/editing crew/pax in the crew/pax tab.
-
-
Crew types (Administration) — This part of administration is where the crew types are defined.
-
Crew/Pax Tab — The crew and passenger details of an order can be viewed, added and edited from this screen.
-
EnablePaxCrewDetailsInOtcOrders — Allows the use of the passenger and crew names tab in the order screen for orders that do not have a related aircraft handling.
-
EnableUpdateCrewPaxFromFile — Indicates if Crew/pax names can be uploaded from an excel template within an order. More information here.
-
How to batch upload crew/pax details via Excel file — From the Crew/Pax tab it is possible to download and batch upload a list of crew/pax details from an Excel file.
-
How to copy crew/pax between flight legs and from previous flights — Speed up the process of adding crew/pax details by copying between legs and previous flights.
-
How to create new Travel Document types — To create new Travel Document types, go to Administration > Application > Travel document types
-
How to enter/edit Crew/Pax Details for an order — Entering and editing crew and passenger details to an order allow generating GENDEC reports and can be used as a reference
-
-
IsCleanCrewNamesEnabled — Indicates if crew records are auto-deleted after a certain amount of days if not used on a flight leg.
-
IsCleanPaxNamesEnabled — Determines whether Pax names are deleted or stored within FBO One.
-
IsCrewCountMandatoryUponArrivalAndDeparture — Controls whether or not the crew count is mandatory in the arrival and departure workflow transitions.
-
-
Pax calculator — Sets the quantity of the service to the number of inbound/outbound passengers.
-
Pax Crew query — The Pax Crew query is used to export Passenger and/or Crew data from flight legs over a period or a single order.
-
Search by Filter — The ‘Search by’ filter is used in conjunction with the normal open order text search to filter which parts of an order should be searched for.
-
SharePaxCrewWithNetwork — Whereby multiple FBO Locations are handled by FBO One, this setting defines whether Crew/Pax details are to be shared across the network.
-
ShowFullNamesForCrewPaxByDefault — Defines whether the full Crew/Pax names should be shown under the Crew/Pax tab.