| Required role: | API |
| All Verbs | /api/Query/Membership |
|---|
import Foundation
import ServiceStack
// @AutoQueryViewer(Description="", IconUrl="octicon:database", Title="Membership")
public class FindMembership : QueryDb<MembershipInstance>
{
required public init(){ super.init() }
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
}
}
public class MembershipInstance : Codable
{
public var membershipId:Int?
public var startDate:Date?
public var endDate:Date?
public var contractEndDate:Date?
public var name:String?
public var enrolmentFee:Double?
public var inductionFee:Double?
public var membershipFee:Double?
public var directDebitPayment:Double?
public var directDebitDate:Date?
public var member:MemberInstance?
// @References(typeof(MemberInstance))
public var memberId:Int?
public var refererMemberId:Int?
public var promotionId:Int?
public var payment1Fee:Double?
public var payment1Date:Date?
public var payment2Fee:Double?
public var payment2Date:Date?
public var payment1Type:Int?
public var payment1Method:Int?
public var payment2Type:Int?
public var payment2Method:Int?
public var payment3Type:Int?
public var payment3Method:Int?
public var payment3Fee:Double?
public var payment3Date:Date?
public var membershipType:MembershipTypeInstance?
// @References(typeof(MembershipTypeInstance))
public var membershipTypeId:Int?
public var providerId:Int?
public var definition:String?
public var hasRecurringPayments:Bool?
public var deleted:Bool?
public var demo:Bool?
public var membershipKey:String?
public var sessionsRemaining:Int?
public var classesRemaining:Int?
public var cancelled:Date?
public var apiCreated:Date?
public var suspensionStart:Date?
public var suspensionEnd:Date?
public var ipAddress:String?
required public init(){}
}
public class MemberInstance : Codable
{
public var memberId:Int?
public var memberType:Int?
public var membershipNumber:String?
public var cardNumber:String?
public var companyName:String?
public var surname:String?
public var forenames:String?
public var title:String?
public var gender:Int?
public var dateOfBirth:Date?
public var address1:String?
public var address2:String?
public var city:String?
public var county:String?
public var postcode:String?
public var homePhone:String?
public var mobilePhone:String?
public var emailAddress:String?
public var emailOptOut:Bool?
public var smsOptOut:Bool?
public var phoneOptOut:Bool?
public var letterOptOut:Bool?
public var directDebitAccountHolder:String?
public var directDebitAccountNumber:String?
public var directDebitSortCode:String?
public var joinedDate:Date?
public var directDebitBankAddress:String?
public var fullName:String?
public var externalReference:String?
public var photo:[UInt8] = []
public var photoModifiedDate:Date?
public var notes:String?
public var deleted:Bool?
public var demo:Bool?
public var useExternalStatus:Bool?
public var externalStatus:Int?
public var freeText:String?
public var memberKey:String?
public var balance:Double?
public var creditLimit:Double?
public var createdDate:Date?
public var modifiedDate:Date?
public var deletedDate:Date?
public var externalSource:Int?
public var retentionMetric:Double?
public var monthlyAttendanceFrequency:Double?
public var assignedToUserId:Int?
public var createdByUserId:Int?
public var deletedByUserId:Int?
public var lossReason:LossReasonInstance?
// @References(typeof(LossReasonInstance))
public var lossReasonId:Int?
public var wonOrLost:Int?
public var wonOrLostDate:Date?
public var giftAidPermission:Bool?
public var photoPermission:Bool?
public var firstAidPermission:Bool?
public var emergencyContact:String?
public var wonOrLostByUser:UserInstance?
// @References(typeof(UserInstance))
public var wonOrLostByUserId:Int?
public var agreedToTerms:Date?
public var onlineBookingBanned:Bool?
public var country:String?
public var fingerprintEnrolled:Date?
public var lastPaymentAmount:Double?
public var pin:String?
public var prospectingPoints:Int?
public var achievementPoints:Int?
public var parentForenames:String?
public var parentSurname:String?
required public init(){}
}
public class LossReasonInstance : Codable
{
public var lossReasonId:Int?
public var reason:String?
public var deleted:Bool?
public var demo:Bool?
public var selectable:Bool?
required public init(){}
}
public class UserInstance : Codable
{
public var userId:Int?
public var userName:String?
public var name:String?
public var email:String?
public var mobilePhone:String?
public var enabled:Bool?
public var lastLogin:Date?
public var created:Date?
public var training:Bool?
public var deleted:Bool?
public var coursesCompleted:Int?
public var displayHomeNotification:Bool?
public var twoFactorEnabled:Bool?
public var emailConfirmed:Bool?
public var mobilePhoneConfirmed:Bool?
public var notifications:Bool?
public var changePassword:Date?
public var activated:Date?
required public init(){}
}
public class MembershipTypeInstance : Codable
{
public var membershipTypeId:Int?
public var name:String?
public var Description:String?
public var definition:String?
public var schedule:ScheduleInstance?
// @References(typeof(ScheduleInstance))
public var scheduleId:Int?
public var deleted:Bool?
public var demo:Bool?
public var `public`:Bool?
public var sessionsRemaining:Int?
public var classesRemaining:Int?
public var sortOrder:Int?
public var special:Bool?
public var multiSiteAccess:Bool?
public var memberLimit:Int?
public var promotionCode:String?
public var promotionStart:Date?
public var promotionEnd:Date?
public var licensesRemaining:Int?
public var bookingAccessOnly:Bool?
public var sessionsPeriod:Int?
public var sessionsFrequency:Int?
public var startsOn:Date?
public var allowSelectionAfterStartsOn:Bool?
required public init(){}
}
public class ScheduleInstance : Codable
{
public var scheduleId:Int?
public var name:String?
public var Description:String?
@TimeSpan public var mondayFrom:TimeInterval?
@TimeSpan public var mondayTo:TimeInterval?
@TimeSpan public var tuesdayFrom:TimeInterval?
@TimeSpan public var tuesdayTo:TimeInterval?
@TimeSpan public var wednesdayFrom:TimeInterval?
@TimeSpan public var wednesdayTo:TimeInterval?
@TimeSpan public var thursdayFrom:TimeInterval?
@TimeSpan public var thursdayTo:TimeInterval?
@TimeSpan public var fridayFrom:TimeInterval?
@TimeSpan public var fridayTo:TimeInterval?
@TimeSpan public var saturdayFrom:TimeInterval?
@TimeSpan public var saturdayTo:TimeInterval?
@TimeSpan public var sundayFrom:TimeInterval?
@TimeSpan public var sundayTo:TimeInterval?
public var scheduleType:Int?
public var deleted:Bool?
public var demo:Bool?
required public init(){}
}
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
}
}
}