NeTEx 1.3.0
This section describes the NeTEx (Network Timetable EXchange) XML schema, explained in full on the NeTEx GitHub v1.3.
NeTEx 1.3.0 provides a ZIP export and split XML files. The split XML files are compatible with the French NeTEx profile.
Authentication
$ curl -H "X-Access-Token: $API_KEY" \
https://api.voiapp.io/huginn/netexv1/zip/1
All endpoints are protected with API key authentication. Include your API key in the X-Access-Token request header on every request.
Contact our engineering support to receive your API key.
Header Parameters
| Key | Value |
|---|---|
| X-Access-Token | your-api-key |
Versioning
Voi's NeTEx 1.3.0 API supports the official NeTEx XML schema version 1.3. Consult the official NeTEx documentation for schema details and versioning.
See the NeTEx GitHub description of version 1.3 here.
Current NeTEx 1.3.0 implementation uses the official schema of version 1.3. For version 2.0 see here.
Supported frames
Of the official NeTEx 1.3 data frames, Voi supports the following:
| Frame | Description |
|---|---|
FareFrame | Fare structures, products, restrictions, sales packages and prices. |
MobilityServiceFrame | Alternative mobility services, including fleets and mobility service constraint zones. |
ResourceFrame | Common reference data such as operators, modes, facilities, equipment and vehicle types. |
SiteFrame | Places and sites such as stations, points of interest and parking, including access information. |
For the full definition of each frame, see the official NeTEx v1.3 documentation.
The French profile also covers stops, networks, and timetables. Voi has none of that, so those parts are out of scope for micromobility and are not implemented.
Download
A NeTEx zip request.
# v1.3.0 - Stockholm
$ curl -L \
-H "X-Access-Token: $API_KEY" \
-o voi_1.zip \
"https://api.voiapp.io/huginn/netexv1/zip/1"
Do not copy ^ as the zone-ID might not match yours
The /zip endpoint returns a NeTEx XML export as a zip archive for a given zone. zoneID is mandatory and the consumer must have access to that zone.
The example above downloads the NeTEx file for Stockholm (zoneID 1) to voi_1.zip. Use -L so curl follows any redirects, and -o to write the archive to disk.
See the NeTEx GitHub description of the XML schema v1.3.
HTTPS request
GET https://api.voiapp.io/huginn/netexv1/zip/{zoneID}
Path parameters
| parameter | description | presence |
|---|---|---|
| zoneID | The zone id for the requested NeTEx file | required |
Split XML files
The following XML files are compatible with the French NeTEx profile. zoneID is mandatory and the consumer must have access to that zone.
| File | Purpose |
|---|---|
resource.xml | Operator, data source, branding and vehicles |
parking.xml | Parking spots |
fare.xml | Tariffs and products |
mobility.xml | Vehicle-sharing and geofences |
NeTEx XML file requests.
# v1.3.0 - Stockholm
$ curl -L \
-H "X-Access-Token: $API_KEY" \
-o resource.xml \
"https://api.voiapp.io/huginn/netexv1/1/resource.xml"
$ curl -L \
-H "X-Access-Token: $API_KEY" \
-o parking.xml \
"https://api.voiapp.io/huginn/netexv1/1/parking.xml"
$ curl -L \
-H "X-Access-Token: $API_KEY" \
-o fare.xml \
"https://api.voiapp.io/huginn/netexv1/1/fare.xml"
$ curl -L \
-H "X-Access-Token: $API_KEY" \
-o mobility.xml \
"https://api.voiapp.io/huginn/netexv1/1/mobility.xml"
Do not copy ^ as the zone-ID might not match yours
The examples above download the XML files for Stockholm (zoneID 1). Use -L so curl follows any redirects, and -o to write each file to disk.
HTTPS request
GET https://api.voiapp.io/huginn/netexv1/{zoneID}/resource.xml
GET https://api.voiapp.io/huginn/netexv1/{zoneID}/parking.xml
GET https://api.voiapp.io/huginn/netexv1/{zoneID}/fare.xml
GET https://api.voiapp.io/huginn/netexv1/{zoneID}/mobility.xml
Path parameters
| parameter | description | presence |
|---|---|---|
| zoneID | The zone id for the requested NeTEx file | required |
Opening hours
Opening hours are published as NeTEx AvailabilityCondition (day types and timebands). Empty hours mean 24/7. The timezone is taken from the zone.