Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /schedules/date/test | Test date schedule | Test date schedule, only administrators are allowed to test schedules. |
---|
"use strict";
export class ExceptionText {
/** @param {{Reason?:string,ReasonPublic?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Reason;
/** @type {string} */
ReasonPublic;
}
export class AvailableTimesSum {
/** @param {{From?:string,To?:string,Free?:number,FreeSpots?:number,ExceptionTexts?:ExceptionText[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
From;
/** @type {string} */
To;
/** @type {number} */
Free;
/** @type {number} */
FreeSpots;
/** @type {ExceptionText[]} */
ExceptionTexts;
}
export class AvailableTimesResponse {
/** @param {{CompanyId?:string,ServiceId?:number,TimesFreeTextSingle?:string,TimesFreeTextMultiple?:string,Times?:AvailableTimesSum[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
ServiceId;
/** @type {string} */
TimesFreeTextSingle;
/** @type {string} */
TimesFreeTextMultiple;
/** @type {AvailableTimesSum[]} */
Times;
}
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 TestDateSchedule {
/** @param {{CompanyId?:string,ScheduleDates?:AddDateScheduleDate[],From?:string,To?:string,ServiceId?:number}} [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 {AddDateScheduleDate[]}
* @description The dates for the schedule. This is the actual timeslots. */
ScheduleDates;
/**
* @type {string}
* @description From what datetime to show available times */
From;
/**
* @type {string}
* @description To what datetime to show available times */
To;
/**
* @type {?number}
* @description The Service Duration */
ServiceId;
}
JavaScript TestDateSchedule DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /schedules/date/test HTTP/1.1
Host: api.bokamera.se
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<TestDateSchedule xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<From>0001-01-01T00:00:00</From>
<ScheduleDates>
<AddDateScheduleDate>
<From>0001-01-01T00:00:00</From>
<To>0001-01-01T00:00:00</To>
</AddDateScheduleDate>
</ScheduleDates>
<ServiceId>0</ServiceId>
<To>0001-01-01T00:00:00</To>
</TestDateSchedule>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <AvailableTimesResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos"> <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId> <ServiceId>0</ServiceId> <Times> <AvailableTimesSum> <ExceptionTexts i:nil="true" /> <Free>0</Free> <FreeSpots>0</FreeSpots> <From>0001-01-01T00:00:00</From> <To>0001-01-01T00:00:00</To> </AvailableTimesSum> </Times> <TimesFreeTextMultiple>String</TimesFreeTextMultiple> <TimesFreeTextSingle>String</TimesFreeTextSingle> </AvailableTimesResponse>