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

Field Service Marketplace adds the following tables:
Table 1. Tables installed with Field Service Marketplace
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

Field Service Marketplace adds the following roles:
Table 2. Roles installed with Field Service Marketplace
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

Table 3. System properties installed with Field Service Marketplace
System property Description
sn_fsm_mktplace.maximum_number_of_contractors Maximum number of contractors to fetch and show for a Marketplace request.
  • Type: Integer
  • Default value: 10
sn_fsm_mktplace.use_playbook_experience_for_marketplace Property to use playbook experience for marketplace.
  • Type: true/false
  • Default value: true
sn_fsm_mktplace.wot_fields_to_restrict_update Comma separated fields to restrict update when Work Order Task is pushed to marketplace.
  1. Type: String
  2. Default values: location,asset,work_type,estimated_work_duration,estimated_travel_duration,estimated_end,expected_start,expected_travel_start,window_start,window_end,schedule_lock

Task Filters

Field Service Marketplace adds the following task filters:

Table 4. Task filters installed with Field Service Marketplace
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.

  • State is pending dispatch
  • Location is populated
Matching skills of contractors

Distance between task and contractors

Eligible for marketplace assignment.

Business rules

Field Service Marketplace adds the following business rules:
Table 5. Business rules installed with Field Service Marketplace
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

Field Service Marketplace adds the following script includes:
Table 6. Script includes installed with Field Service Marketplace
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