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')
create_project
- arcgis.apps.workforce.create_project(title, summary=None, major_version=None, gis=None)
 Creates a new Workforce Project
Parameter
Description
title
String. The title of the Project to create (must be unique to the organization)summary
String. The summary of the Projectmajor_version
Optional
IntThe version of the Project to create. 1 represents the original Workforce Project which does not support offline. 2 represents the newer Workforce Project which supports offline among other things. Defaults to 2 in GIS 8.2 and highergis
Optional
GIS. The authenticated GIS to use. Defaults to the active GIS if None is provided.Returns a
Project
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
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
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
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
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
Mapfor 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
Mapfor the project
- property workers
 The
WorkerManagerfor the project
- property workers_item
 The workers
Item
- property workers_layer
 The workers
FeatureLayer
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
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