| POST,GET | /api/Member/GetMembersForAccessControl |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using ClubManager.Interfaces.Models.Member;
using ClubManager.Interfaces.Models.Membership;
using ClubManager.Interfaces.Models.ResourceManagement;
using ClubManager.Interfaces.Models.Branch;
using ClubManager.Interfaces.Models;
namespace ClubManager.Interfaces.Models
{
public partial class Iso3166Country
{
public Iso3166Country()
{
PhonePrefix = new string[]{};
}
public virtual string Name { get; set; }
public virtual string TwoLetterCode { get; set; }
public virtual string ThreeLetterCode { get; set; }
public virtual int NumericCode { get; set; }
public virtual string[] PhonePrefix { get; set; }
}
}
namespace ClubManager.Interfaces.Models.Branch
{
[Flags]
public enum AppFeature
{
None = 0,
JoinOnline = 1,
TodaysClasses = 2,
RegistrationForm = 4,
ForthcomingBookings = 8,
WeeklyTimetable = 16,
SessionTimetable = 32,
FacilityTimetable = 64,
TasterSessions = 128,
HowToFindUs = 256,
AttendanceLeaderboard = 512,
MemberMessages = 1024,
AchievementGallery = 2048,
FreeText = 4096,
QRCode = 8192,
ShareAndInviteAFriend = 16384,
RenewalPrompt = 32768,
CurrentCapacity = 65536,
JoinFriend = 131072,
MemberPoints = 262144,
PromoMembership = 524288,
Shop = 1048576,
ShowFacebook = 2097152,
ShowTwitter = 4194304,
ShowInstagram = 8388608,
ShowYouTube = 16777216,
ShowTikTok = 33554432,
ShowShopify = 67108864,
AttendanceStreak = 134217728,
BookingCategories = 268435456,
ShowSessionsRemaining = 536870912,
PromptToCollectDebt = 1073741824,
}
public enum ApplicationType
{
Gym = 1,
Golf = 2,
Dance = 3,
Soccer = 4,
Vanilla = 5,
Association = 6,
MartialArts = 7,
Gymnastics = 8,
Swimming = 9,
Nurseries = 10,
Racquet = 11,
SubscriptionBox = 12,
Clinic = 13,
Wellness = 14,
HealthAndBeauty = 15,
Climbing = 16,
AfterSchoolClub = 17,
PersonalTrainer = 18,
}
public partial class Branch
{
public virtual int BranchId { get; set; }
public virtual BranchType BranchType { get; set; }
public virtual string Name { get; set; }
public virtual string Prefix { get; set; }
public virtual string CompanyName { get; set; }
public virtual string CompanyAddress { get; set; }
public virtual string CompanyOfficialName { get; set; }
public virtual string DirectDebitReference { get; set; }
public virtual string FastDDReference { get; set; }
public virtual string FastDDPlatinumRef { get; set; }
public virtual string Style { get; set; }
public virtual Guid PublicKey { get; set; }
public virtual Guid PrivateKey { get; set; }
public virtual DateTime? TrialStart { get; set; }
public virtual DateTime? TrialEnd { get; set; }
public virtual DateTime? PaymentStartDate { get; set; }
public virtual bool InTrial { get; set; }
public virtual bool UseFreeText { get; set; }
public virtual string FreeTextTitle { get; set; }
public virtual bool UseMembershipTypes { get; set; }
public virtual string DDUserName { get; set; }
public virtual string DDPassword { get; set; }
public virtual string DDServiceUser { get; set; }
public virtual string DfcUserName { get; set; }
public virtual string DfcPassword { get; set; }
public virtual string DfcClubNumber { get; set; }
public virtual string CompanyEmail { get; set; }
public virtual string SmsOriginator { get; set; }
public virtual int? LanguageId { get; set; }
public virtual decimal VatRate { get; set; }
public virtual int SwipeAction { get; set; }
public virtual Module Modules { get; set; }
public virtual bool UseCreditBalance { get; set; }
public virtual bool AllowNegativeBalance { get; set; }
public virtual decimal DefaultCreditLimit { get; set; }
public virtual ApplicationType ApplicationType { get; set; }
public virtual string ExternalProviderWarning { get; set; }
public virtual string Domain { get; set; }
public virtual string MobileDomain { get; set; }
public virtual int OnlineBookingTimetableLimit { get; set; }
public virtual int OnlineBookingCancellationLimit { get; set; }
public virtual int? OnlineBookingLimit { get; set; }
public virtual Feature Feature { get; set; }
public virtual string TimeZone { get; set; }
public virtual string Culture { get; set; }
public virtual string Country { get; set; }
public virtual Iso3166Country Iso3166Country { get; set; }
public virtual string CurrencyCulture { get; set; }
public virtual bool ShowGoCardlessAd { get; set; }
public virtual decimal GoCardlessSaving { get; set; }
public virtual string SROAddress { get; set; }
public virtual string MCAClubNo { get; set; }
public virtual string MCAClubRef { get; set; }
public virtual string TwilioNumber { get; set; }
public virtual string Telephone { get; set; }
public virtual bool Transferred { get; set; }
public virtual bool OnlineBookingAllowNonActives { get; set; }
public virtual int MemberLimit { get; set; }
public virtual string SortCode { get; set; }
public virtual string AccountNumber { get; set; }
public virtual string Website { get; set; }
public virtual bool SendSMSAppointmentRemindersDefault { get; set; }
public virtual bool SendSMSBookingReminders { get; set; }
public virtual bool GiftAid { get; set; }
public virtual TimeSpan GlobalBookingStartTime { get; set; }
public virtual TimeSpan GlobalBookingEndTime { get; set; }
public virtual int BookingMinuteIncrements { get; set; }
public virtual string CancelReason { get; set; }
public virtual string CancelFurther { get; set; }
public virtual DateTime? CancelDate { get; set; }
public virtual decimal DirectDebitFee { get; set; }
public virtual decimal CreditCardFee { get; set; }
public virtual decimal SMSPriceAdjustment { get; set; }
public virtual bool BookingsPayLinkOnTrack { get; set; }
public virtual int AccessControlTimeLimit { get; set; }
public virtual BranchMinimiser Minimiser { get; set; }
public virtual bool AutoGenerateLicenses { get; set; }
public virtual string Terms { get; set; }
public virtual int FingerprintThreshold { get; set; }
public virtual int FingerprintMatcherThreshold { get; set; }
public virtual bool AutoShutoff { get; set; }
public virtual string PrimaryColors { get; set; }
public virtual bool HasColors { get; set; }
public virtual string PrimaryColor { get; set; }
public virtual string SecondaryColor { get; set; }
public virtual string BackgroundColor { get; set; }
public virtual string HeaderTopColor { get; set; }
public virtual string HeaderBottomColor { get; set; }
public virtual string SideLeftColor { get; set; }
public virtual string SideRightColor { get; set; }
public virtual string SideFontColor { get; set; }
public virtual string SideFontActiveColor { get; set; }
public virtual string ExtWebBackgroundColor { get; set; }
public virtual string ExtWebTextColor { get; set; }
public virtual string ExtWebTintBackColor { get; set; }
public virtual string ExtWebHighlightBackColor { get; set; }
public virtual string ExtWebTabBackColor { get; set; }
public virtual string HeadingColor { get; set; }
public virtual ReportFormat ReportFormat { get; set; }
public virtual bool FixPayments { get; set; }
public virtual string FixPaymentSchedle { get; set; }
public virtual AppFeature AppFeature { get; set; }
public virtual SignInScreenFeature SignInScreenFeature { get; set; }
public virtual string AppOptions { get; set; }
public virtual string CompanyDescription { get; set; }
public virtual int? Capacity { get; set; }
public virtual int? MonthlySalesTarget { get; set; }
public virtual int BookingAccessTimeLimit { get; set; }
public virtual string Facebook { get; set; }
public virtual string Twitter { get; set; }
public virtual string Instagram { get; set; }
public virtual string YouTube { get; set; }
public virtual string TikTok { get; set; }
public virtual string Shopify { get; set; }
public virtual int MinimumMemberAge { get; set; }
public virtual DateTime? TermsAndConditionsVersionDate { get; set; }
public virtual DateTime? TermsAndConditionsAcceptedDate { get; set; }
public virtual bool TermsAndConditionsAccepted { get; set; }
public virtual string SiteUrl { get; set; }
public virtual bool IsUsingSmartDebit { get; set; }
public virtual bool IsUsingDfc { get; set; }
public virtual bool IsSouthAfrica { get; set; }
public virtual bool SmartDebitConfigured { get; set; }
public virtual bool DfcConfigured { get; set; }
public virtual bool UsingPaymentMethods { get; set; }
public virtual string SmsPrefix { get; set; }
public virtual string Logo { get; set; }
public virtual string LogoThumbnail { get; set; }
public virtual string LogoHash { get; set; }
public virtual bool SendMarketingInviteWhenMemberAdded { get; set; }
public virtual bool SendMarketingInviteWhenMemberJoinedOnline { get; set; }
public virtual bool MarketingComplianceManagedExternally { get; set; }
public virtual bool OnlineBookingAllowWaitingList { get; set; }
public virtual bool OnlineMultiSiteEnabled { get; set; }
public virtual bool CanBookOnline { get; set; }
public virtual int PublicMembershipTypes { get; set; }
public virtual int TrustedBranches { get; set; }
public virtual bool IsAddingProspects { get; set; }
public virtual bool IsSellingMemberships { get; set; }
public virtual bool IsCreatingTasks { get; set; }
public virtual bool IsCreatingAppointments { get; set; }
public virtual bool IsBookingClasses { get; set; }
public virtual bool IsRegisteringAttendance { get; set; }
public virtual bool IsSellingProducts { get; set; }
public virtual bool IsSendingEmails { get; set; }
public virtual bool IsSendingSMS { get; set; }
public virtual bool IsUsingAutomation { get; set; }
public virtual bool DeductSessionsOnBooking { get; set; }
public virtual bool ShowTrustedBranchBookings { get; set; }
public virtual int Score { get; set; }
public virtual string ApplicationId { get; set; }
public virtual string iOSAppLink { get; set; }
public virtual string AndroidAppLink { get; set; }
}
public enum BranchMinimiser
{
None,
CMGo,
BasicPortal,
}
public enum BranchType
{
DebitFinance,
SmartDebit,
Standard,
Root,
Reseller,
Referrer,
}
[Flags]
public enum Feature
{
None = 0,
Standard = 1,
Bookings = 2,
Rota = 4,
GoCardless = 8,
HomeScreen = 16,
EPos = 32,
Attendance = 64,
Sales = 128,
PaymentCollections = 256,
MailChimp = 512,
MultiSite = 1024,
AccountingDashboard = 2048,
OtherDashboards = 4096,
Reports = 8192,
AdvancedAccounting = 16384,
MemberLicenseDates = 32768,
FaceRecognition = 65536,
MemberAccountCreation = 131072,
Automation = 262144,
FacebookMarketing = 524288,
Grades = 1048576,
ZoomIntegration = 2097152,
SalesTargetChart = 4194304,
CustomApp = 8388608,
CustomAttributesOnPortal = 16777216,
NoExport = 33554432,
EnterpriseClubPerformanceDashboards = 67108864,
NoBasketForBookings = 134217728,
}
[Flags]
public enum Module
{
Standard = 0,
Bookings = 1,
}
public enum ReportFormat
{
PDF = 1,
Word = 2,
Excel = 3,
PNG = 4,
XPS = 5,
CSV = 6,
Html5 = 7,
}
[Flags]
public enum SignInScreenFeature
{
None = 0,
SignInNumPad = 1,
}
}
namespace ClubManager.Interfaces.Models.Member
{
public partial class AccessControlMember
{
public virtual int MemberId { get; set; }
public virtual int? EnrolmentId { get; set; }
public virtual int BranchId { get; set; }
public virtual MembershipState MembershipState { get; set; }
public virtual string MembershipNumber { get; set; }
public virtual string CardNumber { get; set; }
public virtual string Forenames { get; set; }
public virtual string Surname { get; set; }
public virtual bool MultiSiteAccess { get; set; }
public virtual bool UseExternalStatus { get; set; }
public virtual ExternalStatus ExternalStatus { get; set; }
public virtual string MembershipTypeName { get; set; }
public virtual DateTime? StartDate { get; set; }
public virtual DateTime? EndDate { get; set; }
public virtual int? ScheduleId { get; set; }
public virtual int? SessionsRemaining { get; set; }
public virtual DateTime? LastAttendance { get; set; }
public virtual MemberAccess MemberAccess { get; set; }
}
public partial class AccessControlMembers
{
public AccessControlMembers()
{
Members = new List<AccessControlMember>{};
Schedules = new List<Schedule>{};
}
public virtual List<AccessControlMember> Members { get; set; }
public virtual List<Schedule> Schedules { get; set; }
public virtual Branch Branch { get; set; }
}
public enum ExternalStatus
{
Off,
Active,
Pending,
CancelledInsideContract,
CancelledOutsideContract,
WithDebtRecovery,
Suspended,
}
public enum MembershipState
{
Prospect,
Active,
Expired,
Cancelled,
PaymentRequired,
Suspended,
}
}
namespace ClubManager.Interfaces.Models.Membership
{
public enum MemberAccess
{
AccessAllowed = 1,
NoAccess = 2,
NoMultiSiteAccess = 3,
NoSessions = 4,
NoScheduleAccess = 5,
NoAccessTimeLimitExceeded = 6,
Suspended = 7,
MemberHasDebt = 8,
}
}
namespace ClubManager.Interfaces.Models.ResourceManagement
{
public partial class Schedule
{
public virtual int ScheduleId { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual TimeSpan? MondayFrom { get; set; }
public virtual TimeSpan? MondayTo { get; set; }
public virtual TimeSpan? TuesdayFrom { get; set; }
public virtual TimeSpan? TuesdayTo { get; set; }
public virtual TimeSpan? WednesdayFrom { get; set; }
public virtual TimeSpan? WednesdayTo { get; set; }
public virtual TimeSpan? ThursdayFrom { get; set; }
public virtual TimeSpan? ThursdayTo { get; set; }
public virtual TimeSpan? FridayFrom { get; set; }
public virtual TimeSpan? FridayTo { get; set; }
public virtual TimeSpan? SaturdayFrom { get; set; }
public virtual TimeSpan? SaturdayTo { get; set; }
public virtual TimeSpan? SundayFrom { get; set; }
public virtual TimeSpan? SundayTo { get; set; }
public virtual int ScheduleType { get; set; }
public virtual int BranchId { get; set; }
public virtual bool Deleted { get; set; }
public virtual bool Demo { get; set; }
public virtual bool Monday { get; set; }
public virtual bool Tuesday { get; set; }
public virtual bool Wednesday { get; set; }
public virtual bool Thursday { get; set; }
public virtual bool Friday { get; set; }
public virtual bool Saturday { get; set; }
public virtual bool Sunday { get; set; }
public virtual TimeSpan MondayTotalTime { get; set; }
public virtual TimeSpan TuesdayTotalTime { get; set; }
public virtual TimeSpan WednesdayTotalTime { get; set; }
public virtual TimeSpan ThursdayTotalTime { get; set; }
public virtual TimeSpan FridayTotalTime { get; set; }
public virtual TimeSpan SaturdayTotalTime { get; set; }
public virtual TimeSpan SundayTotalTime { get; set; }
public virtual TimeSpan TotalTime { get; set; }
}
}
C# MemberService.GetMembersForAccessControlRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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
}
}