ClubManager.Api

<back to all web services

FindMembership

Requires Authentication
Required role:API
The following routes are available for this service:
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

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