Last updated: 19.08.2024
Valid from: Opter 2023.12.00, Opter Terminal 67.0
Customising the layout and features of Opter Terminal with Terminal.Settings
Terminal.Settings can be used to set what is displayed and what features are available in Opter Terminal. This article describes the basics and structure of Terminal.Settings.
To open Terminal.Settings in Opter’s internal editor, click on Settings > Mobile data > Settings mobile data, and then on Edit next to Terminal.Settings.
If Terminal.Settings does not appear in the list, click on an empty line in the Name column and select Terminal.Settings from the list.
Tip
All other windows in Opter are locked when Layout - apps is open, but you can switch between different windows that are already open. If you need to see information in other windows, you can open them before opening Layout - apps.
In a clean installation of Opter, Terminal.Settings looks like this.
Factory settings
<?xml version="1.0" encoding="utf-8" ?>
<fleet101>
<k2>
<windowsce>
<terminal>
<arrivalscanning enabled="true"/><!-- enable/disable arrival scanning true or false -->
<departurescanning enabled="true"/><!-- enable/disable departure scanning true or false -->
<floorcheckscanning enabled="true"/><!-- enable/disable floorcheck scanning true or false -->
<loadcarrierscanning enabled="false"/><!-- enable/disable load carrier scanning true or false -->
<damages enabled="true"/><!-- enable/disable damage scanning true or false -->
<terminalpod enabled="true"/><!-- enable/disable POD scanning true or false -->
<printing enabled="false"/><!-- enable/disable print true or false -->
<picture selectfromgallery="true"/><!-- max width on the widest side of the image, enable/disable get photos from gallery -->
<qrscanning enabled="false"/> <!-- start scanning with QR code instead of choosing arrival/departure, resource etc. -->
<barcodeformats enabledformats="AZTEC,CODABAR,CODE_39,CODE_128,DATA_MATRIX,EAN_8,EAN_13,ITF,PDF_417,RSS_14,RSS_EXPANDED,UPC_A,UPC_E,UPC_EAN_EXTENSION,QR_CODE"/>
<onescanrow enabled="true" showhub="true" showdate="true" showtime="true" showresource="true" showstatus="true" showdimensions="true" showComment="true"/>
<arrival><!-- specific settings for arrival scanning-->
<shipment visible="true" /><!-- enable disable freightbill scanning-->
<package visible="true" /><!-- enable disable package scanning-->
<resource mandatory="false" skipVisible="false" /><!-- if mandatory="true" you must choose resource, if mandatory="false" and skipVisible="true" it's optional to choose resource -->
<secondaryresource selectable="true"/><!-- set to false to skip selection of secondary resource -->
<route visible="false" choice="false" /> <!-- visible="true" show route in scan result list, choice="true" you have to choose route before scanning-->
<nextroute visible="false"/> <!-- visible="true" next route is displayed in scan result list and scan details-->
<orderdate visible="false"/> <!-- visible="true" sets order date displayed in scan list -->
<autoprintsortlabel enabled="false" /> <!-- enabled="true" automatic printing of sort labels after every scan -->
<comment enabled="false" mandatory="false"/> <!-- enabled="true" lets you add ScanComment, use mandatory true/false to make it mandatory/optional -->
<pod enabled="false"/> <!-- enabled="true" a POD dialogue is displayed after finishing scanning to add ProofOfDelivery -->
<nextresource visible="false" /> <!-- visible="true" sets next resource visible in scan list (SHI_NextResource) -->
<nextorder visible="false" /> <!-- visible="true" sets next order visible in scan list (SHI_AddressIndexFrom) -->
<registerlater enabled="true" /> <!--- to disable registerlater function set to false, default is true -->
<editdimensions PAC_Depth="true" PAC_Width="true" PAC_Height="true" PAC_Weight="true" PAC_LoadMeter="true" PAC_Area="true" PAC_Volume="true" PAC_Quantity="true" />
<!--pkgdimensions><![CDATA[ add text, html and variables here ]]></pkgdimensions-->
<!-- define own text in scan result list with simple html and variables: "PACKAGEWEIGHT", "PACKAGELOADMETER", "PACKAGEDEPTH", "PACKAGEWIDTH", "PACKAGEHEIGHT", "PACKAGEVOLUME", "PACKAGEQUANTITY", "PACKAGEAREA" -->
<!--fbdimensions><![CDATA[ add text, html and variables here ]]></fbdimensions-->
<!-- define own text in scan result list with simple html and variables: "DEL_CalculatedVolume", "DEL_CalculatedArea", "DEL_CalculatedLoadMeter", "DEL_CalculatedLength", "DEL_CalculatedWidth", "DEL_CalculatedWeight" -->
<!--listdesign><![CDATA[ add text, html and variables here ]]></listdesign-->
<!-- define own text in scan result list with simple html and variables: "ADR_AddrLine1From", "ADR_StreetFrom", "ADR_StreetNoFrom", "ADR_ZipCodeFrom", "ADR_CityFrom", "ADR_EntreCodeFrom", "ADR_PhoneFrom", "ADR_AddrLine1To", "ADR_StreetTo", "ADR_StreetNoTo", "ADR_ZipCodeTo", "ADR_CityTo", "ADR_EntreCodeTo", "ADR_PhoneTo", "PST_Name", "SHI_NextStatus", "SHI_NextResource", "NextRouteName", "ROU_Name", "SHI_AddressIndexFrom" -->
<!--detailsdesign><![CDATA[ add text, html and variables here ]]></detailsdesign-->
<!-- define own text in scan details with simple html and variables: "ADR_AddrLine1From", "ADR_StreetFrom", "ADR_StreetNoFrom", "ADR_ZipCodeFrom", "ADR_CityFrom", "ADR_EntreCodeFrom", "ADR_PhoneFrom", "ADR_AddrLine1To", "ADR_StreetTo", "ADR_StreetNoTo", "ADR_ZipCodeTo", "ADR_CityTo", "ADR_EntreCodeTo", "ADR_PhoneTo", "DEL_CalculatedVolume", "DEL_CalculatedArea", "DEL_CalculatedLoadMeter", "DEL_CalculatedLength", "DEL_CalculatedWidth", "DEL_CalculatedWeight", "PST_Name", "SHI_NextStatus", "SHI_NextResource", "NextRouteName", "ROU_Name", "SHI_AddressIndexFrom" -->
</arrival>
<departure> <!-- specific settings for departure scanning-->
<shipment visible="true" />
<package visible="true" />
<resource mandatory="false" skipVisible="true" />
<secondaryresource selectable="true"/>
<route visible="false" choice="false" />
<nextroute visible="false"/>
<orderdate visible="false"/>
<autoprintsortlabel enabled="false" />
<comment enabled="false" mandatory="false"/>
<pod enabled="false"/>
<nextresource visible="false" />
<nextorder visible="false" />
<registerlater enabled="true" /><!--- to disable registerlater function set to false, default is true -->
<editdimensions PAC_Depth="true" PAC_Width="true" PAC_Height="true" PAC_Weight="true" PAC_LoadMeter="true" PAC_Area="true" PAC_Volume="true" PAC_Quantity="true" />
<!--pkgdimensions><![CDATA[ add text, html and variables here ]]></pkgdimensions-->
<!--fbdimensions><![CDATA[ add text, html and variables here ]]></fbdimensions-->
<!--listdesign><![CDATA[ add text, html and variables here ]]></listdesign-->
<!--detailsdesign><![CDATA[ add text, html and variables here ]]></detailsdesign-->
</departure>
<floorcheck><!-- specific settings for floor-check scanning-->
<shipment visible="true" />
<package visible="true" />
<resource mandatory="false" skipVisible="true" />
<secondaryresource selectable="true"/>
<route visible="false" choice="false" />
<nextroute visible="false"/>
<orderdate visible="false"/>
<autoprintsortlabel enabled="false" />
<comment enabled="false" mandatory="false"/>
<nextresource visible="false" />
<nextorder visible="false" />
<registerlater enabled="true" /> <!--- to disable registerlater function set to false, default is true -->
<editdimensions PAC_Depth="true" PAC_Width="true" PAC_Height="true" PAC_Weight="true" PAC_LoadMeter="true" PAC_Area="true" PAC_Volume="true" PAC_Quantity="true" />
<!--pkgdimensions><![CDATA[ add text, html and variables here ]]></pkgdimensions-->
<!--fbdimensions><![CDATA[ add text, html and variables here ]]></fbdimensions-->
<!--listdesign><![CDATA[ add text, html and variables here ]]></listdesign-->
<!--detailsdesign><![CDATA[ add text, html and variables here ]]></detailsdesign-->
</floorcheck>
<damage><!-- specific settings for damage scanning-->
<shipment visible="true" />
<package visible="true" />
<resource mandatory="false" skipVisible="true" />
<secondaryresource selectable="true"/>
<route visible="false"/>
<nextroute visible="false"/>
<orderdate visible="false"/>
<nextresource visible="false" />
<nextorder visible="false" />
<registerlater enabled="true" /><!--- to disable registerlater function set to false, default is true -->
<editdimensions PAC_Depth="true" PAC_Width="true" PAC_Height="true" PAC_Weight="true" PAC_LoadMeter="true" PAC_Area="true" PAC_Volume="true" PAC_Quantity="true" />
<!--pkgdimensions><![CDATA[ add text, html and variables here ]]></pkgdimensions-->
<!--fbdimensions><![CDATA[ add text, html and variables here ]]></fbdimensions-->
<!--listdesign><![CDATA[ add text, html and variables here ]]></listdesign-->
<!--detailsdesign><![CDATA[ add text, html and variables here ]]></detailsdesign-->
</damage>
<loadcarrier> <!-- specific settings for loadcarrier scanning-->
<pod enabled="false"/> <!-- enabled="false" means that the user cannot add Proof Of Delivery (POD) after scanning packages onto a load carrier -->
</loadcarrier>
<pod><!-- specific settings for pod scanning-->
<shipment visible="true" />
<package visible="true" />
<resource mandatory="false" skipVisible="true" />
<secondaryresource selectable="true"/>
<route visible="false"/>
<nextroute visible="false"/>
<orderdate visible="false"/>
<nextresource visible="false" />
<nextorder visible="false" />
<registerlater enabled="true" /><!--- to disable registerlater function set to false, default is true -->
<editdimensions PAC_Depth="true" PAC_Width="true" PAC_Height="true" PAC_Weight="true" PAC_LoadMeter="true" PAC_Area="true" PAC_Volume="true" PAC_Quantity="true" />
<!--pkgdimensions><![CDATA[ add text, html and variables here ]]></pkgdimensions-->
<!--fbdimensions><![CDATA[ add text, html and variables here ]]></fbdimensions-->
<!--listdesign><![CDATA[ add text, html and variables here ]]></listdesign-->
<!--detailsdesign><![CDATA[ add text, html and variables here ]]></detailsdesign-->
</pod>
<print>
<shipment visible="true" />
<package visible="true" />
<orderdate visible="false"/>
<route visible="false"/>
<nextroute visible="false"/>
<nextresource visible="false"/>
<nextorder visible="false"/>
<editdimensions PAC_Depth="true" PAC_Width="true" PAC_Height="true" PAC_Weight="true" PAC_LoadMeter="true" PAC_Area="true" PAC_Volume="true" PAC_Quantity="true" />
</print>
</terminal>
</windowsce>
</k2>
</fleet101>
The sections of Terminal.Settings
Each part of Opter Terminal corresponds to a section of Terminal.Settings. The sections can be minimised and maximised by using and in the editor. If one of the sections, or a line, is not in your Terminal.Settings, a standard view is used. In this case, it can be copied from the factory settings above.
Changes made in Terminal.Settings are saved when Save is clicked in the Mobile data settings window, and are visible in the app once the terminal employees have logged out and back in again.
Tip
If any section to be customised is missing in Terminal.Settings, it can be copied from the factory settings above in order to start from there instead of building the section from scratch.
<terminal>, basic settings
What is displayed on the main menu of the app, and some other basic functions, can be defined by specifying “true” or “false” for the options here. The Log out option is always displayed and cannot be disabled.
Controls whether the Scan incoming option is displayed on the main menu. Used for scanning goods arriving at the terminal.
Controls whether the Scan outgoing option is displayed on the main menu. Used for scanning goods leaving the terminal.
Controls whether the Floor check option is displayed on the main menu. Used for scanning goods already at the terminal.
Controls whether the Fill load carrier option is displayed on the main menu. Used to scan packages that are to be added to a new or existing load carrier. It is not possible to scan freight bills or other load carriers with this option. For more information, see Load carrier.
Controls whether the Deviations option is displayed on the main menu. Used for scanning goods for which deviations are to be registered. For more information, see Registering deviations in Opter Terminal.
Controls whether the Proof of delivery option is displayed on the main menu. Used for scanning goods picked up by the receiver directly at the terminal. For more information, see Closing orders with Proof of delivery scanning in Opter Terminal.
Controls whether the Print option is displayed on the main menu. Used to print a package label, freight bill, sequence label or shipment list for the goods being scanned. For more information, see Configuring printout scanning in Opter Terminal.
Controls whether to select picture from the photo gallery when, for example, deviation scanning.
Controls whether the Activating scanning of QR codes in Opter Terminal.
option is displayed on the main menu. Used to scan a QR code with scan settings created in Opter. For more information, seeControls which barcode formats can be scanned with the app. The supported formats are not visible in the app.
Controls whether package scans on the same shipment are displayed in one block (enabled=“true”) or as separate blocks (enabled=“false”) in the scan list. If “true” is specified, it is possible to select which information is displayed in the block. The information is also displayed for the packages that the user does not scan on the shipment.
showhub: the terminal at which the package was last scanned.
showdate: the day the package was last scanned.
showtime: the time the package was last scanned.
showresource: The resource that last scanned the package.
showstatus: the last scan direction of the package (for example if it was scanned on arrival or departure at another terminal).
showdimensions: Displays the text and the package dimensions set for the mobile data setting PackageDimensionsString in the scan block (for example “Weight: 20 kg"). For more information, see Mobile data settings (window) and Customising the scan list in Opter Terminal.
showcomment: The latest scan comment for the package.
For more information on how to customise the scan list, see Customising the scan list in Opter Terminal.
Whether onescanrow enabled is set to "true" or "false" also determines how the scan list looks when scanning the load carrier. For more information, see Load carrier.
<arrival> (Scan incoming), <departure> (Scan outgoing), <floorcheck> (Floor check), <damage> (Deviations), <loadcarrier> (Fill load carrier) and <pod> (Proof of delivery)
In these sections, the way each scan will work can be defined once they have been selected in the main menu. For example, if the user has to choose whether packages or freight bills are to be scanned and what should be displayed and happen after the scan. The same settings can be configured for all scan directions, with some exceptions. They can be set by specifying “true” or “false” for the different parameters.
visible: shows/hides the Freight bill number option after a scan direction has been selected.
If “false” is entered, the user cannot scan freight bills, but goes directly to the package scan. If “false” is entered for both shipment and package, both options are displayed.
visible: shows/hides the Package option after a scan direction has been selected.
If “false” is entered, the user cannot scan packages, but goes directly to the freight bill scan. If “false” is entered for both shipment and package, both options are displayed.
mandatory: mandatory/not mandatory to indicate which resource is picking up or dropping off the goods. Vehicle or driver, depending on what you log into the app as.
skipVisible: shows/hides the Skip tab.
Combinations of settings:
mandatory="false" and skipVisible="false": the resource selection dialogue box is not displayed at all (default).
mandatory="false" and skipVisible="true": optional to select the resource.
mandatory="true" and skipVisible="false": mandatory to select the resource.
mandatory="true" and skipVisible="true": optional to select the resource.
Can be used with an arrival scan, if goods that have not been scanned before are left at the terminal, and with a departure scan, if the goods being loaded are scanned by the terminal staff instead of the driver.
Not <print> (Print).
selectable: shows/hides the option to select the secondary resource after the primary resource has been selected (vehicle or driver depending on what you log into the app as). The default is “true”. The setting is set to “false” so that the user does not have to select the secondary resource after selecting the primary resource.
This setting works together with the resource (see above). If choosing a primary resource is optional, choosing a secondary resource becomes optional. If choosing a primary resource is mandatory, choosing a secondary resource becomes mandatory.
visible: shows/hides the route by which the goods arrived in the scan list.
choice: mandatory/not mandatory to select route before scanning.
visible: shows/hides the route by which the goods will leave in the scan list and the detail view.
visible: shows/hides the order date in the scan list.
Only <arrival> and <departure> (Scan incoming and Scan outgoing).
enabled: a sequence label is printed automatically after scanning using one of the two scan directions above. A printer and report are selected in the Terminal printing window.
Only <arrival>, <departure> and <floorcheck> (Scan incoming, Scan outgoing and Floor check).
enabled: allows a scan batch to be created and a comment to be written after one of the above three scan directions has been selected. The comment is displayed in the POD and scanning log window in Opter (which can be opened by clicking on Status in the package row in the order reception), and in the list of scan batches that others at the terminal can connect to when they select one of the above three scan directions. The scan batch comment always starts with a date and time.
mandatory: mandatory/not mandatory to create a scan batch and write a comment.
For more information, see Printing shipment lists after scanning with Opter Terminal.
Endast <arrival>, <departure> and <loadcarrier> (Scan incoming, Scan outgoing and Fill load carrier).
pod enabled=”true”: the user can register a proof of delivery in conjunction with the arrival/departure scan of the package, freight bill and load carrier. If the arrival/departure of a load carrier is scanned by a user, the proof of delivery is registered for all the packages in the load carrier.
It is also possible to choose whether it should be possible to register POD when packages are scanned to a load carrier, i.e. when packages are added to a load carrier. For load carrier scanning <loadcarrier>, the setting pod enabled="true" means that the user can register proofs of delivery for the packages that have been scanned. The default setting is pod enabled=”false”.
pod enabled=”false”: the user cannot register a proof of delivery in conjunction with the arrival/departure/load carrier scan.
More information about POD registration when scanning load carriers is available in Load carrier.
Tip
If it should be mandatory to register a proof of delivery with the arrival scan, proceed as follows:
Put pod enabled="true" within the <arrival> tag in Terminal.Settings. Save.
Click on Register > Terminals. In the list on the left, click on the terminal for which a setting is to be made.
Click on Scanning tab and select the Force POD on arrival radio button. Save.
To make the setting for more terminals, repeat steps 2 and 3. For more information, see Require POD during an arrival scan at a terminal.
visible: shows/hides the resource that will transport the goods on the next shipment in the scan list.
Used with the arrival scan to sort the goods at the terminal to make loading easier when the drivers arrive.
visible: shows/hides the packing order from the route optimisation in the scan list.
Used with the departure scan for optimum packing of the vehicle. The packing order is affected by the Reverse route sequence for pickups from the same address setting in the Route optimization settings window, which allows the vehicle to be packed so that the package to be delivered first is packed last (outermost).
Not <print> (Print)
enabled: enables/disables the feature to display a list of scanned packages that cannot be linked to any orders. The list can be used for the subsequent manual registration of packages in Opter.
If this setting is not available in your Terminal.Settings, it will be treated as “true”.
Possible/not possible to edit the dimensions of the scanned packages in the detail view. If this row is not available in your Terminal.Settings, all dimensions can be edited.
PAC_Depth: length.
PAC_Width: width.
PAC_Height: height.
PAC_Weight: weight.
PAC_LoadMeter: load metres.
PAC_Area: pallet space.
PAC_Volume: volume.
PAC_Quantity: quantity.
Comments
Any text between <!-- and --> in the XML file is only displayed in Terminal.Settings and does not affect the layout or functionality of the app. Comments are displayed in green text in the editor.
The comment <!-- enable/disable arrivalscanning true or false --> is for information only.
<arrivalscanning enabled="true"/><!-- enable/disable arrivalscanning true or false -->
Tip
To restore the default settings for a section, the changes can be marked as comments by putting them between <!-- and --> instead of deleting them. This allows them to be enabled again at a later date.
Separate Opter Terminal settings for a specific terminal
Settings can be configured that apply to a scan at a specific terminal by creating a configuration file in the same format as Terminal.Settings in the terminal registry. Copy the contents of Terminal.Settings and change the settings so that they are different for that particular terminal. For more information, see Separate Opter Terminal settings for individual terminals.