Professional services solver
Optimize task scheduling and resource allocation for professional teams. PlanSolve's professional services model handles complex constraints including skill requirements, priority levels, working hours, and project deadlines.
API Overview
PlanSolve uses an asynchronous API pattern for professional services optimization. Submit your request, monitor progress, and retrieve results when complete.
/api/professionalservices/solve
Submit a professional services optimization request
/api/professionalservices/status/{jobId}
Check the status of an optimization job
/api/professionalservices/result/{jobId}
Retrieve the completed optimization results
/api/professionalservices/analyze/{jobId}
Analyze the optimization results
API Workflow
All PlanSolve optimization APIs follow the same workflow. Understanding this process will help you integrate the API effectively.
Construct Request
Build your optimization request with employees, tasks, and constraints
Start Solver
Submit the request to start the optimization process
Poll Status
Check the status until the solver completes
Get Results
Retrieve the optimized solution and task assignments
Workflow Details
Step 1: Create your request object with employee data (skills, shifts, availability) and task data (duration, priority, required skills, deadlines).
Step 2: Send a POST request to /api/professionalservices/solve
with your request data. The API will return a job ID.
Step 3: Poll the status endpoint /api/professionalservices/status/{jobId}
until the status changes from "solving" to "completed".
Step 4: Once completed, retrieve the results from /api/professionalservices/result/{jobId}
to get the optimized task assignments.
API Parameters
The professional services optimization API accepts these key parameters to define your optimization problem. Each parameter plays a crucial role in determining the optimal solution.
Main Parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
employees | array | Required | Array of employees with their skills, shifts, and availability | [{ "id": "emp1", "skills": ["development"], "shifts": [...] }] |
tasks | array | Required | Array of tasks with duration, priority, and skill requirements | [{ "id": "task1", "duration": "PT2H", "priority": "HIGH", "requiredSkills": ["development"] }] |
startDate | ISO 8601 | Required | Start date for the optimization period | "2024-01-15" |
endDate | ISO 8601 | Required | End date for the optimization period | "2024-01-19" |
Employee Parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
id | string | Required | Unique identifier for the employee | "emp1" |
skills | array[string] | Optional | List of skills the employee possesses | ["development", "testing"] |
shifts | array[object] | Required | Array of work shifts with time constraints | [{"id": "fulltime", "minStartTime": "09:00", "maxEndTime": "17:00"}] |
Task Parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
id | string | Required | Unique identifier for the task | "task1" |
name | string | Optional | Human-readable name for the task | "Implement User Authentication" |
deadline | date | Optional | Due date for the task | "2024-01-19" |
duration | string | Required | Duration of task in ISO 8601 format | "PT4H" |
priority | string | Optional | Task priority level (HIGH, MEDIUM, LOW) | "HIGH" |
requiredSkills | array[string] | Optional | Skills required to complete this task | ["development"] |
JSON Request Structure
Understand the complete structure of a professional services optimization request. This example shows all the key components and their relationships.
{ "employees": [ { "id": "emp1", "name": "John Developer", "skills": ["development", "testing"], "shifts": [ { "id": "fulltime", "minStartTime": "09:00", "maxEndTime": "17:00" } ] } ], "tasks": [ { "id": "task1", "name": "Implement User Authentication", "duration": "PT4H", "priority": "HIGH", "requiredSkills": ["development"], "deadline": "2024-01-19" } ], "startDate": "2024-01-15", "endDate": "2024-01-19", }
API & SDK
Choose between direct API integration or our official SDKs. Both approaches provide full access to PlanSolve's professional services optimization capabilities.
Ready to optimize your workforce's schedule?
Start with our quick start guide to implement professional services optimization in your application.