Skip to main content

Resource

A resourceResourceAn entity that can carry out work - a person, vehicle, tool, or room - that you schedule on the planning board. in Dime.Scheduler is someone or something that needs to be allocated during a certain timeframe in order for a taskTaskA unit of work that belongs to a job. It appears in the open task list until it is scheduled to a resource. to be performed or fulfilled. This can be a service technician, a sales person, an employee, a car, a machine or equipment, a hotel or meeting room, etc.

The following entities are exposed through the API.

Resource​

Upsert​

Inserts or updates a resource record.

NameData TypeDefaultRequiredDescription
SourceAppnvarchar(30)See API reference
SourceTypenvarchar(10)See API reference
ResourceTypenvarchar(100)The resource type's name, see API reference
ResourceTypeIdint1The resource type's internal id, see API reference
ResourceNamenvarchar(100)
DisplayNamenvarchar(100)
Departmentnvarchar(50)
ResourceNonvarchar(50)✔️The resource's external identifier.
Emailnvarchar(100)
Phonenvarchar(50)
MobilePhonenvarchar(50)
ReplacementResourcebit
FieldServiceEmailnvarchar(100)
PersonalEmailnvarchar(100)
GpsTrackingResourceNonvarchar(50)
HomeAddressnvarchar(max)
HomeStreetnvarchar(255)
HomeStreetNonvarchar(20)
HomeAddressGeoLongfloat
HomeAddressGeoLatfloat
HomePhonenvarchar(50)
HomeEmailnvarchar(50)
HomeRegionnvarchar(10)
HomePostcodenvarchar(20)
HomeCitynvarchar(50)
HomeCountynvarchar(50)
HomeStatenvarchar(50)
HomeCountrynvarchar(50)
TeamCodenvarchar(20)
TeamNamenvarchar(100)
TeamTypenvarchar(20)
TeamSortint
TeamMemberTypenvarchar(20)
TeamMemberSortint
FreeText1nvarchar(100)See API reference
FreeText2nvarchar(100)See API reference
FreeText3nvarchar(100)See API reference
FreeText4nvarchar(100)See API reference
FreeText5nvarchar(100)See API reference
FreeText6nvarchar(100)See API reference
FreeText7nvarchar(100)See API reference
FreeText8nvarchar(100)See API reference
FreeText9nvarchar(100)See API reference
FreeText10nvarchar(100)See API reference
FreeText11nvarchar(100)See API reference
FreeText12nvarchar(100)See API reference
FreeText13nvarchar(100)See API reference
FreeText14nvarchar(100)See API reference
FreeText15nvarchar(100)See API reference
FreeText16nvarchar(100)See API reference
FreeText17nvarchar(100)See API reference
FreeText18nvarchar(100)See API reference
FreeText19nvarchar(100)See API reference
FreeText20nvarchar(100)See API reference
FreeDecimal1decimal(18, 6)See API reference
FreeDecimal2decimal(18, 6)See API reference
FreeDecimal3decimal(18, 6)See API reference
FreeDecimal4decimal(18, 6)See API reference
FreeDecimal5decimal(18, 6)See API reference
FreeDecimal6decimal(18, 6)See API reference
FreeDecimal7decimal(18, 6)See API reference
FreeDecimal8decimal(18, 6)See API reference
FreeDecimal9decimal(18, 6)See API reference
FreeDecimal10decimal(18, 6)See API reference
FreeDate1datetimeSee API reference
FreeDate2datetimeSee API reference
FreeDate3datetimeSee API reference
FreeDate4datetimeSee API reference
FreeDate5datetimeSee API reference
FreeBit1bit0See API reference
FreeBit2bit0See API reference
FreeBit3bit0See API reference
FreeBit4bit0See API reference
FreeBit5bit0See API reference
DoNotShowbitSee API reference
InServiceFromdate
InServiceTilldate
ExchangeIntegrationEnabledbitSee API reference
url1nvarchar(1000)
urldesc1nvarchar(255)
url2nvarchar(1000)
urldesc2nvarchar(255)
url3nvarchar(1000)
urldesc3nvarchar(255)
BulkPlanningbit
BulkCapacitydecimal(18,6)
ResourceGpsTrackingEnabledbitSee API reference
Pinnvarchar(100)See API reference
ExcludeFromBudgetCalculationbit0See API reference
  • This endpoint is available in the import API endpoint /import via the procedure mboc_upsertResource.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_upsertResource",
    "ParameterNames": ["ResourceNo", "DisplayName"],
    "ParameterValues": ["LINDA", "Linda Martin"]
    }
    ]

Delete​

Removes a resource.

NameData TypeDefaultRequired
ResourceNonvarchar(50)✔️
CheckAppointmentsbit1
SourceAppnvarchar(30)
SourceTypenvarchar(10)
SentFromBackOfficebit1

By default Dime.Scheduler refuses to remove a resource that still has appointments, so a delete coming from the back office cannot quietly erase a planner's work. The request fails with APP009 and names the record. Pass CheckAppointments as 0 only when you genuinely intend the resource to go regardless.

  • This endpoint is available in the import API endpoint /import via the procedure mboc_deleteResource.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_deleteResource",
    "ParameterNames": ["ResourceNo"],
    "ParameterValues": ["LINDA"]
    }
    ]

Resource member​

A resource can stand for a group of other resources: a crewCrewA resource that stands for a group of other resources. Dropping work on a crew fans the booking out to every member, which suits people who always work together., a poolPoolA group resource for work where you know how many people you need but not yet who. Assigning a pool holds one slot against the pool itself, to be resolved to a named resource later. or a departmentDepartmentA grouping of resources used to sort and group rows on the planning board and in the grids. As a group behavior in the crews view, a department cannot be booked; it exists for structure and reporting.. The membership edges that make up those groups are resource members, and this is how a back office keeps them in step with its own team structure.

Whether a resource is a group at all, and how it behaves when you plan on it, is configured in Dime.Scheduler rather than sent through the import. See crews for what the group behaviours mean and when to use each one.

Upsert resource member​

Adds a resource to a group, or updates the window an existing membership is valid for.

NameData TypeDefaultRequired
SourceAppnvarchar(30)✔️
SourceTypenvarchar(10)✔️
GroupResourceNonvarchar(50)✔️
ResourceNonvarchar(50)✔️
ValidFromdate
ValidTodate

GroupResourceNo is the group, ResourceNo the member. ValidFrom and ValidTo bound the period the membership applies to, which is how you model someone joining a crew in March and leaving in September without losing the history. Leave both empty for an open-ended membership.

Three rules are enforced, because a membership graph that breaks them cannot be planned on:

  • A resource cannot be a member of itself (APP004).
  • A membership that would close a loop is rejected (APP007), including indirectly through several groups.
  • A crew may only contain individual resources or other crews. Putting a pool or a department inside a crew is rejected with APP005.

If the group or the member does not exist, the request fails with DATA004; if the resource you named as the group is not configured as one, with APP003.

  • This endpoint is available in the import API endpoint /import via the procedure mboc_upsertResourceMember.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_upsertResourceMember",
    "ParameterNames": ["SourceApp", "SourceType", "GroupResourceNo", "ResourceNo", "ValidFrom"],
    "ParameterValues": ["BC1", "RESOURCE", "CREW-NORTH", "LINDA", "2026-03-01"]
    }
    ]

Delete resource member​

Removes a resource from a group. The resource itself is untouched.

NameData TypeDefaultRequired
SourceAppnvarchar(30)✔️
SourceTypenvarchar(10)✔️
GroupResourceNonvarchar(50)✔️
ResourceNonvarchar(50)✔️
  • This endpoint is available in the import API endpoint /import via the procedure mboc_deleteResourceMember.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_deleteResourceMember",
    "ParameterNames": ["SourceApp", "SourceType", "GroupResourceNo", "ResourceNo"],
    "ParameterValues": ["BC1", "RESOURCE", "CREW-NORTH", "LINDA"]
    }
    ]

Filter value​

Upsert filter value​

Inserts or updates a resource filter value record. This assigns a filter valueFilter valueA single value inside a filter group, used as a qualification on a resource or a requirement on a task. to a resource.

NameData TypeDefaultRequiredDescription
SourceAppnvarchar(30)See API reference
SourceTypenvarchar(10)See API reference
ResourceNonvarchar(50)✔️
FilterGroupnvarchar(50)✔️
FilterValuenvarchar(100)✔️
TransferToTempbit0See API reference
  • This endpoint is available in the import API endpoint /import via the procedure mboc_upsertResourceFilterValue.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_upsertResourceFilterValue",
    "ParameterNames": ["ResourceNo", "FilterGroup", "FilterValue"],
    "ParameterValues": ["LINDA", "Skill", "Service management"]
    }
    ]

Delete filter value​

Removes a filter value from a resource.

NameData TypeDefaultRequiredDescription
SourceAppnvarchar(30)See API reference
SourceTypenvarchar(10)See API reference
ResourceNonvarchar(50)✔️
FilterGroupnvarchar(20)✔️
FilterValuenvarchar(20)✔️
  • This endpoint is available in the import API endpoint /import via the procedure mboc_deleteResourceFilterValue.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_deleteResourceFilterValue",
    "ParameterNames": ["ResourceNo", "FilterGroup", "FilterValue"],
    "ParameterValues": ["LINDA", "Skill", "Service management"]
    }
    ]

Clear filter value​

Removes all filter values from a resource.

NameData TypeDefaultRequiredDescription
SourceAppnvarchar(30)See API reference
SourceTypenvarchar(10)See API reference
ResourceNonvarchar(50)✔️
  • This endpoint is available in the import API endpoint /import via the procedure mboc_clearResourceFilterValue.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_clearResourceFilterValue",
    "ParameterNames": ["ResourceNo"],
    "ParameterValues": ["LINDA"]
    }
    ]

Upsert live location​

Inserts or updates the live location of a resource. The position on the map in Dime.Scheduler is updated automatically when a record is inserted or updated.

NameData TypeDefaultRequiredDescription
ResourceNonvarchar(50)✔️
GpsTrackingResourceNonvarchar(50)✔️
Latitudefloat✔️
Longitudefloat✔️
SpeedintDeprecated
DatedateDeprecated
RowIdnvarchar(100)Deprecated
Powernvarchar(50)Deprecated

The resource number or the GPS resource tracking number is required in order to successfully insert or update a record.

  • This endpoint is available in the import API endpoint /import via the procedure mboc_upsertResourceGpsTracking.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_upsertResourceGpsTracking",
    "ParameterNames": ["ResourceNo", "GpsTrackingResourceNo", "Longitude", "Latitude"],
    "ParameterValues": ["LINDA", "LINDA", "50.45545","30.5308981"]
    }
    ]

Upsert capacity​

The resource capacityCapacityThe amount of working time a resource has available in a given period, used to spot over- and under-planning. is set per day. If omitted, default values are set for CapacityUOM (hour by default) and CapacityUOMConversion (3600 by default). You need to provide either CapacityInSeconds or CapacityQty. The other value is calculated using CapacityUOMConversion.

The resource's capacity is vital for the capacity pivot grid to generate reliable results.

NameData TypeDefaultRequired
ResourceNonvarchar(50)✔️
CapacityDatedate
CapacityInSecondsbigint
CapacityQtydecimal(18,6)
CapacityUOMnvarchar(20)
CapacityUOMConversiondecimal(18,6)
  • This endpoint is available in the import API endpoint /import via the procedure mboc_upsertResourceCapacity.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_upsertResourceCapacity",
    "ParameterNames": ["ResourceNo", "CapacityDate","CapacityQty" ],
    "ParameterValues": ["LINDA", "2024-01-01", "8"]
    }
    ]

Upsert URI​

Inserts or updates a resource URI record. Resource URIs contain links to documents, web pages and the back-office system.

NameData TypeDefaultRequired
ResourceNonvarchar(50)✔️
Urlnvarchar(1000)
UrlDescnvarchar(255)
  • This endpoint is available in the import API endpoint /import via the procedure mboc_upsertResourceUrl.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_upsertResourceUrl",
    "ParameterNames": ["ResourceNo", "Url"],
    "ParameterValues": ["LINDA", "https://docs.dimescheduler.com"]
    }
    ]

Resource calendar​

A resource works the hours of a calendarCalendarA definition of when work can happen, for the whole tenant or for specific resources: business hours, weekends and holidays. Calendars shade non-working time on the planning board and skip it in Gantt durations.. The calendar itself, with its working days, hours and holidays, is set up in Dime.Scheduler (see calendars). This entity is the assignment: which calendar a resource follows, and for which period. Assignments are bounded by a start and an end date, so a resource can follow a part-time calendar until June and a full-time one from July without either record being rewritten.

Upsert resource calendar​

Assigns a calendar to a resource for a period, or updates an existing assignment.

NameData TypeDefaultRequired
ResourceCalendarCodenvarchar(50)✔️
ResourceNonvarchar(50)✔️
CalendarCodenvarchar(255)✔️
StartDatedate✔️
EndDatedate✔️

ResourceCalendarCode is the identity of the assignment, not of the calendar: it names this particular combination of resource, calendar and period. Sending the same code again updates the assignment, including moving it to another resource or calendar; a new code creates a second assignment. StartDate and EndDate are both inclusive.

The resource must exist, otherwise the request fails with DATA004, and so must the calendar (DATA006). Calendars are matched on their code, which is the code that GET /calendar returns for each calendar.

  • This endpoint is available in the import API endpoint /import via the procedure mboc_upsertResourceCalendar.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_upsertResourceCalendar",
    "ParameterNames": ["ResourceCalendarCode", "ResourceNo", "CalendarCode", "StartDate", "EndDate"],
    "ParameterValues": ["LINDA-2026", "LINDA", "FULLTIME", "2026-01-01", "2026-12-31"]
    }
    ]

Delete resource calendar​

Removes an assignment. The resource and the calendar are left untouched, and a code that does not exist is accepted without effect.

NameData TypeDefaultRequired
ResourceCalendarCodenvarchar(50)✔️
  • This endpoint is available in the import API endpoint /import via the procedure mboc_deleteResourceCalendar.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_deleteResourceCalendar",
    "ParameterNames": ["ResourceCalendarCode"],
    "ParameterValues": ["LINDA-2026"]
    }
    ]

Resource certificate​

caution

This feature is deprecated and will be removed in a future version. Use filter values to express what a resource is qualified for.

A resource certificate records that a resource holds a certificate, passed an exam or obtained a score, together with when that last happened and until when it is valid. Certificates are matched against a task's certificate in the resource and appointment pages when UseCertificate is activated on the resource typeResource typeA logical grouping of resources, such as "excavator" or "consultant", used to organize and filter them on the planning board..

Upsert resource certificate​

Inserts or updates a resource certificate record.

NameData TypeDefaultRequired
ResourceNonvarchar(50)✔️
CertificateNonvarchar(50)✔️
Scorenvarchar(100)''
LastScoreDatedatetime
ValidUntildatetime

The pair ResourceNo and CertificateNo is the identity: sending the same pair again overwrites the score and the dates. The resource must exist, otherwise the request fails with DATA004.

  • This endpoint is available in the import API endpoint /import via the procedure mboc_upsertResourceCertificate.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_upsertResourceCertificate",
    "ParameterNames": ["ResourceNo", "CertificateNo", "Score", "LastScoreDate", "ValidUntil"],
    "ParameterValues": ["LINDA", "FORKLIFT", "PASS", "2026-02-10", "2028-02-10"]
    }
    ]

Delete resource certificate​

Deletes a resource certificate record.

NameData TypeDefaultRequired
ResourceNonvarchar(50)✔️
CertificateNonvarchar(50)✔️
  • This endpoint is available in the import API endpoint /import via the procedure mboc_deleteResourceCertificate.
  • Example body:
    [
    {
    "StoredProcedureName": "mboc_deleteResourceCertificate",
    "ParameterNames": ["ResourceNo", "CertificateNo"],
    "ParameterValues": ["LINDA", "FORKLIFT"]
    }
    ]

API reference​

Source​

Dime.Scheduler is a centralized planning application. One of its key tenets is the ability to accommodate data from different origins. For instance, it is perfectly acceptable to plan work orders from Business Central, CRM, imported Excel sheets, etc., and Dime.Scheduler won't break a sweat because of the existence of the Source App and Source Type fields in the data model.

Source App​

When the planner creates an appointment for a resource or task, Dime.Scheduler knows which system to notify. Through the connector setup, Dime.Scheduler will find a matching SourceApp and subsequently send the appointment to the corresponding URI.

The source appSource appAn identifier Dime.Scheduler attaches to data so it can route a change back to the correct back-office system. field is a unique identifier that identifies a back-officeBack officeThe ERP or business system Dime.Scheduler plans for - most often Microsoft Dynamics 365 Business Central. It owns the master data and remains authoritative over what it receives. instance such as a tenant of Business Central, a test environment, an instance of CRM cloud, or any other application you wish to use to feed data into Dime.Scheduler.

Back officeERP · CRM · LoB
served bySource App
ConnectorBound to one Source App
creates
JobProject container
contains
TaskWork to do
scheduled as
AppointmentPlanning decision
Step 1 of 4Back office Connector

The back office is bound to a connector

Each back-office instance - a Business Central tenant, a CRM environment, an Excel sheet - is identified by a Source App. The connector is configured for that one Source App and nothing else, so Dime.Scheduler always knows which system any record came from.

Source Type​

The SourceType is used inside the back-office system itself. A source typeSource typeAn identifier that, together with the source app, tells Dime.Scheduler which back-office table a record belongs to. represents a distinct entity such as a service orderService orderA Business Central service management document. The service order solution plans it as one task or as one task per service item line, and writes the assignment back as a resource allocation., production orderProduction orderA Business Central manufacturing order with routing lines. The production routing solution puts those lines on the planning board against work and machine centers while BC’s own rules still hold., assembly orderAssembly orderA Business Central document that says what to build. The assembly order solution schedules the resources that build it and keeps the order’s dates in sync., etc.

The standard connectorsConnectorAn integration that links Dime.Scheduler to a back-office system, routing data in and scheduling decisions back out. that Dime Software provides make it possible to plan different types of resources and tasks. When Dime.Scheduler posts an appointment to a standard connector, it ends up in a staging tableStaging tableThe Dime.Scheduler Appointments table in Business Central where incoming appointments land first. Business Central processes rows from there, so a row can be received and still fail processing., which is then processed by the connector to ensure the appointment produced in Dime.Scheduler is traced back to the original record using the externally identifiable fields (JobNo, TaskNo, ResourceNo) that identify the record.

Resource type​

Every resource belongs to a resource typeResource typeA logical grouping of resources, such as "excavator" or "consultant", used to organize and filter them on the planning board., which groups resources and controls how they behave on the planning board (see resource types). Send either ResourceType, the type's name, or ResourceTypeId, its internal id. A name that does not exist yet is created on the fly; an id must already exist, otherwise the request fails with REQ005. When neither is sent, the default 1 applies.

GET /resourcetype lists the resource types of the tenant with their id, name and display name, so an integration can look up the id before it sends resources. See the REST API reference.

Exchange Integration Enabled​

This field determines whether to synchronize the appointmentAppointmentA task scheduled to a resource for a specific period - the scheduled instance you see on the planning board. with the resource's Outlook calendar.

GPS Tracking Enabled​

This field determines whether to enable live location tracking. To use this feature, the 'Advanced map' optional modules must be acquired.

Do not show​

This field determines if the resource should be visible in the planning boardPlanning boardThe main graphical scheduling surface where dispatchers drag tasks onto resources across a timeline.. The number of resources with this field switched off (i.e. they are shown on the planning board) determines the license validity.

Pin​

Controls the visual indicator of the planned task in the map. Read more about marker colors.

Free fields​

Free fieldsFree fieldOne of the unmapped fields on jobs, tasks and appointments that a back office can fill with its own data, each with a localizable caption. are unmapped fields that you can link custom fields to.

The captionCaptionThe label shown for a field or entity in the interface, translatable per language. A tenant that calls jobs "projects" changes the caption, not the data model. can be changed through the captions localization system. Either use the GUI and look for the corresponding field of the corresponding source table for the 'DATABASEFIELD' context, or use the API.

Transfer to temp​

The TransferToTemp field indicates whether the resource filter value(s) are being sent to Dime.Scheduler before (value = 1 or True) or after (value = 0 or False) the resource is sent.

Exclude from budget calculation​

When set to true, resources assigned to appointments will be ignored when updating the remaining budget of a task.