| Required roles: | Administrator, Administrator |
| POST,PUT,OPTIONS | /v1/Scheduler/Settings |
|---|
"use strict";
export class ScheduleConfigTimeBlock {
/** @param {{StartTime?:string,DayStartFriendly?:string,EndTime?:string,DayEndFriendly?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
StartTime;
/** @type {string} */
DayStartFriendly;
/** @type {string} */
EndTime;
/** @type {string} */
DayEndFriendly;
}
export class ScheduleConfigDay {
/** @param {{DayName?:string,DayNumber?:number,DayEnabled?:boolean,TimeBlocks?:ScheduleConfigTimeBlock[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
DayName;
/** @type {?number} */
DayNumber;
/** @type {?boolean} */
DayEnabled;
/** @type {ScheduleConfigTimeBlock[]} */
TimeBlocks = [];
}
export class LineImage {
/** @param {{ImageId?:string,FileName?:string,ImageTitle?:string,UploadDate?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
ImageId;
/** @type {string} */
FileName;
/** @type {string} */
ImageTitle;
/** @type {string} */
UploadDate;
}
export class Line {
/** @param {{Id?:string,LocationId?:string,LocationName?:string,Name?:string,Description?:string,ServiceDurationMinutes?:number,WaitTime?:number,Cost?:number,UpperThreshold?:number,LowerThreshold?:number,Active?:boolean,EntDate?:string,ModDate?:string,SendQuestionnaire?:boolean,RequireUpload?:boolean,UploadMessage?:string,LineImages?:LineImage[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Id;
/** @type {string} */
LocationId;
/** @type {string} */
LocationName;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {number} */
ServiceDurationMinutes;
/** @type {number} */
WaitTime;
/** @type {number} */
Cost;
/** @type {?number} */
UpperThreshold;
/** @type {?number} */
LowerThreshold;
/** @type {boolean} */
Active;
/** @type {?string} */
EntDate;
/** @type {?string} */
ModDate;
/** @type {boolean} */
SendQuestionnaire;
/** @type {boolean} */
RequireUpload;
/** @type {string} */
UploadMessage;
/** @type {LineImage[]} */
LineImages = [];
}
export class SchedulerConfiguration {
/** @param {{ConfigId?:number,SchedulerUrl?:string,SchedulerName?:string,DefaultLocation?:string,DefaultSummary?:string,DefaultDescription?:string,DayStart?:string,DayStartFriendly?:string,DayEnd?:string,DayEndFriendly?:string,TimeslotDuration?:number,NumberOfSlots?:number,LocationId?:string,CalendarId?:string,AgentId?:number,TimeZone?:string,AvailableDateTimes?:ScheduleConfigDay[],AvailableServices?:string[],AllServices?:Line[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ConfigId;
/** @type {string} */
SchedulerUrl;
/** @type {string} */
SchedulerName;
/** @type {string} */
DefaultLocation;
/** @type {string} */
DefaultSummary;
/** @type {string} */
DefaultDescription;
/** @type {string} */
DayStart;
/** @type {string} */
DayStartFriendly;
/** @type {string} */
DayEnd;
/** @type {string} */
DayEndFriendly;
/** @type {number} */
TimeslotDuration;
/** @type {?number} */
NumberOfSlots;
/** @type {string} */
LocationId;
/** @type {string} */
CalendarId;
/** @type {number} */
AgentId;
/** @type {string} */
TimeZone;
/** @type {ScheduleConfigDay[]} */
AvailableDateTimes = [];
/** @type {string[]} */
AvailableServices = [];
/** @type {Line[]} */
AllServices = [];
}
export class SchedulerConfigurationSaveRequest {
/** @param {{Settings?:SchedulerConfiguration}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {SchedulerConfiguration} */
Settings;
}
export class SchedulerConfigurationSaveResponse {
/** @param {{ResponseStatus?:ResponseStatus,Settings?:SchedulerConfiguration}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {SchedulerConfiguration} */
Settings;
}
JavaScript SchedulerConfigurationSaveRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/Scheduler/Settings HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Settings:
{
ConfigId: 0,
SchedulerUrl: String,
SchedulerName: String,
DefaultLocation: String,
DefaultSummary: String,
DefaultDescription: String,
DayStart: PT0S,
DayStartFriendly: "00:00",
DayEnd: PT0S,
DayEndFriendly: "00:00",
TimeslotDuration: 0,
NumberOfSlots: 0,
LocationId: 00000000000000000000000000000000,
CalendarId: 00000000000000000000000000000000,
AgentId: 0,
TimeZone: String,
AvailableDateTimes:
[
{
DayName: String,
DayNumber: 0,
DayEnabled: False,
TimeBlocks:
[
{
StartTime: PT0S,
DayStartFriendly: "00:00",
EndTime: PT0S,
DayEndFriendly: "00:00"
}
]
}
],
AvailableServices:
[
00000000000000000000000000000000
],
AllServices:
[
{
Id: 00000000000000000000000000000000,
LocationId: 00000000000000000000000000000000,
LocationName: String,
Name: String,
Description: String,
ServiceDurationMinutes: 0,
WaitTime: 0,
Cost: 0,
UpperThreshold: 0,
LowerThreshold: 0,
Active: False,
EntDate: 0001-01-01,
ModDate: 0001-01-01,
SendQuestionnaire: False,
RequireUpload: False,
UploadMessage: String,
LineImages:
[
{
ImageId: 00000000000000000000000000000000,
FileName: String,
ImageTitle: String,
UploadDate: 0001-01-01
}
]
}
]
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
Settings:
{
ConfigId: 0,
SchedulerUrl: String,
SchedulerName: String,
DefaultLocation: String,
DefaultSummary: String,
DefaultDescription: String,
DayStart: PT0S,
DayStartFriendly: "00:00",
DayEnd: PT0S,
DayEndFriendly: "00:00",
TimeslotDuration: 0,
NumberOfSlots: 0,
LocationId: 00000000000000000000000000000000,
CalendarId: 00000000000000000000000000000000,
AgentId: 0,
TimeZone: String,
AvailableDateTimes:
[
{
DayName: String,
DayNumber: 0,
DayEnabled: False,
TimeBlocks:
[
{
StartTime: PT0S,
DayStartFriendly: "00:00",
EndTime: PT0S,
DayEndFriendly: "00:00"
}
]
}
],
AvailableServices:
[
00000000000000000000000000000000
],
AllServices:
[
{
Id: 00000000000000000000000000000000,
LocationId: 00000000000000000000000000000000,
LocationName: String,
Name: String,
Description: String,
ServiceDurationMinutes: 0,
WaitTime: 0,
Cost: 0,
UpperThreshold: 0,
LowerThreshold: 0,
Active: False,
EntDate: 0001-01-01,
ModDate: 0001-01-01,
SendQuestionnaire: False,
RequireUpload: False,
UploadMessage: String,
LineImages:
[
{
ImageId: 00000000000000000000000000000000,
FileName: String,
ImageTitle: String,
UploadDate: 0001-01-01
}
]
}
]
}
}