/* Options: Date: 2025-11-09 11:12:12 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: GetDraw.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/qry/rounds/draw") public class GetDraw : IReturn, Codable { public typealias Return = Draw public var id:String? required public init(){} } public class Draw : Codable { public var id:String? public var sequence:String? public var inputAccumulation:[Pool]? public var outputAccumulation:[Pool]? public var outcome:RoundOutcome? required public init(){} } public class Ref : Codable { public var id:String? public var val:String? required public init(){} } public class Origin : Codable { public var application:BettingApp? public var ip:String? public var organization:RefEx? public var region:Ref? public var locationGroup:Ref? public var location:RefEx? public var device:RefEx? public var clerk:Ref? 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 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 class Pool : Codable { public var id:Int? public var name:String? public var treshold:Double? required public init(){} } public class Jackpot5Info : Codable { public var isHit:Bool? public var amountAccumulated:Double? public var amountAwarded:Double? public var nrOfWinners:Int? public var jackPot5Winners:[JackPot5Winner]? required public init(){} } public class SuperWinInfo : Codable { public var isActive:Bool? public var winner:SuperWinWinner? public var availableAmount:Double? public var allPrizesAwarded:Bool? required public init(){} } public class GlobalCodePotInfo : Codable { public var isActive:Bool? public var isDrawn:Bool? public var winner:WinnerByCode? public var inertCode:String? public var accumulation:Double? required public init(){} } public class WinnerByCode : Codable { public var roundId:String? public var drawnAtUtc:Date? public var slipId:String? public var betId:String? public var code:String? public var amount:Double? public var origin:Origin? public var bettor:Ref? public var locationAddressOrBettorInfo:String? required public init(){} } public class SuperWinInfo : Codable { public var durationInMs:Int? required public init(){} } public class RoundOutcome : Codable { public var draw:[DrawItem]? public var customBetOutcomes:[CustomBetOutcome]? public var lcpWinners:[WinnerByCode]? public var superWinInfo:SuperWinInfo? public var jackpot5Info:Jackpot5Info? public var globalCodePotInfo:GlobalCodePotInfo? public var stake:Double? public var betCount:Int? public var winnings:Double? public var balance:Double? public var returnToPlayer:Double? public var winCount:Int? public var slipWinCount:Int? public var winCountPct:Float? public var slipCount:Int? public var unitBetCount:Int? required public init(){} } public class BettingApp : Codable { public var name:String? public var version:String? required public init(){} } public class RefEx : Ref { public var data:RecordDictionary? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case data } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) data = try container.decodeIfPresent(RecordDictionary.self, forKey: .data) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if data != nil { try container.encode(data, forKey: .data) } } } public class RecordDictionary : 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 JackPot5Winner : Codable { public var betId:String? public var nrOfCombinations:Int? public var winningsAmount:Double? public var origin:Origin? public var bettor:Ref? public var payload:[String:String]? required public init(){} } public class DrawItem : Codable { public var ordinal:Int? public var number:Int? public var coefficient:Float? public var isDoubleTriple:Bool? public var constitutesJackpot:Bool? public var hits:Int? public var win:Double? required public init(){} } public class CustomBetOutcome : Codable { public var type:CustomBetType? public var coef:Float? public var winCount:Int? public var win:Double? public var isWin:Bool? public var results:String? required public init(){} } public enum CustomBetType : Int, Codable { case FirstNumberOdd = 4 case FirstNumberEven = 5 case FirstNumberLessThan24_5 = 6 case FirstNumberGreaterThan24_5 = 7 case SumOfFirstFiveLessThan122_5 = 8 case SumOfFirstFiveGreaterThan122_5 = 9 case FirstColor1 = 10 case FirstColor2 = 11 case FirstColor3 = 12 case FirstColor4 = 13 case FirstColor5 = 14 case FirstColor6 = 15 case FirstColor7 = 16 case FirstColor8 = 17 case MoreOddNumbers = 18 case MoreEvenNumbers = 19 }