Field Service Task Bundling components
Several types of components are installed with the activation of the Field Service Task Bundling feature including business rules, task filters and task grouping rules.
Business Rules
Field Service Task Bundling adds the following business rules.
| Business Rule | Table | Description |
|---|---|---|
| Bundle Actual Time Field Update | Work Order Task [wm_task] | Updates the Actual travel start and Actual onsite arrival fields of the bundle. |
| Bundle Assignment | Work Order Task [wm_task] | Updates bundled subtask assignment. |
| Bundle Assignment Before | Work Order Task [wm_task] | Prevents bundling when bundle Window start is before the subtask Window start. Prevents bundling when bundle Expected Start is before bundle Window start. |
| Bundle Change After | Work Order Task [wm_task] | Validates and updates bundles based on bundled subtasks, or validates and updates unbundled subtasks based on their previous bundle. |
| Bundle Change Before | Work Order Task [wm_task] | Validates and updates bundles when subtasks are added to or removed from the bundle. |
| Bundle Scheduled Start Change | Work Order Task [wm_task] | Initiates the scheduling of bundled subtasks. |
| Bundle Siblings Prevention | Work Order Task [wm_task] | Prevents duplicate task bundles from being created for the same work order. |
| Bundle state change | Work Order Task [wm_task] | Updates the bundle state. |
| Bundle subtask assignment changes | Work Order Task [wm_task] | Prevents bundled subtask assignment based on subtask state or current agent assignment. |
| Bundle Subtasks Changes Info Message | Work Order Task [wm_task] | Informs the user when no changes have occurred. |
| Bundle Task SubState Update | Work Order Task [wm_task] | Updates the substate of the bundle based on the bundle state and action taken by the agent. |
| Cancel Task Bundle | Work Order Task [wm_task] | Unbundles all subtasks in a bundle. |
| Confirm Assignment on Bundle Task | Work Order Task [wm_task] | Updates and syncs subtask state to the bundle state upon assignment by a dispatcher. |
| Enforce bundle mandatory fields | Task Grouping Qualifier [sn_task_grouping_qualifier] | Prevents dynamic bundling when mandatory fields are empty. |
| Grouping rule info message for wm_task | Task Grouping Rule [sn_task_grouping_rule] | |
| Lock and Unlock Subtasks | Work Order Task [wm_task] | Updates subtasks schedule lock state to match bundle when bundle schedule lock is changed. |
| On bundle state change from Draft to PD | Work Order Task [wm_task] | Updates subtasks state to match bundle state when bundle is set to Pending Dispatch. Validates subtask state and provides error message when a subtask failed to update. |
| On change bundle Assignment Group | Work Order Task [wm_task] | Updates subtasks assignment group to match bundle when bundle assignment group is changed. |
| Prevent bundle location changes | Work Order Task [wm_task] | Validates that the bundle location equals the location of the first subtask in the bundle. Prevents bundle location from being different from the location of the first subtask in the bundle. |
| Prevent duplicate/multiple qualifiers | Task Grouping Qualifier [sn_task_grouping_qualifier] | Prevents bundling when both or neither Assignment group or Territory qualifiers are active. Prevents bundling when identical qualifier exists. |
| Prevent schedule lock update on subtasks | Work Order Task [wm_task] | Prevents subtask schedule lock from being different from parent bundle schedule lock. |
| Push initial subtask location to bundle | Work Order Task [wm_task] | Updates bundle location to the location of the first subtask in the bundle. |
| Remove subtasks they are in diff state | Work Order Task [wm_task] | Removes subtasks from bundle when subtask state is different from the bundle state. |
| Reschedule after Subtask Order Change | Work Order Task [wm_task] | Reschedules the bundle when order of subtasks is changed. |
| Set name for territory | Task Grouping Qualifier [sn_task_grouping_qualifier] | Sets the Name value of the Territory qualifier. |
| Subtask Order Validation | Work Order Task [wm_task] | Validates that the Order value of subtasks are unique and not empty. |
| SubTask Schedule State Change | Work Order Task [wm_task] | Updates the bundle and subtask states from Assigned to Scheduled when a dispatcher schedules the bundle. |
| Subtasks field change - not supported | Work Order Task [wm_task] | Prevents subtask estimated work duration from being manually updated based on subtask state. |
| Sync bundle with subtasks | Work Order Task [wm_task] | Syncs bundle with subtask values. |
| Sync Bundle Work Duration to subtasks | Work Order Task [wm_task] | Syncs bundle duration to the total estimated work duration of its subtasks. |
| Validate Min & Max Tasks | Task Grouping Policy [sn_task_grouping_policy] | Validates that the number of subtasks in a bundle created from a policy falls between the policy minimum and maximum range. |
| Work duration change on bundle | Work Order Task [wm_task] | Validates that the subtask estimated work duration is less than the subtask duration of the bundle. |
Script Includes for Task Bundling
The following script includes contain reusable code that supports the task bundling process, making scripts easier to maintain and update. To customize these script includes, see, Advanced configurations.
| Script Includes | Description |
|---|---|
| BundleMatchingDimensionParts | Matches agents with parts for subtasks on a bundle. |
| BundleMatchingDimensionSkillAdvanced | Advanced skill matching dimension for bundle tasks. |
| BundleTaskFlowUtil | Utility functions for managing bundle task flows. |
| BundleTaskSLA | Contains APIs for handling Bundle Task SLA functionality. |
| DynamicBundlingAdvancedRuleScripts | Contains APIs used in advanced Task Grouping rules for use with Dynamic Bundling. |
| FSMDynamicBundling | Main API for FSM Dynamic Bundling functionality. |
| FSMDynamicBundlingAJAX | AJAX functions for FSM Dynamic Bundling. |
| FSMDynamicBundlingAssignments | Contains APIs used to handle processing Dynamic Bundling during Dynamic Scheduling and Auto Assign flows. |
| FSMDynamicBundlingUtil | Contains APIs used to handle various Dynamic Bundling functionality. |
| FSMMobileBulkActionsConstants | Contains constant values used throughout the Task Bundling Mobile Bulk Actions APIs. |
| FSMMobileBulkActionsUtil | Functions called from Mobile Bulk Actions configurations. |
| FSMTaskBundle | Facilitates the creation and functionality of a Task Bundle. |
| FSMTaskBundleAJAX | AJAX functions for FSM Task Bundle functionality. |
| FSMTaskBundleCapacityUtil | Task Bundle capacity utility functions. |
| FSMTaskBundleStateFlows | Contains APIs used to handle Task Bundle state changes and subtask state changes. |
| MatchingDimensionRejectedTechnicianForBundle | Prevents selection of a technician who has rejected a subtask on a bundle. |
| TaskBundlingConstants | Contains constant values used throughout the Task Bundling APIs. |
| TaskGroupingFSMEP | Implements extension point sn_task_grouping.TaskGroupingEP. |
Task Grouping Policies
Field Service Task Bundling adds the following task grouping policy.
| Task Grouping Policy | Description |
|---|---|
| Default Policy |
|
Task Grouping Rules
Field Service Task Bundling adds the following task grouping rules.
| Task Grouping Rule | Policy | Description |
|---|---|---|
| WOT's in Same Location Within Next 30 Days | Default Policy | Bundles tasks that are in the same Location within the next 30 days. |
| WOT's In Same Territory With Required Skill Set Within Next 30 Days | Default Policy | Bundles tasks that are in the same Territory and require specific skills within the next 30 days. |
| WOT's In Same Territory Within Next 30 Days | Default Policy | Bundles tasks that are in the same Territory within the next 30 days. |
| WOT's That Need Same Asset Within Next 30 Days | Default Policy | Bundles tasks that require the same Asset within the next 30 days. |
| WOT's With Similar Required Parts | Default Policy | Bundles tasks that require similar parts. |
| WOT's With Similar Task Skills | Default Policy | Bundles tasks that require similar skills. |
Script includes for Task Grouping
The following script includes contain reusable code that supports the task grouping process, making scripts easier to maintain and update. To customize these script includes, see, Advanced configurations.
| Script include | Description |
|---|---|
| TaskGroupingAJAX | Client callable utilities for Task Grouping. |
| TaskGroupingConstants | Contains all constant values used by the Task Grouping APIs. |
| TaskGroupingDefaultEP | Implements extension point sn_task_grouping.TaskGroupingEP. This is the default implementation. |
| TaskGroupingDurationFields | Gets valid field choices for the duration field on Task Grouping Policies. |
| TaskGroupingGroup | Creates a logical representation of a Task Grouping Group. The group object handles the grouping of items while honoring the group boundaries. |
| TaskGroupingInitiator | Handles the initiation of the Task Grouping engine. Use initiateProcessing() to create the events that start the task grouping engine. |
| TaskGroupingLoggerUtil | Logger utility used to log the task grouping process. |
| TaskGroupingPacker | Handles the packing of tasks into groups based on a set of boundaries. |
| TaskGroupingProcessor | Handles the processing of Task Grouping Policies and Rules. Returns groups of tasks to be handled by other applications. |
| TaskGroupingUtil | Utility functions used throughout the Task Grouping engine. |
Task Filters
Field Service Task Bundling adds the following task filters, task filter criteria, to Dynamic Scheduling.
| Task Filter | Conditions | Criterion | Function |
|---|---|---|---|
| Assignment : Assign Pending Dispatch Task Bundle |
|
|
Assigns bundles that are in the Pending Dispatch state. |
| Bundle Reassignment : reassign unassigned task bundles |
|
|
Reassigns unassigned task bundles. |
| Criterion | Function |
|---|---|
| Bundle: Ignore Rejected Technician | Ignores agents who have rejected a task from the bundle previously. Prevents bundles with rejected tasks from being assigned to the rejecting agent. |
| Bundle: Matching Skills For Dynamic Scheduling | Matches bundles that have skill requirements with agents who have those skills. |
| Bundle: Matching Mandatory Parts for Dynamic Scheduling | Matches bundles that have part requirements with agents who have those parts. |