Required role: | API |
All Verbs | /api/Query/Membership |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using ClubManager.Api.Services.Query;
namespace ClubManager.Api.Services.Query
{
[AutoQueryViewer(Description="", IconUrl="octicon:database", Title="Membership")]
public partial class FindMembership
: QueryDb<MembershipInstance>
{
}
public partial class LossReasonInstance
{
public virtual int LossReasonId { get; set; }
public virtual string Reason { get; set; }
public virtual bool Deleted { get; set; }
public virtual bool Demo { get; set; }
public virtual bool Selectable { get; set; }
}
public partial class MemberInstance
{
public MemberInstance()
{
Photo = new byte[]{};
}
public virtual int MemberId { get; set; }
public virtual int MemberType { get; set; }
public virtual string MembershipNumber { get; set; }
public virtual string CardNumber { get; set; }
public virtual string CompanyName { get; set; }
public virtual string Surname { get; set; }
public virtual string Forenames { get; set; }
public virtual string Title { get; set; }
public virtual int Gender { get; set; }
public virtual DateTime? DateOfBirth { get; set; }
public virtual string Address1 { get; set; }
public virtual string Address2 { get; set; }
public virtual string City { get; set; }
public virtual string County { get; set; }
public virtual string Postcode { get; set; }
public virtual string HomePhone { get; set; }
public virtual string MobilePhone { get; set; }
public virtual string EmailAddress { get; set; }
public virtual bool EmailOptOut { get; set; }
public virtual bool SmsOptOut { get; set; }
public virtual bool PhoneOptOut { get; set; }
public virtual bool LetterOptOut { get; set; }
public virtual string DirectDebitAccountHolder { get; set; }
public virtual string DirectDebitAccountNumber { get; set; }
public virtual string DirectDebitSortCode { get; set; }
public virtual DateTime? JoinedDate { get; set; }
public virtual string DirectDebitBankAddress { get; set; }
public virtual string FullName { get; set; }
public virtual string ExternalReference { get; set; }
public virtual byte[] Photo { get; set; }
public virtual DateTime? PhotoModifiedDate { get; set; }
public virtual string Notes { get; set; }
public virtual bool Deleted { get; set; }
public virtual bool Demo { get; set; }
public virtual bool UseExternalStatus { get; set; }
public virtual int ExternalStatus { get; set; }
public virtual string FreeText { get; set; }
public virtual Guid? MemberKey { get; set; }
public virtual decimal Balance { get; set; }
public virtual decimal CreditLimit { get; set; }
public virtual DateTime CreatedDate { get; set; }
public virtual DateTime? ModifiedDate { get; set; }
public virtual DateTime? DeletedDate { get; set; }
public virtual int ExternalSource { get; set; }
public virtual decimal? RetentionMetric { get; set; }
public virtual decimal? MonthlyAttendanceFrequency { get; set; }
public virtual int? AssignedToUserId { get; set; }
public virtual int? CreatedByUserId { get; set; }
public virtual int? DeletedByUserId { get; set; }
public virtual LossReasonInstance LossReason { get; set; }
[References(typeof(ClubManager.Api.Services.Query.LossReasonInstance))]
public virtual int? LossReasonId { get; set; }
public virtual int? WonOrLost { get; set; }
public virtual DateTime? WonOrLostDate { get; set; }
public virtual bool GiftAidPermission { get; set; }
public virtual bool? PhotoPermission { get; set; }
public virtual bool? FirstAidPermission { get; set; }
public virtual string EmergencyContact { get; set; }
public virtual UserInstance WonOrLostByUser { get; set; }
[References(typeof(ClubManager.Api.Services.Query.UserInstance))]
public virtual int? WonOrLostByUserId { get; set; }
public virtual DateTime? AgreedToTerms { get; set; }
public virtual bool OnlineBookingBanned { get; set; }
public virtual string Country { get; set; }
public virtual DateTime? FingerprintEnrolled { get; set; }
public virtual decimal? LastPaymentAmount { get; set; }
public virtual string Pin { get; set; }
public virtual int ProspectingPoints { get; set; }
public virtual int AchievementPoints { get; set; }
public virtual string ParentForenames { get; set; }
public virtual string ParentSurname { get; set; }
}
public partial class MembershipInstance
{
public virtual int MembershipId { get; set; }
public virtual DateTime StartDate { get; set; }
public virtual DateTime EndDate { get; set; }
public virtual DateTime ContractEndDate { get; set; }
public virtual string Name { get; set; }
public virtual decimal EnrolmentFee { get; set; }
public virtual decimal InductionFee { get; set; }
public virtual decimal? MembershipFee { get; set; }
public virtual decimal? DirectDebitPayment { get; set; }
public virtual DateTime? DirectDebitDate { get; set; }
public virtual MemberInstance Member { get; set; }
[References(typeof(ClubManager.Api.Services.Query.MemberInstance))]
public virtual int MemberId { get; set; }
public virtual int? RefererMemberId { get; set; }
public virtual int? PromotionId { get; set; }
public virtual decimal? Payment1Fee { get; set; }
public virtual DateTime? Payment1Date { get; set; }
public virtual decimal? Payment2Fee { get; set; }
public virtual DateTime? Payment2Date { get; set; }
public virtual int Payment1Type { get; set; }
public virtual int Payment1Method { get; set; }
public virtual int Payment2Type { get; set; }
public virtual int Payment2Method { get; set; }
public virtual int Payment3Type { get; set; }
public virtual int Payment3Method { get; set; }
public virtual decimal? Payment3Fee { get; set; }
public virtual DateTime? Payment3Date { get; set; }
public virtual MembershipTypeInstance MembershipType { get; set; }
[References(typeof(ClubManager.Api.Services.Query.MembershipTypeInstance))]
public virtual int? MembershipTypeId { get; set; }
public virtual int? ProviderId { get; set; }
public virtual string Definition { get; set; }
public virtual bool HasRecurringPayments { get; set; }
public virtual bool Deleted { get; set; }
public virtual bool Demo { get; set; }
public virtual Guid? MembershipKey { get; set; }
public virtual int? SessionsRemaining { get; set; }
public virtual int? ClassesRemaining { get; set; }
public virtual DateTime? Cancelled { get; set; }
public virtual DateTime? APICreated { get; set; }
public virtual DateTime? SuspensionStart { get; set; }
public virtual DateTime? SuspensionEnd { get; set; }
public virtual string IpAddress { get; set; }
}
public partial class MembershipTypeInstance
{
public virtual int MembershipTypeId { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual string Definition { get; set; }
public virtual ScheduleInstance Schedule { get; set; }
[References(typeof(ClubManager.Api.Services.Query.ScheduleInstance))]
public virtual int ScheduleId { get; set; }
public virtual bool Deleted { get; set; }
public virtual bool Demo { get; set; }
public virtual bool Public { get; set; }
public virtual int? SessionsRemaining { get; set; }
public virtual int? ClassesRemaining { get; set; }
public virtual int? SortOrder { get; set; }
public virtual bool Special { get; set; }
public virtual bool MultiSiteAccess { get; set; }
public virtual int MemberLimit { get; set; }
public virtual string PromotionCode { get; set; }
public virtual DateTime? PromotionStart { get; set; }
public virtual DateTime? PromotionEnd { get; set; }
public virtual int? LicensesRemaining { get; set; }
public virtual bool BookingAccessOnly { get; set; }
public virtual int? SessionsPeriod { get; set; }
public virtual int? SessionsFrequency { get; set; }
public virtual DateTime? StartsOn { get; set; }
public virtual bool AllowSelectionAfterStartsOn { get; set; }
}
public partial class ScheduleInstance
{
public virtual int ScheduleId { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual TimeSpan? MondayFrom { get; set; }
public virtual TimeSpan? MondayTo { get; set; }
public virtual TimeSpan? TuesdayFrom { get; set; }
public virtual TimeSpan? TuesdayTo { get; set; }
public virtual TimeSpan? WednesdayFrom { get; set; }
public virtual TimeSpan? WednesdayTo { get; set; }
public virtual TimeSpan? ThursdayFrom { get; set; }
public virtual TimeSpan? ThursdayTo { get; set; }
public virtual TimeSpan? FridayFrom { get; set; }
public virtual TimeSpan? FridayTo { get; set; }
public virtual TimeSpan? SaturdayFrom { get; set; }
public virtual TimeSpan? SaturdayTo { get; set; }
public virtual TimeSpan? SundayFrom { get; set; }
public virtual TimeSpan? SundayTo { get; set; }
public virtual int ScheduleType { get; set; }
public virtual bool Deleted { get; set; }
public virtual bool Demo { get; set; }
}
public partial class UserInstance
{
public virtual int UserId { get; set; }
public virtual string UserName { get; set; }
public virtual string Name { get; set; }
public virtual string Email { get; set; }
public virtual string MobilePhone { get; set; }
public virtual bool Enabled { get; set; }
public virtual DateTime? LastLogin { get; set; }
public virtual DateTime Created { get; set; }
public virtual bool Training { get; set; }
public virtual bool Deleted { get; set; }
public virtual int CoursesCompleted { get; set; }
public virtual bool? DisplayHomeNotification { get; set; }
public virtual bool TwoFactorEnabled { get; set; }
public virtual bool EmailConfirmed { get; set; }
public virtual bool MobilePhoneConfirmed { get; set; }
public virtual bool Notifications { get; set; }
public virtual DateTime? ChangePassword { get; set; }
public virtual DateTime? Activated { get; set; }
}
}
namespace ServiceStack
{
[DataContract]
public partial class QueryBase
{
public QueryBase()
{
Meta = new Dictionary<string, string>{};
}
[DataMember(Order=1)]
public virtual int? Skip { get; set; }
[DataMember(Order=2)]
public virtual int? Take { get; set; }
[DataMember(Order=3)]
public virtual string OrderBy { get; set; }
[DataMember(Order=4)]
public virtual string OrderByDesc { get; set; }
[DataMember(Order=5)]
public virtual string Include { get; set; }
[DataMember(Order=6)]
public virtual string Fields { get; set; }
[DataMember(Order=7)]
public virtual Dictionary<string, string> Meta { get; set; }
}
public partial class QueryDb<T>
: QueryBase
{
}
[DataContract]
public partial class QueryResponse<T>
{
public QueryResponse()
{
Results = new List<T>{};
Meta = new Dictionary<string, string>{};
}
[DataMember(Order=1)]
public virtual int Offset { get; set; }
[DataMember(Order=2)]
public virtual int Total { get; set; }
[DataMember(Order=3)]
public virtual List<T> Results { get; set; }
[DataMember(Order=4)]
public virtual Dictionary<string, string> Meta { get; set; }
[DataMember(Order=5)]
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
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 } } }