Automatic Contractor Assignment
The system has an automatic assignment engine (resolver) that finds the appropriate contractor for each work order based on active contracts.
How It Works
When a work order is created for a specific asset, the system performs the following steps:
Step 1: Find Active Contracts
The system searches for contracts that:
- Are active (not expired or draft)
- Have auto-assign enabled
- Cover the asset's facility
Step 2: Match Coverage
It checks whether the contract covers the asset:
- Specific asset coverage — The contract directly references the asset (most precise)
- Service type coverage — The contract covers the asset's service type (e.g. "Electrical")
Specific asset coverage is preferred over general service type coverage.
Step 3: Role Priority
If multiple contracts are found:
- Primary contracts are preferred
- Backup contracts are used only if no primary exists
Step 4: Best SLA
If there are still multiple candidate contracts, the one with the lowest response time (SLA in hours) is selected.
Priority Order
1. Contract with Asset coverage + Primary + Best SLA
2. Contract with Asset coverage + Backup + Best SLA
3. Contract with Service Type coverage + Primary + Best SLA
4. Contract with Service Type coverage + Backup + Best SLA
5. Not found — User must select manuallyExample
Scenario: Air conditioner fault at the Athens Store
- The system finds that the air conditioner has Service Type = "HVAC"
- It searches for active contracts covering:
- The specific air conditioner (asset coverage), or
- The "HVAC" type at the Athens Store (service type coverage)
- It finds contract "CON-001" with contractor "CoolTech Ltd" — Primary, SLA 4 hours
- Automatically assigns to CoolTech Ltd
Manual Override
Regardless of automatic assignment, the user can always change the contractor manually. This is useful for:
- Minor repairs assigned to a local technician
- Urgent needs requiring an alternative partner
- Special work outside the contractual scope
Important
Automatic assignment only works if there are active contracts with correctly configured service types and facility coverage. If no suitable contract is found, the user must select a contractor manually.