Defines public exports for the workforce module.
The Project is the main entry point into the Workforce module.
It can be used as shown in the following code example.
# Get a Project and search the assignments and workers, create new Workforce project
import arcgis
gis = arcgis.gis.GIS("https://arcgis.com", "<username>", "<password>")
item = gis.content.get("<item-id>")
project = arcgis.apps.workforce.Project(item)
assignments = project.assignments.search()
workers = project.workers.search()
project2 = arcgis.apps.workforce.create_project('new_project', summary='This project was created by Python')
Assignment
-
class
arcgis.apps.workforce.Assignment(project, feature=None, geometry=None, assignment_type=None, assigned_date=None, assignment_read=None, completed_date=None, declined_comment=None, declined_date=None, description=None, dispatcher=None, due_date=None, in_progress_date=None, location=None, notes=None, paused_date=None, priority='none', status=None, work_order_id=None, worker=None) Represents an assignment
Parameter
Description
project
Required
Project. The project that this assignment belongs to.feature
Optional
Feature. A feature containing the assignments attributes. Mostly intended for internal usage. If supplied, other parameters are ignored.geometry
Optional
Dict. A dictionary containing the assignment geometryassignment_type
Optional
AssignmentType. The assignment type that represents this assignment.assigned_date
Optional
DateThe date and time the assignment was assignedassignment_read
Optional
Bool. A flag indicating that the mobile worker has seen the assignment. Version 1 Projects Onlycompleted_date
Optional
Date. The date the assignment was completeddeclined_comment
Optional
String. The comment submitted by the mobile worker.declined_date
Optional
Date. The date the assignment was declined.description
Optional
Description. The description associated with the assignment.dispatcher
Optional
Dispatcher. The dispatcher that assigned/created the assignment.due_date
Optional
Date. The date the assignment is due.in_progress_date
Optional
Date. The date the assignment was started.location
Optional
String. The location or address of the assignment.notes
Optional
String. The notes associated with the assignment.paused_date
Optional
Date. The date and time the assignment was paused.priority
Optional
String. The priority of the assignmentnone, low, medium, high, critical
status
Optional
String. The status of the assignment.unassigned, assigned, in_progress, completed, declined, paused, canceled
work_order_id
Optional
String. The work order id associated with the assignment.worker
Optional
Worker. The worker assigned to the assignment# Get an assignment and update it import arcgis gis = arcgis.gis.GIS("https://arcgis.com", "<username>", "<password>") item = gis.content.get("<item-id>") project = arcgis.apps.workforce.Project(item) assignment = project.assignments.search()[0] assignment.update(priority="high",description="new assignment",location="100 Commercial Street, Portland, ME") assignment.delete()
-
property
assignment_type Gets/Sets the
AssignmentType
-
property
attachments Gets the
AssignmentAttachmentManagerof the assignment
-
property
dispatcher Gets/Sets the
Dispatcherof the assignment
-
property
feature The
Feature
-
property
status Gets/Sets the
Stringstatus of the assignmentunassigned, assigned, in_progress, completed, declined, paused, canceled
-
update(geometry=None, assignment_type=None, assigned_date=None, assignment_read=None, completed_date=None, declined_comment=None, declined_date=None, description=None, dispatcher=None, due_date=None, in_progress_date=None, location=None, notes=None, paused_date=None, priority=None, status=None, work_order_id=None, worker=None) Updates the assignment on the server
Parameter
Description
geometry
Optional
Dict. A dictionary containing the assignment geometryassignment_type
Optional
AssignmentType. The assignment type that represents this assignment.assigned_date
Optional
DateThe date and time the assignment was assignedassignment_read
Optional
Bool. A flag indicating that the mobile worker has seen the assignment. Version 1 Projects Onlycompleted_date
Optional
Date. The date the assignment was completeddeclined_comment
Optional
String. The comment submitted by the mobile worker.declined_date
Optional
Date. The date the assignment was declined.description
Optional
Description. The description associated with the assignment.dispatcher
Optional
Dispatcher. The dispatcher that assigned/created the assignment.due_date
Optional
Date. The date the assignment is due.in_progress_date
Optional
Date. The date the assignment was started.location
Optional
String. The location or address of the assignment.notes
Optional
String. The notes associated with the assignment.paused_date
Optional
Date. The date and time the assignment was paused.priority
Optional
String. The priority of the assignmentnone, low, medium, high, critical
status
Optional
String. The status of the assignment.unassigned, assigned, in_progress, completed, declined, paused, canceled
work_order_id
Optional
String. The work order id associated with the assignment.worker
Optional
Worker. The worker assigned to the assignment
-
property
worker Gets the
Workerof the assignment
-
property
AssignmentType
-
class
arcgis.apps.workforce.AssignmentType(project, feature=None, coded_value=None, name=None) Defines the acceptable values for
AssignmentTypetypes.Parameter
Description
project
Required
Project. The project that this assignment belongs to.coded_value
Optional
dict. The dictionary storing the code and name of the type. Only works for v1 projects.name
Optional
String. The name of the assignment type.# Get an assignment type, update it, delete it import arcgis gis = arcgis.gis.GIS("https://arcgis.com", "<username>", "<password>") item = gis.content.get("<item-id>") project = arcgis.apps.workforce.Project(item) assignment_type = project.assignment_types.search()[0] assignment_type.update(name="Manhole Inspection") assignment_type.delete()
-
property
feature The
Feature
-
property
Attachment
-
class
arcgis.apps.workforce.Attachment(assignment, attachment_info) Represents a file attachment for an Assignment
Parameter
Description
assignment
Required
Assignment. The assignment object that this attachment belongs toattachment_info
Required
dict. The attachment info dictionary representing the attachment.-
download(out_folder=None) Downloads the attachment to the specified path. If the path is omitted, the Attachment will be saved to the current working directory, using the name property as the filename. :param out_folder: The folder in which the attachment should be saved. Defaults to the current working directory.
- Returns
The absolute path to the downloaded file.
-
Dispatcher
-
class
arcgis.apps.workforce.Dispatcher(project, feature=None, contact_number=None, name=None, user_id=None) Represents a dispatcher in a project.
Parameter
Description
project
Required
Project. The project that the dispatcher belongs to.feature
Optional
Feature. The feature representing the dispatcher. Mostly intended for internal usage. If supplied, other parameters are ignored.contact_number
Optional
String. The contact number of the dispatchername
Optional
String. The name of the dispatcheruser_id
Optional
String. The user id of the dispatcher# Get a dispatcher, update it, delete it import arcgis gis = arcgis.gis.GIS("https://arcgis.com", "<username>", "<password>") item = gis.content.get("<item-id>") project = arcgis.apps.workforce.Project(item) dispatcher = project.dispatchers.search()[0] dispatcher.update(name="Dispatcher Name", contact_number="1234567890") dispatcher.delete()
-
property
feature The
Feature
-
property
Integration
-
class
arcgis.apps.workforce.Integration(project, feature=None, integration_id=None, prompt=None, url_template=None, assignment_type=None) Represents an integration in a project. Version 2 Workforce projects only.
Parameter
Description
project
Required
Project. The project that the dispatcher belongs to.feature
Optional
Feature. The feature representing the dispatcher. Mostly intended for internal usage. If supplied, other parameters are ignored.integration_id
Optional
String. The id for the integrationprompt
Optional
String. The prompt in the mobile app for the integrationurl_template
Optional
String. The url that the prompt links toassignment_type
Optional
String. The assignment type for the integration# Get an integration, update it, delete it import arcgis gis = arcgis.gis.GIS("https://arcgis.com", "<username>", "<password>") item = gis.content.get("<item-id>") project = arcgis.apps.workforce.Project(item) integration = project.integrations.search()[0] integration.update(integration_id="arcgis-navigator",prompt="Navigate to Assignment") integration.delete()
-
property
feature The
Feature
-
update(integration_id=None, prompt=None, url_template=None, assignment_type=None) Updates the dispatcher on the server
Parameter
Description
integration_id
Optional
String. The id for the integrationprompt
Optional
String. The prompt in the mobile app for the integrationurl_template
Optional
String. The url that the prompt links toassignment_type
Optional
String. The assignment type for the integration
-
property
Project
-
class
arcgis.apps.workforce.Project(item) A Workforce Project
Parameter
Description
item
Required
Item. The item that the contains the project.For a version 1 Workforce project, this is an item of type Workforce Project. For a version 2 Workforce project, this is an item of type Feature Service with typeKeyword Workforce Project
# Get a Project and search the assignments and workers. import arcgis gis = arcgis.gis.GIS("https://arcgis.com", "<username>", "<password>") item = gis.content.get("<item-id>") project = arcgis.apps.workforce.Project(item) assignments = project.assignments.search() workers = project.workers.search() # Create v1 "Classic" Workforce project and v2 "offline-enabled" project v1_project = arcgis.apps.workforce.create_project('v1_project', major_version=1) v2_project = arcgis.apps.workforce.create_project('v2_project', major_version=2)
-
property
assignment_types The
AssignmentTypeManagerfor the project
-
property
assignment_types_item The assignment types
Item
-
property
assignment_types_table The assignment types
Table
-
property
assignments The
AssignmentManagerfor the project
-
property
assignments_item The assignments
Item
-
property
assignments_layer The assignments
FeatureLayer
-
delete() Deletes the project, group, folder, layers, and webmaps. Assumes the currently signed in user owns the project or is an admin.
-
property
dispatcher_webmap The dispatcher
WebMapfor the project
-
property
dispatchers The
DispatcherManagerfor the project
-
property
dispatchers_item The dispatchers
Item
-
property
dispatchers_layer The dispatchers
FeatureLayer
-
property
group The
Groupthat the project resources are part of
-
property
integrations The
AssignmentIntegrationManagerfor the project
-
property
integrations_table The integrations
Table
-
property
integrations_table_url The integrations table url
Table
-
property
owner The owner
Userof the project
-
property
tracks The
TrackManagerfor the project
-
property
tracks_item The tracks
Item
-
property
tracks_layer The tracks
FeatureLayer
-
update(summary=None) Updates the project on the server
Parameter
Description
summary
Optional
String. The summary of the project.
-
property
worker_webmap The worker
WebMapfor the project
-
property
workers The
WorkerManagerfor the project
-
property
workers_item The workers
Item
-
property
workers_layer The workers
FeatureLayer
-
property
Track
-
class
arcgis.apps.workforce.Track(project, feature=None, geometry=None, accuracy=None) Represents a track feature, which describes the historical location of a worker. V1 Projects only.
Parameter
Description
feature
Optional
Feature. A feature containing the assignments attributes. Mostly intended for internal usage. If supplied, other parameters are ignored.geometry
Optional
Dict. A dictionary containing the assignment geometryaccuracy
Optional
Float. The accuracy of the point-
property
feature The
Feature
-
property
Worker
-
class
arcgis.apps.workforce.Worker(project, feature=None, geometry=None, contact_number=None, name=None, notes=None, status='not_working', title=None, user_id=None) Represents a worker in a Workforce Project
Parameter
Description
project
Required
Project. The project that the worker belongs to.feature
Optional
Feature. The feature representing the worker. Mostly intended for internal usage. If supplied, other parameters are ignored.geometry
Optional
Dict. The geometry of the worker.contact_number
Optional
String. The contact number of the worker.name
Optional
String. The name of the worker.notes
Optional
String. The notes about the worker.status
Optional
String. The status of the worker.not_working, working, on_break
title
Optional
String. The title of the worker.user_id
Optional
String. The user id of the worker# Get a worker, update it, delete it import arcgis gis = arcgis.gis.GIS("https://arcgis.com", "<username>", "<password>") item = gis.content.get("<item-id>") project = arcgis.apps.workforce.Project(item) worker = project.workers.search()[0] worker.update(title="Inspector",status="not_working")
-
property
feature The
Feature
-
update(geometry=None, contact_number=None, name=None, notes=None, status=None, title=None, user_id=None) Updates the worker on the server
Parameter
Description
geometry
Optional
Dict. The geometry of the worker.contact_number
Optional
String. The contact number of the worker.name
Optional
String. The name of the worker.notes
Optional
String. The notes about the worker.status
Optional
String. The status of the worker.not_working, working, on_break
title
Optional
String. The title of the worker.user_id
Optional
String. The user id of the worker
-
property