Dime.Scheduler 2.0.0

dotnet add package Dime.Scheduler --version 2.0.0
                    
NuGet\Install-Package Dime.Scheduler -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dime.Scheduler" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Dime.Scheduler" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Dime.Scheduler" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Dime.Scheduler --version 2.0.0
                    
#r "nuget: Dime.Scheduler, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Dime.Scheduler&version=2.0.0
                    
Install Dime.Scheduler as a Cake Addin
#tool nuget:?package=Dime.Scheduler&version=2.0.0
                    
Install Dime.Scheduler as a Cake Tool

Dime.Scheduler logo

This is the official SDK for Dime.Scheduler. The SDK is a gateway to connect any system to Dime.Scheduler through its extensive import pipeline and large collection of web APIs.

Check out the ๐Ÿ“š docs ยป for more info.

Prerequisites

In order to successfully use the SDK, make sure to comply with the following requirements:

  • An active Dime.Scheduler subscription
  • A valid Dime.Scheduler API key

Installation

Use the package manager NuGet to install the base library of the SDK:

dotnet add package Dime.Scheduler

Usage

The example below fetches the resources available in Dime.Scheduler:

DimeSchedulerClient client = new("key");

IEnumerable<Resource> resources = await client.Resources.GetAsync(new ResourceRequest());

foreach (Resource resource in resources)
    Console.WriteLine(resource.Email);

The DimeSchedulerClient class is the entry point and it is where all endpoints are exposed:

DimeSchedulerClient client = new("my-api-key");

Just a valid API key is required. With these credentials, you can access any of the endpoints, whether it be fetching data or importing data into Dime.Scheduler.

IEnumerable<Resource> resources = await resourceEndpoint.GetAsync(new ResourceRequest());

This example adds or updates a category:

DimeSchedulerClient client = new("my-api-key");

Category category = new("Category #1", "#6e62b5");
var response = await client.Indicators.Categories.CreateAsync(category);

Endpoints and models

The following endpoints are available in the DimeSchedulerClient class:

  • ActionUri: invoke HTTP GET or POST requests on tasks and appointments.
  • Caption: Override the standard localization
  • Indicators
    • Category: Background color of appointments
    • TimeMarker: Underscore bar of appointments
    • Pin: Color of markers on the map
  • Connector: Send planning data back to your backoffice system
  • Container: Group tasks and appointments
  • Filters: Find suitable resources for the task at hand
    • Filter Group
    • Filter Value
  • Message: Send transient messages to the active users
  • Notification: Persistent messages for tasks, appointments, jobs, or just a general message for everybody.
  • Resource: The entity that can be planned. Can also be set:
    • ResourceFilterValue: Assign a filter value to this resource.
    • ResourceCalendar: Assign a calendar to a resource for a given date range.
    • ResourceCapacity: Used in the capacity pivot.
    • ResourceGpsTracking: Update the current location of the resource.
    • ResourceCertificate: obsolete
    • ResourceUri: Add a link to relevant documentation about this resource.
  • Job: The parent entity of a task that contains data such as customer and contact info, addresses, etc.
  • Task: The unit of work that needs to be planned. Can also be set:
    • TaskFilterValue: Set requirements (i.e. filter value) for this task that a resources must contain to successfully execute the task.
    • TaskLocked: Lock/unlock appointments for this task.
    • TaskUri: Add a link to relevant documentation about this task.
    • TaskContainer: Link tasks via a container.
  • Appointment: assigment of a task to a resource on a certain date and time. Can also be set:
    • AppointmentCategory: Change the background color
    • AppointmentContent: Change subject and body
    • AppointmentLocked: Lock/unlock appointment on the planning board
    • AppointmentTimeMarker: Change color of horizontal bar at the bottom
    • AppointmentUri: Add a link to relevant documentation about this planned task
    • AppointmentContainer: Link appointments via a container
    • Assignment: Add/remove resources
    • AppointmentImportance: Change the priority of the appointment
    • AppointmentPlanningQuantity: Change the plannning quantity
    • AppointmentFieldValue: Add additional data via the open data model of Appointment Templates.
  • Import: The raw endpoint that handles all of the above.

It is possible that an endpoint may accept more than one model, such as those that target specific functionalities. For instance, in the appointment endpoint, an instance of AppointmentLocked can be invoked:

 AppointmentLocked appointmentLock = new()
 {
     SourceApp = "BC_USA_BRANCH",
     SourceType = "SERVICE",

     // The GUID of the appointment we'd like to update
     AppointmentGuid = "2a77f6c6-c502-4ad2-9ee2-6fba0f9361a1"     
     
     Locked = true
 };

await dimeScheduler.Appointments.UpdateAsync(appointmentLock);

Read more

Check out the ๐Ÿ“š docs ยป for more info.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.0 96 4/6/2025
2.0.0-beta.5 130 3/23/2025
2.0.0-beta.4 123 3/22/2025
2.0.0-beta.3 118 3/22/2025
2.0.0-beta.2 42 3/22/2025
2.0.0-beta.1 39 3/22/2025
2.0.0-alpha.3 112 3/20/2025
2.0.0-alpha.2 120 3/20/2025
2.0.0-alpha.1 131 3/11/2025
1.1.0 177 11/14/2024
1.0.4 3,884 7/11/2024
1.0.3 524 6/14/2024
1.0.2 187 6/12/2024
1.0.1 133 4/4/2024
1.0.0 1,644 1/4/2024
1.0.0-beta.1 383 11/29/2023