arcgis.apps.workforce module

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

Argument

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 geometry

assignment_type

Optional AssignmentType. The assignment type that represents this assignment.

assigned_date

Optional Date The date and time the assignment was assigned

assignment_read

Optional Bool. A flag indicating that the mobile worker has seen the assignment. Version 1 Projects Only

completed_date

Optional Date. The date the assignment was completed

declined_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 assignment

none, 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 assigned_date

Gets/Sets the assigned datetime of the assignment

property assignment_read

Gets/Sets the assignment read field

property assignment_type

Gets/Sets the AssignmentType

property assignment_type_code
property attachments

Gets the AssignmentAttachmentManager of the assignment

property completed_date

Gets/Sets the completed datetime of the assignment

property creation_date

The datetime at which the Feature was created.

property creator

The named user that created the Feature.

property declined_comment

Gets/Sets the declined comment of the assignment

property declined_date

Gets/Sets the declined datetime of the assignment

delete()

Deletes the assignment from the server

property description

Gets/Sets the description for the assignment

property dispatcher

Gets/Sets the Dispatcher of the assignment

property dispatcher_id

Gets the dispatcher id of the assignment

property due_date

Gets/Sets the due datetime of the assignment

property edit_date

The datetime at which the Feature was last edited.

property editor

The named user that last edited the Feature.

property feature

The Feature

property geometry

Gets/Sets the geometry for the Feature.

property global_id

The global id of the feature

property id

The object (version 1) or global id (version 2) of the feature

property in_progress_date

Gets/Sets the in progress datetime for the assignment

property location

Gets/Sets the location of the assignment

property notes

Gets/Sets the notes of the assignment

property object_id

The object id of the feature

property paused_date

Gets/Sets the paused datetime for the assignment

property priority

Gets/Sets the String priority of the assignment

none, low, medium, high, critical

property status

Gets/Sets the String status of the assignment

unassigned, 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

Argument

Description

geometry

Optional Dict. A dictionary containing the assignment geometry

assignment_type

Optional AssignmentType. The assignment type that represents this assignment.

assigned_date

Optional Date The date and time the assignment was assigned

assignment_read

Optional Bool. A flag indicating that the mobile worker has seen the assignment. Version 1 Projects Only

completed_date

Optional Date. The date the assignment was completed

declined_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 assignment

none, 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

Returns a link to the assignment in the Workforce web app

property work_order_id

Gets/Sets the work order id of the assignment

property worker

Gets the Worker of the assignment

property worker_id

Gets the worker id of the assignment

AssignmentType

class arcgis.apps.workforce.AssignmentType(project, feature=None, coded_value=None, name=None)

Defines the acceptable values for AssignmentType types.

Argument

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 code

Gets the internal code that uniquely identifies the assignment type

property coded_value

Gets the coded value

property creation_date

The datetime at which the Feature was created.

property creator

The named user that created the Feature.

delete()

Deletes the assignment type from the server

property edit_date

The datetime at which the Feature was last edited.

property editor

The named user that last edited the Feature.

property feature

The Feature

property geometry

Gets/Sets the geometry for the Feature.

property global_id

The global id of the feature

property id

Gets the id of the assignment type

property name

Gets/Sets The name of the assignment type

property object_id

The object id of the feature

update(name=None)

Updates the assignment type on the server

Argument

Description

name

Optional String. The name of the assignment type

Attachment

class arcgis.apps.workforce.Attachment(assignment, attachment_info)

Represents a file attachment for an Assignment

Argument

Description

assignment

Required Assignment. The assignment object that this attachment belongs to

attachment_info

Required dict. The attachment info dictionary representing the attachment.

property attachment_info

Gets the attachment info of the attachment

property content_type

Gets the attachment content type

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.

property global_id

Gets the attachment global id

property id

Gets the attachment id

property name

Gets the attachment name

property project

Gets the project that the attachment belongs to

property size

Gets the attachment size

Dispatcher

class arcgis.apps.workforce.Dispatcher(project, feature=None, contact_number=None, name=None, user_id=None)

Represents a dispatcher in a project.

Argument

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 dispatcher

name

Optional String. The name of the dispatcher

user_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 contact_number

Gets/Sets the contact number of the dispatcher

property creation_date

The datetime at which the Feature was created.

property creator

The named user that created the Feature.

delete()

Deletes the dispatcher from the server

property edit_date

The datetime at which the Feature was last edited.

property editor

The named user that last edited the Feature.

property feature

The Feature

property geometry

Gets/Sets the geometry for the Feature.

property global_id

The global id of the feature

property id

The object (version 1) or global id (version 2) of the feature

property name

Gets/Sets the name of the dispatcher

property object_id

The object id of the feature

update(contact_number=None, name=None, user_id=None)

Updates the dispatcher on the server

Argument

Description

contact_number

Optional String. The contact number of the dispatcher

name

Optional String. The name of the dispatcher

user_id

Optional String. The user id of the dispatcher

property user_id

Gets/Sets the user id of the dispatcher

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.

Argument

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 integration

prompt

Optional String. The prompt in the mobile app for the integration

url_template

Optional String. The url that the prompt links to

assignment_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 assignment_type

Gets/Sets the assignment type of the integration

property creation_date

The datetime at which the Feature was created.

property creator

The named user that created the Feature.

delete()

Deletes the integration from the server

property edit_date

The datetime at which the Feature was last edited.

property editor

The named user that last edited the Feature.

property feature

The Feature

property geometry

Gets/Sets the geometry for the Feature.

property global_id

The global id of the feature

property id

The object (version 1) or global id (version 2) of the feature

property integration_id

Gets/Sets the id of the integration

property object_id

The object id of the feature

property prompt

Gets/Sets the prompt of the integration

update(integration_id=None, prompt=None, url_template=None, assignment_type=None)

Updates the dispatcher on the server

Argument

Description

integration_id

Optional String. The id for the integration

prompt

Optional String. The prompt in the mobile app for the integration

url_template

Optional String. The url that the prompt links to

assignment_type

Optional String. The assignment type for the integration

property url_template

Gets/Sets the url template of the integration

Project

class arcgis.apps.workforce.Project(item)

A Workforce Project

Argument

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 assignment_types_table_url

The assignment types table url

property assignments

The AssignmentManager for the project

property assignments_item

The assignments Item

property assignments_layer

The assignments FeatureLayer

property assignments_layer_url

The assignments feature layer url

delete()

Deletes the project, group, folder, layers, and webmaps. Assumes the currently signed in user owns the project or is an admin.

property dispatcher_web_map_id

The dispatcher webmap item id

property dispatcher_webmap

The dispatcher WebMap for the project

property dispatchers

The DispatcherManager for the project

property dispatchers_item

The dispatchers Item

property dispatchers_layer

The dispatchers FeatureLayer

property dispatchers_layer_url

The dispatchers layer url

property group

The Group that the project resources are part of

property group_id

The group id that all project items are part of

property id

The item id of the project

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 owner_user_id

The user id of the project owner.

property summary

The title of the project

property title

Gets the title of the project

property tracks

The TrackManager for the project

property tracks_item

The tracks Item

property tracks_layer

The tracks FeatureLayer

property tracks_layer_url

The tracks feature layer url

update(summary=None)

Updates the project on the server

Argument

Description

summary

Optional String. The summary of the project.

property version

The version of the project

property worker_web_map_id

The worker webmap item id

property worker_webmap

The worker WebMap for the project

property workers

The WorkerManager for the project

property workers_item

The workers Item

property workers_layer

The workers FeatureLayer

property workers_layer_url

The workers feature layer url

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.

Argument

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 geometry

accuracy

Optional Float. The accuracy of the point

property accuracy

The horizontal accuracy of the location measurement, in meters.

property creation_date

The datetime at which the Feature was created.

property creator

The named user that created the Feature.

delete()

Deletes the track point on the server

property edit_date

The datetime at which the Feature was last edited.

property editor

The named user that last edited the Feature.

property feature

The Feature

property geometry

Gets/Sets the geometry for the Feature.

property global_id

The global id of the feature

property id

The object (version 1) or global id (version 2) of the feature

property object_id

The object id of the feature

update(geometry=None, accuracy=None)

Updates the track point on the server

Argument

Description

geometry

Optional Dict. A dictionary containing the assignment geometry

accuracy

Optional Float. The accuracy of the point

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

Argument

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 contact_number

Gets/Sets the contact number of the worker

property creation_date

The datetime at which the Feature was created.

property creator

The named user that created the Feature.

delete()

Deletes the worker from the server

property edit_date

The datetime at which the Feature was last edited.

property editor

The named user that last edited the Feature.

property feature

The Feature

property geometry

Gets/Sets the geometry for the Feature.

property global_id

The global id of the feature

property id

The object (version 1) or global id (version 2) of the feature

property name

Gets/Sets the name of the worker

property notes

Gets/Sets the notes of the worker

property object_id

The object id of the feature

property status

Gets/Sets the String status of the worker

not_working, working, on_break

property title

Gets/Sets the title of the worker

update(geometry=None, contact_number=None, name=None, notes=None, status=None, title=None, user_id=None)

Updates the worker on the server

Argument

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 user_id

Gets/Sets the user id of the worker

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.