Geolocation Console
Overview
Accurate geolocation data is essential for effective scheduling and optimization in Skedulo.
Latitude and longitude values are used for:
- Route optimization
- Travel time calculations
- Map visualization
- The Skedulo mobile app
When records are created manually in the Skedulo UI, address validation automatically captures geolocation data. However, when records are created through integrations (such as the GraphQL API) or bulk imports, latitude and longitude values are not automatically generated.
The Automated Geocoding extension solves this by:
- Automatically detecting new or updated records
- Sending address data to a geocoding service
- Populating latitude and longitude fields
- Tracking the status and accuracy of each geocode attempt
This ensures consistent, reliable location data across your system.
Important
Please contact your Skedulo Customer Success Manager to install this extension.How Automated Geocoding Works
The extension monitors supported objects for insert and update events.
Workflow
- A record is created or updated.
- A webhook detects the change and invokes a function.
- The function checks whether:
- An address exists
- Latitude and longitude are missing
- If geocoding is required, the address is sent to the geocoding API.
- The response updates:
GeoLatitudeGeoLongitudeGeolocationStatusGeolocationAccuracy
This process runs automatically in the background.
Supported Objects
Automatic geocoding is available for:
- Activity
- Job
- Location
- Resource
These objects contain address information used for scheduling and routing.
Understanding Location Data Sources
Location data in Skedulo often originates from:
- External systems integrated via the GraphQL API
- Data imports using tools such as Data Loader
- Manual entry through the Skedulo UI
External systems typically do not store latitude and longitude values. The Automated Geocoding extension enriches these imported records with the required geolocation data.
Geolocation Status and Accuracy
To help manage location quality, two fields are added to supported objects.
GeolocationStatus
This field tracks the result of the geocoding attempt.
| Status | Description |
|---|---|
| NULL | Record was created or last updated before the extension was installed |
| Unencoded | No address was provided |
| Error | Address was provided, but no valid match was found |
| Verified | Address was successfully matched |
This field helps identify records that require review.
GeolocationAccuracy
This field indicates how precisely the address was matched.
| Value | Description |
|---|---|
| StreetAddress | Matched at street-number level (highest accuracy) |
| Other | Matched at a broader level (for example, street, suburb, or partial match) |
Street-level matches are recommended for accurate routing and optimization.
Managing Location Quality with the Geolocation Console
The Geolocation Console provides a centralized way to review and manage address data.
It includes separate tabs for:
- Activity
- Job
- Location
- Resource
The console uses Skedulo List Views, allowing you to:
- Filter records
- Create saved views
- Sort by status or accuracy
Recommended Usage
Most customers use the console to manage exceptions by filtering for records where GeolocationStatus is either Unencoded or Error.
Editing and Correcting Addresses
From the Geolocation Console:
- Select a record to open its details page.
- Edit the address field.
- Use address suggestions powered by Skedulo’s geoservices.
- View the address on a map.
- Save the record to trigger re-geocoding.
Improving Accuracy with Regions
The Region object supports latitude and longitude fields.
If:
- Regions are configured with geolocation data
- Jobs, Resources, or Locations are linked to a Region
The geocoding service prioritizes results within that region’s boundary.
This improves match precision and reduces incorrect geographic matches.
Important Considerations
Daily Geocoding Limits
Automatic geocoding is limited to:
500 records per 24-hour period
The GeocodingCallouts object tracks usage and enforces this limit.
If a large number of records are imported, processing may take time as requests are handled within the daily limit.
Large Data Imports
If many records are inserted or updated at once:
- Geocoding requests are queued
- Processing may take time
- Other Skedulo functionality remains unaffected
Optimization and scheduling do not directly depend on the GeolocationStatus or GeolocationAccuracy fields.
Invalid or Incomplete Addresses
Incorrect or malformed addresses:
- Still count toward daily limits
- May result in
Errorstatus or reduced accuracy
Ensuring clean, standardized address data improves geocoding results.
Special Handling for Activity Records
When updating an existing Activity via GraphQL:
GeoLatitudeandGeoLongitudemust be explicitly set tonullto trigger re-geocoding.- If not set to
null, existing values remain unchanged and the status may not update correctly.
Existing Records and Backfilling
The extension only triggers on new or updated records.
Records that existed before installation:
- Will not automatically populate
GeolocationStatus - Will not automatically populate
GeolocationAccuracy
To trigger geocoding on existing records, the address must be updated.
Future enhancements may support bulk backfilling.
Technical Reference
Daily Limits
| Description | Limit |
|---|---|
| Maximum auto-geocoded records per 24 hours | 500 |
Schema Overview
Custom Fields
GeolocationStatus
Parent objects:
- Activity
- Job
- Location
- Resource
Possible values:
- Unencoded
- Error
- Verified
GeolocationAccuracy
Parent objects:
- Activity
- Job
- Location
- Resource
Possible values:
- StreetAddress
- Other
Custom Object
GeocodingCallouts
Tracks geocoding API usage.
Fields:
LastDate– Used to reset the daily counterMaxRequestPerDay– Number of calls logged during the current 24-hour period
Feedback
Was this page helpful?