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

Field Service .NET SDK

C# .NET SDK for field service optimization

Field Service .NET SDK

A native .NET client library specifically for PlanSolve field service optimization. Built with modern C# features and async/await patterns for optimal performance in field operations.

Installation

📦

NuGet Package Manager

Install-Package PlanSolve
🔧

dotnet CLI

dotnet add package PlanSolve

Quick Start - Field Service

Get started with field service optimization in minutes. This example shows how to optimize technician routes and schedule customer visits using C#.

using PlanSolve;

var planSolve = new PlanSolveClient("YOUR_API_KEY");

// Create vehicles (field technicians)
var vehicles = new List<Vehicle>
{
    new Vehicle
    {
        Id = "tech1",
        HomeLocation = new double[] { 40.7128, -74.0060 }, // NYC coordinates
        Shifts = new List<Shift>
        {
            new Shift
            {
                Id = "morning-shift",
                MinStartTime = "2024-01-15T08:00:00",
                MaxEndTime = "2024-01-15T17:00:00"
            }
        },
        Skills = new List<string> { "repair", "installation" }
    }
};

// Create visits (customer appointments)
var visits = new List<Visit>
{
    new Visit
    {
        Id = "visit1",
        Name = "Times Square Repair",
        Location = new double[] { 40.7589, -73.9851 },
        TimeWindows = new List<TimeWindow>
        {
            new TimeWindow
            {
                MinStartTime = "2024-01-15T09:00:00",
                MaxEndTime = "2024-01-15T17:00:00"
            }
        },
        ServiceDuration = "PT30M",
        Priority = "HIGH",
        RequiredSkills = new List<string> { "repair" }
    }
};

// Create the optimization request
var request = new FieldServiceStartRequest
{
    SouthWestCorner = new double[] { 40.74, -74.01 },
    NorthEastCorner = new double[] { 40.76, -73.98 },
    StartDateTime = "2024-01-15T08:00:00",
    EndDateTime = "2024-01-15T18:00:00",
    Vehicles = vehicles,
    Visits = visits
};

try
{
    // Start the optimization
    var response = await planSolve.FieldService.StartAsync(request);
    Console.WriteLine($"Optimization started! Job ID: {response.JobId}");
    
    // Get results
    var result = await planSolve.FieldService.GetResultAsync(response.JobId);
    Console.WriteLine("Optimization completed!", result);
}
catch (Exception ex)
{
    Console.WriteLine($"Optimization failed: {ex.Message}");
}

Field Service API Reference

FieldService

Handles field service optimization requests and results.

Methods

  • StartAsync(request: FieldServiceStartRequest) - Start a new field service optimization
  • GetResultAsync(jobId: string) - Get the completed optimization result

Data Models

Key data structures for field service optimization.

Vehicle

public class Vehicle { public string Id { get; set; } public double[] HomeLocation { get; set; } public List<Shift> Shifts { get; set; } public List<string> Skills { get; set; } }

Visit

public class Visit { public string Id { get; set; } public string Name { get; set; } public double[] Location { get; set; } public List<TimeWindow> TimeWindows { get; set; } public string ServiceDuration { get; set; } public string Priority { get; set; } public List<string> RequiredSkills { get; set; } }

Ready to Optimize Field Service?

Start integrating field service optimization into your .NET applications today.