ClubManager.Api

<back to all web services

MemberService.GetMembersForAccessControlRequest

Requires Authentication
The following routes are available for this service:
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 .jsv suffix or ?format=jsv

HTTP + JSV

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: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	MemberId: 0,
	Date: 0001-01-01
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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-01,
			EndDate: 0001-01-01,
			ScheduleId: 0,
			SessionsRemaining: 0,
			LastAttendance: 0001-01-01,
			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-01,
		TrialEnd: 0001-01-01,
		PaymentStartDate: 0001-01-01,
		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,
		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-01,
		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-01,
		TermsAndConditionsAcceptedDate: 0001-01-01,
		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
	}
}