/* Options: Date: 2024-11-21 11:40:22 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: TestDateSchedule.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface ICompany { CompanyId?: string; } export interface IInterval { From: string; To: string; } export class AddDateScheduleDate { /** @description The from date for the timeslot */ // @ApiMember(Description="The from date for the timeslot", IsRequired=true) public From: string; /** @description The to date for the timeslot */ // @ApiMember(Description="The to date for the timeslot", IsRequired=true) public To: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ExceptionText { public Reason: string; public ReasonPublic: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AvailableTimesSum implements IAvailableTime { public From: string; public To: string; public Free: number; public FreeSpots: number; public ExceptionTexts: ExceptionText[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IAvailableTime extends IInterval { Free: number; } export class AvailableTimesResponse { public CompanyId: string; public ServiceId: number; public TimesFreeTextSingle: string; public TimesFreeTextMultiple: string; public Times: AvailableTimesSum[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/schedules/date/test", "POST") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") export class TestDateSchedule implements IReturn, ICompany, IInterval { /** @description The company id, if empty will use the company id for the user you are logged in with. */ // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") public CompanyId?: string; /** @description The dates for the schedule. This is the actual timeslots. */ // @ApiMember(Description="The dates for the schedule. This is the actual timeslots.", IsRequired=true) public ScheduleDates: AddDateScheduleDate[]; /** @description From what datetime to show available times */ // @ApiMember(DataType="dateTime", Description="From what datetime to show available times", IsRequired=true, ParameterType="query") public From: string; /** @description To what datetime to show available times */ // @ApiMember(DataType="dateTime", Description="To what datetime to show available times", IsRequired=true, ParameterType="query") public To: string; /** @description The Service Duration */ // @ApiMember(Description="The Service Duration") public ServiceId?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'TestDateSchedule'; } public getMethod() { return 'POST'; } public createResponse() { return new AvailableTimesResponse(); } }