PlanSolve is still in pre-alpha – Features may change or break. Feedback welcome!

Professional Services .NET SDK

C# .NET SDK for professional services optimization

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 optimization
  • GetResultAsync(jobId: string) - Get the completed optimization result
  • GetStatusAsync(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.