POST,GET | /api/Member/GetMembersForAccessControl |
---|
import Foundation
import ServiceStack
public class AccessControlMembers : Codable
{
public var members:[AccessControlMember] = []
public var schedules:[Schedule] = []
public var branch:Branch?
required public init(){}
}
public class AccessControlMember : Codable
{
public var memberId:Int?
public var enrolmentId:Int?
public var branchId:Int?
public var membershipState:MembershipState?
public var membershipNumber:String?
public var cardNumber:String?
public var forenames:String?
public var surname:String?
public var multiSiteAccess:Bool?
public var useExternalStatus:Bool?
public var externalStatus:ExternalStatus?
public var membershipTypeName:String?
public var startDate:Date?
public var endDate:Date?
public var scheduleId:Int?
public var sessionsRemaining:Int?
public var lastAttendance:Date?
public var memberAccess:MemberAccess?
required public init(){}
}
public enum MembershipState : String, Codable
{
case Prospect
case Active
case Expired
case Cancelled
case PaymentRequired
case Suspended
}
public enum ExternalStatus : String, Codable
{
case Off
case Active
case Pending
case CancelledInsideContract
case CancelledOutsideContract
case WithDebtRecovery
case Suspended
}
public enum MemberAccess : Int, Codable
{
case AccessAllowed = 1
case NoAccess = 2
case NoMultiSiteAccess = 3
case NoSessions = 4
case NoScheduleAccess = 5
case NoAccessTimeLimitExceeded = 6
case Suspended = 7
}
public class Schedule : Codable
{
public var scheduleId:Int?
public var name:String?
public var Description:String?
@TimeSpan public var mondayFrom:TimeInterval?
@TimeSpan public var mondayTo:TimeInterval?
@TimeSpan public var tuesdayFrom:TimeInterval?
@TimeSpan public var tuesdayTo:TimeInterval?
@TimeSpan public var wednesdayFrom:TimeInterval?
@TimeSpan public var wednesdayTo:TimeInterval?
@TimeSpan public var thursdayFrom:TimeInterval?
@TimeSpan public var thursdayTo:TimeInterval?
@TimeSpan public var fridayFrom:TimeInterval?
@TimeSpan public var fridayTo:TimeInterval?
@TimeSpan public var saturdayFrom:TimeInterval?
@TimeSpan public var saturdayTo:TimeInterval?
@TimeSpan public var sundayFrom:TimeInterval?
@TimeSpan public var sundayTo:TimeInterval?
public var scheduleType:Int?
public var branchId:Int?
public var deleted:Bool?
public var demo:Bool?
public var monday:Bool?
public var tuesday:Bool?
public var wednesday:Bool?
public var thursday:Bool?
public var friday:Bool?
public var saturday:Bool?
public var sunday:Bool?
@TimeSpan public var mondayTotalTime:TimeInterval?
@TimeSpan public var tuesdayTotalTime:TimeInterval?
@TimeSpan public var wednesdayTotalTime:TimeInterval?
@TimeSpan public var thursdayTotalTime:TimeInterval?
@TimeSpan public var fridayTotalTime:TimeInterval?
@TimeSpan public var saturdayTotalTime:TimeInterval?
@TimeSpan public var sundayTotalTime:TimeInterval?
@TimeSpan public var totalTime:TimeInterval?
required public init(){}
}
public class Branch : Codable
{
public var branchId:Int?
public var branchType:BranchType?
public var name:String?
public var `prefix`:String?
public var companyName:String?
public var companyAddress:String?
public var companyOfficialName:String?
public var directDebitReference:String?
public var fastDDReference:String?
public var fastDDPlatinumRef:String?
public var style:String?
public var publicKey:String?
public var privateKey:String?
public var trialStart:Date?
public var trialEnd:Date?
public var paymentStartDate:Date?
public var inTrial:Bool?
public var useFreeText:Bool?
public var freeTextTitle:String?
public var useMembershipTypes:Bool?
public var ddUserName:String?
public var ddPassword:String?
public var ddServiceUser:String?
public var dfcUserName:String?
public var dfcPassword:String?
public var dfcClubNumber:String?
public var companyEmail:String?
public var smsOriginator:String?
public var languageId:Int?
public var vatRate:Double?
public var swipeAction:Int?
public var modules:Module?
public var useCreditBalance:Bool?
public var allowNegativeBalance:Bool?
public var defaultCreditLimit:Double?
public var applicationType:ApplicationType?
public var externalProviderWarning:String?
public var domain:String?
public var mobileDomain:String?
public var onlineBookingTimetableLimit:Int?
public var onlineBookingCancellationLimit:Int?
public var onlineBookingLimit:Int?
public var feature:Feature?
public var timeZone:String?
public var culture:String?
public var country:String?
public var iso3166Country:Iso3166Country?
public var currencyCulture:String?
public var showGoCardlessAd:Bool?
public var goCardlessSaving:Double?
public var sroAddress:String?
public var mcaClubNo:String?
public var mcaClubRef:String?
public var twilioNumber:String?
public var telephone:String?
public var transferred:Bool?
public var onlineBookingAllowNonActives:Bool?
public var memberLimit:Int?
public var sortCode:String?
public var accountNumber:String?
public var website:String?
public var sendSMSAppointmentRemindersDefault:Bool?
public var sendSMSBookingReminders:Bool?
public var giftAid:Bool?
@TimeSpan public var globalBookingStartTime:TimeInterval?
@TimeSpan public var globalBookingEndTime:TimeInterval?
public var bookingMinuteIncrements:Int?
public var cancelReason:String?
public var cancelFurther:String?
public var cancelDate:Date?
public var directDebitFee:Double?
public var creditCardFee:Double?
public var smsPriceAdjustment:Double?
public var bookingsPayLinkOnTrack:Bool?
public var accessControlTimeLimit:Int?
public var minimiser:BranchMinimiser?
public var autoGenerateLicenses:Bool?
public var terms:String?
public var fingerprintThreshold:Int?
public var fingerprintMatcherThreshold:Int?
public var autoShutoff:Bool?
public var primaryColors:String?
public var hasColors:Bool?
public var primaryColor:String?
public var secondaryColor:String?
public var backgroundColor:String?
public var headerTopColor:String?
public var headerBottomColor:String?
public var sideLeftColor:String?
public var sideRightColor:String?
public var sideFontColor:String?
public var sideFontActiveColor:String?
public var extWebBackgroundColor:String?
public var extWebTextColor:String?
public var extWebTintBackColor:String?
public var extWebHighlightBackColor:String?
public var extWebTabBackColor:String?
public var headingColor:String?
public var reportFormat:ReportFormat?
public var fixPayments:Bool?
public var fixPaymentSchedle:String?
public var appFeature:AppFeature?
public var signInScreenFeature:SignInScreenFeature?
public var appOptions:String?
public var companyDescription:String?
public var capacity:Int?
public var monthlySalesTarget:Int?
public var bookingAccessTimeLimit:Int?
public var facebook:String?
public var twitter:String?
public var instagram:String?
public var youTube:String?
public var tikTok:String?
public var shopify:String?
public var minimumMemberAge:Int?
public var termsAndConditionsVersionDate:Date?
public var termsAndConditionsAcceptedDate:Date?
public var termsAndConditionsAccepted:Bool?
public var siteUrl:String?
public var isUsingSmartDebit:Bool?
public var isUsingDfc:Bool?
public var isSouthAfrica:Bool?
public var smartDebitConfigured:Bool?
public var dfcConfigured:Bool?
public var usingPaymentMethods:Bool?
public var smsPrefix:String?
public var logo:String?
public var logoThumbnail:String?
public var logoHash:String?
public var sendMarketingInviteWhenMemberAdded:Bool?
public var sendMarketingInviteWhenMemberJoinedOnline:Bool?
public var marketingComplianceManagedExternally:Bool?
public var onlineBookingAllowWaitingList:Bool?
public var onlineMultiSiteEnabled:Bool?
public var canBookOnline:Bool?
public var publicMembershipTypes:Int?
public var trustedBranches:Int?
public var isAddingProspects:Bool?
public var isSellingMemberships:Bool?
public var isCreatingTasks:Bool?
public var isCreatingAppointments:Bool?
public var isBookingClasses:Bool?
public var isRegisteringAttendance:Bool?
public var isSellingProducts:Bool?
public var isSendingEmails:Bool?
public var isSendingSMS:Bool?
public var isUsingAutomation:Bool?
public var deductSessionsOnBooking:Bool?
public var showTrustedBranchBookings:Bool?
public var score:Int?
public var applicationId:String?
public var iOSAppLink:String?
public var androidAppLink:String?
required public init(){}
}
public enum BranchType : String, Codable
{
case DebitFinance
case SmartDebit
case Standard
case Root
case Reseller
case Referrer
}
// @Flags()
public enum Module : Int, Codable
{
case Standard = 0
case Bookings = 1
}
public enum ApplicationType : Int, Codable
{
case Gym = 1
case Golf = 2
case Dance = 3
case Soccer = 4
case Vanilla = 5
case Association = 6
case MartialArts = 7
case Gymnastics = 8
case Swimming = 9
case Nurseries = 10
case Racquet = 11
case SubscriptionBox = 12
case Clinic = 13
case Wellness = 14
case HealthAndBeauty = 15
case Climbing = 16
case AfterSchoolClub = 17
case PersonalTrainer = 18
}
// @Flags()
public enum Feature : Int, Codable
{
case None = 0
case Standard = 1
case Bookings = 2
case Rota = 4
case GoCardless = 8
case HomeScreen = 16
case EPos = 32
case Attendance = 64
case Sales = 128
case PaymentCollections = 256
case MailChimp = 512
case MultiSite = 1024
case AccountingDashboard = 2048
case OtherDashboards = 4096
case Reports = 8192
case AdvancedAccounting = 16384
case MemberLicenseDates = 32768
case FaceRecognition = 65536
case MemberAccountCreation = 131072
case Automation = 262144
case FacebookMarketing = 524288
case Grades = 1048576
case ZoomIntegration = 2097152
case SalesTargetChart = 4194304
case CustomApp = 8388608
case CustomAttributesOnPortal = 16777216
case NoExport = 33554432
case EnterpriseClubPerformanceDashboards = 67108864
}
public class Iso3166Country : Codable
{
public var name:String?
public var twoLetterCode:String?
public var threeLetterCode:String?
public var numericCode:Int?
public var phonePrefix:[String] = []
required public init(){}
}
public enum BranchMinimiser : String, Codable
{
case None
case CMGo
case BasicPortal
}
public enum ReportFormat : Int, Codable
{
case PDF = 1
case Word = 2
case Excel = 3
case PNG = 4
case XPS = 5
case CSV = 6
case Html5 = 7
}
// @Flags()
public enum AppFeature : Int, Codable
{
case None = 0
case JoinOnline = 1
case TodaysClasses = 2
case RegistrationForm = 4
case ForthcomingBookings = 8
case WeeklyTimetable = 16
case SessionTimetable = 32
case FacilityTimetable = 64
case TasterSessions = 128
case HowToFindUs = 256
case AttendanceLeaderboard = 512
case MemberMessages = 1024
case AchievementGallery = 2048
case FreeText = 4096
case QRCode = 8192
case ShareAndInviteAFriend = 16384
case RenewalPrompt = 32768
case CurrentCapacity = 65536
case JoinFriend = 131072
case MemberPoints = 262144
case PromoMembership = 524288
case Shop = 1048576
case ShowFacebook = 2097152
case ShowTwitter = 4194304
case ShowInstagram = 8388608
case ShowYouTube = 16777216
case ShowTikTok = 33554432
case ShowShopify = 67108864
case AttendanceStreak = 134217728
case BookingCategories = 268435456
case ShowSessionsRemaining = 536870912
}
// @Flags()
public enum SignInScreenFeature : Int, Codable
{
case None = 0
case SignInNumPad = 1
}
Swift MemberService.GetMembersForAccessControlRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/Member/GetMembersForAccessControl HTTP/1.1
Host: api.clubmanagercentral.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"MemberId":0,"Date":"0001-01-01T00:00:00.0000000"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"Members":[{"MemberId":0,"EnrolmentId":0,"BranchId":0,"MembershipState":"Prospect","MembershipNumber":"String","CardNumber":"String","Forenames":"String","Surname":"String","MultiSiteAccess":false,"UseExternalStatus":false,"ExternalStatus":"Off","MembershipTypeName":"String","StartDate":"0001-01-01T00:00:00.0000000","EndDate":"0001-01-01T00:00:00.0000000","ScheduleId":0,"SessionsRemaining":0,"LastAttendance":"0001-01-01T00:00:00.0000000","MemberAccess":"AccessAllowed"}],"Schedules":[{"ScheduleId":0,"Name":"String","Description":"String","MondayFrom":"PT0S","MondayTo":"PT0S","TuesdayFrom":"PT0S","TuesdayTo":"PT0S","WednesdayFrom":"PT0S","WednesdayTo":"PT0S","ThursdayFrom":"PT0S","ThursdayTo":"PT0S","FridayFrom":"PT0S","FridayTo":"PT0S","SaturdayFrom":"PT0S","SaturdayTo":"PT0S","SundayFrom":"PT0S","SundayTo":"PT0S","ScheduleType":0,"BranchId":0,"Deleted":false,"Demo":false,"Monday":true,"Tuesday":true,"Wednesday":true,"Thursday":true,"Friday":true,"Saturday":true,"Sunday":true,"MondayTotalTime":"P1D","TuesdayTotalTime":"P1D","WednesdayTotalTime":"P1D","ThursdayTotalTime":"P1D","FridayTotalTime":"P1D","SaturdayTotalTime":"P1D","SundayTotalTime":"P1D","TotalTime":"P7D"}],"Branch":{"BranchId":0,"BranchType":"DebitFinance","Name":"String","Prefix":"String","CompanyName":"String","CompanyAddress":"String","CompanyOfficialName":"String","DirectDebitReference":"String","FastDDReference":"String","FastDDPlatinumRef":"String","Style":"String","PublicKey":"00000000000000000000000000000000","PrivateKey":"00000000000000000000000000000000","TrialStart":"0001-01-01T00:00:00.0000000","TrialEnd":"0001-01-01T00:00:00.0000000","PaymentStartDate":"0001-01-01T00:00:00.0000000","InTrial":false,"UseFreeText":false,"FreeTextTitle":"String","UseMembershipTypes":false,"DDUserName":"String","DDPassword":"String","DDServiceUser":"String","DfcUserName":"String","DfcPassword":"String","DfcClubNumber":"String","CompanyEmail":"String","SmsOriginator":"String","LanguageId":0,"VatRate":0,"SwipeAction":0,"Modules":0,"UseCreditBalance":false,"AllowNegativeBalance":false,"DefaultCreditLimit":0,"ApplicationType":"Gym","ExternalProviderWarning":"String","Domain":"String","MobileDomain":"String","OnlineBookingTimetableLimit":0,"OnlineBookingCancellationLimit":0,"OnlineBookingLimit":0,"Feature":0,"TimeZone":"String","Culture":"String","Country":"String","Iso3166Country":null,"CurrencyCulture":"String","ShowGoCardlessAd":false,"GoCardlessSaving":0,"SROAddress":"String","MCAClubNo":"String","MCAClubRef":"String","TwilioNumber":"String","Telephone":"String","Transferred":false,"OnlineBookingAllowNonActives":false,"MemberLimit":0,"SortCode":"String","AccountNumber":"String","Website":"String","SendSMSAppointmentRemindersDefault":false,"SendSMSBookingReminders":false,"GiftAid":false,"GlobalBookingStartTime":"PT0S","GlobalBookingEndTime":"PT0S","BookingMinuteIncrements":0,"CancelReason":"String","CancelFurther":"String","CancelDate":"0001-01-01T00:00:00.0000000","DirectDebitFee":0,"CreditCardFee":0,"SMSPriceAdjustment":0,"BookingsPayLinkOnTrack":false,"AccessControlTimeLimit":0,"Minimiser":"None","AutoGenerateLicenses":false,"Terms":"String","FingerprintThreshold":0,"FingerprintMatcherThreshold":0,"AutoShutoff":false,"PrimaryColors":"String","HasColors":false,"PrimaryColor":"String","SecondaryColor":"#FF0C67","BackgroundColor":"#ffffff","HeaderTopColor":"#d4fd04","HeaderBottomColor":"#d4fd04","SideLeftColor":"#F0F0F0","SideRightColor":"#F0F0F0","SideFontColor":"#555555","SideFontActiveColor":"#808080","ExtWebBackgroundColor":"#FFFFFF","ExtWebTextColor":"#404040","ExtWebTintBackColor":"#B9DE00","ExtWebHighlightBackColor":"#FF0C67","ExtWebTabBackColor":"#e8e8e8","HeadingColor":"#000000","ReportFormat":"PDF","FixPayments":false,"FixPaymentSchedle":"String","AppFeature":0,"SignInScreenFeature":0,"AppOptions":"String","CompanyDescription":"String","Capacity":0,"MonthlySalesTarget":0,"BookingAccessTimeLimit":0,"Facebook":"String","Twitter":"String","Instagram":"String","YouTube":"String","TikTok":"String","Shopify":"String","MinimumMemberAge":0,"TermsAndConditionsVersionDate":"0001-01-01T00:00:00.0000000","TermsAndConditionsAcceptedDate":"0001-01-01T00:00:00.0000000","TermsAndConditionsAccepted":false,"SiteUrl":"https://string","IsUsingSmartDebit":false,"IsUsingDfc":true,"IsSouthAfrica":false,"SmartDebitConfigured":true,"DfcConfigured":true,"UsingPaymentMethods":false,"SmsPrefix":"String","Logo":"https:///Template.mvc/GetImage?id=UgByAHUAeQBNAHMAZABmADQASQBMAFEAZwBIAGMAcgArADAAQgBoADEAQQA9AD0A","LogoThumbnail":"https:///Template.mvc/GetThumbnail?id=UgByAHUAeQBNAHMAZABmADQASQBMAFEAZwBIAGMAcgArADAAQgBoADEAQQA9AD0A","LogoHash":"String","SendMarketingInviteWhenMemberAdded":false,"SendMarketingInviteWhenMemberJoinedOnline":false,"MarketingComplianceManagedExternally":false,"OnlineBookingAllowWaitingList":false,"OnlineMultiSiteEnabled":false,"CanBookOnline":false,"PublicMembershipTypes":0,"TrustedBranches":0,"IsAddingProspects":false,"IsSellingMemberships":false,"IsCreatingTasks":false,"IsCreatingAppointments":false,"IsBookingClasses":false,"IsRegisteringAttendance":false,"IsSellingProducts":false,"IsSendingEmails":false,"IsSendingSMS":false,"IsUsingAutomation":false,"DeductSessionsOnBooking":false,"ShowTrustedBranchBookings":false,"Score":0,"ApplicationId":"com.clubmanagercentral.clublink","iOSAppLink":"String","AndroidAppLink":"String"}}