Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

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 RuleTableDescription
Bundle Actual Time Field UpdateWork Order Task [wm_task]Updates the Actual travel start and Actual onsite arrival fields of the bundle.
Bundle AssignmentWork Order Task [wm_task]Updates bundled subtask assignment.
Bundle Assignment BeforeWork 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 AfterWork 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 BeforeWork Order Task [wm_task]Validates and updates bundles when subtasks are added to or removed from the bundle.
Bundle Scheduled Start ChangeWork Order Task [wm_task]Initiates the scheduling of bundled subtasks.
Bundle Siblings PreventionWork Order Task [wm_task]Prevents duplicate task bundles from being created for the same work order.
Bundle state changeWork Order Task [wm_task]Updates the bundle state.
Bundle subtask assignment changesWork Order Task [wm_task]Prevents bundled subtask assignment based on subtask state or current agent assignment.
Bundle Subtasks Changes Info MessageWork Order Task [wm_task]Informs the user when no changes have occurred.
Bundle Task SubState UpdateWork Order Task [wm_task]Updates the substate of the bundle based on the bundle state and action taken by the agent.
Cancel Task BundleWork Order Task [wm_task]Unbundles all subtasks in a bundle.
Confirm Assignment on Bundle TaskWork Order Task [wm_task]Updates and syncs subtask state to the bundle state upon assignment by a dispatcher.
Enforce bundle mandatory fieldsTask Grouping Qualifier [sn_task_grouping_qualifier]Prevents dynamic bundling when mandatory fields are empty.
Grouping rule info message for wm_taskTask Grouping Rule [sn_task_grouping_rule] 
Lock and Unlock SubtasksWork 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 PDWork 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 GroupWork Order Task [wm_task]Updates subtasks assignment group to match bundle when bundle assignment group is changed.
Prevent bundle location changesWork 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 qualifiersTask 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 subtasksWork Order Task [wm_task]Prevents subtask schedule lock from being different from parent bundle schedule lock.
Push initial subtask location to bundleWork Order Task [wm_task]Updates bundle location to the location of the first subtask in the bundle.
Remove subtasks they are in diff stateWork Order Task [wm_task]Removes subtasks from bundle when subtask state is different from the bundle state.
Reschedule after Subtask Order ChangeWork Order Task [wm_task]Reschedules the bundle when order of subtasks is changed.
Set name for territoryTask Grouping Qualifier [sn_task_grouping_qualifier]Sets the Name value of the Territory qualifier.
Subtask Order ValidationWork Order Task [wm_task]Validates that the Order value of subtasks are unique and not empty.
SubTask Schedule State ChangeWork Order Task [wm_task]Updates the bundle and subtask states from Assigned to Scheduled when a dispatcher schedules the bundle.
Subtasks field change - not supportedWork Order Task [wm_task]Prevents subtask estimated work duration from being manually updated based on subtask state.
Sync bundle with subtasksWork Order Task [wm_task]Syncs bundle with subtask values.
Sync Bundle Work Duration to subtasksWork Order Task [wm_task]Syncs bundle duration to the total estimated work duration of its subtasks.
Validate Min & Max TasksTask 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 bundleWork 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 IncludesDescription
BundleMatchingDimensionPartsMatches agents with parts for subtasks on a bundle.
BundleMatchingDimensionSkillAdvancedAdvanced skill matching dimension for bundle tasks.
BundleTaskFlowUtilUtility functions for managing bundle task flows.
BundleTaskSLAContains APIs for handling Bundle Task SLA functionality.
DynamicBundlingAdvancedRuleScriptsContains APIs used in advanced Task Grouping rules for use with Dynamic Bundling.
FSMDynamicBundlingMain API for FSM Dynamic Bundling functionality.
FSMDynamicBundlingAJAXAJAX functions for FSM Dynamic Bundling.
FSMDynamicBundlingAssignmentsContains APIs used to handle processing Dynamic Bundling during Dynamic Scheduling and Auto Assign flows.
FSMDynamicBundlingUtilContains APIs used to handle various Dynamic Bundling functionality.
FSMMobileBulkActionsConstantsContains constant values used throughout the Task Bundling Mobile Bulk Actions APIs.
FSMMobileBulkActionsUtilFunctions called from Mobile Bulk Actions configurations.
FSMTaskBundleFacilitates the creation and functionality of a Task Bundle.
FSMTaskBundleAJAXAJAX functions for FSM Task Bundle functionality.
FSMTaskBundleCapacityUtilTask Bundle capacity utility functions.
FSMTaskBundleStateFlowsContains APIs used to handle Task Bundle state changes and subtask state changes.
MatchingDimensionRejectedTechnicianForBundlePrevents selection of a technician who has rejected a subtask on a bundle.
TaskBundlingConstantsContains constant values used throughout the Task Bundling APIs.
TaskGroupingFSMEPImplements extension point sn_task_grouping.TaskGroupingEP.

Task Grouping Policies

Field Service Task Bundling adds the following task grouping policy.

Task Grouping PolicyDescription
Default Policy- Minimum records: 2 - Maximum records: 10 - - WOT's in Same Location Within Next 30 Days - WOT's In Same Territory With Required Skill Set Within Next 30 Days - WOT's In Same Territory Within Next 30 Days - WOT's That Need Same Asset Within Next 30 Days - WOT's With Similar Required Parts - WOT's With Similar Task Skills

Task Grouping Rules

Field Service Task Bundling adds the following task grouping rules.

Task Grouping RulePolicyDescription
WOT's in Same Location Within Next 30 DaysDefault PolicyBundles tasks that are in the same Location within the next 30 days.
WOT's In Same Territory With Required Skill Set Within Next 30 DaysDefault PolicyBundles tasks that are in the same Territory and require specific skills within the next 30 days.
WOT's In Same Territory Within Next 30 DaysDefault PolicyBundles tasks that are in the same Territory within the next 30 days.
WOT's That Need Same Asset Within Next 30 DaysDefault PolicyBundles tasks that require the same Asset within the next 30 days.
WOT's With Similar Required PartsDefault PolicyBundles tasks that require similar parts.
WOT's With Similar Task SkillsDefault PolicyBundles 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 includeDescription
TaskGroupingAJAXClient callable utilities for Task Grouping.
TaskGroupingConstantsContains all constant values used by the Task Grouping APIs.
TaskGroupingDefaultEPImplements extension point sn_task_grouping.TaskGroupingEP. This is the default implementation.
TaskGroupingDurationFieldsGets valid field choices for the duration field on Task Grouping Policies.
TaskGroupingGroupCreates a logical representation of a Task Grouping Group. The group object handles the grouping of items while honoring the group boundaries.
TaskGroupingInitiatorHandles the initiation of the Task Grouping engine. Use initiateProcessing() to create the events that start the task grouping engine.
TaskGroupingLoggerUtilLogger utility used to log the task grouping process.
TaskGroupingPackerHandles the packing of tasks into groups based on a set of boundaries.
TaskGroupingProcessorHandles the processing of Task Grouping Policies and Rules. Returns groups of tasks to be handled by other applications.
TaskGroupingUtilUtility 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 FilterConditionsCriterionFunction
Assignment : Assign Pending Dispatch Task Bundle- IsBundle = true - State = Pending Dispatch - Substate is not auto-assigned or empty.- Bundle: Ignore Rejected Technician - Bundle: Matching Skills for Dynamic Scheduling - Current Distance From TaskAssigns bundles that are in the Pending Dispatch state.
Bundle Reassignment : reassign unassigned task bundles- IsBundle = true - Schedule lock = false - State is one of scheduled, assigned, accepted- Bundle: Ignore Rejected Technician - Bundle: Matching Skills for Dynamic Scheduling - Current Distance From TaskReassigns unassigned task bundles.
CriterionFunction
Bundle: Ignore Rejected TechnicianIgnores 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 SchedulingMatches bundles that have skill requirements with agents who have those skills.
Bundle: Matching Mandatory Parts for Dynamic SchedulingMatches bundles that have part requirements with agents who have those parts.

Parent Topic:Components installed with additional plugins for Field Service Management

Related topics

Configuring Task Bundling

Activate Field Service Task Bundling