Set up and manage location tracking

Overview

Location tracking is an important aspect of the Skedulo and Skedulo Plus mobile apps and is required for many features to function. Location data is used extensively in our mobile apps to enable features like route optimization and proximity notifications, which rely on the current position of the user to function correctly.

Location tracking and privacy

Location data is sensitive.

Skedulo handles this data in a secure and reasonable manner. We will never share the location of a resource outside of our application and we will only ever track the location of a resource if they are currently using the mobile application or it is running in the background, and they have agreed to the permission request to track their location.

The Skedulo v2 mobile app and Skedulo Plus mobile app are capable of tracking resource location in near real-time if this has been allowed by the resource in the app settings. This data is then written into the database where it is consumed by the Actual Times tab in the Skedulo web app work details page.

Skedulo stores location information server-side indefinitely for the purposes of providing these services to our customers and improving predictive features, such as work optimization and work auto-completion. We will never share this information with any third parties.

Mobile app users will be tracked at all times after they have logged in if the location tracking is enabled and working as expected. The tracking will stop in any of the following circumstances:

  • The resource disabled location permission on the Skedulo or Skedulo Plus mobile app or on the device.
  • The resource is no longer available, for example, today’s availability is 8AM to 5PM, then the tracking will start after 8AM and end at 5PM.
  • There is no GPS signal.
  • The resource logs out of the mobile app.

Users can choose permission for precise or approximate location tracking permission by selecting While using the app or Only this time. To avoid location tracking altogether, select Don't allow when prompted by the app.

You can read about our privacy policy here.

Policies

The Skedulo and Skedulo Plus mobile apps have policies that determine when they track the location of a resource.

Conditions determine the policy selection to use for location tracking.

Location Update Policy Description
Disabled The user is not logged in or not available.
PowerSave The device is in low-power mode (10% or less battery power).
Coarse The user has no active jobs or the job is not EnRoute.
Fine The device is not charging but we are using fine-grained location tracking for route information.
Superfine The device is charging and we are actively tracking the resource location.

Conditions

Policies are selected by evaluating conditions.

Condition Description
LoggedIn The app is logged in to a Skedulo team.
Available This is true if the user is available. This will be false if the user is unavailable. For example, if they are only available from 8AM to 5PM and it is currently 6PM.
LowPower If the device has 10% or less battery power.
ActiveJobs If any jobs for the day are set to EnRoute, Checked In, or In Progress.
Charging If the device is plugged into power and charging.
EnRoute If any jobs are set to EnRoute.

Policy selection logic

A policy is selected based on the conditions.

Each of the following lines of logic is evaluated one after the other. If a logic check is matched, the resulting policy is selected and no further processing is done. If the logic check fails, the next line is processed.

The logic is as follows:

  1. If the user is not LoggedIn or they are not Available then Disabled is selected.

  2. If the device has LowPower then PowerSave is selected.

  3. If the user hasActiveJobs and the device is Charging and a job is set to EnRoute, then Superfine is selected.

  4. If there are any ActiveJobs that are set to EnRoute then Fine is selected.

  5. If there are any ActiveJobs then Coarse is selected.

Examples

  1. The user is logged in, there are active jobs, and they are en route to a job, but not charging the device, then Fine is selected.

  2. The user is logged in, there are active jobs, and they are en route to a job but their device’s battery power is 5%, then PowerSave is selected.

  3. The user is logged in, they are charging the device, but they have no active jobs, then Coarse is selected.

  4. The user is logged in, they are charging the device, there are active jobs but the resource is not available for the current time, then Disabled is selected.

Settings and descriptions

Settings Description
TrackingEnabled Determines if location tracking is enabled or not.
MinimumTime The elapsed time between location updates will never be less than minTime, although it can be more depending on the location provider implementation and the update interval requested by other applications.
MinimumDistance The minimum distance (measured in meters) a device must move horizontally before an update event is generated.
AllowBackgroundUpdates Whether background location updates should be allowed (>= iOS 9).
PauseLocationUpdatesAutomatically Whether location updates should be paused automatically when the location is unlikely to change (>= iOS 6).
DeferLocationUpdates Whether the location manager should defer location updates until an energy efficient time arrives, or distance and time criteria are met (>= iOS 6).
DeferralTime If deferring location updates, the minimum time that should elapse before updates are delivered (>= iOS 6).
ListenForSignificantChanges Whether the location manager should only listen for significant changes in location, rather than continuous listening (>= iOS 4).

Settings and their parameters

Disabled

Setting Parameter
TrackingEnabled false

Powersave

Setting Parameter
TrackingEnabled true
MinimumTime 2 minutes
MinimumDistance 1 km
AccuracyType Low
AllowBackgroundUpdates false
PauseLocationUpdatesAutomatically true
DeferLocationUpdates true
DeferralTime 30 minutes
ListenForSignificantChanges true

Coarse

Setting Parameter
TrackingEnabled true
MinimumTime 0 Seconds
MinimumDistance 100 m
AccuracyType Medium
AllowBackgroundUpdates true
PauseLocationUpdatesAutomatically true
DeferLocationUpdates true
DeferralTime 7 seconds - 5 minutes
ListenForSignificantChanges true

Fine

Setting Parameter
TrackingEnabled true
MinimumTime 0 Seconds
MinimumDistance 30 m
AccuracyType High
AllowBackgroundUpdates true
PauseLocationUpdatesAutomatically true
DeferLocationUpdates true
DeferralTime 7 seconds - 1 minute
ListenForSignificantChanges false

Superfine

Setting Parameter
TrackingEnabled true
MinimumTime 0 seconds
MinimumDistance 10 m
AccuracyType High
AllowBackgroundUpdates true
PauseLocationUpdatesAutomatically false
DeferLocationUpdates false
DeferralTime 7 seconds
ListenForSignificantChanges false

Enable or disable location tracking

Location tracking is used to monitor work travel progress and provide proximity alerts. However, a mobile user can enable or disable location tracking on their mobile at any time, via their mobile device settings.

Disable location tracking on iOS

  1. Open Settings, then tap Skedulo to open the app settings. This is where the mobile user can change their Skedulo access permissions for Location.

  2. There are four choices for allowing Skedulo access to the mobile’s location:

    • Never
    • Ask Next Time Or When I Share
    • While using the app
    • Always

    Enable location tracking using either Always or When using the app.

  3. To disable location tracking, select Never.

If Never is selected:

  • The resource will appear to be located at their home address (as defined in their user profile) on the Skedulo web app. Note, there may be a time lag in updating a resource’s location when they log out of the Skedulo mobile app.

  • Live tracking will not be possible, including the resources Actual location.

  • Proximity notifications will not be available.

Device tracking notifications

When the app is running in the background, resources are actively notified if location tracking is active —on both Android and iOS mobile devices.

iOS device location tracking notification

iOS devices provide location tracking notification by highlighting the timestamp in the top left corner. Tapping the highlighted timestamp opens the Skedulo app or any other app that is tracking location.

An iOS device showing the highlighted timestamp indicating that an app is tracking location

When the app is open the icon in the top left corner indicates that location tracking is active.

An iOS device showing the highlighted timestamp indicating that an app is tracking location

Android device location tracking notification

Android devices indicate location tracking via a notification on the lock screen and via a small app icon at the top of the device.

Android devices also inform users (via a pull-down panel) what level of tracking is active and the reason why it is enabled.

Users can pause the tracking by tapping the Pause tracking text link in the pull-down notification.

An Android device displaying location tracking notifications.