/* Options: Date: 2025-04-04 17:44:41 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.clubmanagercentral.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: MemberService.GetMemberRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; enum Gender { Unknown, Male, Female, Other, PreferNotToSay, } enum ExternalStatus { Off, Active, Pending, CancelledInsideContract, CancelledOutsideContract, WithDebtRecovery, Suspended, } enum MemberType { Prospect, Active, Cancelled, Expired, Suspended, ClubCancelled, DropOut, } enum MembershipState { Prospect, Active, Expired, Cancelled, PaymentRequired, Suspended, } // @Flags() class MessageTemplateContentType { static const MessageTemplateContentType Transactional = const MessageTemplateContentType._(1); static const MessageTemplateContentType Marketing = const MessageTemplateContentType._(2); static const MessageTemplateContentType None = const MessageTemplateContentType._(1048576); final int _value; const MessageTemplateContentType._(this._value); int get value => _value; static List get values => const [Transactional,Marketing,None]; } // @Flags() class MessageTemplateType { static const MessageTemplateType SMS = const MessageTemplateType._(1); static const MessageTemplateType Email = const MessageTemplateType._(2); static const MessageTemplateType Telephone = const MessageTemplateType._(4); static const MessageTemplateType DirectMail = const MessageTemplateType._(8); static const MessageTemplateType Notification = const MessageTemplateType._(16); static const MessageTemplateType Page = const MessageTemplateType._(32); static const MessageTemplateType None = const MessageTemplateType._(1048576); static const MessageTemplateType NoConsent = const MessageTemplateType._(2097152); final int _value; const MessageTemplateType._(this._value); int get value => _value; static List get values => const [SMS,Email,Telephone,DirectMail,Notification,Page,None,NoConsent]; } class Member implements IConvertible { int? MemberId; int? BranchId; String? MembershipNumber; DateTime? JoinedDate; String? CardNumber; String? CompanyName; Gender? Gender; String? GenderName; String? FullName; String? Title; String? Forenames; String? Surname; String? Address1; String? Address2; String? County; String? City; String? HomePhone; String? MobilePhone; String? EmailAddress; String? ExternalReference; String? Country; bool? EmailOptOut; bool? SmsOptOut; bool? PhoneOptOut; bool? LetterOptOut; bool? UseExternalStatus; ExternalStatus? ExternalStatus; DateTime? DateOfBirth; String? Postcode; String? Notes; DateTime? StartDate; DateTime? Expires; int? SessionsRemaining; DateTime? ContractEndDate; int? DaysRemaining; String? MembershipType; DateTime? LastAttendance; int? Attendance; MemberType? MemberType; int? RecurringPayments; int? OverduePayments; int? AttendanceThisWeek; double? retentionMetric; double? MonthlyAttendanceFrequency; double? TotalProductSpend; String? JournalEntry; double? Balance; double? CreditLimit; String? guid; MembershipState? MembershipState; int? BookingsAttended; DateTime? DateOfLastBooking; DateTime? PhotoModifiedDate; DateTime? CreatedDate; DateTime? ModifiedDate; DateTime? DeletedDate; String? MemberKey; int? CreatedByUserId; int? AssignedToUserId; int? DeletedByUserId; bool? GiftAidPermission; bool? FirstAidPermission; bool? PhotoPermission; String? EmergencyContact; int? WonOrLost; DateTime? WonOrLostDate; int? WonOrLostByUserId; String? LicenseReference; DateTime? LicenseStartDate; DateTime? LicenseRenewalDate; DateTime? AgreedToTerms; bool? OnlineBookingBanned; int? ChildBranchId; String? ChildBranch; int? ProspectingPoints; int? AchievementPoints; String? ParentForenames; String? ParentSurname; int? GradingReadiness; String? DirectDebitAccountHolder; String? DirectDebitAccountNumber; String? DirectDebitSortCode; String? DirectDebitBankAddress; DateTime? InvitedDate; String? Grade; String? ColourLeft; String? ColourRight; int? SessionsToComplete; String? UniqueId; String? PreferenceLink; String? MarketingAllLink; String? MarketingNoneLink; String? AppRegistrationId; String? AppRegistrationLink; String? AppQrImageLink; String? CardNumberQrImageLink; String? PhotoThumbnailLink; MessageTemplateContentType? ContentTypesOptIn; MessageTemplateType? TemplateTypesOptIn; bool? CanEmail; bool? CanDirectMail; bool? CanSMS; bool? CanTelephone; bool? NoMarketingConsent; bool? CanSendInvite; String? BranchKey; String? SageLink; DateTime? SageLastPaymentDate; DateTime? SageFirstPaymentDate; double? SageLastPaymentAmount; double? SageFirstPaymentAmount; double? SageTotalPaid; Member({this.MemberId,this.BranchId,this.MembershipNumber,this.JoinedDate,this.CardNumber,this.CompanyName,this.Gender,this.GenderName,this.FullName,this.Title,this.Forenames,this.Surname,this.Address1,this.Address2,this.County,this.City,this.HomePhone,this.MobilePhone,this.EmailAddress,this.ExternalReference,this.Country,this.EmailOptOut,this.SmsOptOut,this.PhoneOptOut,this.LetterOptOut,this.UseExternalStatus,this.ExternalStatus,this.DateOfBirth,this.Postcode,this.Notes,this.StartDate,this.Expires,this.SessionsRemaining,this.ContractEndDate,this.DaysRemaining,this.MembershipType,this.LastAttendance,this.Attendance,this.MemberType,this.RecurringPayments,this.OverduePayments,this.AttendanceThisWeek,this.retentionMetric,this.MonthlyAttendanceFrequency,this.TotalProductSpend,this.JournalEntry,this.Balance,this.CreditLimit,this.guid,this.MembershipState,this.BookingsAttended,this.DateOfLastBooking,this.PhotoModifiedDate,this.CreatedDate,this.ModifiedDate,this.DeletedDate,this.MemberKey,this.CreatedByUserId,this.AssignedToUserId,this.DeletedByUserId,this.GiftAidPermission,this.FirstAidPermission,this.PhotoPermission,this.EmergencyContact,this.WonOrLost,this.WonOrLostDate,this.WonOrLostByUserId,this.LicenseReference,this.LicenseStartDate,this.LicenseRenewalDate,this.AgreedToTerms,this.OnlineBookingBanned,this.ChildBranchId,this.ChildBranch,this.ProspectingPoints,this.AchievementPoints,this.ParentForenames,this.ParentSurname,this.GradingReadiness,this.DirectDebitAccountHolder,this.DirectDebitAccountNumber,this.DirectDebitSortCode,this.DirectDebitBankAddress,this.InvitedDate,this.Grade,this.ColourLeft,this.ColourRight,this.SessionsToComplete,this.UniqueId,this.PreferenceLink,this.MarketingAllLink,this.MarketingNoneLink,this.AppRegistrationId,this.AppRegistrationLink,this.AppQrImageLink,this.CardNumberQrImageLink,this.PhotoThumbnailLink,this.ContentTypesOptIn,this.TemplateTypesOptIn,this.CanEmail,this.CanDirectMail,this.CanSMS,this.CanTelephone,this.NoMarketingConsent,this.CanSendInvite,this.BranchKey,this.SageLink,this.SageLastPaymentDate,this.SageFirstPaymentDate,this.SageLastPaymentAmount,this.SageFirstPaymentAmount,this.SageTotalPaid}); Member.fromJson(Map json) { fromMap(json); } fromMap(Map json) { MemberId = json['MemberId']; BranchId = json['BranchId']; MembershipNumber = json['MembershipNumber']; JoinedDate = JsonConverters.fromJson(json['JoinedDate'],'DateTime',context!); CardNumber = json['CardNumber']; CompanyName = json['CompanyName']; Gender = JsonConverters.fromJson(json['Gender'],'Gender',context!); GenderName = json['GenderName']; FullName = json['FullName']; Title = json['Title']; Forenames = json['Forenames']; Surname = json['Surname']; Address1 = json['Address1']; Address2 = json['Address2']; County = json['County']; City = json['City']; HomePhone = json['HomePhone']; MobilePhone = json['MobilePhone']; EmailAddress = json['EmailAddress']; ExternalReference = json['ExternalReference']; Country = json['Country']; EmailOptOut = json['EmailOptOut']; SmsOptOut = json['SmsOptOut']; PhoneOptOut = json['PhoneOptOut']; LetterOptOut = json['LetterOptOut']; UseExternalStatus = json['UseExternalStatus']; ExternalStatus = JsonConverters.fromJson(json['ExternalStatus'],'ExternalStatus',context!); DateOfBirth = JsonConverters.fromJson(json['DateOfBirth'],'DateTime',context!); Postcode = json['Postcode']; Notes = json['Notes']; StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!); Expires = JsonConverters.fromJson(json['Expires'],'DateTime',context!); SessionsRemaining = json['SessionsRemaining']; ContractEndDate = JsonConverters.fromJson(json['ContractEndDate'],'DateTime',context!); DaysRemaining = json['DaysRemaining']; MembershipType = json['MembershipType']; LastAttendance = JsonConverters.fromJson(json['LastAttendance'],'DateTime',context!); Attendance = json['Attendance']; MemberType = JsonConverters.fromJson(json['MemberType'],'MemberType',context!); RecurringPayments = json['RecurringPayments']; OverduePayments = json['OverduePayments']; AttendanceThisWeek = json['AttendanceThisWeek']; retentionMetric = JsonConverters.toDouble(json['retentionMetric']); MonthlyAttendanceFrequency = JsonConverters.toDouble(json['MonthlyAttendanceFrequency']); TotalProductSpend = JsonConverters.toDouble(json['TotalProductSpend']); JournalEntry = json['JournalEntry']; Balance = JsonConverters.toDouble(json['Balance']); CreditLimit = JsonConverters.toDouble(json['CreditLimit']); guid = json['guid']; MembershipState = JsonConverters.fromJson(json['MembershipState'],'MembershipState',context!); BookingsAttended = json['BookingsAttended']; DateOfLastBooking = JsonConverters.fromJson(json['DateOfLastBooking'],'DateTime',context!); PhotoModifiedDate = JsonConverters.fromJson(json['PhotoModifiedDate'],'DateTime',context!); CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!); ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); DeletedDate = JsonConverters.fromJson(json['DeletedDate'],'DateTime',context!); MemberKey = json['MemberKey']; CreatedByUserId = json['CreatedByUserId']; AssignedToUserId = json['AssignedToUserId']; DeletedByUserId = json['DeletedByUserId']; GiftAidPermission = json['GiftAidPermission']; FirstAidPermission = json['FirstAidPermission']; PhotoPermission = json['PhotoPermission']; EmergencyContact = json['EmergencyContact']; WonOrLost = json['WonOrLost']; WonOrLostDate = JsonConverters.fromJson(json['WonOrLostDate'],'DateTime',context!); WonOrLostByUserId = json['WonOrLostByUserId']; LicenseReference = json['LicenseReference']; LicenseStartDate = JsonConverters.fromJson(json['LicenseStartDate'],'DateTime',context!); LicenseRenewalDate = JsonConverters.fromJson(json['LicenseRenewalDate'],'DateTime',context!); AgreedToTerms = JsonConverters.fromJson(json['AgreedToTerms'],'DateTime',context!); OnlineBookingBanned = json['OnlineBookingBanned']; ChildBranchId = json['ChildBranchId']; ChildBranch = json['ChildBranch']; ProspectingPoints = json['ProspectingPoints']; AchievementPoints = json['AchievementPoints']; ParentForenames = json['ParentForenames']; ParentSurname = json['ParentSurname']; GradingReadiness = json['GradingReadiness']; DirectDebitAccountHolder = json['DirectDebitAccountHolder']; DirectDebitAccountNumber = json['DirectDebitAccountNumber']; DirectDebitSortCode = json['DirectDebitSortCode']; DirectDebitBankAddress = json['DirectDebitBankAddress']; InvitedDate = JsonConverters.fromJson(json['InvitedDate'],'DateTime',context!); Grade = json['Grade']; ColourLeft = json['ColourLeft']; ColourRight = json['ColourRight']; SessionsToComplete = json['SessionsToComplete']; UniqueId = json['UniqueId']; PreferenceLink = json['PreferenceLink']; MarketingAllLink = json['MarketingAllLink']; MarketingNoneLink = json['MarketingNoneLink']; AppRegistrationId = json['AppRegistrationId']; AppRegistrationLink = json['AppRegistrationLink']; AppQrImageLink = json['AppQrImageLink']; CardNumberQrImageLink = json['CardNumberQrImageLink']; PhotoThumbnailLink = json['PhotoThumbnailLink']; ContentTypesOptIn = JsonConverters.fromJson(json['ContentTypesOptIn'],'MessageTemplateContentType',context!); TemplateTypesOptIn = JsonConverters.fromJson(json['TemplateTypesOptIn'],'MessageTemplateType',context!); CanEmail = json['CanEmail']; CanDirectMail = json['CanDirectMail']; CanSMS = json['CanSMS']; CanTelephone = json['CanTelephone']; NoMarketingConsent = json['NoMarketingConsent']; CanSendInvite = json['CanSendInvite']; BranchKey = json['BranchKey']; SageLink = json['SageLink']; SageLastPaymentDate = JsonConverters.fromJson(json['SageLastPaymentDate'],'DateTime',context!); SageFirstPaymentDate = JsonConverters.fromJson(json['SageFirstPaymentDate'],'DateTime',context!); SageLastPaymentAmount = JsonConverters.toDouble(json['SageLastPaymentAmount']); SageFirstPaymentAmount = JsonConverters.toDouble(json['SageFirstPaymentAmount']); SageTotalPaid = JsonConverters.toDouble(json['SageTotalPaid']); return this; } Map toJson() => { 'MemberId': MemberId, 'BranchId': BranchId, 'MembershipNumber': MembershipNumber, 'JoinedDate': JsonConverters.toJson(JoinedDate,'DateTime',context!), 'CardNumber': CardNumber, 'CompanyName': CompanyName, 'Gender': JsonConverters.toJson(Gender,'Gender',context!), 'GenderName': GenderName, 'FullName': FullName, 'Title': Title, 'Forenames': Forenames, 'Surname': Surname, 'Address1': Address1, 'Address2': Address2, 'County': County, 'City': City, 'HomePhone': HomePhone, 'MobilePhone': MobilePhone, 'EmailAddress': EmailAddress, 'ExternalReference': ExternalReference, 'Country': Country, 'EmailOptOut': EmailOptOut, 'SmsOptOut': SmsOptOut, 'PhoneOptOut': PhoneOptOut, 'LetterOptOut': LetterOptOut, 'UseExternalStatus': UseExternalStatus, 'ExternalStatus': JsonConverters.toJson(ExternalStatus,'ExternalStatus',context!), 'DateOfBirth': JsonConverters.toJson(DateOfBirth,'DateTime',context!), 'Postcode': Postcode, 'Notes': Notes, 'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!), 'Expires': JsonConverters.toJson(Expires,'DateTime',context!), 'SessionsRemaining': SessionsRemaining, 'ContractEndDate': JsonConverters.toJson(ContractEndDate,'DateTime',context!), 'DaysRemaining': DaysRemaining, 'MembershipType': MembershipType, 'LastAttendance': JsonConverters.toJson(LastAttendance,'DateTime',context!), 'Attendance': Attendance, 'MemberType': JsonConverters.toJson(MemberType,'MemberType',context!), 'RecurringPayments': RecurringPayments, 'OverduePayments': OverduePayments, 'AttendanceThisWeek': AttendanceThisWeek, 'retentionMetric': retentionMetric, 'MonthlyAttendanceFrequency': MonthlyAttendanceFrequency, 'TotalProductSpend': TotalProductSpend, 'JournalEntry': JournalEntry, 'Balance': Balance, 'CreditLimit': CreditLimit, 'guid': guid, 'MembershipState': JsonConverters.toJson(MembershipState,'MembershipState',context!), 'BookingsAttended': BookingsAttended, 'DateOfLastBooking': JsonConverters.toJson(DateOfLastBooking,'DateTime',context!), 'PhotoModifiedDate': JsonConverters.toJson(PhotoModifiedDate,'DateTime',context!), 'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!), 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'DeletedDate': JsonConverters.toJson(DeletedDate,'DateTime',context!), 'MemberKey': MemberKey, 'CreatedByUserId': CreatedByUserId, 'AssignedToUserId': AssignedToUserId, 'DeletedByUserId': DeletedByUserId, 'GiftAidPermission': GiftAidPermission, 'FirstAidPermission': FirstAidPermission, 'PhotoPermission': PhotoPermission, 'EmergencyContact': EmergencyContact, 'WonOrLost': WonOrLost, 'WonOrLostDate': JsonConverters.toJson(WonOrLostDate,'DateTime',context!), 'WonOrLostByUserId': WonOrLostByUserId, 'LicenseReference': LicenseReference, 'LicenseStartDate': JsonConverters.toJson(LicenseStartDate,'DateTime',context!), 'LicenseRenewalDate': JsonConverters.toJson(LicenseRenewalDate,'DateTime',context!), 'AgreedToTerms': JsonConverters.toJson(AgreedToTerms,'DateTime',context!), 'OnlineBookingBanned': OnlineBookingBanned, 'ChildBranchId': ChildBranchId, 'ChildBranch': ChildBranch, 'ProspectingPoints': ProspectingPoints, 'AchievementPoints': AchievementPoints, 'ParentForenames': ParentForenames, 'ParentSurname': ParentSurname, 'GradingReadiness': GradingReadiness, 'DirectDebitAccountHolder': DirectDebitAccountHolder, 'DirectDebitAccountNumber': DirectDebitAccountNumber, 'DirectDebitSortCode': DirectDebitSortCode, 'DirectDebitBankAddress': DirectDebitBankAddress, 'InvitedDate': JsonConverters.toJson(InvitedDate,'DateTime',context!), 'Grade': Grade, 'ColourLeft': ColourLeft, 'ColourRight': ColourRight, 'SessionsToComplete': SessionsToComplete, 'UniqueId': UniqueId, 'PreferenceLink': PreferenceLink, 'MarketingAllLink': MarketingAllLink, 'MarketingNoneLink': MarketingNoneLink, 'AppRegistrationId': AppRegistrationId, 'AppRegistrationLink': AppRegistrationLink, 'AppQrImageLink': AppQrImageLink, 'CardNumberQrImageLink': CardNumberQrImageLink, 'PhotoThumbnailLink': PhotoThumbnailLink, 'ContentTypesOptIn': JsonConverters.toJson(ContentTypesOptIn,'MessageTemplateContentType',context!), 'TemplateTypesOptIn': JsonConverters.toJson(TemplateTypesOptIn,'MessageTemplateType',context!), 'CanEmail': CanEmail, 'CanDirectMail': CanDirectMail, 'CanSMS': CanSMS, 'CanTelephone': CanTelephone, 'NoMarketingConsent': NoMarketingConsent, 'CanSendInvite': CanSendInvite, 'BranchKey': BranchKey, 'SageLink': SageLink, 'SageLastPaymentDate': JsonConverters.toJson(SageLastPaymentDate,'DateTime',context!), 'SageFirstPaymentDate': JsonConverters.toJson(SageFirstPaymentDate,'DateTime',context!), 'SageLastPaymentAmount': SageLastPaymentAmount, 'SageFirstPaymentAmount': SageFirstPaymentAmount, 'SageTotalPaid': SageTotalPaid }; getTypeName() => "Member"; TypeContext? context = _ctx; } // @Route("/api/Member/GetMember", "POST,GET") class GetMemberRequest implements IReturn, IConvertible { int? MemberId; GetMemberRequest({this.MemberId}); GetMemberRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { MemberId = json['MemberId']; return this; } Map toJson() => { 'MemberId': MemberId }; createResponse() => Member(); getResponseTypeName() => "Member"; getTypeName() => "GetMemberRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.clubmanagercentral.com', types: { 'Gender': TypeInfo(TypeOf.Enum, enumValues:Gender.values), 'ExternalStatus': TypeInfo(TypeOf.Enum, enumValues:ExternalStatus.values), 'MemberType': TypeInfo(TypeOf.Enum, enumValues:MemberType.values), 'MembershipState': TypeInfo(TypeOf.Enum, enumValues:MembershipState.values), 'MessageTemplateContentType': TypeInfo(TypeOf.Enum, enumValues:MessageTemplateContentType.values), 'MessageTemplateType': TypeInfo(TypeOf.Enum, enumValues:MessageTemplateType.values), 'Member': TypeInfo(TypeOf.Class, create:() => Member()), 'GetMemberRequest': TypeInfo(TypeOf.Class, create:() => GetMemberRequest()), });