/* Options: Date: 2025-04-04 17:53:15 SwiftVersion: 5.0 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.clubmanagercentral.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: MemberService.GetMemberByKeyRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/api/Member/GetMemberByKey", "POST,GET") public class GetMemberByKeyRequest : IReturn, Codable { public typealias Return = Member public var memberKey:String? required public init(){} } public class Member : Codable { public var memberId:Int? public var branchId:Int? public var membershipNumber:String? public var joinedDate:Date? public var cardNumber:String? public var companyName:String? public var gender:Gender? public var genderName:String? public var fullName:String? public var title:String? public var forenames:String? public var surname:String? public var address1:String? public var address2:String? public var county:String? public var city:String? public var homePhone:String? public var mobilePhone:String? public var emailAddress:String? public var externalReference:String? public var country:String? public var emailOptOut:Bool? public var smsOptOut:Bool? public var phoneOptOut:Bool? public var letterOptOut:Bool? public var useExternalStatus:Bool? public var externalStatus:ExternalStatus? public var dateOfBirth:Date? public var postcode:String? public var notes:String? public var startDate:Date? public var expires:Date? public var sessionsRemaining:Int? public var contractEndDate:Date? public var daysRemaining:Int? public var membershipType:String? public var lastAttendance:Date? public var attendance:Int? public var memberType:MemberType? public var recurringPayments:Int? public var overduePayments:Int? public var attendanceThisWeek:Int? public var retentionMetric:Double? public var monthlyAttendanceFrequency:Double? public var totalProductSpend:Double? public var journalEntry:String? public var balance:Double? public var creditLimit:Double? public var guid:String? public var membershipState:MembershipState? public var bookingsAttended:Int? public var dateOfLastBooking:Date? public var photoModifiedDate:Date? public var createdDate:Date? public var modifiedDate:Date? public var deletedDate:Date? public var memberKey:String? public var createdByUserId:Int? public var assignedToUserId:Int? public var deletedByUserId:Int? public var giftAidPermission:Bool? public var firstAidPermission:Bool? public var photoPermission:Bool? public var emergencyContact:String? public var wonOrLost:Int? public var wonOrLostDate:Date? public var wonOrLostByUserId:Int? public var licenseReference:String? public var licenseStartDate:Date? public var licenseRenewalDate:Date? public var agreedToTerms:Date? public var onlineBookingBanned:Bool? public var childBranchId:Int? public var childBranch:String? public var prospectingPoints:Int? public var achievementPoints:Int? public var parentForenames:String? public var parentSurname:String? public var gradingReadiness:Int? public var directDebitAccountHolder:String? public var directDebitAccountNumber:String? public var directDebitSortCode:String? public var directDebitBankAddress:String? public var invitedDate:Date? public var grade:String? public var colourLeft:String? public var colourRight:String? public var sessionsToComplete:Int? public var uniqueId:String? public var preferenceLink:String? public var marketingAllLink:String? public var marketingNoneLink:String? public var appRegistrationId:String? public var appRegistrationLink:String? public var appQrImageLink:String? public var cardNumberQrImageLink:String? public var photoThumbnailLink:String? public var contentTypesOptIn:MessageTemplateContentType? public var templateTypesOptIn:MessageTemplateType? public var canEmail:Bool? public var canDirectMail:Bool? public var canSMS:Bool? public var canTelephone:Bool? public var noMarketingConsent:Bool? public var canSendInvite:Bool? public var branchKey:String? public var sageLink:String? public var sageLastPaymentDate:Date? public var sageFirstPaymentDate:Date? public var sageLastPaymentAmount:Double? public var sageFirstPaymentAmount:Double? public var sageTotalPaid:Double? required public init(){} } public enum Gender : String, Codable { case Unknown case Male case Female case Other case PreferNotToSay } public enum ExternalStatus : String, Codable { case Off case Active case Pending case CancelledInsideContract case CancelledOutsideContract case WithDebtRecovery case Suspended } public enum MemberType : String, Codable { case Prospect case Active case Cancelled case Expired case Suspended case ClubCancelled case DropOut } public enum MembershipState : String, Codable { case Prospect case Active case Expired case Cancelled case PaymentRequired case Suspended } // @Flags() public enum MessageTemplateContentType : Int, Codable { case Transactional = 1 case Marketing = 2 case None = 1048576 } // @Flags() public enum MessageTemplateType : Int, Codable { case SMS = 1 case Email = 2 case Telephone = 4 case DirectMail = 8 case Notification = 16 case Page = 32 case None = 1048576 case NoConsent = 2097152 }