/* Options: Date: 2024-11-24 14:00:44 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://clubready.com/api/current //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateClassBookingRequest.* //ExcludeTypes: //DefaultImports: */ export enum RestrictedResourceType { Store = 'Store', Chain = 'Chain', User = 'User', Undefined = 'Undefined', } export interface IRestrictedApiRequest extends IApiKeyEndpoint { RestrictedId?: number; RestrictedResourceType: RestrictedResourceType; } export interface IApiKeyEndpoint { ApiKey: string; } export class ApiDtoBase { public ApiKey: string; public StoreId?: number; public ChainId?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CreateClassBookingRequestDto extends ApiDtoBase { public UserId: number; public ScheduleId: number; public AllowWaitList: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class CreateClassBookingResponseDto { public BookingId?: number; public Message: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CreateClassBookingResponse extends CreateClassBookingResponseDto { public BookingId?: number; public Message: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @Route("/scheduling/class-booking", "POST") // @Route("/v2/{ApiKey}/club/{StoreId}/booking", "POST") // @Route("/v2/{ApiKey}/club/{StoreId}/class-booking", "POST") export class CreateClassBookingRequest extends CreateClassBookingRequestDto implements IReturn, IRestrictedApiRequest { /** * Api Key - grants access to resources */ // @ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query") public ApiKey: string; /** * UserID */ // @ApiMember(DataType="string", Description="UserID", IsRequired=true, Name="UserId", ParameterType="query") public UserId: number; /** * Store ID */ // @ApiMember(DataType="integer", Description="Store ID", IsRequired=true, Name="StoreId", ParameterType="query") public StoreId: number; /** * Class Schedule ID */ // @ApiMember(DataType="integer", Description="Class Schedule ID", IsRequired=true, Name="ScheduleId", ParameterType="query") public ScheduleId: number; /** * Put user in wait list when possible */ // @ApiMember(DataType="bool", Description="Put user in wait list when possible", Name="AllowWaitList", ParameterType="query") public AllowWaitList: boolean; public RestrictedId?: number; public RestrictedResourceType: RestrictedResourceType; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'CreateClassBookingRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new CreateClassBookingResponse(); } }