/* Options: Date: 2024-05-13 08:37:30 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.clubready.com/api/current //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ClassRosterRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum RestrictedResourceType { Store, Chain, User, Undefined, } abstract class IRestrictedApiRequest extends IApiKeyEndpoint { int? RestrictedId; RestrictedResourceType? RestrictedResourceType; } abstract class IApiKeyEndpoint { String? ApiKey; } class ApiDtoBase implements IConvertible { String? ApiKey; int? StoreId; int? ChainId; ApiDtoBase({this.ApiKey,this.StoreId,this.ChainId}); ApiDtoBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ApiKey = json['ApiKey']; StoreId = json['StoreId']; ChainId = json['ChainId']; return this; } Map toJson() => { 'ApiKey': ApiKey, 'StoreId': StoreId, 'ChainId': ChainId }; getTypeName() => "ApiDtoBase"; TypeContext? context = _ctx; } class ClassRosterRequestDto extends ApiDtoBase implements IConvertible { int? ClassScheduleId; ClassRosterRequestDto({this.ClassScheduleId}); ClassRosterRequestDto.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ClassScheduleId = json['ClassScheduleId']; return this; } Map toJson() => super.toJson()..addAll({ 'ClassScheduleId': ClassScheduleId }); getTypeName() => "ClassRosterRequestDto"; TypeContext? context = _ctx; } enum ClassRosterCreditType { Uninitialized, PaidCredit, FreeCredit, AmenityCredit, MembershipTypeCredit, ClassPassCredit, Error, } class ClassRosterItem implements IConvertible { int? BookingId; int? UserId; String? FirstName; String? LastName; String? Email; String? Phone; DateTime? BookingMade; bool? FirstTimeBooking; String? PackageName; int? PackageId; String? LeadTypeName; int? LeadTypeId; bool? IsMember; DateTime? MemberExpiration; ClassRosterCreditType? CreditType; int? CreditsRemaining; DateTime? NextCreditExpiration; int? BookingStatusId; String? BookingStatusDescription; ClassRosterItem({this.BookingId,this.UserId,this.FirstName,this.LastName,this.Email,this.Phone,this.BookingMade,this.FirstTimeBooking,this.PackageName,this.PackageId,this.LeadTypeName,this.LeadTypeId,this.IsMember,this.MemberExpiration,this.CreditType,this.CreditsRemaining,this.NextCreditExpiration,this.BookingStatusId,this.BookingStatusDescription}); ClassRosterItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { BookingId = json['BookingId']; UserId = json['UserId']; FirstName = json['FirstName']; LastName = json['LastName']; Email = json['Email']; Phone = json['Phone']; BookingMade = JsonConverters.fromJson(json['BookingMade'],'DateTime',context!); FirstTimeBooking = json['FirstTimeBooking']; PackageName = json['PackageName']; PackageId = json['PackageId']; LeadTypeName = json['LeadTypeName']; LeadTypeId = json['LeadTypeId']; IsMember = json['IsMember']; MemberExpiration = JsonConverters.fromJson(json['MemberExpiration'],'DateTime',context!); CreditType = JsonConverters.fromJson(json['CreditType'],'ClassRosterCreditType',context!); CreditsRemaining = json['CreditsRemaining']; NextCreditExpiration = JsonConverters.fromJson(json['NextCreditExpiration'],'DateTime',context!); BookingStatusId = json['BookingStatusId']; BookingStatusDescription = json['BookingStatusDescription']; return this; } Map toJson() => { 'BookingId': BookingId, 'UserId': UserId, 'FirstName': FirstName, 'LastName': LastName, 'Email': Email, 'Phone': Phone, 'BookingMade': JsonConverters.toJson(BookingMade,'DateTime',context!), 'FirstTimeBooking': FirstTimeBooking, 'PackageName': PackageName, 'PackageId': PackageId, 'LeadTypeName': LeadTypeName, 'LeadTypeId': LeadTypeId, 'IsMember': IsMember, 'MemberExpiration': JsonConverters.toJson(MemberExpiration,'DateTime',context!), 'CreditType': JsonConverters.toJson(CreditType,'ClassRosterCreditType',context!), 'CreditsRemaining': CreditsRemaining, 'NextCreditExpiration': JsonConverters.toJson(NextCreditExpiration,'DateTime',context!), 'BookingStatusId': BookingStatusId, 'BookingStatusDescription': BookingStatusDescription }; getTypeName() => "ClassRosterItem"; TypeContext? context = _ctx; } class ApiResponseBase implements IConvertible { bool? Success; String? Message; ApiResponseBase({this.Success,this.Message}); ApiResponseBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Success = json['Success']; Message = json['Message']; return this; } Map toJson() => { 'Success': Success, 'Message': Message }; getTypeName() => "ApiResponseBase"; TypeContext? context = _ctx; } class ClassRosterResponseDto extends ApiResponseBase implements IConvertible { List? ClassRoster; List? WaitList; ClassRosterResponseDto({this.ClassRoster,this.WaitList}); ClassRosterResponseDto.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ClassRoster = JsonConverters.fromJson(json['ClassRoster'],'List',context!); WaitList = JsonConverters.fromJson(json['WaitList'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'ClassRoster': JsonConverters.toJson(ClassRoster,'List',context!), 'WaitList': JsonConverters.toJson(WaitList,'List',context!) }); getTypeName() => "ClassRosterResponseDto"; TypeContext? context = _ctx; } class ClassRosterResponse extends ClassRosterResponseDto implements IConvertible { bool? Success; String? Message; DateTime? ClassDate; int? FreeSpots; int? MaxSpots; int? TotalBooked; String? LocationType; String? VirtualLink; List? ClassRoster; List? WaitList; ClassRosterResponse({this.Success,this.Message,this.ClassDate,this.FreeSpots,this.MaxSpots,this.TotalBooked,this.LocationType,this.VirtualLink,this.ClassRoster,this.WaitList}); ClassRosterResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Success = json['Success']; Message = json['Message']; ClassDate = JsonConverters.fromJson(json['ClassDate'],'DateTime',context!); FreeSpots = json['FreeSpots']; MaxSpots = json['MaxSpots']; TotalBooked = json['TotalBooked']; LocationType = json['LocationType']; VirtualLink = json['VirtualLink']; ClassRoster = JsonConverters.fromJson(json['ClassRoster'],'List',context!); WaitList = JsonConverters.fromJson(json['WaitList'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'Success': Success, 'Message': Message, 'ClassDate': JsonConverters.toJson(ClassDate,'DateTime',context!), 'FreeSpots': FreeSpots, 'MaxSpots': MaxSpots, 'TotalBooked': TotalBooked, 'LocationType': LocationType, 'VirtualLink': VirtualLink, 'ClassRoster': JsonConverters.toJson(ClassRoster,'List',context!), 'WaitList': JsonConverters.toJson(WaitList,'List',context!) }); getTypeName() => "ClassRosterResponse"; TypeContext? context = _ctx; } // @Route("/scheduling/class-roster", "GET") class ClassRosterRequest extends ClassRosterRequestDto implements IReturn, IRestrictedApiRequest, IConvertible { /** * Api Key - grants access to resources */ // @ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query") String? ApiKey; /** * Store Id or Chain Id is required */ // @ApiMember(DataType="integer", Description="Store Id or Chain Id is required", Name="StoreId", ParameterType="query") int? StoreId; /** * Store Id or Chain Id is required */ // @ApiMember(DataType="integer", Description="Store Id or Chain Id is required", Name="ChainId", ParameterType="query") int? ChainId; /** * Class Schedule ID */ // @ApiMember(DataType="integer", Description="Class Schedule ID", IsRequired=true, Name="ClassScheduleId", ParameterType="query") int? ClassScheduleId; int? RestrictedId; RestrictedResourceType? RestrictedResourceType; ClassRosterRequest({this.ApiKey,this.StoreId,this.ChainId,this.ClassScheduleId,this.RestrictedId,this.RestrictedResourceType}); ClassRosterRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ApiKey = json['ApiKey']; StoreId = json['StoreId']; ChainId = json['ChainId']; ClassScheduleId = json['ClassScheduleId']; RestrictedId = json['RestrictedId']; RestrictedResourceType = JsonConverters.fromJson(json['RestrictedResourceType'],'RestrictedResourceType',context!); return this; } Map toJson() => super.toJson()..addAll({ 'ApiKey': ApiKey, 'StoreId': StoreId, 'ChainId': ChainId, 'ClassScheduleId': ClassScheduleId, 'RestrictedId': RestrictedId, 'RestrictedResourceType': JsonConverters.toJson(RestrictedResourceType,'RestrictedResourceType',context!) }); createResponse() => ClassRosterResponse(); getResponseTypeName() => "ClassRosterResponse"; getTypeName() => "ClassRosterRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'www.clubready.com', types: { 'RestrictedResourceType': TypeInfo(TypeOf.Enum, enumValues:RestrictedResourceType.values), 'IRestrictedApiRequest': TypeInfo(TypeOf.Interface), 'IApiKeyEndpoint': TypeInfo(TypeOf.Interface), 'ApiDtoBase': TypeInfo(TypeOf.Class, create:() => ApiDtoBase()), 'ClassRosterRequestDto': TypeInfo(TypeOf.Class, create:() => ClassRosterRequestDto()), 'ClassRosterCreditType': TypeInfo(TypeOf.Enum, enumValues:ClassRosterCreditType.values), 'ClassRosterItem': TypeInfo(TypeOf.Class, create:() => ClassRosterItem()), 'ApiResponseBase': TypeInfo(TypeOf.Class, create:() => ApiResponseBase()), 'ClassRosterResponseDto': TypeInfo(TypeOf.Class, create:() => ClassRosterResponseDto()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ClassRosterResponse': TypeInfo(TypeOf.Class, create:() => ClassRosterResponse()), 'ClassRosterRequest': TypeInfo(TypeOf.Class, create:() => ClassRosterRequest()), });