Field Service Marketplace components
- UpdatedJul 31, 2025
- 6 minutes to read
- Zurich
- Field Service Management
Several types of components are installed with the activation of the Field Service Marketplace feature including tables, roles, system properties, business rules, and script includes.
Tables
| Table | Description |
|---|---|
| Marketplace engagement method [marketplace_engagement_method] |
This table has the basic rules for engaging with contractors. The engagement methods define the ways contractors can respond to the marketplace requests. |
| Marketplace request [marketplace_request] |
This table establishes the relationship between engagement method and work order tasks. This table is populated by the dispatcher with all relevant fields to progress the request. |
| Marketplace assignment [marketplace_assignment] |
This table maintains distinct records for each contractor, offering the dispatcher the capability to choose contractors permitted to participate in a marketplace request. |
| Marketplace response [marketplace_response] |
This table is designated to gather responses from all contractors regarding their pricing, as well as the intended start and completion dates for the task. |
| Eligible engagement method [eligible_engagement_method] |
This table defines the list of eligible engagements for a marketplace task filter. |
Roles
| Role | Description |
|---|---|
| sn_mktplace_core.mktplace_admin | Administrator role can create marketplace engagement methods. |
| sn_mktplace_core.mktplace_requestor | Requestor role can push tasks to the marketplace. |
| sn_mktplace_core.mktplace_fulfiller | Fulfiller role can respond to marketplace requests. |
System properties
Field Service Marketplace adds the following system properties:
The following table lists the system properties that are required to set up Field Service Marketplace. Navigate to AllSystem Properties list
| System property | Description |
|---|---|
| sn_fsm_mktplace.maximum_number_of_contractors | Maximum number of contractors to fetch and show for a Marketplace request.
|
| sn_fsm_mktplace.use_playbook_experience_for_marketplace | Property to use playbook experience for marketplace.
|
| sn_fsm_mktplace.wot_fields_to_restrict_update | Comma separated fields to restrict update when Work Order Task is pushed to
marketplace.
|
Task Filters
Field Service Marketplace adds the following task filters:
| Task Filter | Conditions | Criterion | Function |
|---|---|---|---|
| Marketplace tasks Ensure that the Field Service Marketplace plugin is active. For more information, see Activate Field Service Marketplace. Demo data is provided with this plugin. |
|
Matching skills of contractors Distance between task and contractors |
Eligible for marketplace assignment. |
Business rules
| Business rule | Table | Description |
|---|---|---|
| Restrict order change marketplace task | Work Order [wm_order] |
Blocks suspension of a work order when one of its tasks is pushed to the marketplace. |
| Restrict fields for marketplace task | Work Order Task [wm_task] |
Blocks updates to certain work order task fields. |
| Cancel mp request on task cancellation | Work Order Task [wm_task] |
Cancels any open marketplace request when the work order task is cancelled. |
| Restrict marketplace task with assigned | Work Order Task [wm_task] |
Blocks a work order task with an assignment group populated and marketplace task set to true. |
| Restrict updates to marketplace flag | Work Order Task [wm_task] |
Disables changing marketplace task flag of the work order task to false. |
| Disable changes when open request exists | Marketplace engagement method [marketplace_engagement_method] |
Disallows changes to the engagement method when an open marketplace is using it. |
| Disable cost/time update from list | Marketplace engagement method [marketplace_engagement_method] |
Validates edits of time and cost fields on the marketplace engagement method table list view. |
| Cancel all assignments and responses | Marketplace request [marketplace_request] |
Cancels marketplace assignments and inactivate marketplace responses when a marketplace request is canceled. |
| Validate request insertion | Marketplace request [marketplace_request] |
Blocks the creation of a new marketplace request when an open request exists. |
| Set assignments to timeout on close | Marketplace request [marketplace_request] |
Updates the state of marketplace assignment records when a marketplace request is closed. |
| Create MP Assignment records in draft | Marketplace request [marketplace_request] |
Creates marketplace assignments in the draft state when a marketplace request is created. |
| Check end time is more than start | Marketplace request [marketplace_request] |
Validates start and end times of the marketplace request. |
| Cancel old flow on request end update | Marketplace request [marketplace_request] |
Cancels the old flow responsible for tracking the request end time, when the end time is updated. |
| Validate assignment insertion | Marketplace assignment [marketplace_assignment] |
Blocks the creation of a new assignment record for a request that isn’t open. Blocks duplicate assignment records for an open request. |
| Inactivate responses when withdrawn | Marketplace assignment [marketplace_assignment] |
If withdrawn, inactivates response of contractor. |
| Check close condition | Marketplace assignment [marketplace_assignment] |
Handles closing marketplace request and flow data records based on its close condition. |
| Unaward assignments when task is awarded | Marketplace assignment [marketplace_assignment] |
When a task is awarded to a contractor, other contractors' assignment records are marked unawarded. |
| Query on Assignment for Task | Marketplace assignment [marketplace_assignment] |
Query business rule on marketplace assignment table |
| Assigned from marketplace | Marketplace assignment [marketplace_assignment] |
When a task is awarded to a contractor, closes the request and updates the work order task with the necessary details. Updates the work order task scheduling method to marketplace. |
| Override wait duration on rejection | Marketplace assignment [marketplace_assignment] |
For a progressive push request, this BR will override the set wait duration when the current fulfiller receiving the bid, rejects the request |
| Disable negative in response duration | Marketplace response [marketplace_response] |
Disables insertion of responses with negative duration and checks response's start and end with work order task window start and end. |
| Update Assignment to accept | Marketplace response [marketplace_response] |
When a response is received, update the assignment record state of that contractor to accepted. |
| Validate response insertion | Marketplace response [marketplace_response] |
Blocks insertion of response if the work order task's "Is Fixed Window" flag is true and the response's start and end don’t fall within the work order task window. Blocks creation of responses for requests that aren’t open. Inactivates the previous response when a new response is received from the contractor. |
| Query on Response for Task | Marketplace response [marketplace_response] |
Query business rule on marketplace response table. |
| Evaluate response | Marketplace response [marketplace_response] |
This BR will help in evaluating the response received for a request, provided the selected engagement method has a response evaluation flow. |
| Set group resource type for contractors | Task Filter [dynamic_schedule_task_filter] |
This BR will set the resource type to sys_user_group for contractor or marketplace task filters. |
| Validate eligible engagement changes | Eligible engagement method [eligible_engagement_method] |
This BR will validate any insertion or updates made to the eligible engagement method table. |
Script includes
| Script include | Description |
|---|---|
| MarketplaceCoreUtil | Contains util methods used for generic Marketplace core workflows. |
| FSMMarketplaceUtil | Contains util methods used for FSM specific workflows of Marketplace. |
| FSMMarketplacePlaybookUtil | Contains util methods used for Playbook workflow of Marketplace. |
| FieldServiceMarketplaceConstants | Holds constants. |
| MarketplaceCoreAjaxHelper | Contains util methods used in Marketplace Core client-side scripts. |
| FSMMarketplaceAjaxHelper | Contains util methods used in FSM Marketplace client-side scripts. |
| FSMMarketplaceCspUtil | Util file that holds methods used in Playbook's CSP. |
| FieldServiceMarketplaceDaoBase | The base dao for field service marketplace entities. All the entities can extend this class to re-use the common functionalities |
| FieldServiceMarketplaceEligibleEngagementsDao | Contains all the queries and insertion made on eligible_engagement_method table |
| MarketplaceTaskProcessorWOTImpl | Work order task implementation for MarketplaceTaskProcessorExtPoint |
| MarketplaceTaskProcessorBase | This class contains default implementation for MarketplaceTaskProcessor. It extends MarketplaceTaskProcessorPicker to choose the correct implementation of the MarketplaceTaskProcessorExtPoint. |
| MarketplaceTaskAssignment | This class will contain custom implementations for MarketplaceTaskAssignment. This will be the class that will be used for making any method invocations |
| MarketplaceTaskAssignmentBase | This class contains default implementation for MarketplaceTaskAssignment. It extends MarketplaceTaskAssignmentPicker to choose the correct implementation of the MarketplaceTaskAssignmentExtPoint. |
| FieldServiceMarketplaceEngagementDao | Contains all the queries and insertion made on marketplace_engagement_method table |
| FieldServiceWorkManagementDao | Contains all the Work Management related queries |
| MarketplaceEntityValidator | This class will contain custom implementations for MarketplaceEntityValidator. This will be the class that will be used for making any method invocations |
| MarketplaceEntityValidatorBase | This class contains default implementation for MarketplaceEntityValidator. It extends MarketplaceEntityValidatorPicker to choose the correct implementation of the MarketplaceEntityValidatorExtPoint. |
| MarketplaceTaskProcessor | This class will contain custom implementations for MarketplaceTaskProcessor. This will be the class that will be used for making any method invocations |
| FieldServiceMarketplaceResponseDao | Contains all the queries and insertion made on marketplace_response table |
| MarketplaceDynamicSchedulingUtil | This is a util containing methods to be shipped when dynamic scheduling is installed along with marketplace |
| MarketplaceEntityValidatorAssignmentImpl | Marketplace Assignment Implementation for MarketplaceEntityValidatorExtPoint |
| FieldServiceMarketplacePlaybookDao | Contains all the queries and insertion made on all playbook related tables |
| MarketplaceTaskAssignmentWOTImpl | Work order task implementation for MarketplaceTaskAssignmentExtPoint |
| FieldServiceMarketplaceRequestDao | Contains all the queries and insertion made on marketplace_request table |
| MarketplaceEntityValidatorRequestImpl | Marketplace Request Implementation for MarketplaceEntityValidatorExtPoint |
| MarketplaceEntityValidatorResponseImpl | Marketplace Response Implementation for MarketplaceEntityValidatorExtPoint |
| FieldServiceMarketplaceAssignmentDao | Contains all the queries and insertion made on marketplace_assignment table |
| FSMMarketplaceGlobalUtil | Script Includes containing utils to be run at a global scope for marketplace module |
| MarketplaceTaskAssignmentPicker | Script include to choose the implementation of the MarketplaceTaskAssignmentExtPoint |
| MarketplaceCoreExtPointUtil | Utililty used by the marketplace module to retrieve extension points |
| MarketplaceTaskProcessorPicker | Script include to choose the implementation of the MarketplaceTaskProcessorExtPoint |
| MarketplaceCoreConstants | Script Include to hold the constants for marketplace core plugin |
| MarketplaceEntityValidatorPicker | Script include to choose the implementation of the MarketplaceEntityValidatorExtPoint |