iOS – Tempo tracking

Use Tempo to understand your customers’ estimated time of arrival (ETA) at a particular location.

After Tempo tracking is started, Point SDK will start Tempo Updates from device calculating and updating the ETA of the user for a Zone. The Zone and destinationId are configured in Canvas.

Tempo Updates interval can be manually configured, but by default are sent every 60 secs for 30 minutes.

To start tempo tracking for a user, call Point SDK API:

startTempoTracking: (nonnull NSString *)destinationId


  • destinationId is the Id assigned to the Zone in Canvas for which Tempo tracking can be started.

Errors reported are:

To stop Tempo tracking for a user, call Point SDK API:


didStopTracking() will be called once tempo tracking has ceased.

Tempo tracking can be stopped in the below cases:

  1. Stopped by App using stopTempoTracking() API
  2. When Point SDK logout occurs
  3. Tempo timer expires (by default after 30 minutes from Tempo start)

After Tempo is stopped due to any of the above reasons, TempoStop event is sent from Point SDK to the backend.

In iOS, to receive Tempo related callbacks, implement the BDPTempoTrackingDelegate protocol

Tempo delegate callbacks:

 * This method indicates that Tempo Tracking has started
 - (void)didStartTracking;

 * This method indicates that Tempo Tracking has stopped
 - (void)didStopTracking;

 * This method is called if Tempo Tracking is stopped due to an error (for e.g. invalid destination Id)
 * @param error Details from NSError objects delivered here are intended for development logging purposes
 * and are not intended to be seen by your application's users.
 - (void)didStopTrackingWithError: (NSError *)error;
Created by Melwin Chiramel on June 30, 2020