BokaMera.API.Host

<back to all web services

TestDateSchedule

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/schedules/date/testTest date scheduleTest 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 .csv suffix or ?format=csv

HTTP + CSV

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: text/csv
Content-Type: text/csv
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","ScheduleDates":[{}],"ServiceId":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"ServiceId":0,"TimesFreeTextSingle":"String","TimesFreeTextMultiple":"String","Times":[{"Free":0,"FreeSpots":0}]}