Enrich your system
with real-time data
Estimated time of arrival
14 : 00

EASY INTEGRATION

Use the public API

Developing the algorithm to get the best ETA is complex. The good news are that we have done the complex part for you and transferred the intricacy of calculating the ETA for truck operations into a simple-to-use product. The concept & architecture of PTV Drive&Arrive makes it possible to integrate it easily and enrich your existing tool chain with all ETA relevant features. The RESTful JSON API can be used in all common programming languages and the integration is described in a detailed documentation. As the ETA is calculated for pre-planned trips. the integration of PTV Drive&Arrive with its monitoring capabilities has to take place in the tools where your ready-to-use trips are stored. This may be your Transport Management System, your Tour Planning System or any other application that you are using to manage your process.

But how to integrate? If your trip is planned and ready for execution, you have to transfer the trip to PTV Drive&Arrive and then you get back so called SCEMIDs that identify your stops. You have to save these SCEMIDs in your system in order to distribute them among your transport chain or to subscribe to ETA notifications. You can re-use the SCEMIDs for monitoring in different tools. In addition, you can add real time ETA displaying capabilities of the PTV Drive&Arrive ETA in the UI of your tools.

What are the costs?

The good news: most functionality of the API is free of charge! Thanks to the public API you have no initial integration or maintenance costs. No matter how many stops a trip has, no matter how many ETA subscribers a stop has, no matter how many installations of your tool are used in combination with PTV Drive&Arrive. The only thing we will charge you for is the number of trips stored in our system for monitoring. This is done by counting every trip in PTV Drive&Arrive and bill every trip with 0,15 EUR.

Get more details on our price structure and integration model – just contact us for an individual offer.

WHAT YOU NEED

Integrate PTV Drive&Arrive into your system

Step 1
Step 2
Step 3

1. Check out our Developer Zone to learn more about the API and its integration.

2. If you want to push your own trips for ETA monitoring in our system, you need a “token”. A token is a kind of access code for certain functions of the system .It has a defined validity and allows you to create a defined number of tours. The token also connects certain standard parameters of the system are connected, for example profiles We count the trips created with that “token” to bill you for the usage. We count the trips created with that “token” to bill you for the usage.

3. When you created a trip, you get back the so called SCEMIDs for every stop of every trip. SCEMIDs are generated when a tour is saved in PTV Drive&Arrive for monitoring. Every stop in a tour has a unique SCEMID. With the SCEMIDs you can subscribe to ETA notifications and you can freely distribute them to everybody who may be interested in notification about the ETA.

EXAMPLE NO.1

You want to create your own trips

If you want to create your own trips in our system for monitoring, you have to buy a “token”. This token enables you to make a “CreateTour” API call. The trip is described as a sequence of stops, each stop is described by a coordinate, a time window and some parameters as rest and service time information. You can choose different predefined vehicle profiles as “40 t truck” or “12 t truck” etc. . For the driver, you can define the rest and break time status when starting a trip. This enables us to take this into account for the fatigue management.

If you push a trip to our system, we send you the trip back, enriched by the so called SCEMIDs.

This is an extract of a “tour object” showing one single stop with its generated SCEMID

Code Example

             
                      … {         
                        "coordinate": {                    
                        "locationX": 8.5634565,                
                        "locationY": 48.467235                
                        },
                        "earliestArrivalTime": "2014-01-30T14:15:00.0000000+01:00", 
                        "latestDepartureTime": "2014-01-30T15:15:00.0000000+01:00", 
                        "serviceTimeAtStop": 30,                  
                        "useServicePeriodForRecreation": true,              
                        "weightWhenLeavingStop": 6908,272              
                        }, … 
                       
             
                      … {         
                      "coordinate": {                    
                      "locationX": 8.5634565,                
                      "locationY": 48.467235                
                      },
                      "earliestArrivalTime": "2014-01-30T14:15:00.0000000+01:00", 
                      "latestDepartureTime": "2014-01-30T15:15:00.0000000+01:00", 
                      "serviceTimeAtStop": 30,                  
                      "useServicePeriodForRecreation": true,              
                      "weightWhenLeavingStop": 6908,272,
                      "scemid": "PJ7SAAEKNH"              
                      }, …
                    

EXAMPLE NO.2

You have the SCEMIDs

With a SCEMID, you can do a lot of things, even if you haven’t created a trip and even if you do not know the “token” used to create that trip. So, no matter where the SCEMID is coming from, you can easily subscribe to ETA notification. For this you have to know that the whole system is asynchronous and based on messaging, i.e. you have to subscribe to ETA notifications by providing a callback channel. We support two different types for that: providing a callback URL where we can send the notification in a predefined JSON format or getting a SignalR connection to get push notifications to different devices and in a lot of programming languages.

Code Example

             
                      {
                        "subscription": {
                         "notificationType": "CALLBACK_URL", 
                         "notificationDescription": {   
                          "callBackURL":"https://mydomain.com/mypath/mytarget", 
                          "ident": "your_identifier"
                         },
                         "scemid": "PJ7SAAEKNH"
                        }
                      }
                    
             
                      {
                        "notificationContentType":"ETA_INFO",
                        "notificationPayLoad":[{
                         "scheduledTime":"2014-01-30T14:15:00.0000000+01:00",
                         "estimatedTime":"2014-01-30T14:18:23:ss.0000000+01:00", 
                         "scemid":"PJ7SAAEKNH" 
                        }]
                      }