Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /schedules/date | Add new date schedule | Add new date schedule to the company for the currently logged in user, only administrators are allowed to add schedules. |
---|
"use strict";
export class DateScheduleDateResponse {
/** @param {{Id?:number,From?:string,To?:string,ResponseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
From;
/** @type {string} */
To;
/** @type {ResponseStatus} */
ResponseStatus;
}
export class ScheduleResources {
/** @param {{Id?:number,Name?:string,ImageUrl?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/**
* @type {string}
* @description Name of the resource */
Name;
/**
* @type {string}
* @description The image url of the resource */
ImageUrl;
}
export class ScheduleServices {
/** @param {{Id?:number,Name?:string,ImageUrl?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/**
* @type {string}
* @description Name of the service */
Name;
/**
* @type {string}
* @description The image url of the service */
ImageUrl;
}
export class DateScheduleQueryResponse {
/** @param {{Id?:number,Name?:string,Description?:string,Active?:boolean,IsResourceSpecific?:boolean,ScheduleDates?:DateScheduleDateResponse[],Resources?:ScheduleResources[],Services?:ScheduleServices[],UpdatedDate?:string,CreatedDate?:string,ResponseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The schedule id */
Id;
/**
* @type {string}
* @description Name of the schedule */
Name;
/**
* @type {string}
* @description Description of the schedule */
Description;
/**
* @type {boolean}
* @description If the schedule is active or not */
Active;
/**
* @type {boolean}
* @description If the schedule is only connected to some specific resources. Note: You must have IncludeResources property to see this. */
IsResourceSpecific;
/**
* @type {DateScheduleDateResponse[]}
* @description Schedule dates */
ScheduleDates;
/**
* @type {ScheduleResources[]}
* @description The resources that is connected to the schedule */
Resources;
/**
* @type {ScheduleServices[]}
* @description The services that is connected to the schedule */
Services;
/**
* @type {string}
* @description The timestamp when the schedule was updated */
UpdatedDate;
/**
* @type {string}
* @description The timestamp when the schedule was created */
CreatedDate;
/** @type {ResponseStatus} */
ResponseStatus;
}
export class AddDateScheduleDate {
/** @param {{From?:string,To?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The from date for the timeslot */
From;
/**
* @type {string}
* @description The to date for the timeslot */
To;
}
export class AddScheduleResource {
/** @param {{Id?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The resource id */
Id;
}
export class AddScheduleService {
/** @param {{Id?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The service id */
Id;
}
export class CreateDateSchedule {
/** @param {{CompanyId?:string,Name?:string,Description?:string,Active?:boolean,NumberOfScheduleDays?:number,ScheduleDates?:AddDateScheduleDate[],Resources?:AddScheduleResource[],Services?:AddScheduleService[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?string}
* @description The company id, if empty will use the company id for the user you are logged in with. */
CompanyId;
/**
* @type {string}
* @description The schedule name */
Name;
/**
* @type {string}
* @description The schedule description */
Description;
/**
* @type {boolean}
* @description If schedule is active or not */
Active;
/**
* @type {number}
* @description The number of days the schedule is valid from todays date */
NumberOfScheduleDays;
/**
* @type {AddDateScheduleDate[]}
* @description The dates for the schedule. This is the actual timeslots. */
ScheduleDates;
/**
* @type {AddScheduleResource[]}
* @description If the schedule is only connected to some resources, add them here. If empty, it will be used by all resources. */
Resources;
/**
* @type {AddScheduleService[]}
* @description Set what services the schedule should be connected to. */
Services;
}
JavaScript CreateDateSchedule DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /schedules/date HTTP/1.1
Host: api.bokamera.se
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","Name":"String","Description":"String","Active":false,"NumberOfScheduleDays":0,"ScheduleDates":[{}],"Resources":[{"Id":0}],"Services":[{"Id":0}]}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Id":0,"Name":"String","Description":"String","Active":false,"IsResourceSpecific":false,"ScheduleDates":[{"Id":0,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}],"Resources":[{"Id":0,"Name":"String"}],"Services":[{"Id":0,"Name":"String"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}