{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":14582,"path":"field-service-management/extension-points-field-service.md","title":"Extension points in Field Service Management","bundle":null,"doc_type":null,"release":"australia","body":"\n# Extension points in Field Service Management\n\nUse extension points to customize various configurations.\n\nIn the application navigator, enter `sys_extension_point.list` and select **Enter** to view the extension points used in the Field Service Management application.\n\nYou can create multiple implementations for each extension point and provide an order number for each implementation. The implementation that has the lowest order number is executed.\n\nExtension points are available for the following configurations:\n\n-   Event type schedule entries\n-   Appointment booking\n\n|Extension Point Name|Description|\n|--------------------|-----------|\n|AgentEventUtil|Customize the logic for event type schedule entries.|\n|AgentScheduleUtil|Customize the logic for computing event time-off spans.|\n\n<table id=\"table_yqj_lhz_qfb\"><thead><tr><th>\n\nExtension Point Name\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentBookingAvailabilityExtPoint\n\n</td><td>\n\nCustomize the logic to determine bookable appointment windows.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentBookingDaoExtPoint\n\n</td><td>\n\nCustomize the logic used to create or update an appointment record.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentBookingImplExtPoint\n\n</td><td>\n\nCustomize the logic to validate appointment data before an appointment is created.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentBookingUtilExtPoint\n\n</td><td>\n\nCustomize logic to create a parameter map of appointment data which will be used to create and update appointment records.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentRescheduleCancelExtPoint\n\n</td><td>\n\nCustomize logic used to determine whether appointments can be canceled or rescheduled.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentRESTHelperExtPoint\n\n</td><td>\n\nCustomize logic for retrieving a list of date and time periods available for appointment booking.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentRecommendationExtPoint\n\n</td><td>\n\nAllows other applications to integrate appointment booking slot recommendation.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentBookingLockingUtilExtPoint\n\n</td><td>\n\nAcquire and release locks in Appointment Booking workflow.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentBookingVariablesExtensionPoint\n\n</td><td>\n\nUtilized by the Appointment API and Booking API to fetch **Catalog\\_id** for the task.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentEnableUnifiedUI\n\n</td><td>\n\nEnables the unified UI Calendar component for the specific task table extension.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentHolidayHelperExt\n\n</td><td>\n\nCalculates the lead time by taking into account holidays as indicated by the **consider\\_holidays\\_in\\_leadtime** setting in Appointment Booking service configuration.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentLeadTimeCalculation\n\n</td><td>\n\nDetermines whether to consider or ignore the lead time for rescheduling an appointment, based on the **ignore\\_lead\\_time\\_on\\_reschedule** setting in the Appointment Booking service configuration.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.use\\_unified\\_appt\\_widget\n\n</td><td>\n\nAllow other applications to use seismic appointment booking calendar.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentRecommendationExtPoint\n\n</td><td>\n\nCustomize the proximity and recommendation criteria for recommending appointments.\n\n</td></tr><tr><td>\n\nsn\\_apptmnt\\_booking.AppointmentSeismicUI\n\n</td><td>\n\nFetches appointment booking configuration details based on the task table selected in the configuration.\n\n</td></tr></tbody>\n</table>|Extension Point Name|Description|\n|--------------------|-----------|\n|sn\\_fsm\\_adv\\_tmp.FSMTemplateMgmntExtPoint|Customize the logic to enable the work order template to map information from source table to the appropriate fields in a work order.|\n|sn\\_fsm\\_adv\\_tmp.FSMTableMapSourceIdentifier|Customize the logic to identify the source of a work order.|\n\n|Extension Point Name|Description|\n|--------------------|-----------|\n|OnsiteGeofenceConfig|Allows you to define default values for the geofence radius and geofence unit fields in the work order task.|\n\n|Extension Point Name|Description|\n|--------------------|-----------|\n|Heatmap Gradient \\(sn\\_cmn\\_mo.HeatmapGradient\\)|Allows you to define the color gradient of the heatmap.|\n\n|Extension Point Name|Description|\n|--------------------|-----------|\n|TerritoryIndicators\\(sn\\_fsm\\_tp.TerritoryIndicators\\)|Allows you to define the key performance indicators \\(KPIs\\) to analyze the performance of the territory. The configured indicators appear in the contextual side panel of the Field Service Territory Planning console.|\n\n<table id=\"table_l5r_gvw_zfc\"><thead><tr><th>\n\nExtension Point Name\n\n</th><th>\n\n \n\n</th></tr></thead><tbody><tr><td>\n\nsn\\_fsm\\_planned\\_wm.PWMScheduleSuppressionExtensionPoint\n\n</td><td>\n\nCustomize the logic to validate when a schedule occurrence is suppressed.\n\n</td></tr><tr><td>\n\nsn\\_fsm\\_planned\\_wm.PWMScheduleEffectivityExtensionPoint\n\n</td><td>\n\nCalculates the request dues, next run times, and the effectivity based on the configurations or rules.\n\n</td></tr><tr><td>\n\nsn\\_fsm\\_planned\\_wm.PWMSourceRecordExtensionPoint\n\n</td><td>\n\nDerives the source specific fields like location, asset, CI, or IB based on the table associated to maintenance plan.\n\n</td></tr><tr><td>\n\nsn\\_fsm\\_planned\\_wm.PlannedWorkManagementExeExtensionPoint\n\n</td><td>\n\nProcesses plan maintenance schedule outcomes like a work order.\n\n</td></tr><tr><td>\n\nsn\\_fsm\\_planned\\_wm.PWMScheduleStartExtensionPoint\n\n</td><td>\n\nCustomize the effective start date of work plan schedule for different assets.When you configure a planned work schedule to start on a calculated date, the schedule starts on the effective start date calculated by the custom implementation of this extension point.\n\n**Note:** A default implementation is provided for this extension point. You can modify the default implementation as per you business requirements.\n\n</td></tr><tr><td>\n\nsn\\_fsm\\_planned\\_wm.TaskPlanTemplateOutputTasks\n\n</td><td>\n\nCustomize CRUD operations for the tasks, cases, or incidents created from task plan templates linked to a work plan.\n\n</td></tr></tbody>\n</table>**Related topics**  \n\n\n[Using extension points to extend application functionality](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/web-services/extension-points.md)\n\n[Using scripted extension points in server-side scripts](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/web-services/scripted-extension-points.md)\n\n[Using UI extension points in server-side UI macros](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/web-services/ui-extension-points.md)\n\n[Using client extension points in client-side UI scripting](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/web-services/client-extension-points.md)\n\n"}}