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
Date
The 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
AssignmentAttachmentManager
of the assignment
- property dispatcher
Gets/Sets the
Dispatcher
of the assignment
- property feature
The
Feature
- property status
Gets/Sets the
String
status 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
Date
The 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
Worker
of the assignment
AssignmentType
- class arcgis.apps.workforce.AssignmentType(project, feature=None, coded_value=None, name=None)
Defines the acceptable values for
AssignmentType
types.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
AssignmentTypeManager
for the project
- property assignment_types_item
The assignment types
Item
- property assignment_types_table
The assignment types
Table
- property assignments
The
AssignmentManager
for 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
Map
for the project
- property dispatchers
The
DispatcherManager
for the project
- property dispatchers_item
The dispatchers
Item
- property dispatchers_layer
The dispatchers
FeatureLayer
- property group
The
Group
that the project resources are part of
- property integrations
The
AssignmentIntegrationManager
for the project
- property integrations_table
The integrations
Table
- property integrations_table_url
The integrations table url
Table
- property owner
The owner
User
of the project
- property tracks
The
TrackManager
for 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
Map
for the project
- property workers
The
WorkerManager
for 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