/* Options:
Date: 2025-04-09 03:55:37
Version: 5.140
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://api.clubmanagercentral.com

//GlobalNamespace: 
//MakePartial: True
//MakeVirtual: True
//MakeInternal: False
//MakeDataContractsExtensible: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//InitializeCollections: True
//ExportValueTypes: False
IncludeTypes: ViewMemberGetSuspendedMembers.*
//ExcludeTypes: 
//AddNamespaces: 
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/

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
{
    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 MemberGetSuspendedMembersInstance
    {
        public virtual MemberInstance Member { get; set; }
        [References(typeof(ClubManager.Api.Services.Query.MemberInstance))]
        public virtual int MemberId { get; set; }

        public virtual string MembershipNumber { get; set; }
        public virtual DateTime? JoinedDate { get; set; }
        public virtual string CardNumber { get; set; }
        public virtual string CompanyName { get; set; }
        public virtual string FullName { get; set; }
        public virtual int Gender { get; set; }
        public virtual string Title { get; set; }
        public virtual string Forenames { get; set; }
        public virtual string Surname { get; set; }
        public virtual string HomePhone { get; set; }
        public virtual string MobilePhone { get; set; }
        public virtual string EmailAddress { get; set; }
        public virtual DateTime? DateOfBirth { get; set; }
        public virtual string Postcode { 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 DateTime? StartDate { get; set; }
        public virtual DateTime? Expires { get; set; }
        public virtual int? SessionsRemaining { get; set; }
        public virtual DateTime? ContractEndDate { get; set; }
        public virtual int? DaysRemaining { get; set; }
        public virtual string MembershipType { get; set; }
        public virtual DateTime? LastAttendance { get; set; }
        public virtual int Attendance { get; set; }
        public virtual int MemberType { get; set; }
        public virtual int? RecurringPayments { get; set; }
        public virtual int? OverduePayments { get; set; }
        public virtual Guid BranchKey { get; set; }
        public virtual int AttendanceThisWeek { get; set; }
        public virtual decimal? retentionMetric { get; set; }
        public virtual decimal? MonthlyAttendanceFrequency { get; set; }
        public virtual decimal? TotalProductSpend { get; set; }
        public virtual string JournalEntry { get; set; }
        public virtual int? BookingsAttended { get; set; }
        public virtual DateTime? DateOfLastBooking { get; set; }
        public virtual decimal Balance { get; set; }
        public virtual decimal CreditLimit { get; set; }
        public virtual Guid? MemberKey { 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 bool UseExternalStatus { get; set; }
        public virtual int ExternalStatus { get; set; }
        public virtual DateTime CreatedDate { get; set; }
        public virtual DateTime? ModifiedDate { get; set; }
        public virtual DateTime? PhotoModifiedDate { get; set; }
        public virtual DateTime? DeletedDate { get; set; }
        public virtual string ExternalReference { get; set; }
        public virtual int? RecurringPaymentsPaidInLast30Days { get; set; }
        public virtual int MembershipState { get; set; }
        public virtual int HasRecurringPayments { get; set; }
        public virtual DateTime? LicenseRenewalDate { get; set; }
        public virtual string LicenseReference { get; set; }
        public virtual DateTime? LicenseStartDate { get; set; }
        public virtual int? PaymentRecurrenceCount { 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 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; }
    }

    [Route("/api/Query/MemberGetSuspendedMembers")]
    [AutoQueryViewer(Description="", IconUrl="octicon:database", Title="MemberGetSuspendedMembers")]
    public partial class ViewMemberGetSuspendedMembers
        : QueryDb<MemberGetSuspendedMembersInstance>, IReturn<QueryResponse<MemberGetSuspendedMembersInstance>>
    {
    }

}