/* Options: Date: 2024-07-03 12:50:13 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: NextFreeTimeQuery.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface IInterval { From: string; To: string; } export class AvailableTimesResourceTypeResource { /** @description The resourcetype id */ // @ApiMember(Description="The resourcetype id") public ResourceTypeId: number; /** @description The resource id */ // @ApiMember(Description="The resource id") public ResourceId: number; 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("/services/{ServiceId}/nextfreetime", "GET") export class NextFreeTimeQuery implements IReturn, IInterval { /** @description Company to show available time for */ // @ApiMember(Description="Company to show available time for", ParameterType="query") public CompanyId?: string; /** @description Service id */ // @ApiMember(Description="Service id", IsRequired=true, ParameterType="path") public ServiceId: number; /** @description From what datetime to search available times */ // @ApiMember(DataType="dateTime", Description="From what datetime to search available times", IsRequired=true, ParameterType="query") public From: string; /** @description To what datetime to show available times. Optional, if no datetime is set it will search one year */ // @ApiMember(DataType="dateTime", Description="To what datetime to show available times. Optional, if no datetime is set it will search one year", IsRequired=true, ParameterType="query") public To: string; /** @description Here you can select one of the resource in each resource type connected to the service, if none is selected it will show available times for all */ // @ApiMember(Description="Here you can select one of the resource in each resource type connected to the service, if none is selected it will show available times for all", ParameterType="query") public Resources: AvailableTimesResourceTypeResource[]; /** @description Here you select number of resources to book (in each resource type). Default is 1. */ // @ApiMember(Description="Here you select number of resources to book (in each resource type). Default is 1.", ParameterType="query") public NumberOfResources: number; /** @description The duration you want to book. Needs to withing the service Min and Max. If not set it will use the service duration */ // @ApiMember(DataType="bool", Description="The duration you want to book. Needs to withing the service Min and Max. If not set it will use the service duration", ParameterType="query") public Duration?: number; /** @description If you want to include the connected resource types and resources */ // @ApiMember(Description="If you want to include the connected resource types and resources", ParameterType="query") public ShowPerResource: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'NextFreeTimeQuery'; } public getMethod() { return 'GET'; } public createResponse() { return new AvailableTimesResponse(); } }