Development of NOD BackOffice Clients

Using NOD

This chapter describes the most central concepts for a PTO to use NOD. The chapter does not cover all details but aims instead to put the NOD PTO Interface Specification in context for a NOD PTO developer. The PTO interface is currently accessed through the PL4 application, and PL4 access is therefore required. The NOD-related functionality in PL4 is hereafter referred to as the PTIS-HUB. For details on these services, consult the documentation.

PTIS-HUB NOD Services

Use of NOD is relatively simple. Orders that should be distributed by NOD can be added by calling the SOAP service described in [NOD_Services.doc - Document provided on request.]:

ServiceComment
AddOrdersAdd one or more orders that should be distributed as an OrderGroup
UpdateOrderGroupModify the state of an OrderGroup. This has many restrictions and is mostly used for cancellation.
GetOrderGroupsReturn the contents of OrderGroups. Typically used to check if an OrderGroups has been picked up, or used as a basis for a reconstruction.

The OrderDescription that is submitted through AddOrders is a Base64 encoded XML document indended for a specific Plugin. PL4 will retrieve the OrderDescription schema from this plugin and validate the sumbmitted OrderDescription according to this schema before a submission is accepted. The metadata submitted with the order (ActionType, CompanyID etc) is used by PL4 to select the correct Plugin.

PTIS-HUB Registrar Services

Mobile QR Codes contain a cryptographically signed checksum. This checksum is calculated by the Mobile Ticket NOD Plugin. In order to verify these checksums during QR code scanning, the validator must obtain the same keys used for signing the QR code. These keys may be downloaded by a PTO through the PL4 RegsitrarServices by calling GetProtectedResources. This is the same service that the Plugin itself retrieves the keys from.

Submitting an Order to NOD for Distribution

Read [Del 22 App D - Document provided on request.].

NOD Transactions

Read [Del 22 App D - Document provided on request.].

Custom reports

This is mostly the properties submitted by the NOD Client at the time of pickup, and may be used for reports that need to know the location of the traveler, the Service Provider associated with the NOD Client etc. The following example comes from a stationary Mobile Ticket APP:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:context xmlns:ns2="http://ioas.no/nod/queue/context">
    <property>
        <key>timestamp</key>
        <dateTime>2013-05-15T07:35:49.160Z</dateTime>
    </property>
    <property>
        <key>userAgent</key>
        <string>RuterBillett/1.0 (wp; OsVersion WinCE 7.10.8107; AppVersion 2)</string>
    </property>
    <property>
        <key>mediaSerialNumberID</key>
        <string>3298536270566</string>
    </property>
    <property>
        <key>locale</key>
        <string>no</string>
    </property>
    <property>
        <key>clientID</key>
        <string>DV5D4MCUXJ</string>
    </property>
    <property>
        <key>qrSize</key>
        <unsignedInt>480</unsignedInt>
    </property>
    <property>
        <key>orderGroupID</key>
        <string>999999</string>
    </property>
    <property>
        <key>capabilityCode</key>
        <string>000000001000000000000000000</string>
    </property>
    <property>
        <key>clientSecret</key>
    <byteArray>65303464356239642D363539642D343363632D393830392D303338316637343062376535</byteArray>
    </property>
</ns2:context>