/* Options: Date: 2025-11-09 11:04:20 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: GetGameConfig.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/qry/config/game") public class GetGameConfig : IReturn, Codable { public typealias Return = GameConfiguration public var locationId:String? required public init(){} } public class GameConfiguration : Codable { public var id:String? public var queueSize:Int? public var roundConfiguration:RoundConfiguration? public var happyHourConfig:HappyHourConfig? required public init(){} } public class GameConfiguration : Codable { public var queueSize:Int? public var roundConfiguration:RoundConfiguration? public var happyHourConfig:HappyHourConfig? required public init(){} } public class RoundConfiguration : Codable { public var coefficients:RecordList? public var isDoubleTripleActive:Bool? public var isJackpot5Active:Bool? public var countdownDurationInSeconds:Int? public var countdownConfiguration:CountdownConfiguration? public var drawConfiguration:DrawConfiguration? public var resultsDurationInSeconds:Int? public var rtpStrategy:RTPStrategies? public var happyHourConfiguration:HappyHourConfiguration? required public init(){} } public class HappyHourConfig : Codable { public var isActive:Bool? public var items:[HappyHourItem]? 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 CountdownConfiguration : Codable { public var lockdownStepFromEnd:Int? public var assertLockdownStepFromEnd:Int? required public init(){} } public class DrawConfiguration : Codable { public var introIntervalInMs:Int? public var animationIntervalInMs:Int? public var outroIntervalInMs:Int? required public init(){} } public enum RTPStrategies : Int, Codable { case RNG = 0 case Accumulator = 1 } public class HappyHourConfiguration : Codable { public var isHappyHour:Bool? public var oddsModifier:Double? public var roundPoolBonusPct:Double? required public init(){} } public class HappyHourItem : Codable { public var id:Int? @TimeSpan public var interval:TimeInterval? public var oddsModifier:Double? public var roundPoolBonusPct:Double? required public init(){} } public class TimeInterval : Codable { public var start:TimePoint? public var end:TimePoint? required public init(){} } public class TimePoint : Codable { public var hour:Int? public var minute:Int? required public init(){} }