Field Service Crew Operations components
The roles, tables, script includes, and business rules for the Field Service Crew Operations application.
Field Service Crew Operations adds the My Crew menu to the application navigator and the following modules:
- My Crews: Enable managers and dispatchers to create and manage crews.
- My Crew Tasks: Enable agents to view the crew tasks assigned to a crew they belong to.
Roles
Field Service Crew Operations adds the following roles:
| Role | Description |
|---|---|
| Field Service Crew Moderator [wm_crew_moderator] |
Enables dispatchers and managers to create crews, manage crew members, assign skills and locations, and assign them to assignment groups. |
Tables
Field Service Crew Operations adds the following tables:
| Table | Description |
|---|---|
| Crew wm_crew |
Stores high-level information about the crew, such as the crew size, leader, location, schedule, travel radius. |
| Crew Group wm_crew_group |
Stores the mapping of crews to the selected assignment groups. |
| Crew Member wm_crew_member |
Stores the various members of the crew and their effective availability in the crew. |
| Crew Requirement wm_crew_requirement |
Stores fine-grained requirements for a crew, such as the minimum crew size and recommended size. |
| Crew Skill wm_crew_skill |
Stores the skills that the crew members currently possess. |
| Task Assignee wm_task_assignee |
Stores the mapping of all agents working on a work order task. |
Script Includes
Field Service Crew Operations adds the following new script includes:
| Script Include | Description |
|---|---|
| CrewSchedulingUtils | Updates the crew members, crew skills, crew requirements, task assignees, and the crews an agent belongs to. |
| CrewSchedulingClientUtils | Fetches the crews that an agent belongs to and the tasks assigned to those crews for client-side script use. |
| CrewLocationFromTask | Rates crews based on their location and distance to the task. |
| CrewMatchingDimensionSkills | Rates crews based on their skills and the skills required for the task. |
| CrewTasksScheduleUtil | Determines crew and agent schedule. |
| FSMUtil | Checks for crew radius, distance to the task, and whether the task needs a crew. |
| SMDateValidation | Checks for task scheduling conflicts if an agent is already part of a crew, and whether an agent can be added to a crew depending on effective from or effective to dates. |
| SMGeoDistanceUtils | Extends agent functions to the crew, such as finding midnight of that day for the crew, finding the next task on the same day, getting multiple agent locations, and calculating travel duration. |
| TimeRecordingHelper | Modifies the information message to include an agent’s name. |
Business Rules
Field Service Crew Operations adds the following business rules:
| Business Rule | Table | Description |
|---|---|---|
| Abort deletion of crew | Crew [wm_crew] |
Prevents deletion of a crew if the crew is referenced in any work order task. |
| Abort inactivation of crew | Crew [wm_crew] |
Prevents the inactivation of a crew if the crew has any active task assignments. |
| Adds default skill level | User Skill [sys_user_has_skill] |
Adds default skill level. |
| Add group and member for crew leader | Crew [wm_crew] |
Creates wm_crew_group and wm_crew_member records for the crew leader. |
| Add group skills to crew | Crew Group [wm_crew_group] |
Adds new skills to the crew whenever a new group is added to the crew. |
| Add missing crew groups for crew member | Crew Member [wm_crew_member] |
Updates a crew group when a new member is added to the crew. |
| Calculate estimated duration for crew | Work Order Task [wm_Task] |
Calculates the estimated travel duration of a crew. |
| Check crew size | Crew [wm_crew] |
Validates the crew size at the time of crew creation. |
| Check crew size on creation | Crew Member [wm_crew_member] |
Validates the crew size at the time of crew member addition. |
| Check crew size on updation | Crew Member [wm_crew_member] |
Validates the number of members in a crew when a crew member record is updated or deleted. |
| Check duplicate members for same crew | Crew Member [wm_crew_member] |
Prevents the addition of duplicate members in a crew. |
| Check leader availability for task crew | Crew [wm_crew] |
Checks the availability of the crew leader at the time of assigning a task to the task-specific crew. |
| Check member is part of any active crew | Crew Member [wm_crew_member] |
Ensures that a crew member is not part of multiple crews at the same time to avoid conflicts in the crew membership of a crew member. |
| Check task conflicts for crew members | Crew Member [wm_crew_member] |
Checks whether the crew member has any conflict due to existing task assignments. |
| Check task conflicts for task assignees | Work Order Task [wm_task_assignee] |
Checks for any conflicts in the task assignee schedule due to the existing task assignment. |
| Crew radius check | Work Order Task [wm_Task] |
Shows an information message when the task assigned to a crew is outside the covered radius. |
| Date Checks | Crew Member [wm_crew_member] |
Validates the effective from and effective to dates for crew members. |
| Deactive member when crew is inactive | Crew [wm_crew] |
Deactivates the crew members when a crew is not active. |
| Deactivate task crews | Work Order Task [wm_Task] |
Marks the task-specific crew as inactive when the task is completed or canceled. |
| Delete task assignees for task crews | Crew Member [wm_crew_member] |
Deletes task assignees from a work order task when a member is removed from the task-specific crew. |
| Disable completed/cancelled task crews | Crew [wm_crew] |
Sets a crew to inactive after the assigned task is completed or canceled. |
| Manage task crew requirement | Work Order Task [wm_Task] |
Creates and deletes the crew requirement of a work order task. |
| Remove group skills from crew | Crew Group [wm_crew_group] |
Deletes skills from the crew when a crew group is deleted from the crew. |
| Restrict actions on crew leader | Crew Member [wm_crew_member] |
Restrict actions on crew leader. |
| Restrict updates to primary leader | Work Order Task [wm_task_assignee] |
Restricts the ability to update or delete the primary leader of a crew in the task assignees related list. |
| Replicate crew member task travel time | Work Order Task [Task_time_worked] |
Records the time taken by crew members to travel to the task location and the time they spent working on a work order task. |
| Set crew assigned to as crew leader | Work Order Task [wm_Task] |
Sets the Assigned to field with the crew leader name when a task is assigned to a crew. |
| Set skill level inherited to false | Crew Skill [wm_crew_skill] |
Sets the Skill Level Inherited field to false. |
| Task crew - check leader available | Crew [wm_crew] |
Checks the availability of the crew leader when assigning a task to the task-specific crew. |
| Update crew effective dates | Work Order Task [wm_Task] |
Sets the effective dates for crew members similar to the task start and end dates for task-specific crews. |
| Update initiated from task | Crew [wm_crew] |
Updates the Initiated from field with the work order task number. |
| Update task assignees for task crew | Crew Member [wm_crew_member] |
Adds or updates the task assignees in a work order task when the task is assigned to the task-specific crew. |
| Update travel duration on crew tasks | Work Order Task [wm_Task] |
Updates the travel duration for work order tasks that require a crew based on the value of the Assigned Crew field. |
| Validate Crew | Crew [wm_crew] |
Validates the crew details when the crew is created. |
| Validate crew group delete | Crew Group [wm_crew_group] |
Prevents the deletion of a crew group when an active member is in the crew from this group. |
| Validate crew member effective dates | Crew Member [wm_crew_member] |
Validates the effective from and effective to dates for crew members. |
| Validate crew size | Crew Requirement [wm_crew_requirement] |
Validates the minimum and recommended crew size for a work order task. |