/* Options: Date: 2025-11-09 11:08:23 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://s4w2.api.bettor.cc //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: ConfigureAccumulator.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/cmd/configure/accumulator", "POST") public class ConfigureAccumulator : IReturn, Codable { public typealias Return = ResponseStatus public var id:String? public var configuration:AccumulatorConfiguration? required public init(){} } public class Ref : Codable { public var id:String? public var val:String? required public init(){} } public class AccumulatorConfiguration : Codable { public var pools:RecordList? public var prevalentStake:Double? public var purgeThresholdModifier:Double? public var locationOptimizationLevel:LocationOptimizationLevel? public var jackPot5ThresholdInterval:ThresholdInterval? public var deviationCategorySpanInPct:Int? public var deviationCategoryThresholdAmount:Double? public var roundPoolCircuitBreakerThreshold:Double? public var lowWinCountAffinityInPct:Int? public var winCountOrderAffinity:RecordList? public var highRollerSettings:HighRollerSettings? public var overflowCoefficientPoolsToRound:Bool? public var antiSyphonProtectionOverride:Bool? public var fraudDetectionConfig:FraudDetectionConfiguration? public var debugConfig:DebugConfiguration? required public init(){} } public class Pool : Codable { public var id:Int? public var name:String? public var coefficient:Double? public var rtp:Double? public var threshold:Double? public var balance:Double? public var rrtp:Double? public var rBalance:Double? required public init(){} } public class RecordList : List { 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 Pool : Codable { public var id:Int? public var name:String? public var rtp:Double? public var reserveRTP:Double? public var totalRTP:Double? required public init(){} } public enum LocationOptimizationLevel : Int, Codable { case None = 0 case Low = 1 case Medium = 2 case High = 3 } public class ThresholdInterval : Codable { public var start:Double? public var end:Double? required public init(){} } public class WinCountOrderProbability : Codable { public var order:SortingOrder? public var probability:Int? required public init(){} } public class HighRollerSettings : Codable { public var pools:RecordList? public var categoryThresholds:RecordList? required public init(){} } public class FraudDetectionConfiguration : Codable { public var antiSyphon:AntiSyphonConfig? required public init(){} } public class DebugConfiguration : Codable { public var logLocationStats:Bool? public var logBettorSats:Bool? required public init(){} } public class Pool : Codable { public var id:Int? public var name:String? public var treshold:Double? required public init(){} } public enum SortingOrder : Int, Codable { case None = 0 case Ascending = 1 case Descending = 2 } public class PoolSettings : Codable { public var id:Int? public var name:String? public var isActive:Bool? public var contributionToRoundPoolPct:Double? public var caps:PoolCaps? required public init(){} } public class CategoryThreshold : Codable { public var category:StakeCategory? public var threshold:Double? required public init(){} } public class AntiSyphonConfig : Codable { public var combinationCountPerRoundThresholdPct:Double? public var excludedLocations:RecordList? public var includeRoundPctAsBettorSyphonCriteria:Bool? public var isActive:Bool? required public init(){} } public class PoolCaps : Codable { public var plusCoef:Double? public var minusCoef:Double? public var maxAmountInPrevalentStakes:Double? required public init(){} } public enum StakeCategory : Int, Codable { case Pickerel = 0 case Fish = 1 case Salmon = 2 case Tuna = 3 case Shark = 4 case Whale = 5 case None = -1 }