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 PlanSolve
Quick 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.