{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":14557,"path":"field-service-management/crew-scheduling-components.md","title":"Field Service Crew Operations components","bundle":null,"doc_type":null,"release":"australia","body":"\n# Field Service Crew Operations components\n\nThe roles, tables, script includes, and business rules for the Field Service Crew Operations application.\n\nField Service Crew Operations adds the My Crew menu to the application navigator and the following modules:\n\n-   My Crews: Enable managers and dispatchers to create and manage crews.\n-   My Crew Tasks: Enable agents to view the crew tasks assigned to a crew they belong to.\n\n## Roles\n\nField Service Crew Operations adds the following roles:\n\n<table id=\"table_gzx_lz1_zlb\"><thead><tr><th>\n\nRole\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nField Service Crew Moderator\\[wm\\_crew\\_moderator\\]\n\n</td><td>\n\nEnables dispatchers and managers to create crews, manage crew members, assign skills and locations, and assign them to assignment groups.\n\n</td></tr></tbody>\n</table>## Tables\n\nField Service Crew Operations adds the following tables:\n\n<table id=\"table_vnw_mpt_fpb\"><thead><tr><th>\n\nTable\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nCrewwm\\_crew\n\n</td><td>\n\nStores high-level information about the crew, such as the crew size, leader, location, schedule, travel radius.\n\n</td></tr><tr><td>\n\nCrew Groupwm\\_crew\\_group\n\n</td><td>\n\nStores the mapping of crews to the selected assignment groups​.\n\n</td></tr><tr><td>\n\nCrew Memberwm\\_crew\\_member\n\n</td><td>\n\nStores the various members of the crew and their effective availability in the crew​.\n\n</td></tr><tr><td>\n\nCrew Requirementwm\\_crew\\_requirement\n\n</td><td>\n\nStores fine-grained requirements for a crew, such as the minimum crew size and recommended size.​\n\n</td></tr><tr><td>\n\nCrew Skillwm\\_crew\\_skill\n\n</td><td>\n\nStores the skills that the crew members currently possess.\n\n</td></tr><tr><td>\n\nTask Assigneewm\\_task\\_assignee\n\n</td><td>\n\nStores the mapping of all agents working on a work order task​.\n\n</td></tr></tbody>\n</table>## Script Includes\n\nField Service Crew Operations adds the following new script includes:\n\n|Script Include|Description|\n|--------------|-----------|\n|CrewSchedulingUtils|Updates the crew members, crew skills, crew requirements, task assignees, and the crews an agent belongs to​.|\n|CrewSchedulingClientUtils|Fetches the crews that an agent belongs to and the tasks assigned to those crews for client-side script use​​.|\n|CrewLocationFromTask|Rates crews based on their location and distance to the task​.|\n|CrewMatchingDimensionSkills|Rates crews based on their skills and the skills required for the task​​.|\n|CrewTasksScheduleUtil|Determines crew and agent schedule​.|\n|FSMUtil|Checks for crew radius, distance to the task, and whether the task needs a crew​.|\n|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.|\n|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.|\n|TimeRecordingHelper|Modifies the information message to include an agent’s name​.|\n\n## Business Rules\n\nField Service Crew Operations adds the following business rules:\n\n<table id=\"table_g1z_3qt_fpb\"><thead><tr><th>\n\nBusiness Rule\n\n</th><th>\n\nTable\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAbort deletion of crew​\n\n</td><td>\n\nCrew \\[wm\\_crew\\]\n\n</td><td>\n\nPrevents deletion of a crew if the crew is referenced in any work order task.\n\n</td></tr><tr><td>\n\nAbort inactivation of crew\n\n</td><td>\n\nCrew \\[wm\\_crew\\]\n\n</td><td>\n\nPrevents the inactivation of a crew if the crew has any active task assignments​.\n\n</td></tr><tr><td>\n\nAdds default skill level\n\n</td><td>\n\nUser Skill\\[sys\\_user\\_has\\_skill\\]\n\n</td><td>\n\nAdds default skill level.​\n\n</td></tr><tr><td>\n\nAdd group and member for crew leader\n\n</td><td>\n\nCrew \\[wm\\_crew\\]\n\n</td><td>\n\nCreates wm\\_crew\\_group and wm\\_crew\\_member records for the crew leader.\n\n</td></tr><tr><td>\n\nAdd group skills to crew\n\n</td><td>\n\nCrew Group\\[wm\\_crew\\_group\\]\n\n</td><td>\n\nAdds new skills to the crew whenever a new group is added to the crew.\n\n</td></tr><tr><td>\n\nAdd missing crew groups for crew member\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nUpdates a crew group when a new member is added to the crew.\n\n</td></tr><tr><td>\n\nCalculate estimated duration for crew\n\n</td><td>\n\nWork Order Task\\[wm\\_Task\\]\n\n</td><td>\n\nCalculates the estimated travel duration of a crew.​\n\n</td></tr><tr><td>\n\nCheck crew size\n\n</td><td>\n\nCrew \\[wm\\_crew\\]\n\n</td><td>\n\nValidates the crew size at the time of crew creation.\n\n</td></tr><tr><td>\n\nCheck crew size on creation\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nValidates the crew size at the time of crew member addition.\n\n</td></tr><tr><td>\n\nCheck crew size on updation\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nValidates the number of members in a crew when a crew member record is updated or deleted.\n\n</td></tr><tr><td>\n\nCheck duplicate members for same crew\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nPrevents the addition of duplicate members in a crew​.\n\n</td></tr><tr><td>\n\nCheck leader availability for task crew\n\n</td><td>\n\nCrew \\[wm\\_crew\\]\n\n</td><td>\n\nChecks the availability of the crew leader at the time of assigning a task to the task-specific crew.\n\n</td></tr><tr><td>\n\nCheck member is part of any active crew\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nEnsures 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.​\n\n</td></tr><tr><td>\n\nCheck task conflicts for crew members\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nChecks whether the crew member has any conflict due to existing task assignments.\n\n</td></tr><tr><td>\n\nCheck task conflicts for task assignees\n\n</td><td>\n\nWork Order Task\\[wm\\_task\\_assignee\\]\n\n</td><td>\n\nChecks for any conflicts in the task assignee schedule due to the existing task assignment.\n\n</td></tr><tr><td>\n\nCrew radius check​\n\n</td><td>\n\nWork Order Task\\[wm\\_Task\\]\n\n</td><td>\n\nShows an information message when the task assigned to a crew is outside the covered radius​.\n\n</td></tr><tr><td>\n\nDate Checks\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nValidates the effective from and effective to dates for crew members.\n\n</td></tr><tr><td>\n\nDeactive member when crew is inactive\n\n</td><td>\n\nCrew \\[wm\\_crew\\]\n\n</td><td>\n\nDeactivates the crew members when a crew is not active​.\n\n</td></tr><tr><td>\n\nDeactivate task crews\n\n</td><td>\n\nWork Order Task\\[wm\\_Task\\]\n\n</td><td>\n\nMarks the task-specific crew as inactive when the task is completed or canceled.​\n\n</td></tr><tr><td>\n\nDelete task assignees for task crews\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nDeletes task assignees from a work order task when a member is removed from the task-specific crew​.\n\n</td></tr><tr><td>\n\nDisable completed/cancelled task crews​\n\n</td><td>\n\nCrew \\[wm\\_crew\\]\n\n</td><td>\n\nSets a crew to inactive after the assigned task is completed or canceled.​\n\n</td></tr><tr><td>\n\nManage task crew requirement ​\n\n</td><td>\n\nWork Order Task\\[wm\\_Task\\]\n\n</td><td>\n\nCreates and deletes the crew requirement of a work order task​.\n\n</td></tr><tr><td>\n\nRemove group skills from crew\n\n</td><td>\n\nCrew Group\\[wm\\_crew\\_group\\]\n\n</td><td>\n\nDeletes skills from the crew when a crew group is deleted from the crew.​\n\n</td></tr><tr><td>\n\nRestrict actions on crew leader\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nRestrict actions on crew leader.\n\n</td></tr><tr><td>\n\nRestrict updates to primary leader​\n\n</td><td>\n\nWork Order Task\\[wm\\_task\\_assignee\\]\n\n</td><td>\n\nRestricts the ability to update or delete the primary leader of a crew in the task assignees related list.\n\n</td></tr><tr><td>\n\nReplicate crew member task travel time\n\n</td><td>\n\nWork Order Task\\[Task\\_time\\_worked\\]\n\n</td><td>\n\nRecords the time taken by crew members to travel to the task location and the time they spent working on a work order task.\n\n</td></tr><tr><td>\n\nSet crew assigned to as crew leader\n\n</td><td>\n\nWork Order Task\\[wm\\_Task\\]\n\n</td><td>\n\nSets the **Assigned to** field with the crew leader name when a task is assigned to a crew​.\n\n</td></tr><tr><td>\n\nSet skill level inherited to false\n\n</td><td>\n\nCrew Skill\\[wm\\_crew\\_skill\\]\n\n</td><td>\n\nSets the **Skill Level Inherited** field to false.\n\n</td></tr><tr><td>\n\nTask crew - check leader available​\n\n</td><td>\n\nCrew \\[wm\\_crew\\]\n\n</td><td>\n\nChecks the availability of the crew leader when assigning a task to the task-specific crew​.\n\n</td></tr><tr><td>\n\nUpdate crew effective dates​\n\n</td><td>\n\nWork Order Task\\[wm\\_Task\\]\n\n</td><td>\n\nSets the effective dates for crew members similar to the task start and end dates for task-specific crews.​\n\n</td></tr><tr><td>\n\nUpdate initiated from task\n\n</td><td>\n\nCrew\\[wm\\_crew\\]\n\n</td><td>\n\nUpdates the**Initiated from** field with the work order task number.​\n\n</td></tr><tr><td>\n\nUpdate task assignees for task crew​\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nAdds or updates the task assignees in a work order task when the task is assigned to the task-specific crew.​\n\n</td></tr><tr><td>\n\nUpdate travel duration on crew tasks​\n\n</td><td>\n\nWork Order Task\\[wm\\_Task\\]\n\n</td><td>\n\nUpdates the travel duration for work order tasks that require a crew based on the value of the **Assigned Crew** field.\n\n</td></tr><tr><td>\n\nValidate Crew\n\n</td><td>\n\nCrew \\[wm\\_crew\\]\n\n</td><td>\n\nValidates the crew details when the crew is created.​\n\n</td></tr><tr><td>\n\nValidate crew group delete\n\n</td><td>\n\nCrew Group\\[wm\\_crew\\_group\\]\n\n</td><td>\n\nPrevents the deletion of a crew group when an active member is in the crew from this group​.\n\n</td></tr><tr><td>\n\nValidate crew member effective dates\n\n</td><td>\n\nCrew Member\\[wm\\_crew\\_member\\]\n\n</td><td>\n\nValidates the effective from and effective to dates for crew members.\n\n</td></tr><tr><td>\n\nValidate crew size\n\n</td><td>\n\nCrew Requirement\\[wm\\_crew\\_requirement\\]\n\n</td><td>\n\nValidates the minimum and recommended crew size for a work order task​.\n\n</td></tr></tbody>\n</table>**Parent Topic:**[Components installed with additional plugins for Field Service Management](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/field-service-management/components-inst-additional-plugin.md)\n\n"}}