Service Order Field Activity Processing

This section outlines how service order field activities are processed.

Pre-Processing, Validation, and Post-Processing Algorithms

When service order field activities are first instantiated, a set of pre-processing algorithms populate and derive information needed for the activity, such as the activity type, service point, device, address, effective date, and other information.

Validation algorithms validate this information when first retrieved and when updated.

When service order field activities are completed, a post-processing algorithm populates the activity end date/time:

Service Order Field Activity Lifecycle

As a service order field activity moves through its lifecycle, it triggers various business processes based on the type of service order field activity. The table below outlines the lifecycle for the Field Activity (D1-FieldActivity) business object.

State

Description

Pending

The initial state for service order field activities.

An Enter algorithm sends an acknowledgement to the requesting system.

The activity is transitioned to the next state via a monitor process.

Validate

Enter algorithms perform the following:

Validate Activity Type (and transition to error if invalid)

Derive and validate service order recipient

Validate duplicate and conflict service order activities

Derive and validate service order service point

Derive and validate service order device

Validate address constituents

Check for any existing cut service restrictions

The activity is transitioned to the next state via a monitor process.

Validation Error

If the business object fails any of the validations in the Pending state, it enters this state.

Enter algorithms perform the following:

Create a To Do based on specified To Do Type and To Do Role

Set the "Allow Child to Transition Parent Activity" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.

Activities in this state can be corrected and retried.

Waiting to Request

If a service order field activity has a future effective date, it remains in this state until the effective date is reached.

A Monitor algorithm transitions the activity to the next state when the activity's effective date time is reached (process date time >= effective date time).

An Enter algorithm sets the "Allow Child to Transition Parent Activity Based On Effective Date" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.

Waiting for Appointment

If the service order field activity passes its validations and the effective date has been reached, the activity enters this state.

Enter algorithms perform the following:

Evaluate if an appointment is required for field tasks of this type. If not, the activity transitions to the "Communication in Progress" state.

Create a To Do if an appointment is necessary but the system is not able to send an appointment request

Set the "Allow Child to Transition Parent Activity" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.

Send a notification to the appointment handling system

Monitor algorithms perform the following:

Verify if an appointment has been supplied

Send a notification to the appointment handling system

The activity is transitioned to the next state via a monitor process.

See Waiting for Appointment for more information about this state.

Communication in Progress

Service order field activities enter this state following the "Waiting for Appointment" or "Retry" states.

Enter algorithms perform the following:

Create an outbound communication for the service order field activity (see Communication in Progress for more information)

Set the "Allow Child to Transition Parent Activity" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.

Monitor algorithms perform the following:

Check for existing child communications

Check that the activity hasn’t timed out

Discarded

Activities discarded in other states enter this state.

Enter algorithms perform the following:

Cancel outstanding outbound communications

Cancel outstanding completion events

Populate the cancel reason

Send a failure notification to the requesting system

Transition the parent activity to the " Activity Error" state (see Service Order Orchestration Activity Lifecycle for more information)

Check if a Cancel Orchestration activity is required

Communication Error

If an outbound or inbound communication an Error state, the service order field activity enters this state.

Monitor algorithms perform the following:

Check that the activity hasn’t timed out

Enter algorithms perform the following:

Create a To Do based on specified To Do Type and To Do Role

Set the "Allow Child to Transition Parent Activity" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.

Activities in this state can be corrected and retried.

Retry

When a service order field activity is retried after correction of an error condition, it enters this state.

Enter algorithms perform the following:

Check to determine if there are associated outbound communications in progress.

Cancel any outstanding outbound communications

Execute Completion Events

After an inbound communication is received, it enters this state.

Enter algorithms perform the following:

Executes completion events defined on the field task type (these completion events were initially created by the inbound communication).

Evaluates the "Field Activity Completed" flag on the service order field activity. If this is set to "No", the service order field activity is transitioned to the "Canceled In Field" state.

The activity is transitioned to the next state via a monitor process.

See Execute Completion Events for more information about this state.

Completion Event Error

If an error occurs during completion event processing, the service order field activity enters this state.

Monitor algorithms perform the following:

Check that the activity hasn’t timed out

Enter algorithms perform the following:

Create a To Do based on specified To Do Type and To Do Role

Set the "Allow Child to Transition Parent Activity" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.

Activities in this state can be corrected and retried.

Completed

Service order field activities enter this state when all completion events have successfully completed.

Enter algorithms perform the following:

Update the parent orchestration activity

Send a success response to the requester

Transition the parent orchestration activity to the next state in its lifecycle

Send a service order field activity completion outbound communication to subscribing systems.

Canceled in Field

If the "Field Activity Completed" flag on the field activity is set to "No", the service order field activity enter this state.

Enter algorithms perform the following:

Send a failed response to the requester

Transition the parent orchestration activity to the "Activity Error" state.

Create a To Do to notify users that the service order field activity has been canceled.

Waiting for Appointment

When a service order field activity enters the "Wait for Appointment" state, it first determines if an appointment is necessary for the service order field activity. If not, the activity moves on to the "Communication in Progress" state (see below).

If an appointment request cannot be sent for some reason, the service order field activity creates a To Do item to alert a user to attempt to manually request an appointment. Otherwise, the service order field activity sends an outbound message to the field work system requesting an appointment. The outbound message type is derived using the processing role defined on the "Send Notification to Appointment Handling System - Enter" algorithm.

Processing Role

Outbound Communication Business Object

Appointment Response

(default)

Used if:

An appointment is required and needs to be scheduled

Appointment has been set

Send Appointment Response Outbound Message (D1-SendApptRespOutboundMsg)

Note: An outbound message must be created based on this business object.

The response from the field work system can be received by creating an Inbound Web Service that references the "Book selected appointment to Field Activity" (D1-BookAppt) service script.

While in this state, monitor algorithms verify if an appointment has been supplied and send notifications to the field work system.

Communication in Progress

Service order field activity communications are records of messages sent between Service Order Management and an external field work system, such as Oracle Utilities Mobile Workforce Management. Communications can flow both outbound and inbound.

See Service Order Field Activity Communication for more information about service order field activity communication.

Execute Completion Events

After receiving the inbound communication, the service order field activity enters the "Execute Completion Events” state.

The inbound communication will have previously created completion events for the service order field activity, based on those defined on the field task type or those referenced by field activity remarks. These creation events begin in the "Pending" state.

An Enter algorithm transitions completion events associated with the service order field activity into their "Executed" state.