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 } } }