Find nearby activities
/rest/ofscCore/v1/resources/{resourceId}/findNearbyActivities
This operation retrieves activities near the specified location, that can be performed by the specified resource.
If longitude and latitude are not specified, system may use the following information to identify position of the resource:
- resource geolocation provided by their devices or API
- position of currently performed activity (started), recently completed or first pending activity
- position of configured resource start location
As a result the system returns found pending activities that match the following criteria:
- The resource's work skills and work zone configuration matches the activity requirements
- Activity is scheduled for Today or it is non-scheduled
- Activity is visible for the requesting application (see "Allow access only to certain resources" configuration of the "Application" entity)
- Activity location is known to system and the activity is located within configured distance ("Nearby Radius": see Business Rules configuration)
- For non-scheduled, only activities with SLA end-time that is within the configured SLA time range (Nearby SLA)
- For non-scheduled, only activities with SLA start-time that is not in the future
The found activities are sorted first by their distance and then by the SLA end time, the response will contain first best matches, not more then the 'limit' value (maximum is 100)
Permissions:
This API can be used only when the permission to access Core API for Activity and Resource is granted in the Configuration > Applications > API access section of the required application.
Request
-
resourceId(required): string
The unique identifier of the resource.
-
fields: array[string]
Collection Format:
csv
The comma-separated field names to be returned in the response. The field names include the names used to create an activity, get an activity, and the custom property names. The default values are activityId, resourceId, date, status, latitude, and longitude. -
latitude: number(float)
Minimum Value:
-90
Maximum Value:90
The geographic latitude coordinate that specifies the location of the activity. -
limit: integer
Minimum Value:
1
Maximum Value:100
The number of items to be returned in the response. The default value is 10. The minimum value that can be specified is 1 and the maximum value that can be specified is 100. If the specified value is greater than 100, then it defaults to 100. Value less then 1 is not allowed. -
longitude: number(float)
Minimum Value:
-180
Maximum Value:180
The geographic longitude coordinate that specifies the location of the activity.
Response
- application/json
200 Response
object
-
coordinates:
object Coordinates
Title:
Coordinates
The coordinates of a point to which appointments were found. -
items:
array items
A collection of nearby activities items.
object
Coordinates
-
latitude:
number
Title:
Latitude
The geographic latitude coordinate that specifies the location of the activity. -
longitude:
number
Title:
Longitude
The geographic longitude coordinate that specifies the location of the activity.
array
-
Array of:
object findNearbyActivitiesItem
The properties of the activity. If no fields are specified in the 'fields' parameter in the request, just 'activityId', 'resourceId', 'longitude', 'latitude' and 'date' are returned in the response. For non-scheduled activities the 'data' parameter is not be returned. Also, the 'resourceId' parameter is not returned if the property is not defined.
object
-
object
Activity Properties
Title:
Activity Properties
The array of activity property objects.
object
Activity Properties
-
accessSchedule:
string
Title:
Access Schedule
The schedule (that is, the set of time intervals or access hours, two intervals per week day) when the asset or the activity location is accessible. Work must start and complete during this interval. It is generally not possible to work beyond the access hours. Maximum field length is 1020.Access Schedule Field Format
This field is a string, which contains an inner json object (encoded as a string). For example, "accessSchedule": "{\"schedule\":[{\"daysOfWeek\":[\"Mon\",\"Tue\"],\"hours\":[[\"07:00\",\"12:00\"]]}]}"The inner json object has the following schema:
{
"type": "object",
"properties": {
"schedule": {
"type": "array",
"items": {
"type": "object",
"properties": {
"daysOfWeek": {
"type": "array",
"items": {
"type": "string",
"enum": [ "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" ]
}
},
"hours": {
"type": "array",
"items": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
},
"exceptDates": {
"type": "array",
"items": { "type": "string" }
}
}
} -
activityFlow:
string
Title:
Activity Flow
Activity flow label -
activityId:
integer
Title:
Activity ID
The unique identifier of the activity. -
activityType:
string
Title:
Activity Type
The label of the activity type. Based on the activity type, predefined company-specific rules are applied while processing an activity. Predefined company-specific rules cover the following:- The resources to which the activity is assigned.
- The activity processing details.
- The interaction of the activity with different modules of Oracle Field Service.
-
apptNumber:
string
Title:
Appointment Number
This field may be used by integrations to store the identifier of the activity in the origin system. This field has no business significance in Oracle Field Service and can be left empty. Maximum field length is 40. -
autoRoutedToDate:
string
Title:
Auto Routed To Date
The date to which the activity was moved automatically by routing. Rescheduling the activity does not change this value. It is a read-only field. -
autoRoutedToResource:
string
Title:
Auto Routed To Resource
The external ID of resource to which the activity was last assigned by routing. Reassigning the activity does not change this value. It is a read-only field. If the field has no value, it means that the routing assigned the activity to a resource with empty external ID. -
city:
string
Title:
City
The city of the customer where the activity is scheduled. Maximum field length is 60. If a longer value is sent it will be truncated. -
coordinateAccuracy:
string
Title:
Coordinate Accuracy
The coordinate accuracy of the activity. It is a read-only field. The following values are returned:- Low
- Medium
- High
-
country_code:
string
Title:
Country Code
The code of the country where the activity is scheduled. -
customerCell:
string
Title:
Customer Cell
The cell phone number of the customer. From version 17.2.1, the phone number is saved with the '+' symbol. For example, if you enter the phone number as +1(234)234-23_42, it is saved as +12342342342. In versions before 17.2.1, the phone number is saved as 12342342342. Maximum field length is 240. If a longer value is sent it will be truncated. -
customerEmail:
string
Title:
Customer Email
The email address of the customer. Maximum field length is 320. If a longer value is sent it will be truncated. -
customerName:
string
Title:
Customer Name
The name of the customer. Maximum field length is 420. If a longer value is sent it will be truncated. -
customerNumber:
string
Title:
Customer Number
The account number of the customer. This field is used by integrations as a placeholder for the external identifier of the Account ID in the application. This parameter has no business significance in Oracle Field Service and can be left empty. Maximum field length is 40. If a longer value is sent it will be truncated. -
customerPhone:
string
Title:
Customer Phone
The regular (land) phone number of the customer. From version 17.2.1, the phone number is saved in Oracle Field Service with the '+' symbol. For example, if you enter the phone number as +1(234)234-23_42, it is saved in Oracle Field Service as +12342342342. In versions before 17.2.1, the phone number is saved as 12342342342. Maximum field length is 240. If a longer value is sent it will be truncated. -
date:
string
Title:
Date
The date on which the activity is scheduled. This field is not present in the response, if the activity is not scheduled for any particular date. -
deliveryWindowEnd:
string
Title:
Delivery Window End
The time when the activity delivery window ends. The time is displayed in the time zone of the resource to which the activity is assigned and is in HH:MM:SS format. -
deliveryWindowStart:
string
Title:
Delivery Window Start
The time when the activity delivery window starts. The time is displayed in the time zone of the resource to which the activity is assigned and is in HH:MM:SS format. -
duration:
integer
Title:
Duration
The estimated duration of the activity in minutes. -
endTime:
string
Title:
End Time
The predicted or the actual end time of the activity. The time is displayed in the time zone of the resource to which the activity is assigned and is in YYYY-MM-DD HH:MM:SS format. -
firstManualOperation:
string
Title:
First Manual Operation
The name of the first manual operation on the activity. -
firstManualOperationUser:
string
Title:
First Manual Operation User
The user who performed the first manual operation on the activity. -
language:
string
Title:
Language
The preferred language of the customer. This parameter returns two-character code (e.g. "en") in API responses. To obtain ISO code of the language (e.g. "en-US") read the "languageISO" parameter. In the requests this parameter accepts both formats (e.g. "en" or "en-US"). It is recommended to use ISO format. The language codes listed on: Supported Language Codes. -
languageISO:
string
Title:
Language ISO
The preferred language of the customer. This parameter is only present in the responses and will be ignored if it is present in a request. To update language use the parameter "language". The language codes listed on: Supported Language Codes. -
latitude:
number
Title:
Latitude
Minimum Value:-90
Maximum Value:90
The geographic latitude coordinate that specifies the location of the activity. -
longitude:
number
Title:
Longitude
Minimum Value:-180
Maximum Value:180
The geographic longitude coordinate that specifies the location of the activity. -
masterActivityId:
integer
Title:
Master Activity ID
The identifier of a segmentable activity. It is available for individual segments which have the record type set to 'multiday_activity_segment'. This field is not set for regular activities. -
points:
integer
Title:
Points
Minimum Value:0
Maximum Value:65535
The cost of the activity in 'points'. This field is intended for use by the Routing module. -
positionInRoute:
integer
Title:
Position In Route
The position of the activity in the route. For not-ordered activities, this field is not present in the response. For ordered activities, a 1-based number is returned. -
postalCode:
string
Title:
Postal Code
The postal code of the customer. This field is used for geocoding and must contain a valid address. Maximum field length is 60. If a longer value is sent it will be truncated. -
recordType:
string
Title:
Record Type
Allowed Values:[ "regular", "reopened", "prework", "multiday_activity", "multiday_activity_segment" ]
The type of the activity record. The following values are allowed:- regular: This is the default record type for most new activities.
- prework: This type of record is created if a technician has to perform some work before the actual activity starts.
- reopened: A record of this type is created when an activity is reopened for some reason.
- multiday_activity: This record type is created when the 'activityType' indicates that it is a segmentable activity.
- multiday_activity_segment: A number of records of this type are created for segmentable activities, based on their duration and time slot settings.
-
reminderTime:
integer
Title:
Reminder Time
The number of minutes before the activity start time when the customer must be notified of the activity. -
resourceId:
string
Title:
Resource ID
The identifier of the resource to which this activity is assigned. This field is not returned if the resource ID is empty.Note: Do not use empty strings in requests.
-
resourceTimeZone:
string
Title:
Resource Time Zone
The time zone of the resource to which this activity is assigned (for example, Eastern). This is a read-only field and may change when the activity is reassigned to another resource. -
resourceTimeZoneDiff:
integer
Title:
Resource Time Zone Difference
The difference between UTC and the resource's local time, displayed in minutes. For example, -180 means that the resource time is 3 hours behind UTC. This field is read-only and may change when the activity is reassigned to another resource. -
resourceTimeZoneIANA:
string
Title:
Resource Time Zone IANA Name
The IANA name of the resource's time zone (for example, America/New_York). This field is read-only and may change when the activity is reassigned to another resource. -
serviceWindowEnd:
string
Title:
Service Window End
The time when the service window ends for the activity. The time is displayed in 'HH:MM:SS' format.Service window is returned in the time zone of the resource to which the activity is currently assigned.
-
serviceWindowStart:
string
Title:
Service Window Start
The time when the service window starts for the activity. The time is displayed in 'HH:MM:SS' format.Service window is returned in the time zone of the resource to which the activity is currently assigned.
-
slaWindowEnd:
string
Title:
Sla Window End
The time when the service level agreement (SLA) window ends. The time is displayed in 'YYYY-MM-DD HH:MM:SS' format.SLA window is returned in the time zone of the resource to which the activity is currently assigned.
-
slaWindowStart:
string
Title:
Sla Window Start
The time when the service level agreement (SLA) window starts. The time is displayed in 'YYYY-MM-DD HH:MM:SS' format.SLA window is returned in the time zone of the resource to which the activity is currently assigned.
-
startTime:
string
Title:
Start Time
The estimated time of arrival for the activities in 'pending' status and the actual start time for the activities in 'started' and 'completed' status. The time is displayed in 'YYYY-MM-DD HH:MM:SS' format in the time zone of the resource to which the activity is assigned. -
stateProvince:
string
Title:
State Province
The state or province of the customer. This field is used for geocoding and must contain a valid address. Maximum field length is 60. If a longer value is sent it will be truncated. -
status:
string
Title:
Status
Allowed Values:[ "cancelled", "completed", "suspended", "started", "enroute", "pending", "notdone" ]
The status of the activity. As a technician works through the activity, the status changes. The actions that are available for an activity are based on this status.A newly created activity has the status as 'pending', but it can then be changed to 'cancelled' or 'started'. The status of an activity can be changed to 'complete', 'notdone', or 'suspended' only if it has the status as 'started'.
-
streetAddress:
string
Title:
Street Address
The street address of the customer. This field is used for geocoding and must contain a valid address. Maximum field length is 240. If a longer value is sent it will be truncated. -
teamResourceId:
string
Title:
Team Resource ID
The identifier of the team resource for a teamwork activity. -
timeDeliveredEnd:
string
Title:
Time Delivered End
The end time of the technician's arrival interval as communicated to the customer. The value is used by routing optimization engine to reduce changes to arrival time, so it is important to keep the value actual. This time is displayed in 'YYYY-MM-DD HH:MM:SS' format in the time zone of the resource to which the activity is assigned. -
timeDeliveredStart:
string
Title:
Time Delivered Start
The start time of the technician's arrival interval as communicated to the customer. The value is used by routing optimization engine to reduce changes to arrival time, so it is important to keep the value actual. This time is displayed in 'YYYY-MM-DD HH:MM:SS' format in the time zone of the resource to which the activity is assigned. -
timeOfAssignment:
string
Title:
Time Of Assignment
The time when the activity is assigned to the technician. This time is displayed in the time zone of the resource to which the activity is assigned. -
timeOfBooking:
string
Title:
Time Of Booking
The time when the customer booked the activity. The time is displayed in the time zone of the customer. -
timeSlot:
string
Title:
Time Slot
The time slot during which the activity is completed. The time slot also indicates the service window for the activity. -
timeZone:
string
Title:
Time Zone
The name of the customer's time zone. For example, Eastern.By default, the time zone of the resource to which the activity is assigned is used.
For a list of supported time zones, see Supported Time Zones.
-
timeZoneIANA:
string
Title:
Time Zone IANA name
The IANA name of the time zone. For more information, visit https://www.iana.org/time-zones. For example, America/New_York. This field is read-only, but when creating or updating an activity, the field 'timeZone' accepts both IANA names and Oracle Field Service specific names. -
travelEstimationMethod:
string
Title:
Travel Estimation Method
The travel estimation method. It is a read-only field. The following values are returned:- Airline Distance
- Airline Distance and Statistics
- External Adjustment
- Manual Adjustment
- Not Estimated
- Point to Point
- Same Location
- Statistics
- Street Level Routing
- Travel key based Airline Distance
- Using Defaults
-
travelTime:
integer
Title:
Travel Time
Read Only:true
The estimated time taken to travel to this activity. For activities that were started (status is 'started', 'completed', 'notdone') this parameter indicates reported travelling time, which is calculated based on the actual times.
Notice that reported travelling time keeps the paid part of the travelling time and may be different from the value shown in UI, depending on the "Travel Allowance" configuration of resource type.
(Exception : the "activityChanges" object of activity events always brings the full value of the travelling time).
-
workZone:
string
Title:
Work Zone
The work zone in which the activity occurs. It is a read-only field that is automatically assigned to an activity, based on the company setting 'work zone key' and the activity properties. For example, if 'work zone key' is the first 4 symbols of the 'city' field, then the activity with city=Belfast will have a work zone assigned which has 'BELF' as one of its keys.
Default Response
object
-
detail:
string
The detailed description of this error.
-
status:
string
The HTTP status code of this error.
-
title(required):
string
The brief description of this error.
-
type(required):
string
The URL of the web page containing more details about this error.
Examples
The following example shows how to find nearby activities by submitting a GET request on the REST resource.
cURL command Example
The following shows an example of the cURL command.
curl -X GET "https://<instance_name>.fs.ocs.oraclecloud.com/rest/ofscCore/v1/resources/33001/findNearbyActivities?limit=10&fields=postalCode,timeOfAssignment" -u "<CLIENT-ID>@<INSTANCE-NAME>:<CLIENT-SECRET>" -H "Accept: application/json" -H "Content-Type: application/json"
Response Body Example
The following shows an example of the response body in JSON format.
{ "items": [ { "activityId": 3956450, "resourceId": "55007", "date": "2019-12-05", "longitude": -81.27668, "latitude": 28.75769, "postalCode": "327736033", "timeOfAssignment": "2019-07-10 04:00:00" }, { "activityId": 3956432, "resourceId": "55001", "date": "2019-12-05", "longitude": -81.27618, "latitude": 28.7562, "postalCode": "327736037", "timeOfAssignment": "2019-07-10 07:00:00" }, { "activityId": 3954917, "resourceId": "33042", "date": "2019-12-05", "longitude": -81.27765, "latitude": 28.75801, "postalCode": "32773", "timeOfAssignment": "2019-07-10 09:00:00" } ], "coordinates": { "longitude": -81.27618, "latitude": 28.7562 } }