PlanSolve is still in pre-alpha – Features may change or break. Feedback welcome!
Professional Services .NET SDK
A native .NET client library specifically for PlanSolve professional services optimization. Built with modern C# features and async/await patterns for optimal performance in task assignment and scheduling.
Installation
📦
NuGet Package Manager
Install-Package PlanSolve🔧
dotnet CLI
dotnet add package PlanSolveQuick Start - Professional Services
Get started with professional services optimization in minutes. This example shows how to optimize employee task assignments and project scheduling using C#.
using PlanSolve;
var planSolve = new PlanSolveClient("YOUR_API_KEY");
// Create employees (consultants, developers, etc.)
var employees = new List<Employee>
{
new Employee
{
Id = "emp1",
Shifts = new List<Shift>
{
new Shift
{
Id = "shift1",
MinStartTime = "2024-01-15T08:00:00",
MaxEndTime = "2024-01-15T18:00:00"
}
},
Skills = new List<string> { "Java", "Spring", "Kotlin" }
}
};
// Create tasks (projects, assignments, etc.)
var tasks = new List<Task>
{
new Task
{
Id = "task1",
Name = "Develop REST API",
Deadline = "2024-01-20T17:00:00",
Duration = "PT16H",
Priority = "HIGH",
RequiredSkills = new List<string> { "Java", "Spring" }
}
};
// Create the optimization request
var request = new ProfessionalServicesStartRequest
{
StartDateTime = "2024-01-15T08:00:00",
EndDateTime = "2024-01-15T18:00:00",
Employees = employees,
Tasks = tasks
};
try
{
// Start the optimization
var response = await planSolve.ProfessionalServices.StartAsync(request);
Console.WriteLine($"Optimization started! Job ID: {response.JobId}");
// Get results
var result = await planSolve.ProfessionalServices.GetResultAsync(response.JobId);
Console.WriteLine("Optimization completed!", result);
}
catch (Exception ex)
{
Console.WriteLine($"Optimization failed: {ex.Message}");
}Professional Services API Reference
ProfessionalServices
Handles professional services optimization requests and results.
Methods
StartAsync(request: ProfessionalServicesStartRequest)- Start a new professional services optimizationGetResultAsync(jobId: string)- Get the completed optimization resultGetStatusAsync(jobId: string)- Get the status of a running optimization job
Data Models
Key data structures for professional services optimization.
Employee
public class Employee
{
public string Id { get; set; }
public List<Shift> Shifts { get; set; }
public List<string> Skills { get; set; }
}Task
public class Task
{
public string Id { get; set; }
public string Name { get; set; }
public string? Deadline { get; set; }
public string Duration { get; set; }
public string Priority { get; set; }
public List<string> RequiredSkills { get; set; }
}Ready to Optimize Professional Services?
Start integrating professional services optimization into your .NET applications today.