ClubManager.Api

<back to all web services

MemberService.GetMemberByKeyRequest

Requires Authentication
The following routes are available for this service:
POST,GET/api/Member/GetMemberByKey
import Foundation
import ServiceStack

public class Member : Codable
{
    public var memberId:Int?
    public var branchId:Int?
    public var membershipNumber:String?
    public var joinedDate:Date?
    public var cardNumber:String?
    public var companyName:String?
    public var gender:Gender?
    public var genderName:String?
    public var fullName:String?
    public var title:String?
    public var forenames:String?
    public var surname:String?
    public var address1:String?
    public var address2:String?
    public var county:String?
    public var city:String?
    public var homePhone:String?
    public var mobilePhone:String?
    public var emailAddress:String?
    public var externalReference:String?
    public var country:String?
    public var emailOptOut:Bool?
    public var smsOptOut:Bool?
    public var phoneOptOut:Bool?
    public var letterOptOut:Bool?
    public var useExternalStatus:Bool?
    public var externalStatus:ExternalStatus?
    public var dateOfBirth:Date?
    public var postcode:String?
    public var notes:String?
    public var startDate:Date?
    public var expires:Date?
    public var sessionsRemaining:Int?
    public var contractEndDate:Date?
    public var daysRemaining:Int?
    public var membershipType:String?
    public var lastAttendance:Date?
    public var attendance:Int?
    public var memberType:MemberType?
    public var recurringPayments:Int?
    public var overduePayments:Int?
    public var attendanceThisWeek:Int?
    public var retentionMetric:Double?
    public var monthlyAttendanceFrequency:Double?
    public var totalProductSpend:Double?
    public var journalEntry:String?
    public var balance:Double?
    public var creditLimit:Double?
    public var guid:String?
    public var membershipState:MembershipState?
    public var bookingsAttended:Int?
    public var dateOfLastBooking:Date?
    public var photoModifiedDate:Date?
    public var createdDate:Date?
    public var modifiedDate:Date?
    public var deletedDate:Date?
    public var memberKey:String?
    public var createdByUserId:Int?
    public var assignedToUserId:Int?
    public var deletedByUserId:Int?
    public var giftAidPermission:Bool?
    public var firstAidPermission:Bool?
    public var photoPermission:Bool?
    public var emergencyContact:String?
    public var wonOrLost:Int?
    public var wonOrLostDate:Date?
    public var wonOrLostByUserId:Int?
    public var licenseReference:String?
    public var licenseStartDate:Date?
    public var licenseRenewalDate:Date?
    public var agreedToTerms:Date?
    public var onlineBookingBanned:Bool?
    public var childBranchId:Int?
    public var childBranch:String?
    public var prospectingPoints:Int?
    public var achievementPoints:Int?
    public var parentForenames:String?
    public var parentSurname:String?
    public var gradingReadiness:Int?
    public var directDebitAccountHolder:String?
    public var directDebitAccountNumber:String?
    public var directDebitSortCode:String?
    public var directDebitBankAddress:String?
    public var invitedDate:Date?
    public var grade:String?
    public var colourLeft:String?
    public var colourRight:String?
    public var sessionsToComplete:Int?
    public var uniqueId:String?
    public var preferenceLink:String?
    public var marketingAllLink:String?
    public var marketingNoneLink:String?
    public var appRegistrationId:String?
    public var appRegistrationLink:String?
    public var appQrImageLink:String?
    public var cardNumberQrImageLink:String?
    public var photoThumbnailLink:String?
    public var contentTypesOptIn:MessageTemplateContentType?
    public var templateTypesOptIn:MessageTemplateType?
    public var canEmail:Bool?
    public var canDirectMail:Bool?
    public var canSMS:Bool?
    public var canTelephone:Bool?
    public var noMarketingConsent:Bool?
    public var canSendInvite:Bool?
    public var branchKey:String?
    public var sageLink:String?
    public var sageLastPaymentDate:Date?
    public var sageFirstPaymentDate:Date?
    public var sageLastPaymentAmount:Double?
    public var sageFirstPaymentAmount:Double?
    public var sageTotalPaid:Double?

    required public init(){}
}

public enum Gender : String, Codable
{
    case Unknown
    case Male
    case Female
    case Other
    case PreferNotToSay
}

public enum ExternalStatus : String, Codable
{
    case Off
    case Active
    case Pending
    case CancelledInsideContract
    case CancelledOutsideContract
    case WithDebtRecovery
    case Suspended
}

public enum MemberType : String, Codable
{
    case Prospect
    case Active
    case Cancelled
    case Expired
    case Suspended
    case ClubCancelled
    case DropOut
}

public enum MembershipState : String, Codable
{
    case Prospect
    case Active
    case Expired
    case Cancelled
    case PaymentRequired
    case Suspended
}

// @Flags()
public enum MessageTemplateContentType : Int, Codable
{
    case Transactional = 1
    case Marketing = 2
    case None = 1048576
}

// @Flags()
public enum MessageTemplateType : Int, Codable
{
    case SMS = 1
    case Email = 2
    case Telephone = 4
    case DirectMail = 8
    case Notification = 16
    case Page = 32
    case None = 1048576
    case NoConsent = 2097152
}


Swift MemberService.GetMemberByKeyRequest 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/GetMemberByKey HTTP/1.1 
Host: api.clubmanagercentral.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	MemberKey: 00000000000000000000000000000000
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	MemberId: 0,
	BranchId: 0,
	MembershipNumber: String,
	JoinedDate: 0001-01-01,
	CardNumber: String,
	CompanyName: String,
	Gender: Unknown,
	GenderName: String,
	FullName: String,
	Title: String,
	Forenames: String,
	Surname: String,
	Address1: String,
	Address2: String,
	County: String,
	City: String,
	HomePhone: String,
	MobilePhone: String,
	EmailAddress: String,
	ExternalReference: String,
	Country: String,
	EmailOptOut: False,
	SmsOptOut: False,
	PhoneOptOut: False,
	LetterOptOut: False,
	UseExternalStatus: False,
	ExternalStatus: Off,
	DateOfBirth: 0001-01-01,
	Postcode: String,
	Notes: String,
	StartDate: 0001-01-01,
	Expires: 0001-01-01,
	SessionsRemaining: 0,
	ContractEndDate: 0001-01-01,
	DaysRemaining: 0,
	MembershipType: String,
	LastAttendance: 0001-01-01,
	Attendance: 0,
	MemberType: Prospect,
	RecurringPayments: 0,
	OverduePayments: 0,
	AttendanceThisWeek: 0,
	retentionMetric: 0,
	MonthlyAttendanceFrequency: 0,
	TotalProductSpend: 0,
	JournalEntry: String,
	Balance: 0,
	CreditLimit: 0,
	guid: 00000000000000000000000000000000,
	MembershipState: Prospect,
	BookingsAttended: 0,
	DateOfLastBooking: 0001-01-01,
	PhotoModifiedDate: 0001-01-01,
	CreatedDate: 0001-01-01,
	ModifiedDate: 0001-01-01,
	DeletedDate: 0001-01-01,
	MemberKey: 00000000000000000000000000000000,
	CreatedByUserId: 0,
	AssignedToUserId: 0,
	DeletedByUserId: 0,
	GiftAidPermission: False,
	FirstAidPermission: False,
	PhotoPermission: False,
	EmergencyContact: String,
	WonOrLost: 0,
	WonOrLostDate: 0001-01-01,
	WonOrLostByUserId: 0,
	LicenseReference: String,
	LicenseStartDate: 0001-01-01,
	LicenseRenewalDate: 0001-01-01,
	AgreedToTerms: 0001-01-01,
	OnlineBookingBanned: False,
	ChildBranchId: 0,
	ChildBranch: String,
	ProspectingPoints: 0,
	AchievementPoints: 0,
	ParentForenames: String,
	ParentSurname: String,
	GradingReadiness: 0,
	DirectDebitAccountHolder: String,
	DirectDebitAccountNumber: String,
	DirectDebitSortCode: String,
	DirectDebitBankAddress: String,
	InvitedDate: 0001-01-01,
	Grade: String,
	ColourLeft: String,
	ColourRight: String,
	SessionsToComplete: 0,
	UniqueId: 7UeZ5kavxWRMNAaGI7oAjfw+9xPHa5bZiDN1HPIgd/E=,
	PreferenceLink: "https://secure.clubmanagercentral.com/Portal/Login/Transfer?id=7UeZ5kavxWRMNAaGI7oAjfw%2b9xPHa5bZiDN1HPIgd%2fE%3d",
	MarketingAllLink: "https://secure.clubmanagercentral.com/Portal/Login/TransferOptInAll?id=7UeZ5kavxWRMNAaGI7oAjfw%2b9xPHa5bZiDN1HPIgd%2fE%3d",
	MarketingNoneLink: "https://secure.clubmanagercentral.com/Portal/Login/TransferOptOutAll?id=7UeZ5kavxWRMNAaGI7oAjfw%2b9xPHa5bZiDN1HPIgd%2fE%3d",
	AppRegistrationId: tdEETnrE2UDYoDHYyiFtLUFbiv0Psfko1F+WdmLSeeLOfNJrwIXoKym0RGXbqDsBIcwMpLHhEzKbJbIzcmw6pzckMg2FYdjFlmJyfSP0eLtdNWzJj9Xx8v9Z+HdiVqft+jwB2rxzVnKBNEWxy/Rb/A==,
	AppRegistrationLink: "https://secure.clubmanagercentral.com/Register?id=tdEETnrE2UDYoDHYyiFtLUFbiv0Psfko1F+WdmLSeeLOfNJrwIXoKym0RGXbqDsBIcwMpLHhEzKbJbIzcmw6pzckMg2FYdjFlmJyfSP0eLtdNWzJj9Xx8v9Z+HdiVqft+jwB2rxzVnKBNEWxy/Rb/A==",
	AppQrImageLink: "https://secure.clubmanagercentral.com/Member.mvc/GetQrByMemberId?id=36xZln01EfE80ZF7GFWKkg==",
	CardNumberQrImageLink: "https://secure.clubmanagercentral.com/Member.mvc/GetCardNumberQRByMemberId?id=36xZln01EfE80ZF7GFWKkg==",
	PhotoThumbnailLink: "https://secure.clubmanagercentral.com/Member.mvc/GetPhotoThumbnailByMemberId?id=36xZln01EfE80ZF7GFWKkg==",
	ContentTypesOptIn: 1,
	TemplateTypesOptIn: 1,
	CanEmail: False,
	CanDirectMail: False,
	CanSMS: True,
	CanTelephone: False,
	NoMarketingConsent: False,
	CanSendInvite: False,
	BranchKey: 00000000000000000000000000000000,
	SageLink: String,
	SageLastPaymentDate: 0001-01-01,
	SageFirstPaymentDate: 0001-01-01,
	SageLastPaymentAmount: 0,
	SageFirstPaymentAmount: 0,
	SageTotalPaid: 0
}