Track live route and ETA to destination

Use cases for tracking live route and ETA to destination

Order tracking with live location is a popular use case across industries and regions. From high growth startups to enterprises delivering products and services to customers, "where's my order?" is a moment of anxiety for customers and ops teams. Operations teams can proactive handle delays & no shows, reduce customer support cost, improve NPS scores, and power a great customer experience with this feature.

Pickups, deliveries and visits in your system would translate to trips with destination & scheduled time in HyperTrack. Upon starting a trip, the API generates a share URL for use in the customer experience, and embed URL for use in ops dashboards. Using destination estimates a live route & ETA that factors live traffic conditions and re-routes. Using scheduled_at generates delay notifications and on-time arrival scores. Live data for trips is available for native tracking experiences through iOS and Android SDKs with callbacks. Trip data is used to generate leaderboards using route efficiency, on-time arrival, completion at destination, and time spent at destination. Past trips may be replayed in case of escalations or other exceptions.

Get live route and ETA

Create a trip with destination

HyperTrack provides Trips API that enables you to create trips and remotely start tracking for your app user's devices once the trip is created.

important

Device tracking will be started remotely if you have integrated push notifications for your app with HyperTrack SDK on iOS and Android.

Starting and completing trips would automatically control the start and stop of tracking on the device. This way, you manage device tracking through just one API.

The device would start tracking (unless already tracking) when you start a trip for the device. The device will stop tracking when all active trips for device are completed. HyperTrack uses a combination of silent push notifications and sync method on the SDK to ensure that tracking starts and stops for the device.

POST   https://v3.api.hypertrack.com/trips

Code examples

Please see code examples below:

// Instantiate Node.js helper library instance
const hypertrack = require('hypertrack')(accountId, secretKey);
let tripData = {
"device_id": "00112233-4455-6677-8899-AABBCCDDEEFF",
"destination": {
"geometry": {
"type": "Point",
"coordinates": [35.107479, 47.856564]
}
}
};
hypertrack.trips.create(tripData).then(trip => {
// Trip created
}).catch(error => {
// Error handling
})

To start such a trip, the destination object is required.

The object should include a GeoJSON object called geometry.

In the example above, destination is defined with a Point GeoJSON object, which will set a circular destination point with a radius of 30 meters by default.

note

To change the default radius, you can pass a radius property (interger in meters) to the destination object.

Understanding Trips API create trip response

Once the trip is created, the Trips API responds with an active trip object that returns the original payload with additional properties.

You will get an example payload response like the one below. In the response you get estimate (route/ETA) to destination, shareable URL for customers, embed URL for ops dashboards for active ( as noted in status field in the response ) trip.

The destination object in the response will now contain address field which is an address that HyperTrack determines ( reverse geocodes ) based on destination coordinates you submitted in the trips creation request above. You can use this address to show the destination to the user after creating the trip.

HTTP 201 - New trip with destination
{
"trip_id":"2a819f6a-5bee-4192-9077-24fc61503ae9",
"device_id":"00112233-4455-6677-8899-AABBCCDDEEFF",
"started_at":"2020-04-20T00:57:33.484361Z",
"completed_at":null,
"status":"active",
"views":{
"embed_url":"https://embed.hypertrack.com/trips/2a819f6a-5bee-4192-9077-24fc61503ae9?publishable_key=<your_publishable_key>",
"share_url":"https://trck.at/abcdef"
},
"device_info":{
"os_version":"13.3.1",
"sdk_version":"4.0.2-rc.5"
},
"destination":{
"geometry":{
"type":"Point",
"coordinates":[
-122.500005,
37.785334
]
},
"radius":30,
"scheduled_at":null,
"address":"100 34th Ave, San Francisco, CA 94121, USA"
},
"estimate":{
"arrive_at":"2020-04-20T01:06:45.914154Z",
"route":{
"distance":4143,
"duration":552,
"remaining_duration":552,
"start_address":"55 Spear St, San Francisco, CA 94105, USA",
"end_address":"100 34th Ave, San Francisco, CA 94121, USA",
"polyline":{
"type":"LineString",
"coordinates":[
[
-122.50385,
37.76112
],
...
]
}
}
},
"eta_relevance_data":{
"status":true
}
}
important

A device may be track multiple active trips at the same time.

For example, pickup and dropoff for the same on-demand order may be tracked simultaneously, with one being tracked by the merchant, the other being tracked by the customer, and both being tracked by the ops team.

Estimate object in Trip API response

The Trips API responds with an active trip object that returns the original payload with additional properties. HyperTrack provides estimates for every trip with a destination.

Since in the API request we specified a destination, the Trips API response will return the estimate object with fields are explained here as follows:

  • Field arrive_at shows estimated time of arrival (ETA) as UTC timestamp
  • Object route contains the following data:
    • Field distance shares estimated route distance (in meters)
    • Fields duration and remaining_duration share actual and remaining durations (in seconds)
    • Fields start_address and end_address display reverse geocoded place names and addresses for trip start, complete and intermediate stops (based on activity)
    • Field polyline contains an array of coordinates for the estimated route from the live location to the destination as polyline in GeoJSON LineString format. It is an array of Point coordinates with each element linked to the next, thus creating a pathway to the destination.
HTTP 201 - New trip with destination
"estimate":{
"arrive_at":"2020-04-20T01:06:45.914154Z",
"route":{
"distance":4143,
"duration":552,
"remaining_duration":552,
"start_address":"55 Spear St, San Francisco, CA 94105, USA",
"end_address":"100 34th Ave, San Francisco, CA 94121, USA",
"polyline":{
"type":"LineString",
"coordinates":[
[
-122.50385,
37.76112
],
...
]
}
}
}
note

To help you understand how to draw polylines on a map, we prepared code samples for Google Maps (JS, Android, iOS) and for Mapbox (JS, Android, iOS).

Catching no shows

You can empower operations managers with ability to catch and pre-emptively act on potential no-shows in their operations workflow. Tracking your drivers with Trips API enables you to handle the following cases:

Driver is delayed on the way to destination

Delay is likely when the estimated route and ETA with live traffic conditions suggests a delay past scheduled time of arrival. Delays are notified over webhooks. Delays are also flagged in ops views for each driver, order, and entire fleet, so ops managers can keep an eye on delays and take corrective action.

Customer support can replay trips to confirm customer and driver claims when escalations happen. Replays enable non-repudiation because these views can be shared as links with either party as needed.

Tracking Experience

Driver is moving away from destination

This example of a no-show is likely when the estimated route distance and ETA to destination keeps increasing despite movement, and the driver seems to have no intention to get to the destination. In the example above, the green square on the right indicates the destination. The driver is moving, though not toward the destination. ETA becomes irrelevant.

There is the occasional issue with incorrect customer addresses, or a higher priority task that needed to be fulfilled before heading to the destination. In such scenarios, being aware of the driver's intent on the way is useful to proactively address a potential escalation.

Tracking Experience

Driver is delayed and stationary

HyperTrack uses activity transitions to infer that the driver is stationary, or driving, or walking. No-show is likely when the driver is stationary at a place and the order is running delayed beyond schedule time of arrival. The delay webhook includes activity so you may take corrective action for this specific scenario, such as sending a text message or notification to the driver, or re-assigning the order.

Activity transition data provided by the phone OS is noisy. HyperTrack makes it more accurate with additional processing. This way, you can rely on this data to take action. For instance, benign stops at a traffic light are eliminated while stops at places are retained.

Tracking Experience

Driver disables location permission

HyperTrack detects changes in user device and app level permissions to infer driver's intent to be tracked while fulfilling an order. No-show is quite likely when the driver denies location permission after order assignment or while on the way.

Drivers often mention excessive battery drain and data usage as reasons to turn off permission. However, for most Android and iOS devices, the additional battery and data usage due to background location tracking is marginal. Custom ROMs and old devices might have higher battery impact. In general, HyperTrack data suggests high correlation between denied permissions and low productivity.

Tracking Experience

Driver become untrackable on the way

Device health and battery status is used to infer driver becoming un-trackable while the driver is on the trip. In this example, the driver's battery went in the red and subsequently, the driver went off the radar.

When the phone is charging again, and the driver opens the app to re-connect with services, HyperTrack captures these events and syncs up the batched locations when available. This helps operations get the extra visibility around what might have happened during the outage.

Tracking Experience

Enabling live trip views for operations managers and customers

Trips API generates a publicly visible share URL and embeddable URL intended for internal usage by operations managers for each trip. These URLs are unique for each trip.

Once the trip is created, you will get a response payload that contains views field that contains share_url and embed_url as shown in an example below.

HTTP 201 - New trip with destination
"views":{
"embed_url":"https://embed.hypertrack.com/trips/2a819f6a-5bee-4192-9077-24fc61503ae9?publishable_key=<your_publishable_key>",
"share_url":"https://trck.at/abcdef"
},
note

The URLs will remain active after trip completion.

Live trip view for customers using share URL

As mentioned above, HyperTrack API gives you an ability for you, as a developer, to create live, real-time, high fidelity, location sharing with your customer via share_url link.

Please see an image below for a mobile location sharing viewing experience in the web browser. Once your customer receives the link, the web browser will continually display and update the location of your app user's device as it moves towards the destination while ETA is updated live.

Tracking Experience

Share URL has the following structure: https://trck.at/{7_digit_tracking_id}.

This makes it a total of 23 characters, and therefore a friendly URL to share via text or other messengers. Share URLs stay accessible permanently and show trip summary after trip completion.

Customize tracking view

HyperTrack offers you options that allow you to create customizations for share URLs with ETA for your customers.

Customize with url query parameters

The share URL experience can be modified with the following query parameters appended to it:

  • layer
  • mini
  • icon
Layer query parameter

This parameter offers you options to customize map layer used to render the share URL experience. The layer parameter can have the following values:

  • base - default choice for the share URL
  • street - additional street detail is shown in the map
  • satellite - satellite view is used as shown in an example below

For example:

https://trck.at/abcdexyz?layer=street

To illustrate, please review corresponding images below for each of the layer option value usage.

Location Map   Location Map   Location Map

Icon query parameter

This parameter offers you options to customize how your tracked device appears on the map. The icon parameter can have the following values:

  • car
  • bus
https://trck.at/abcdexyz?icon=car

Location Map   Location Map

Mini query parameter
  • mini - this parameter allows to hide trip details used to show in the map as shown below.
https://trck.at/abcdexyz?mini=true

Location Map   Location Map

Customize with reserved trip metadata keys

In order to perform such customizations, you may use these reserved trip metadata keys to help define public share URL experience. Use Trips API with these reserved trip metadata keys when creating a trip.

  • ht_view_text_ongoing - defines a title of an ongoing delivery, for example, "Your order for xyz is on the way!"
  • ht_view_text_completed - defines a title for a delivery that was completed, for example, "Your order for xyz is delivered!”
  • ht_view_href_completed - provides an option to the customer to go back to the link which exposes order details in your delivery app
  • ht_view_href_text_completed - once this option is used, your completed trip will have a title defined by the value of this key
  • ht_view_hide_summary_completed - this option allows you to remove completed trip summary from the view which is included by default

For example the payload to create a trip with some of this metadata can be like this:

{
"device_id": "00112233-4455-6677-8899-AABBCCDDEEFF",
"destination": {
"geometry": {
"type": "Point",
"coordinates": [-122.398096, 37.793013]
},
"metadata": {
"store_id": "STORE_A",
"delivery_id": "pkg_1AC",
"route_id": "rt_B12",
"transport_type": "scooter",
"ht_view_text_ongoing": "Your order for Philarmonic coffe cup is on the way!",
"ht_view_text_completed": "Your Philarmonic coffee cup order is delivered. Enjoy!",
"ht_view_href_completed": "yourphilarmoniccoffee.com/rate_order",
"ht_view_href_text_completed": "Enjoyed your Coffee!. Rate your order!",
"ht_view_hide_summary_completed": true
}
}
}'

Live trip view for operations dashboards using embed URL

As you have seen form the above, embed_url offers you an ability to create live trip tracking dashboard inside your application and is suited for operations manager usage.

It provides full trip history timeline since the starting point of the trip, an option for exporting a trip summary, with real-time tracking for active trips as well as completed trips full summary data.

trip embed view

The Trip payload includes the views object. Every trip gets assigned unique URLs to share and embed views of the trip. The URLs will remain active after trip completion. In that case, the views will show a summary of the trip, along with destination marker, start and complete locations, distance, duration, arrival time, device info, trip metadata, and the actual route taken to the destination.

While shareable views are accessible to everyone with the URL, embed views include the HyperTrack publishable key. The embed_URL includes the publishable key and is available to use as-is. That said, your publishable key is available in the Setup page of your HyperTrack dashboard.

The embed URL format is https://embed.hypertrack.com/trips/{trip_id}?publishable_key={publishable_key}

important

To identify a HyperTrack Trip with your application order, and destination with your order location, please use the metadata object for trip and destination respectively.

Inline frames

Please see how to use inline frames to create embeddable operations dashboards.

Track and receive real-time trips updates in your app

In your business workflow, you may need to take actions depending on the status of the trip you created for your app user. HyperTrack provides real-time updates for your app via webhooks that deliver to you important events associated with your trip.

Get trip webhook updates

Trip events are posted whenever a trip is started, a specified device enters or exits the destination, a trip with a scheduled arrival is estimated to be delayed, and when a trip is completed. Events provide the device triggering the event, the trip, event type (create, destination enter, destination exit, delay, or completion), and trip metadata defined during start.

Currently, HyperTrack will send notifications triggered by:

  • Trip start: For every new trip, start events are posted.
  • Destination arrival: Trips destination arrival events are posted when devices enter a specified destination.
  • Destination exit: Same as arrival events, but posted when devices exit the specified destination.
  • ETA changes: As trip progresses it provides you real-time ETA changes
  • Trip delays:Trip delay events are posed for trips with a scheduled arrival time. Delay events are send as soon as the estimated time of arrival is past the scheduled time.
  • Trip completion: For every completed trip, completion events are posted.

All trip updates will include the update type, created_at, device_id, trip_id and trip_metadata at the very least.

note

Please review the Webhook guide to understand what webhooks are and how they can be leveraged in addition to the HyperTrack APIs.

It is up to you to decide how to utilize trip updates. To give you an idea, the following can be done:

  • complete trips based on custom logic
  • update database records of trips
  • send mobile device notifications
  • update real-time views and maps
  • start custom processes (training of AI models, send custom emails, etc)

Trigger notifications based on trip activity

A common use case is to leverage trip events to trigger contextual, location-aware notifications in web or native applications. To make these types of notifications possible, you should maintain a list of devices (users), a list of trips, and notification templates for trips events (start, destination enter/exit, completion) to be used as notification message.

It is suggested to leverage device metadata that can be set either through mobile SDKs or through Devices API in combination with trips metadata to establish all relevant information in order to send highly contextualized notifications.

More context is provided based on the update type. Please take a look at the trip webhooks references for more details.

Trip start

Please see an example for the trip start webhook payload. Once the trip is created, you may be able to get Trips API to receive trip estimate and expected route to the destination.

Webhook: Trip created payload
{
"created_at": "2019-07-01T14:00:00.000000Z",
"data": {
"value": "created",
"trip_id": "123E4567-E89B-12D3-A456-426655440000",
"trip_metadata": { "customer": "1234" }
},
"device_id": "00112233-4455-6677-8899-AABBCCDDEEFF",
"type": "trip",
"version": "2.0.0"
}

Trip destination arrival

The payload below is an example of the trip destination arrival, as denoted by destination_arrival value field inside data object.

Webhook: Trip destination arrival payload
{
"created_at": "2019-07-01T14:00:00.000000Z",
"data": {
"value": "destination_arrival",
"trip_id": "123E4567-E89B-12D3-A456-426655440000",
"trip_metadata": { "customer": "1234" }
},
"device_id": "00112233-4455-6677-8899-AABBCCDDEEFF",
"type": "trip",
"version": "2.0.0",
"location": {
"type": "Point",
"coordinates": [-122.39970134375172, 37.7942272665877, -1]
}
}
important

Please note that once the user arrived at the trip destination, the trip is not considered complete until Trip Complete API call is made. For example, in the case if you want to track the user time at the destination until the user exits the destination, you may want to wait for the destination exit event to get time spent at the destination and then complete the trip.

Trip ETA change

In a business operations workflow, you may have more than one trip with destination and ETA scheduled for today for a given app user. For example, your app user may be a service technician visiting multiple sites for the day or grocery delivery driver who has a number of drop off locations to visit.

To help understand which trip is most relevant to your customer as your app user is on the route, HyperTrack provides an ETA change via a new webhook for your ongoing trips.

This webhook payload has eta_change inside its value field. You will get this real-time webhook update for all of your trips with destination each time ETA is updated.

The payload below is an example of a trip ETA change, as denoted by remaining_duration and remaining_distance inside data object.

You may be able to use these values to determine when to start notifying your customers and also share real-time locations of your service workers.

Webhook: Trip ETA change payload
{
"created_at": "2020-04-20T10:37:04.378912Z",
"type": "trip",
"device_id": "00112233-4455-6677-8899-AABBCCDDEEFF",
"data":{
"value": "eta_change",
"trip_id": "0c607e25-7e65-45d4-84c7-ba4586c8d580",
"trip_metadata":{
"phonenumber": "14150000000",
"name": "Emily N",
"amount": "0",
"deliveryId": "NXYZ_FC1",
"affiliation": "flooring_carpet",
"branch": "flooring_carpet"
},
"remaining_duration": 935,
"remaining_distance": 7863
},
"version": "2.0.0",
"location": {
"coordinates" :[
36.795995,
-1.2751567
],
"type": "Point"
}
}

Trip delay

As explained below you may specify when your app user is expected to reach a destination for your scheduled trip. In case if there is a delay, you will get a webhook update with this payload below. Note that value inside data object is delayed and arrive_at shows the new expected arrival time for your app user.

If the trip gets delayed further, you will receive additional updates via this trip delay webhook until the trip is completed.

Webhook: Trip destination arrival payload
{
"created_at": "2019-07-01T14:00:00.000000Z",
"data": {
"value": "delayed",
"arrive_at": "2019-07-02T01:00:00.000000Z",
"trip_id": "123E4567-E89B-12D3-A456-426655440000",
"trip_metadata": { "customer": "1234" }
},
"device_id": "00112233-4455-6677-8899-AABBCCDDEEFF",
"type": "trip",
"version": "2.0.0",
"location": {
"type": "Point",
"coordinates": [-122.39970134375172, 37.7942272665877, -1]
}
}

Track and get notifications about delays for scheduled trip

In your business workflow where it's important for your operations managers or customers to be notified delays and thus not meeting ETA expectations, HyperTrack provides you an ability to schedule a trip via scheduled_at parameter inside trip creation payload.

POST   https://v3.api.hypertrack.com/trips

// Instantiate Node.js helper library instance
const hypertrack = require('hypertrack')(accountId, secretKey);
let tripData = {
"device_id": "00112233-4455-6677-8899-AABBCCDDEEFF",
"destination": {
"geometry": {
"type": "Point",
"coordinates": [35.107479, 47.856564]
},
scheduled_at: "2020-05-03T06:25:51.238000Z"
}
};
hypertrack.trips.create(tripData).then(trip => {
// Trip created
}).catch(error => {
// Error handling
})

You can also provide a scheduled_at property (in ISO8601 format) to the destination to indicate a scheduled arrival at the trip destination. Use this when the order has a time commitment to the customer. When set, HyperTrack will send trip delay webhooks when the device is highly likely to miss that time commitment.

note

HyperTrack continually adds new features to help improve operational efficiency for business assets on the move. New webhooks and additional fields or objects may be added to webhook payload structures, so please keep in mind as you implement webhook data processing.

Understanding time spent at the destination by your app user

The trips payload has arrived_at and exited_at properties in the destination object.

These are null initially.

As soon as the tracked device arrives at the destination, the arrival time gets updated. When the device leaves the the destination, the exit time gets set.

You can use these properties to identify time spent at a destination.

HTTP 201 - New trip payload scheduled arrival
{
"completed_at": null,
"status": "active",
"views": {
"embed_url": "https://embed.hypertrack.com/dkdkddnd",
"share_url": "https://trck.at/abcdef"
},
"metadata": {
"customer_id": "ABC123"
},
"destination": {
"geometry": {
"type": "Point",
"coordinates": [
-122.3980960195712,
37.7930386903944
]
},
"radius": 30,
"scheduled_at": "2019-05-03T06:25:51.238000Z",
"arrived_at": null,
"exited_at": null
},
"estimate": {
"arrive_at": "2019-05-03T06:25:51.238000Z",
"route": {
"distance": 14666,
"duration": 2884,
"remaining_duration": 1560,
"start_place": "Mannat Manzil #48,2nd cross, 3rd Main,Amrita Nagar, 3rd Phase, Choodasandra, Bengaluru, Karnataka 560035, India",
"end_place": "4, Muniswamy Garden, A - Block, Bengaluru, Karnataka 560025, India",
"polyline": {
"type": "LineString",
"coordinates": [
[ -122.3980960195712, 37.7930386903944 ]
, ... ]
}
}
}
}

Completing trips

In your operations workflow, a trip is considered completed once you have determined that your app user, for exmaple, has completed delivery and left the drop off location or your service technician left the site after repair.

In order to complete the trip, HyperTrack provides you Trips complete API. In the response, you will get markers for activity and outages as to capture history of device movement. Completed trips also include a summary with total duration, distance and steps.

POST   https://v3.api.hypertrack.com/trips/{trip_id}/complete

Once this method is invoked, HyperTrack will proceed to complete your trip and thereby stop tracking for your app user's device if there are no other trips currently active for this device.

important

HyperTrack will complete your trip automatically after 72 hours if your trip is still active

important

Device tracking will be stopped if you have integrated push notifications for your app with HyperTrack SDK on iOS and Android.

Getting trip summary

HyperTrack provides GET Trips APIs to retrieve active and completed trip data.

For all active and completed trips, a summary object is returned as part of the trip response payload. If trips is still in active state, the summary object will contain the latest from the app user's device.

GET   https://v3.api.hypertrack.com/trips/{trip_id}

Additionally, you can get trip data for multiple actively tracked trips.

GET   https://v3.api.hypertrack.com/trips

You will notice that this GET Trips API endpoint will return only active trips. This is a deliberate design choice to show the most relevant trips, out of potentially thousands of completed trips stored in your HyperTrack account.

You can set the status path parameter to completed to get past trips.

HTTP 200 - Filter by completed trips
[
{
"trip_id": "00112233-4455-6677-8899-AABBCCDDEEFF",
"device_id": "00112233-4455-6677-8899-AABBCCDDEEFF",
"started_at": "2019-05-03T06:25:51.238000Z",
"completed_at": "2019-05-03T06:25:51.238000Z",
"status": "completed",
"views": {
"embed_url": "https://embed.hypertrack.com/dkdkddnd",
"share_url": "https://trck.at/abcdef"
},
"metadata": {
"customer_id": "ABC123"
},
"destination": {
"geometry": {
"type": "Point",
"coordinates": [
-122.3980960195712,
37.7930386903944]
},
"radius": 30,
"scheduled_at": "2019-05-03T06:25:51.238000Z",
"arrived_at": "2019-05-03T06:25:51.238000Z"
},
"summary": {
...
}
}, ...
]

Get trip summary payload

Please review completed trip summary data as part of GET Trips API response payload below. The summary object contains, among others, these attributes:

  • locations - object representing the location time series of the full trip. It follows GeoJSON geometry of type LineString
  • markers - an array of markers representing device status (such as a stop, drive, etc), geofence events, geotags, as well as a destination marker in case of a trip with destination. Please that each marker is assigned a unique marker_id upon completion of the trip.

To understand the trip response payload data in full, please visit this reference documentation section.

Trips API: Summary available for completed trips
{
"trip_id":"5ce3ec28-3d73-48c0-bf25-fca5563557c5",
"device_id":"3318AB96-2B43-4BCE-8639-A48D020EEC72",
"started_at":"2020-05-09T06:18:11.541213Z",
"completed_at":"2020-05-09T06:18:27.653353Z",
"status":"completed",
"views":{
"embed_url":"https://embed.hypertrack.com/trips/5ce3ec28-3d73-48c0-bf25-fca5563557c5?publishable_key={key}",
"share_url":"https://trck.at/abcdef"
},
"device_info":{
"os_version":"13.3.1",
"sdk_version":"4.0.2-rc.6"
},
"destination":{
"geometry":{
"type":"Point",
"coordinates":[
-122.51031,
37.764022
]
},
"radius":30,
"scheduled_at":null,
"address":"YYYY Great Hwy, San Francisco, CA 94121, USA"
},
"summary":{
"locations":{
"type":"LineString",
"coordinates":[
...
]
},
"distance":0,
"duration":16,
"started_at":"2020-05-09T06:18:11.541213Z",
"steps":0,
"completed_at":"2020-05-09T06:18:27.653369Z",
"device_id":"3318AB96-2B43-4BCE-8639-A48D020EEC72",
"markers":[
{
"marker_id":"e05ef2ac-8671-41ee-9d3f-285083998814",
"type":"device_status",
"data":{
"value":"active",
"start":{
"recorded_at":"2020-05-09T06:18:11.541Z"
},
"end":{
"recorded_at":"2020-05-09T06:18:27.653Z"
},
"activity":"stop",
"steps":0,
"duration":16
}
},
{
"type":"destination",
"marker_id":"8479e48c-0de6-422e-a2ac-319b087a783b",
"data":{
"address":"1098 Great Hwy, San Francisco, CA 94121, USA",
"geofence":{
"geofence_id":"6bda6e9c-5a44-474b-9895-eb93dbdbf9a2",
"geometry":{
"type":"Point",
"coordinates":[
-122.51031,
37.764022
]
},
"radius":30,
"metadata":null
}
}
}
],
"start_address":"XXXX Nth Ave, San Francisco, CA 94122, USA",
"end_address":"YYYY Great Hwy, San Francisco, CA 94121, USA"
},
"analytics":{
"total_duration":0,
"active_count":1,
"active_duration":16,
"stop_count":1,
"stop_duration":16
},
"eta_relevance_data":{
"status":true
}
}

Sample apps using live route and ETA to destination

If you do not yet have an app and want to start tracking your fleet without building an app, you can immediately deploy HyperTrack Live app from app stores on Android and iOS and get started right away.

Download HyperTrack Live app

From your dashboard Team Page you can add drivers on your fleet via Share invite link. This will allow you to send an invitation a deep link to download the app and get automatically added to your account.

Once your drivers install HyperTrack Live app, you can immediately manage tracking your fleet with HyperTrack Trips API.

         

Build new app

HyperTrack Live app is available as an open source for you to fork or clone to start developing your own app.

This approach is best for product development teams who are starting to build an app for their business and want to kickstart with an open sourced app built with HyperTrack. Start development by forking or cloning åpopular Live location sharing GitHub repos on Android or iOS.

         

Questions?

If you are building an app with live route tracking and ETA to destination, questions or comments on any of the topics above, please do not hesitate to contact us.

Is this page useful?