Skip to main content
TESTING

Transmodel API: NeTEx and SIRI-Lite

The Transmodel API provides standardized access to both static and real-time mobility data in compliance with European and Italian interoperability standards. It supports two key formats: NeTEx for scheduled data and SIRI-Lite for real-time updates. This API is part of the MaaS4Italy initiative and integrates with the Open Data Hub, enabling third-party applications to retrieve mobility information through the National Access Point (NAP).

1. NeTEx Endpoints

The Transmodel API delivers static mobility data in NeTEx (Network Timetable Exchange) format, the European standard for public transport schedules, infrastructure, and related services. These endpoints are designed for applications requiring consistent, planned data such as timetables, parking facilities, and shared mobility services.

The Transmodel API ensures compatibility with the NeTEx Italian profile, supporting national interoperability requirements under the MaaS4Italy initiative.

1.1. Available Endpoints

All NeTEx endpoints use the GET method and return data in XML format according to the NeTEx schema.

EndpointDescription
/netexReturns a full NeTEx export of all available data from the Open Data Hub, including public transport schedules and infrastructure.
/netex/parkingProvides a partial NeTEx export focused on parking facilities, including locations, capacities, and metadata.
/netex/flightsDelivers flight-related data in NeTEx format.
/netex/sharingIncludes data on bike- or car-sharing services, such as station locations, available vehicles, and operator information.
warning

The NeTEx format is intended for static, scheduled data and may not be suitable for real-time use cases. Parsing NeTEx XML responses requires familiarity with the schema structure and may involve additional processing on the client side.

1.2. Example Request

Retrieve the full NeTEx dataset:

package main

import (
"fmt"
"net/http"
)

func main() {
url := "https://transmodel.api.opendatahub.com/netex"
resp, err := http.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()

fmt.Printf("Status: %s\n", resp.Status)
// Handle XML response
}

2. SIRI-Lite Endpoints

The Transmodel API includes SIRI-Lite (Service Interface for Real-Time Information) endpoints to deliver real-time mobility data. These RESTful APIs provide live updates on parking availability and shared mobility services, enabling dynamic applications such as journey planners and mobility dashboards.

The base URL for all SIRI-Lite services is https://efa.sta.bz.it.

2.1. Facility Monitoring Endpoints

These endpoints support real-time monitoring of parking and sharing facilities.

EndpointDescription
/siri-lite/facility-monitoringGeneral endpoint for real-time updates on both parking and sharing facilities, including status, occupancy, and availability.
/siri-lite/facility-monitoring/parkingProvides real-time data on parking facility status, available spaces, and occupancy.
/siri-lite/facility-monitoring/sharingDelivers real-time data on shared mobility services, including available vehicles, operator details, and station status.

2.2. Other SIRI-Lite Services

Additional SIRI-Lite services are published by STA and accessible under the same base URL.

EndpointDescription
/siri-lite/estimated-timetableExchanges estimated schedules in real time, including updates to planned departures and arrivals.
/siri-lite/vehicle-monitoringProvides information about vehicle movement and progress against the scheduled timetable.
/siri-lite/situation-exchangeDelivers information about incidents, disruptions, or planned events affecting public transport.

2.3. Filtering Options

The SIRI-Lite endpoints support flexible query parameters to refine results.

FilterDescription
facilityRefFilter by a specific facility identifier (e.g., parking lot or sharing station ID).
locationRetrieve data for facilities near a geographic point, specified as latitude and longitude (e.g., 46.4983,11.3548).
operatorNarrow results by the operator of the service (e.g., bike-sharing provider).

2.4. Example Request

Fetch real-time status for all parking facilities:

package main

import (
"fmt"
"net/http"
)

func main() {
url := "https://efa.sta.bz.it/siri-lite/facility-monitoring/parking"
resp, err := http.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()

fmt.Printf("Status: %s\n", resp.Status)
// Handle XML or JSON response
}
warning

Authentication requirements and rate limits for the SIRI-Lite endpoints are not publicly documented. If you encounter access issues or need higher quotas, contact help@opendatahub.com for support.

3. Additional Resources

  • Swagger Documentation: Explore the Transmodel API interactively using the Swagger interface.
  • GitHub Repository: Access source code, validation scripts, and tools in the Transmodel API GitHub repository.
  • National Access Point: The Transmodel API is integrated with the Open Data Hub and accessible through the National Access Point (NAP), serving as the official gateway for MaaS4Italy data distribution. Visit the NAP catalog for published datasets.

For further assistance, contact the Open Data Hub team at help@opendatahub.com.