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 .xml suffix or ?format=xml

HTTP + 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>