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

//GlobalNamespace: 
//MakeDataContractsExtensible: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//ExportValueTypes: False
IncludeTypes: ViewLicenseLicenses.*
//ExcludeTypes: 
//InitializeCollections: True
//AddNamespaces: 
*)

namespace ClubManager.Api.Services.Query

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type LossReasonInstance() = 
        member val LossReasonId:Int32 = new Int32() with get,set
        member val Reason:String = null with get,set
        member val Deleted:Boolean = new Boolean() with get,set
        member val Demo:Boolean = new Boolean() with get,set
        member val Selectable:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type UserInstance() = 
        member val UserId:Int32 = new Int32() with get,set
        member val UserName:String = null with get,set
        member val Name:String = null with get,set
        member val Email:String = null with get,set
        member val MobilePhone:String = null with get,set
        member val Enabled:Boolean = new Boolean() with get,set
        member val LastLogin:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Created:DateTime = new DateTime() with get,set
        member val Training:Boolean = new Boolean() with get,set
        member val Deleted:Boolean = new Boolean() with get,set
        member val CoursesCompleted:Int32 = new Int32() with get,set
        member val DisplayHomeNotification:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val TwoFactorEnabled:Boolean = new Boolean() with get,set
        member val EmailConfirmed:Boolean = new Boolean() with get,set
        member val MobilePhoneConfirmed:Boolean = new Boolean() with get,set
        member val Notifications:Boolean = new Boolean() with get,set
        member val ChangePassword:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Activated:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    [<AllowNullLiteral>]
    type MemberInstance() = 
        member val MemberId:Int32 = new Int32() with get,set
        member val MemberType:Int32 = new Int32() with get,set
        member val MembershipNumber:String = null with get,set
        member val CardNumber:String = null with get,set
        member val CompanyName:String = null with get,set
        member val Surname:String = null with get,set
        member val Forenames:String = null with get,set
        member val Title:String = null with get,set
        member val Gender:Int32 = new Int32() with get,set
        member val DateOfBirth:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Address1:String = null with get,set
        member val Address2:String = null with get,set
        member val City:String = null with get,set
        member val County:String = null with get,set
        member val Postcode:String = null with get,set
        member val HomePhone:String = null with get,set
        member val MobilePhone:String = null with get,set
        member val EmailAddress:String = null with get,set
        member val EmailOptOut:Boolean = new Boolean() with get,set
        member val SmsOptOut:Boolean = new Boolean() with get,set
        member val PhoneOptOut:Boolean = new Boolean() with get,set
        member val LetterOptOut:Boolean = new Boolean() with get,set
        member val DirectDebitAccountHolder:String = null with get,set
        member val DirectDebitAccountNumber:String = null with get,set
        member val DirectDebitSortCode:String = null with get,set
        member val JoinedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val DirectDebitBankAddress:String = null with get,set
        member val FullName:String = null with get,set
        member val ExternalReference:String = null with get,set
        member val Photo:Byte[] = [||] with get,set
        member val PhotoModifiedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Notes:String = null with get,set
        member val Deleted:Boolean = new Boolean() with get,set
        member val Demo:Boolean = new Boolean() with get,set
        member val UseExternalStatus:Boolean = new Boolean() with get,set
        member val ExternalStatus:Int32 = new Int32() with get,set
        member val FreeText:String = null with get,set
        member val MemberKey:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val Balance:Decimal = new Decimal() with get,set
        member val CreditLimit:Decimal = new Decimal() with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set
        member val ModifiedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val DeletedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ExternalSource:Int32 = new Int32() with get,set
        member val RetentionMetric:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val MonthlyAttendanceFrequency:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val AssignedToUserId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val CreatedByUserId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val DeletedByUserId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val LossReason:LossReasonInstance = null with get,set
        [<References(typeof<LossReasonInstance>)>]
        member val LossReasonId:Nullable<Int32> = new Nullable<Int32>() with get,set

        member val WonOrLost:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val WonOrLostDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val GiftAidPermission:Boolean = new Boolean() with get,set
        member val PhotoPermission:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val FirstAidPermission:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val EmergencyContact:String = null with get,set
        member val WonOrLostByUser:UserInstance = null with get,set
        [<References(typeof<UserInstance>)>]
        member val WonOrLostByUserId:Nullable<Int32> = new Nullable<Int32>() with get,set

        member val AgreedToTerms:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val OnlineBookingBanned:Boolean = new Boolean() with get,set
        member val Country:String = null with get,set
        member val FingerprintEnrolled:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val LastPaymentAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Pin:String = null with get,set
        member val ProspectingPoints:Int32 = new Int32() with get,set
        member val AchievementPoints:Int32 = new Int32() with get,set
        member val ParentForenames:String = null with get,set
        member val ParentSurname:String = null with get,set

    [<AllowNullLiteral>]
    type LicenseLicensesInstance() = 
        member val LicenseId:Int32 = new Int32() with get,set
        member val FullReference:String = null with get,set
        member val LicenseReference:String = null with get,set
        member val LicenseNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val LicenseStartDate:DateTime = new DateTime() with get,set
        member val LicenseRenewalDate:DateTime = new DateTime() with get,set
        member val IssueNo:Int32 = new Int32() with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set
        member val CreatedByUserId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Member:MemberInstance = null with get,set
        [<References(typeof<MemberInstance>)>]
        member val MemberId:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<Route("/api/Query/LicenseLicenses")>]
    [<AutoQueryViewer(Description="", IconUrl="octicon:database", Title="LicenseLicenses")>]
    [<AllowNullLiteral>]
    type ViewLicenseLicenses() = 
        inherit QueryDb<LicenseLicensesInstance>()
        interface IReturn<QueryResponse<LicenseLicensesInstance>>