| Required role: | API |
| All Verbs | /api/Query/Membership |
|---|
// @DataContract
export class QueryBase
{
// @DataMember(Order=1)
public Skip?: number;
// @DataMember(Order=2)
public Take?: number;
// @DataMember(Order=3)
public OrderBy?: string;
// @DataMember(Order=4)
public OrderByDesc?: string;
// @DataMember(Order=5)
public Include?: string;
// @DataMember(Order=6)
public Fields?: string;
// @DataMember(Order=7)
public Meta?: { [index: string]: string; };
public constructor(init?: Partial<QueryBase>) { (Object as any).assign(this, init); }
}
export class QueryDb<T> extends QueryBase
{
public constructor(init?: Partial<QueryDb<T>>) { super(init); (Object as any).assign(this, init); }
}
export class LossReasonInstance
{
public LossReasonId?: number;
public Reason?: string;
public Deleted?: boolean;
public Demo?: boolean;
public Selectable?: boolean;
public constructor(init?: Partial<LossReasonInstance>) { (Object as any).assign(this, init); }
}
export class UserInstance
{
public UserId?: number;
public UserName?: string;
public Name?: string;
public Email?: string;
public MobilePhone?: string;
public Enabled?: boolean;
public LastLogin?: string;
public Created?: string;
public Training?: boolean;
public Deleted?: boolean;
public CoursesCompleted?: number;
public DisplayHomeNotification?: boolean;
public TwoFactorEnabled?: boolean;
public EmailConfirmed?: boolean;
public MobilePhoneConfirmed?: boolean;
public Notifications?: boolean;
public ChangePassword?: string;
public Activated?: string;
public constructor(init?: Partial<UserInstance>) { (Object as any).assign(this, init); }
}
export class MemberInstance
{
public MemberId?: number;
public MemberType?: number;
public MembershipNumber?: string;
public CardNumber?: string;
public CompanyName?: string;
public Surname?: string;
public Forenames?: string;
public Title?: string;
public Gender?: number;
public DateOfBirth?: string;
public Address1?: string;
public Address2?: string;
public City?: string;
public County?: string;
public Postcode?: string;
public HomePhone?: string;
public MobilePhone?: string;
public EmailAddress?: string;
public EmailOptOut?: boolean;
public SmsOptOut?: boolean;
public PhoneOptOut?: boolean;
public LetterOptOut?: boolean;
public DirectDebitAccountHolder?: string;
public DirectDebitAccountNumber?: string;
public DirectDebitSortCode?: string;
public JoinedDate?: string;
public DirectDebitBankAddress?: string;
public FullName?: string;
public ExternalReference?: string;
public Photo?: string;
public PhotoModifiedDate?: string;
public Notes?: string;
public Deleted?: boolean;
public Demo?: boolean;
public UseExternalStatus?: boolean;
public ExternalStatus?: number;
public FreeText?: string;
public MemberKey?: string;
public Balance?: number;
public CreditLimit?: number;
public CreatedDate?: string;
public ModifiedDate?: string;
public DeletedDate?: string;
public ExternalSource?: number;
public RetentionMetric?: number;
public MonthlyAttendanceFrequency?: number;
public AssignedToUserId?: number;
public CreatedByUserId?: number;
public DeletedByUserId?: number;
public LossReason?: LossReasonInstance;
// @References("typeof(ClubManager.Api.Services.Query.LossReasonInstance)")
public LossReasonId?: number;
public WonOrLost?: number;
public WonOrLostDate?: string;
public GiftAidPermission?: boolean;
public PhotoPermission?: boolean;
public FirstAidPermission?: boolean;
public EmergencyContact?: string;
public WonOrLostByUser?: UserInstance;
// @References("typeof(ClubManager.Api.Services.Query.UserInstance)")
public WonOrLostByUserId?: number;
public AgreedToTerms?: string;
public OnlineBookingBanned?: boolean;
public Country?: string;
public FingerprintEnrolled?: string;
public LastPaymentAmount?: number;
public Pin?: string;
public ProspectingPoints?: number;
public AchievementPoints?: number;
public ParentForenames?: string;
public ParentSurname?: string;
public constructor(init?: Partial<MemberInstance>) { (Object as any).assign(this, init); }
}
export class ScheduleInstance
{
public ScheduleId?: number;
public Name?: string;
public Description?: string;
public MondayFrom?: string;
public MondayTo?: string;
public TuesdayFrom?: string;
public TuesdayTo?: string;
public WednesdayFrom?: string;
public WednesdayTo?: string;
public ThursdayFrom?: string;
public ThursdayTo?: string;
public FridayFrom?: string;
public FridayTo?: string;
public SaturdayFrom?: string;
public SaturdayTo?: string;
public SundayFrom?: string;
public SundayTo?: string;
public ScheduleType?: number;
public Deleted?: boolean;
public Demo?: boolean;
public constructor(init?: Partial<ScheduleInstance>) { (Object as any).assign(this, init); }
}
export class MembershipTypeInstance
{
public MembershipTypeId?: number;
public Name?: string;
public Description?: string;
public Definition?: string;
public Schedule?: ScheduleInstance;
// @References("typeof(ClubManager.Api.Services.Query.ScheduleInstance)")
public ScheduleId?: number;
public Deleted?: boolean;
public Demo?: boolean;
public Public?: boolean;
public SessionsRemaining?: number;
public ClassesRemaining?: number;
public SortOrder?: number;
public Special?: boolean;
public MultiSiteAccess?: boolean;
public MemberLimit?: number;
public PromotionCode?: string;
public PromotionStart?: string;
public PromotionEnd?: string;
public LicensesRemaining?: number;
public BookingAccessOnly?: boolean;
public SessionsPeriod?: number;
public SessionsFrequency?: number;
public StartsOn?: string;
public AllowSelectionAfterStartsOn?: boolean;
public constructor(init?: Partial<MembershipTypeInstance>) { (Object as any).assign(this, init); }
}
export class MembershipInstance
{
public MembershipId?: number;
public StartDate?: string;
public EndDate?: string;
public ContractEndDate?: string;
public Name?: string;
public EnrolmentFee?: number;
public InductionFee?: number;
public MembershipFee?: number;
public DirectDebitPayment?: number;
public DirectDebitDate?: string;
public Member?: MemberInstance;
// @References("typeof(ClubManager.Api.Services.Query.MemberInstance)")
public MemberId?: number;
public RefererMemberId?: number;
public PromotionId?: number;
public Payment1Fee?: number;
public Payment1Date?: string;
public Payment2Fee?: number;
public Payment2Date?: string;
public Payment1Type?: number;
public Payment1Method?: number;
public Payment2Type?: number;
public Payment2Method?: number;
public Payment3Type?: number;
public Payment3Method?: number;
public Payment3Fee?: number;
public Payment3Date?: string;
public MembershipType?: MembershipTypeInstance;
// @References("typeof(ClubManager.Api.Services.Query.MembershipTypeInstance)")
public MembershipTypeId?: number;
public ProviderId?: number;
public Definition?: string;
public HasRecurringPayments?: boolean;
public Deleted?: boolean;
public Demo?: boolean;
public MembershipKey?: string;
public SessionsRemaining?: number;
public ClassesRemaining?: number;
public Cancelled?: string;
public APICreated?: string;
public SuspensionStart?: string;
public SuspensionEnd?: string;
public IpAddress?: string;
public constructor(init?: Partial<MembershipInstance>) { (Object as any).assign(this, init); }
}
// @AutoQueryViewer(Description="", IconUrl="octicon:database", Title="Membership")
export class FindMembership extends QueryDb<MembershipInstance>
{
public constructor(init?: Partial<FindMembership>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class QueryResponse<T>
{
// @DataMember(Order=1)
public Offset?: number;
// @DataMember(Order=2)
public Total?: number;
// @DataMember(Order=3)
public Results?: T[];
// @DataMember(Order=4)
public Meta?: { [index: string]: string; };
// @DataMember(Order=5)
public ResponseStatus?: ResponseStatus;
public constructor(init?: Partial<QueryResponse<T>>) { (Object as any).assign(this, init); }
}
TypeScript FindMembership 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/Query/Membership HTTP/1.1
Host: api.clubmanagercentral.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Skip: 0,
Take: 0,
OrderBy: String,
OrderByDesc: String,
Include: String,
Fields: String,
Meta:
{
String: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Offset: 0,
Total: 0,
Results:
[
{
MembershipId: 0,
StartDate: 0001-01-01,
EndDate: 0001-01-01,
ContractEndDate: 0001-01-01,
Name: String,
EnrolmentFee: 0,
InductionFee: 0,
MembershipFee: 0,
DirectDebitPayment: 0,
DirectDebitDate: 0001-01-01,
Member:
{
MemberId: 0,
MemberType: 0,
MembershipNumber: String,
CardNumber: String,
CompanyName: String,
Surname: String,
Forenames: String,
Title: String,
Gender: 0,
DateOfBirth: 0001-01-01,
Address1: String,
Address2: String,
City: String,
County: String,
Postcode: String,
HomePhone: String,
MobilePhone: String,
EmailAddress: String,
EmailOptOut: False,
SmsOptOut: False,
PhoneOptOut: False,
LetterOptOut: False,
DirectDebitAccountHolder: String,
DirectDebitAccountNumber: String,
DirectDebitSortCode: String,
JoinedDate: 0001-01-01,
DirectDebitBankAddress: String,
FullName: String,
ExternalReference: String,
Photo: AA==,
PhotoModifiedDate: 0001-01-01,
Notes: String,
Deleted: False,
Demo: False,
UseExternalStatus: False,
ExternalStatus: 0,
FreeText: String,
MemberKey: 00000000000000000000000000000000,
Balance: 0,
CreditLimit: 0,
CreatedDate: 0001-01-01,
ModifiedDate: 0001-01-01,
DeletedDate: 0001-01-01,
ExternalSource: 0,
RetentionMetric: 0,
MonthlyAttendanceFrequency: 0,
AssignedToUserId: 0,
CreatedByUserId: 0,
DeletedByUserId: 0,
LossReason:
{
LossReasonId: 0,
Reason: String,
Deleted: False,
Demo: False,
Selectable: False
},
LossReasonId: 0,
WonOrLost: 0,
WonOrLostDate: 0001-01-01,
GiftAidPermission: False,
PhotoPermission: False,
FirstAidPermission: False,
EmergencyContact: String,
WonOrLostByUser:
{
UserId: 0,
UserName: String,
Name: String,
Email: String,
MobilePhone: String,
Enabled: False,
LastLogin: 0001-01-01,
Created: 0001-01-01,
Training: False,
Deleted: False,
CoursesCompleted: 0,
DisplayHomeNotification: False,
TwoFactorEnabled: False,
EmailConfirmed: False,
MobilePhoneConfirmed: False,
Notifications: False,
ChangePassword: 0001-01-01,
Activated: 0001-01-01
},
WonOrLostByUserId: 0,
AgreedToTerms: 0001-01-01,
OnlineBookingBanned: False,
Country: String,
FingerprintEnrolled: 0001-01-01,
LastPaymentAmount: 0,
Pin: String,
ProspectingPoints: 0,
AchievementPoints: 0,
ParentForenames: String,
ParentSurname: String
},
MemberId: 0,
RefererMemberId: 0,
PromotionId: 0,
Payment1Fee: 0,
Payment1Date: 0001-01-01,
Payment2Fee: 0,
Payment2Date: 0001-01-01,
Payment1Type: 0,
Payment1Method: 0,
Payment2Type: 0,
Payment2Method: 0,
Payment3Type: 0,
Payment3Method: 0,
Payment3Fee: 0,
Payment3Date: 0001-01-01,
MembershipType:
{
MembershipTypeId: 0,
Name: String,
Description: String,
Definition: String,
Schedule:
{
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,
Deleted: False,
Demo: False
},
ScheduleId: 0,
Deleted: False,
Demo: False,
Public: False,
SessionsRemaining: 0,
ClassesRemaining: 0,
SortOrder: 0,
Special: False,
MultiSiteAccess: False,
MemberLimit: 0,
PromotionCode: String,
PromotionStart: 0001-01-01,
PromotionEnd: 0001-01-01,
LicensesRemaining: 0,
BookingAccessOnly: False,
SessionsPeriod: 0,
SessionsFrequency: 0,
StartsOn: 0001-01-01,
AllowSelectionAfterStartsOn: False
},
MembershipTypeId: 0,
ProviderId: 0,
Definition: String,
HasRecurringPayments: False,
Deleted: False,
Demo: False,
MembershipKey: 00000000000000000000000000000000,
SessionsRemaining: 0,
ClassesRemaining: 0,
Cancelled: 0001-01-01,
APICreated: 0001-01-01,
SuspensionStart: 0001-01-01,
SuspensionEnd: 0001-01-01,
IpAddress: String
}
],
Meta:
{
String: String
},
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}