/* Options: Date: 2024-05-09 23:45:18 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.clubready.com/api/current //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ClassRosterRequest.* //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 ClassRosterRequestDto extends ApiDtoBase { public ClassScheduleId: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export enum ClassRosterCreditType { Uninitialized = 0, PaidCredit = 1, FreeCredit = 2, AmenityCredit = 3, MembershipTypeCredit = 4, ClassPassCredit = 5, Error = -1, } export class ClassRosterItem { public BookingId: number; public UserId: number; public FirstName: string; public LastName: string; public Email: string; public Phone: string; public BookingMade: string; public FirstTimeBooking: boolean; public PackageName: string; public PackageId?: number; public LeadTypeName: string; public LeadTypeId?: number; public IsMember: boolean; public MemberExpiration?: string; public CreditType: ClassRosterCreditType; public CreditsRemaining: number; public NextCreditExpiration?: string; public BookingStatusId?: number; public BookingStatusDescription: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ApiResponseBase { public Success: boolean; public Message: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ClassRosterResponseDto extends ApiResponseBase { public ClassRoster: ClassRosterItem[]; public WaitList: ClassRosterItem[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class ClassRosterResponse extends ClassRosterResponseDto { public Success: boolean; public Message: string; public ClassDate: string; public FreeSpots: number; public MaxSpots: number; public TotalBooked: number; public LocationType: string; public VirtualLink: string; public ClassRoster: ClassRosterItem[]; public WaitList: ClassRosterItem[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @Route("/scheduling/class-roster", "GET") export class ClassRosterRequest extends ClassRosterRequestDto 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; /** * Store Id or Chain Id is required */ // @ApiMember(DataType="integer", Description="Store Id or Chain Id is required", Name="StoreId", ParameterType="query") public StoreId?: number; /** * Store Id or Chain Id is required */ // @ApiMember(DataType="integer", Description="Store Id or Chain Id is required", Name="ChainId", ParameterType="query") public ChainId?: number; /** * Class Schedule ID */ // @ApiMember(DataType="integer", Description="Class Schedule ID", IsRequired=true, Name="ClassScheduleId", ParameterType="query") public ClassScheduleId: number; public RestrictedId?: number; public RestrictedResourceType: RestrictedResourceType; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'ClassRosterRequest'; } public getMethod() { return 'GET'; } public createResponse() { return new ClassRosterResponse(); } }