Getting Started
Please note this API documentation is not about the latest API, but it is still supported. For working with the latest API please visit the main documentation page.
Use the Reporting REST API to easily and securely retrieve Automatic Passenger Counting (APC) Data. The Reporting API contains resource collections for retrieval of stops, waypoints, door opening times, device lists and Microsoft® Excel® reports.
These are the guidelines that help you integrate the API.
You’ll succeed if you do this.
Here’s some useful information.
Something may not happen if you try and do this.
Something bad will happen if you do this.
Resource
This resource is used to retrieve Automatic Passenger Counting data from your fleet. Resource URI:
https://api.irmaonair.com/services/REST/apc/{apiVersion}/{releaseVersion}
This API reference is about the latest API Version 1.6
https://api.irmaonair.com/services/REST/apc/v1/r6
Authentication
You need to be authenticated for all API requests. You can get API credentials consisting of username and password by contacting the IRMA onAir team or your iris project manager.
Access to the REST API is secured with HTTPS (TCP port 443). As encryption protocol TLS 1.2 is currently in use. Please ensure your API client supports TLS encryption. Accessing the REST-API through standard HTTP via TCP port 80 is not supported.
Nothing will work unless you include the credentials with each API call.
curl -u user:pw -k -X POST -H "Accept: application/json" "https://api.irmaonair.com/services/REST/apc/v1/r6/stops/demo?vehicleId=demo&opdate=2017-04-04"
Response Codes
Code | Name | Description |
---|---|---|
200 | OK | Success |
401 | Unauthorized | Client did not provide basic authentication |
403 | Forbidden | Invalid combination of username and password |
404 | Not Found | Requested resource was not found |
405 | Method Not Allowed | Syntactically invalid API resource or invalid request |
406 | Not Acceptable | Semantically invalid API resource or invalid request |
All errors will return JSON in the following format:
{
"error":
{
"code":"error code",
"message":"message text",
"description":"error description"
}
}
Release Notes
Change | Status | Description |
---|---|---|
Stops, Waypoints, Devices, Excel Reports | New Feature | All HTTP POST resources that do not require a payload are also available as HTTP GET resources by now. The support for GET requests was added due to the fact that some major self-service Business Intelligence tools only allow GET operations for retrieval of data from REST-APIs. |
Waypoints | Change | All values in the Waypoint json/XML responses are wrapped by double quotes. This has been changed for conformance to the representation of Stops record values. |
Stops | Change | If there are multiple APC events within one XML Stop record, then the record list is framed with an <apcData> opening and closing XML tag. Prior API versions do not generate such a tag. This change is not backwards compatible and only affects the XML representation. Please check your client implementation before switching to this API version. |
Waypoints | Bug Fix | The XML representation of waypoints has been repaired and is available again. |
/stops/{operator}/
The stops/{operator}/ resource return stops data of the fleet for a selected operation date on a vehicle basis. Each vehicle record comes with a listing of stop records in descending order, each of them containing the counting data for a specific stop.
Please replace the operator placeholder with the name of the operator specified during project setup.
Sample URI:
https://api.irmaonair.com/services/REST/apc/v1/r6/stops/demoOperator
Request Input Parameters
Parameter | Description | Data Type | Usage |
---|---|---|---|
vehicleId | Unique vehicle identifier of a vehicle of the operator’s fleet. It can be a license plate text or a defined identifier by the operator itself. Example: “B-AT 001”, “bus-1” | xs:string |
Optional |
opdate | Operation date of the selected vehicle in the format: YYYY-MM-DD . Example: “2016-12-21” |
xs:string |
Optional |
doorLengthOnly | If set to true Door Opening Times are calculated after a vehicle has let a stop (immutable data sets, safe mode). If set to false Door Opening Times are calculated during a stop and may be re-calculated and transmitted several times (mutable data sets, real-time mode). Defaults to false . |
xs:string |
Optional |
limit | Upper limit for the number of returned records. Example: “10” . Retrieves the latest 10 APC records of the selected operation date in descending order | xs:int |
Optional |
By default, this call will return the stops data of the whole fleet for the selected operation date. The operation date defaults to the current date, if not set explicitly.
Header Input Parameters
Parameter | Description | Default | Usage |
---|---|---|---|
Accept | MIME Type data format of the response. Currently following formats are supported:application/json application/xml text/csv |
text/csv |
Optional |
Accept-Encoding | Accept Encoding compresses server responses. Either gzip or none is supported. It is strongly recommended to use gzip for reducing network traffic and transmission time. |
none |
Optional |
Output Parameters
If HTTP response code is 200
the request was successful.
If request header parameter is of MIME type “Accept: text/csv”, then filename is included as follows: Content-Disposition: attachment; filename="YYYY-MM-DD_operator_vehicleId.csv"
``
curl -u user:pwd -k -X POST -H "Accept: application/json" "https://api.irmaonair.com/services/REST/apc/v1/r6/stops/demo?vehicleId=demo&opdate=2017-06-01"
HTTP/1.1 200
Date: Fri, 13 Oct 2017 14:17:50 GMT
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Type: application/json
Transfer-Encoding: chunked
{
"VDV457":{
"timestamp":"2017-10-13T12:50:19Z",
"version":"0.1",
"VEHICLE":{
"operator":"demo",
"vehicleId":"demo",
"time":"2017-10-13T12:50:19Z",
"stop":[
{
"type":"1",
"timeStart":"2017-06-01T19:10:15Z",
"timeStop":"2017-06-01T19:10:15Z",
"lon":"14.0995958",
"lat":"51.0466250",
"apc":{
"door":"1",
"catId":"0",
"in":"4",
"out":"4"
}
},
{
"type":"1",
"timeStart":"2017-06-01T18:59:59Z",
"timeStop":"2017-06-01T18:59:59Z",
"lon":"14.0801492",
"lat":"51.0505408"
}
]
}
}
}
/stops/{operator}/update
The update sub resource is used for retrieval of stop updates by specifying a time range for which the APC data will be returned. The maximum time range is 24 hours in the past.
Sample URI:
https://api.irmaonair.com/services/REST/apc/v1/r6/stops/demoOperator/update
The use of the update sub resource is limited to accept payload of content type application/json
only at the moment. The header and request input parameters of the stops resource still apply.
The update resource requires a json payload to be sent with each request. The payload is specifying the vehicle identifiers for whom stop updates shall be returned in the response. The time range is defined as the time between current system timestamp and the value of the timeStamp
field provided with each vehicle record.
Payload example #1
{
"update": {
"vehicles": [{
"vehicleId": "demo-1",
"timeStamp": "2018-04-23T13:59:41+02:00"
},{
"vehicleId": "demo-2",
"timeStamp": "2018-04-23T12:40:32+02:00"
}]
}
}
To address all vehicles of the fleet the update
tag should remain empty. The response will include the data of the last 24 hours.
Payload example #2
{
"update":{ }
}
The most recent timestamp per vehicle that is received with the response is meant to be put into the following request again. By doing this an API client will always retrieve exactly that pieces of data that have not been processed yet. When there are no new data available, then the stop listing of the response will be empty.
If a vehicleId cannot be recognized or is not associated to the operator, then the vehicle record of the response contains an error field containing the value 1
.
Wrong vehicle Id
{
"vehicleId": "wrongVehicleId",
"operator": "demo",
"error": "1",
"stop": []
}
Request Input Parameters
Parameter | Description | Default | Usage |
---|---|---|---|
addMissing | Boolean value that, if set true, enforces the export of stops data of the whole fleet with each request. Vehicles that have been added to the fleet while the API client is up & running, can be detected and added to the main loop. | false |
Optional |
If HTTP response code is 200
the request was successful.
curl -u user:pwd -k -X POST -H "Accept: application/json" -H "content-type: application/json" "https://api.irmaonair.com/services/REST/apc/v1/r6/stops/demoOperator/update" -d "{\"update\":{}}"
HTTP/1.1 200
Date: Fri, 13 Oct 2017 14:17:50 GMT
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Type: application/json
Transfer-Encoding: chunked
{
"VDV457":{
"timestamp":"2017-10-13T12:50:19Z",
"version":"0.1",
"VEHICLE":{
"operator":"demo",
"vehicleId":"demo",
"time":"2017-10-13T12:50:19Z",
"stop":[
{
"type":"1",
"timeStart":"2017-06-01T19:10:15Z",
"timeStop":"2017-06-01T19:10:15Z",
"lon":"14.0995958",
"lat":"51.0466250",
"apc":{
"door":"1",
"catId":"0",
"in":"4",
"out":"4"
}
},
{
"type":"1",
"timeStart":"2017-06-01T18:59:59Z",
"timeStop":"2017-06-01T18:59:59Z",
"lon":"14.0801492",
"lat":"51.0505408"
}
]
}
}
}
/tracks/{operator}/
The /tracks/{operator} resource returns a set of waypoint records in descending order. Vehicle identifier and operation date serve as mandatory input parameters. A waypoint is a geolocation record generated while the vehicle is driving between two subsequent stops. A waypoint is comprised of a GNSS geolocation and a timestamp.
Please replace the operator placeholder with the name of the operator specified during project setup.
Sample URI:
https://api.irmaonair.com/services/REST/apc/v1/r6/tracks/demoOperator
Request Input Parameters
Parameter | Description | Data Type | Usage |
---|---|---|---|
vehicleId | Unique vehicle identifier of a vehicle of the operator’s fleet. It can be a license plate text or a defined identifier by the operator itself. Example: “B-AT 001”, “bus-1” | xs:string |
Mandatory |
opdate | Operation date of the selected vehicle in the format: YYYY-MM-DD . Example: “2016-12-21” |
xs:string |
Optional |
limit | Upper limit for the number of returned records. Example: “10” . Retrieves the latest 10 APC records of the selected operation date in descending order | xs:int |
Optional |
withMotion | Allows to request additional attributes speed v , altitude alt , azimuth azi .If the Hardware is not configured to provide such values, the defaults are v:-1.0 ,azi:32767 ,alt:32767 .If GPS is not available due to signal quality issues, defaults are v:0.0 ,azi=0 ,alt:16384 |
xs:boolean |
Optional |
By default, this call will return all counting events for the selected operation date. The operation date defaults to the current date.
Header Input Parameters
Parameter | Description | Default | Usage |
---|---|---|---|
Accept | MIME Type data format of the response. Currently following formats are supported:application/json application/xml |
application/json |
Optional |
Accept-Encoding | Accept Encoding compresses server responses. Either gzip or none is supported. It is strongly recommended to use gzip for reducing network traffic and transmission time. |
none |
Optional |
Output Parameters
If HTTP response code is 200
the request was successful.
curl -u user:pwd -k -X POST -H "Accept: application/json" "https://api.irmaonair.com/services/REST/apc/v1/r6/tracks/demo?vehicleId=demo&opdate=2017-06-01"
HTTP/1.1 200
Date: Fri, 13 Oct 2017 14:17:50 GMT
Content-Type: application/json
Transfer-Encoding: chunked
{
"track":{
"firstTimestamp":"2017-06-01T20:00:46Z",
"lastTimestamp":"2017-06-01T20:01:07Z",
"length":"2",
"operator":"demo",
"vehicleId":"demo",
"wayPoints":[{
"time":"2017-06-01T20:01:07Z",
"lat":"51.0466833",
"lon":"14.0996633"
},
{
"time":"2017-06-01T20:00:46Z",
"lat":"51.0466983",
"lon":"14.0996425"
}
]
}
}
/user/devices
This resource is used to retrieve information about a fleet and it's vehicles. The fleet data is resolved by the user credentials used to request the resource, because it is associated with fleet and tenant information.
Sample URI:
https://api.irmaonair.com/services/REST/apc/v1/r6/user/devices
Request Input Parameters
This resource does not accept any query or path parameters.
Header Input Parameters
Parameter | Description | Default | Usage |
---|---|---|---|
Accept | MIME Type data format of the response. Currently following formats are supported:application/json |
application/json |
Optional |
Accept-Encoding | Accept Encoding compresses server responses. Either gzip or none is supported. It is strongly recommended to use gzip for reducing network traffic and transmission time. |
none |
Optional |
Output Parameters
If HTTP response code is 200
the request was successful.
curl -u user:pwd -k -X POST -H "Accept: application/json" "https://api.irmaonair.com/services/REST/apc/v1/r6/user/devices"
HTTP/1.1 200 OK
Date: Tue, 16 Jan 2018 15:34:37 GMT
Content-Type: application/json
Transfer-Encoding: chunked
{
"mydevices":{
"operators":{
"name":"demo",
"shortName":"demo",
"longName":"demo",
"email":"irmaonair@irisgmbh.de",
"language":"en-US",
"timeZone":"UTC",
"devices":{
"serialnumber":"364950",
"vehicleid":"demo"
}
}
}
}
/reports/{operator}
This resource provides EXCEL reports about operational data per vehicle and per operation date. A single report contains all stops with boardings and alightings.
Please replace the operator placeholder with the name of the operator specified during project setup. Please note that Excel reports show the official nominal stop name instead of the stop Id for better user experience.
Sample URI:
https://api.irmaonair.com/services/REST/apc/v1/r6/reports/demoOperator
Request Input Parameters
This resource does not accept any query or path parameters.
Header Input Parameters
Parameter | Description | Default | Usage |
---|---|---|---|
Accept | MIME Type data format of the response. Currently following formats are supported:application/vnd.ms-excel |
application/vnd.ms-excel |
Optional |
Accept-Encoding | Accept Encoding compresses server responses. Either gzip or none is supported. It is strongly recommended to use gzip for reducing network traffic and transmission time. |
none |
Optional |
Output Parameters
If HTTP response code is 200
the request was successful.
The filename is included in the response as follows: Content-Disposition: attachment; filename="2017-12-22_demo_demo.xls"
``
curl -u user:pwd -k -X POST -H "Accept: application/vnd.ms-excel" "https://api.irmaonair.com/services/REST/apc/v1/r6/reports/demo?vehicleId=demo&opdate=2017-12-22"
HTTP/1.1 200 OK
Content-Type: application/vnd.ms-excel
Transfer-Encoding: chunked
Content-Disposition: attachment; filename="2017-12-22_demo_demo.xls"
/agency/{operator}/stops
This resource is used to pull all nominal stops assigned to an operator as static GTFS stops list. A stop record describes a stop including id, name, coordinates and other useful attributes. The stops data is mainly used for stop matching with actual stops, recorded during operations.
Sample URI:
https://api.irmaonair.com/services/REST/apc/v1/r6/agency/demoOperator/stops
Request Input Parameters
This resource does not accept any query or path parameters.
Header Input Parameters
Parameter | Description | Default | Usage |
---|---|---|---|
Accept | MIME Type data format of the response. Currently following formats are supported:text/csv |
text/csv |
Optional |
Accept-Encoding | Accept Encoding compresses server responses. Either gzip or none is supported. It is strongly recommended to use gzip for reducing network traffic and transmission time. |
none |
Optional |
Output Parameters
If HTTP response code is 200
the request was successful.
curl -u user:pwd -k -X POST -H "Accept: text/csv" "https://api.irmaonair.com/services/REST/apc/v1/r6/agency/demoOperator/stops"
HTTP/1.1 200 OK
Date: Tue, 16 Jan 2018 15:34:37 GMT
Content-Type: text/csv
Transfer-Encoding: chunked
1,U Mehringdamm,52.493237,13.387003,,,,,,,,,,,
2,U Mehringdamm,52.492916,13.386450,,,,,,,,,,,
3,U Gneisenaustraße,52.491281,13.394823,,,,,,,,,,,
4,U Gneisenaustraße,52.491706,13.394764,,,,,,,,,,,
5,U Kottbusser Tor,52.499432,13.416983,,,,,,,,,,,
6,U Kottbusser Tor,52.499864,13.418138,,,,,,,,,,,
General Information
IRMA onAir Reporting API is an implementation of VDV 457-2 (v2.0, published in 2015).
VDV 457 is a German standard for the implementation of APC systems created by the VDV organization (Association of German Transport Companies). Section VDV 457-2 2.0 which was released in 06/2015 is about the data exchange between an APC system and the central backend system. IRMA onAir Reporting API is an implementation of the autonomous profile of VDV 457-2 that allows exchanging APC raw data without the need of additional scheduling data.
Currently the representation of APC records is implemented according to VDV 457-2 standard. Waypoint data and meta data formats are propietary due to the fact that they are not covered by the standard.
The following sections guide you through the data formats used to exchange data between IRMA onAir Reporting API and software clients retrieving APC data from the platform. The data is available in the following formats:
- JSON (JavaScript Object Notation)
- XML (Extensible Markup Language)
- CSV (Comma-Separated Values)
The data formats are suitable for retrieving APC data, Waypoint Data and Meta Data about the fleet. A predefined representation of a vehicle journey is available in the Microsoft® Excel® format.
Actual Stops (VDV 457-2)
Document Header
The header is comprised of the timestamp when the document was created and the data interface version.
Field | Description | Data type | Example |
---|---|---|---|
timestamp | Timestamp of document created | xs:datetime |
2016-12-01T09:51:17+02:00 |
version | Identifier for current data interface version | xs:string |
0.1 |
For JSON and XML “VDV457” serves as the root element.
The first line of CSV documents contains the document header.
Vehicle Header
A vehicle header wraps a list of APC records that represent the vehicle’s journey on a specific operation date. The vehicle header consists of the operator identifier, the vehicle identifier and the timestamp when the current record was created.
Field | Description | Data type | Example |
---|---|---|---|
operator | Short name of the operator as specified during project setup | xs:string |
demo-operator |
vehicleId | The identifier of the vehicle as specified during project setup. If not specified, IRMA Hub device Id is returned. | xs:string |
demo-bus |
time | Timestamp of record created | xs:datetime |
2016-12-01T09:51:18+02:00 |
The second line of the CSV document contains the vehicle record header. It starts with a “VEHICLE” tag, because vehicle headers can occur multiple times within a document, each one representing the beginning of a new vehicle record.
Stop Record
A stop record contains the data of an actual stop recorded during the trip. Passenger Counting data are split into boardings and alightings, but also further into Counting Categories (Adults, Children, Wheelchair and Bikes). GNSS locations and door opening times, together with Counting Data, make up the whole record.
Field | Description | Data type | Example |
---|---|---|---|
type | Actual stop detected = 1 | xs:int |
1 |
id | The unique identifier of a stop or station if stop matching feature is activated. If stop could not be matched, the field remains empty. | xs:string |
StopABC123 |
timeStart | Time of earliest door opening event as timestamp including time zone. | xs:datetime |
2016-01-01T01:01:01+02:00 |
timeStop | Time of latest door opening event as timestamp including time zone. | xs:datetime |
2016-01-01T01:02:01+02:00 |
lon | GPS x-coordinate (longitude) of the stop. Coordinates are represented in WGS84 decimal format. | xs:string |
14.0995958 |
lat | GPS y-coordinate (latitude) of the stop. Coordinates are represented in WGS84 decimal format. | xs:string |
51.0466250 |
APC record
Each Stop record contains [0..n] APC records depending on the number of doors. An APC record provides Passenger Counting data per Door and per Counting Category and split into boardings and alightings. Only when there is passenger traffic at the doors, APC data will be available. In case doors remain closed, no data is exported. When there are zero (“0”) boardings or alightings, it means the APC system was online while the doors were open, but no one entered or left the vehicle.
Field | Description | Data type | Example |
---|---|---|---|
door | Unique door number within a vehicle, door numbers will be incremented starting from 1 (1..n) | xs:int |
1 |
catId | Counting category (only if configured on the APC system): 0 = Adults; 1 = Children; 2 = Bike; 3 = Stroller (reserved for future use); 4 = Wheelchair | xs:int |
0 |
in | Number of Boardings | xs:int |
10 |
out | Number of Alightings | xs:int |
5 |
APC records in CSV documents are added to the end of a line that represents a stop. The fields door
, catId
, in
and out
are separated by a semicolon. For example, two APC records consist of eight fields to be parsed by the client.
{
"VDV457":{
"timestamp":"2017-10-13T12:50:19Z",
"version":"0.1",
"VEHICLE":{
"operator":"demo",
"vehicleId":"demo",
"time":"2017-10-13T12:50:19Z",
"stop":[
{
"type":"1",
"timeStart":"2017-06-01T19:10:15Z",
"timeStop":"2017-06-01T19:10:15Z",
"lon":"14.0995958",
"lat":"51.0466250",
"apc":{
"door":"1",
"catId":"0",
"in":"4",
"out":"4"
}
},
{
"type":"1",
"timeStart":"2017-06-01T18:59:59Z",
"timeStop":"2017-06-01T18:59:59Z",
"lon":"14.0801492",
"lat":"51.0505408"
}
]
}
}
}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VDV457>
<timestamp>2018-05-25T12:09:33Z</timestamp>
<version>0.1</version>
<VEHICLES>
<VEHICLE>
<operator>demo</operator>
<time>2018-05-25T12:09:33Z</time>
<stops>
<stop>
<type>1</type>
<timeStart>2017-06-01T19:10:15Z</timeStart>
<timeStop>2017-06-01T19:10:15Z</timeStop>
<lon>14.0995958</lon>
<lat>51.0466250</lat>
<apcData>
<apc>
<door>1</door>
<catId>0</catId>
<in>4</in>
<out>4</out>
</apc>
</apcData>
</stop>
</stops>
<vehicleId>demo</vehicleId>
</VEHICLE>
</VEHICLES>
</VDV457>
2018-01-22T13:01:07Z;0.1
VEHICLE;demo;demo;2018-01-22T13:01:07Z
1;;2017-06-01T19:10:15Z;2017-06-01T19:10:15Z;14.0995958;51.0466250;1;0;4;4
1;;2017-06-01T18:51:34Z;2017-06-01T18:51:34Z;14.0029583;51.0283250;1;0;0;1
1;;2017-06-01T18:49:25Z;2017-06-01T18:49:25Z;13.9916708;51.0354025;2;0;0;1
1;;2017-06-01T18:34:49Z;2017-06-01T18:34:49Z;13.8870850;51.0354350;1;0;0;1
1;;2017-06-01T18:32:24Z;2017-06-01T18:32:24Z;13.8780033;51.0424800;2;0;0;1
1;;2017-06-01T18:30:20Z;2017-06-01T18:30:20Z;13.8702183;51.0479483;2;0;0;1
Waypoints
Waypoints are geolocations recorded between actual stops. The data can easily be used for GPS tracking or for matching the GNSS locations against nominal schedule data such as routes or lines.
Header Data
The header is comprised of metadata describing the waypoints that are listed within the document.
Field | Description | Data type | Example |
---|---|---|---|
vehicleId | The identifier of the vehicle as specified during project setup. If not specified, IRMA Hub device Id is returned. | xs:string |
demo |
operator | Short name of the operator as specified during project setup | xs:string |
demo |
length | Number of waypoint records | xs:int |
2 |
firstTimestamp | Timestamp of the oldest event within the current document | xs:datetime |
2018-04-30T09:25:16+02:00 |
lastTimestamp | Timestamp of the most recent event within the current document | xs:datetime |
2018-04-30T17:53:01+02:00 |
“track” serves as the root element.
Waypoint Record
A single waypoint document contains a list of waypoint records, each of them describing a geolocation, recorded throughout the operation day of a selected vehicle.
Field | Description | Data type | Example |
---|---|---|---|
time | Timestamp of record created | xs:datetime |
2018-04-30T09:25:16+02:00 |
lat | Latitude in WGS84 decimal format | xs:string |
51.0466250 |
lon | Longitude in WGS84 decimal format | xs:string |
14.0995958 |
v | Current speed in kmph | xs:double |
0.4 |
azi | Azimuth, the horizontal angle measured clockwise from a north base line or meridian | xs:int |
32767 |
alt | Current altitude in meters | xs:int |
120 |
{
"track":{
"vehicleId":"demo",
"operator":"demo",
"length":"2926",
"firstTimestamp":"2018-04-30T09:25:16+02:00",
"lastTimestamp":"2018-04-30T17:53:01+02:00",
"wayPoints":[
{
"time":"2018-04-30T17:53:01+02:00",
"lat":"51.0467158",
"lon":"14.0994617",
"v":"0.4",
"azi":"0",
"alt":"125"
},
{
"time":"2018-04-30T09:25:16+02:00",
"lat":"0.0000000",
"lon":"0.0000000",
"v":"-1.0",
"azi":"32767",
"alt":"32767"
}
]
}
}
<track>
<firstTimestamp>2018-04-30T18:04:38Z</firstTimestamp>
<lastTimestamp>2018-04-30T18:04:50Z</lastTimestamp>
<length>2</length>
<operator>demo</operator>
<vehicleId>demo</vehicleId>
<wayPoints>
<wayPoint>
<time>2018-04-30T18:04:50Z</time>
<lat>51.0467158</lat>
<lon>14.0994617</lon>
<alt>32767</alt>
<azi>32767</azi>
<v>-1.0</v>
</wayPoint>
<wayPoint>
<time>2018-04-30T18:04:38Z</time>
<lat>51.0466992</lat>
<lon>14.0994642</lon>
<alt>32767</alt>
<azi>32767</azi>
<v>-1.0</v>
</wayPoint>
</wayPoints>
</track>
Devices
The devices listing shows the mapping of IRMA Hub serial numbers onto vehicle identifiers. A serial number identifies an IRMA Hub uniquely. The vehicle identifier is defined by third parties and reflects e.g. the license plate information.
Each devices document comes with a list of operators that is associated with the current user executing the query.
Operator Record
Field | Description | Data type | Example |
---|---|---|---|
name | The unique identifier of the operator to be used in other queries | xs:string |
demoOperator |
shortName | The short name of the operator for display purposes | xs:string |
demOp |
longName | The long name of the operator for display purposes | xs:string |
Demo Transit Agency |
The generic email address of the operator | xs:string |
demo@dta.org |
|
language | Language localisation according to IETF language tags | xs:string |
de-DE |
timeZone | Timezone information | xs:string |
Europe/Berlin |
“mydevices” serves as the root element.
Device Record
Each operator record comes with a list of its devices. A single device record shows the mapping of IRMA Hub serial numbers onto vehicle identifiers.
Field | Description | Data type | Example |
---|---|---|---|
serialnumber | The unique serial number of IRMA Hub device | xs:string |
123456 |
vehicleId | The unique vehicle identifier | xs:string |
dta-1 |
{
"mydevices": {
"operators": {
"name": "demoOperator",
"shortName": "demOp",
"longName": "Demo Transit Agency",
"email": "demo@dta.org",
"language": "de-DE",
"timeZone": "Europe/Berlin",
"devices": [
{
"serialnumber": "123456",
"vehicleid": "dta-1"
},
{
"serialnumber": "789012",
"vehicleid": "dta-2"
},
{
"serialnumber": "345678",
"vehicleid": "dta-3"
}
]
}
}
}
Nominal Stops (GTFS)
The list of nominal stops are individual locations where vehicles pick up or drop off passengers. They are matched to the actuals stops of the fleet.
The stop list is an implementation of GTFS stops.txt, please see the Google GTFS documentation for additional information.
Nominal Stop Record
Field | Description | Data type | Example | Usage |
---|---|---|---|---|
stop_id | The stop_id field contains an ID that uniquely identifies a stop, station, or station entrance. The stop_id is used by IRMA onAir as an internal identifier of this record (e.g., primary key in database), and therefore the stop_id must be dataset unique. | xs:string |
1 |
Required |
stop_name | The stop_name field contains the name of a stop, station, or station entrance. It contains a name that people will understand in the local and tourist vernacular. | xs:string |
U Mehringdamm |
Required |
stop_lat | The stop_lat field contains the latitude of a stop, station, or station entrance. The field value must be a valid WGS 84 latitude. | xs:string |
52.493237 |
Required |
stop_lon | The stop_lon field contains the longitude of a stop, station, or station entrance. The field value must be a valid WGS 84 longitude value from -180 to 180. | xs:string |
13.387003 |
Required |
All optional GTFS fields are currently neither used nor exported by IRMA onAir.
1,U Mehringdamm,52.493237,13.387003,,,,,,,,,,,
2,U Mehringdamm,52.492916,13.386450,,,,,,,,,,,
3,U Gneisenaustraße,52.491281,13.394823,,,,,,,,,,,
4,U Gneisenaustraße,52.491706,13.394764,,,,,,,,,,,
5,U Kottbusser Tor,52.499432,13.416983,,,,,,,,,,,
6,U Kottbusser Tor,52.499864,13.418138,,,,,,,,,,,