/* Options: Date: 2025-11-09 11:07:55 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://s4w2.api.bettor.cc //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetDrawDignostics.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/qry/rounds/draw/diagnostics") open class GetDrawDignostics : IReturn { open var id:String? = null companion object { private val responseType = DrawDiagnostics::class.java } override fun getResponseType(): Any? = GetDrawDignostics.responseType } open class DrawDiagnostics { open var id:String? = null open var initializationInfo:Initialization? = null open var sequenceGenerationInfo:SequenceGeneration? = null open var bestFitFinderInfo:BestFitFinder? = null open var purgerInfo:Purger? = null open var duration:Long? = null open var stimulationResponses:ArrayList? = null open var localCodePot:LocalCodePotInfo? = null open var superWin:SuperWinInfo? = null open var happyHour:HappyHourInfo? = null open var reasoning:String? = null open var configuration:AccumulatorConfiguration? = null open var syphonInfo:SyphonInfo? = null } open class Ref { open var id:String? = null @SerializedName("val") open var Val:String? = null } open class Origin { open var application:BettingApp? = null open var ip:String? = null open var organization:RefEx? = null open var region:Ref? = null open var locationGroup:Ref? = null open var location:RefEx? = null open var device:RefEx? = null open var clerk:Ref? = null } open class Bet { open var id:String? = null open var ordinalOfAvailableRoundToAssignTo:Int? = null open var content:String? = null open var stake:BigDecimal? = null open var payload:HashMap? = null } open class AccumulatorConfiguration { open var pools:RecordList? = null open var prevalentStake:BigDecimal? = null open var purgeThresholdModifier:BigDecimal? = null open var locationOptimizationLevel:LocationOptimizationLevel? = null open var jackPot5ThresholdInterval:ThresholdInterval? = null open var deviationCategorySpanInPct:Int? = null open var deviationCategoryThresholdAmount:BigDecimal? = null open var roundPoolCircuitBreakerThreshold:BigDecimal? = null open var lowWinCountAffinityInPct:Int? = null open var winCountOrderAffinity:RecordList? = null open var highRollerSettings:HighRollerSettings? = null open var overflowCoefficientPoolsToRound:Boolean? = null open var antiSyphonProtectionOverride:Boolean? = null open var fraudDetectionConfig:FraudDetectionConfiguration? = null open var debugConfig:DebugConfiguration? = null } open class Pool { open var id:Int? = null open var name:String? = null open var coefficient:BigDecimal? = null open var rtp:BigDecimal? = null open var threshold:BigDecimal? = null open var balance:BigDecimal? = null open var rrtp:BigDecimal? = null open var rBalance:BigDecimal? = null } open class Bet { open var id:String? = null open var slipId:String? = null open var bettor:Ref? = null open var origin:Origin? = null open var placedAt:Date? = null open var roundId:String? = null open var content:String? = null open var stake:BigDecimal? = null open var outcome:BetOutcome? = null open var win:BigDecimal? = null open var processingStatus:BetProcessingStatus? = null open var validity:BetValidity? = null open var results:HashMap? = null open var payload:HashMap? = null } open class RecordList : ArrayList() { } open class Pool { open var id:Int? = null open var name:String? = null open var rtp:BigDecimal? = null open var reserveRTP:BigDecimal? = null open var totalRTP:BigDecimal? = null } enum class LocationOptimizationLevel(val value:Int) { @SerializedName("0") None(0), @SerializedName("1") Low(1), @SerializedName("2") Medium(2), @SerializedName("3") High(3), } open class ThresholdInterval { open var start:BigDecimal? = null open var end:BigDecimal? = null } open class WinCountOrderProbability { open var order:SortingOrder? = null open var probability:Int? = null } open class HighRollerSettings { open var pools:RecordList? = null open var categoryThresholds:RecordList? = null } open class FraudDetectionConfiguration { open var antiSyphon:AntiSyphonConfig? = null } open class DebugConfiguration { open var logLocationStats:Boolean? = null open var logBettorSats:Boolean? = null } open class Pool { open var id:Int? = null open var name:String? = null open var treshold:BigDecimal? = null } open class SuperWinInfo { open var isActive:Boolean? = null open var winner:SuperWinWinner? = null open var availableAmount:BigDecimal? = null open var allPrizesAwarded:Boolean? = null } open class LocalCodePotInfo { open var isActive:Boolean? = null open var current:CurrentRoundInfo? = null open var winners:ArrayList? = null } open class WinnerByCode { open var roundId:String? = null open var drawnAtUtc:Date? = null open var slipId:String? = null open var betId:String? = null open var code:String? = null open var amount:BigDecimal? = null open var origin:Origin? = null open var bettor:Ref? = null open var locationAddressOrBettorInfo:String? = null } open class Initialization { open var dataLoadDuration:Long? = null open var betsCollectionsCreationDuration:Long? = null open var combinationsOccuranceLookupInitializationDuration:Long? = null } open class SequenceGeneration { open var nrOfThreads:Int? = null open var nrOfResultsProbed:Int? = null open var duration:Long? = null open var avgSinglePassDuration:Long? = null } open class BestFitFinder { open var targetAmount:BigDecimal? = null open var awardedAmount:BigDecimal? = null open var deviation:BigDecimal? = null open var deviationPct:BigDecimal? = null open var sequenceResultType:String? = null open var isJackPot5Drawn:Boolean? = null open var filteringPeriod:Long? = null open var winCountOrder:SortingOrder? = null open var minAmount:BigDecimal? = null open var maxAmount:BigDecimal? = null } open class Purger { open var prevalentStake:BigDecimal? = null open var poolPurger:String? = null open var qualifiedPools:ArrayList? = null } open class StimulationResponse { open var stimulationId:String? = null open var status:ResponseStatus? = null open var failureReason:String? = null open var slipId:String? = null open var betId:String? = null open var amountAwarded:BigDecimal? = null } open class SuperWinInfo { open var durationInMs:Long? = null } open class HappyHourInfo { open var isHappyHour:Boolean? = null open var oddsModifier:BigDecimal? = null open var roundPoolBonusPct:BigDecimal? = null } open class SyphonInfo { open var bettors:HashMap? = null open var locations:HashMap? = null open var hasSyphons:Boolean? = null open var totalSyphonsInRound:Int? = null } open class BettingApp { open var name:String? = null open var version:String? = null } open class RefEx : Ref() { @SerializedName("data") open var Data:RecordDictionary? = null } enum class SortingOrder(val value:Int) { @SerializedName("0") None(0), @SerializedName("1") Ascending(1), @SerializedName("2") Descending(2), } open class PoolSettings { open var id:Int? = null open var name:String? = null open var isActive:Boolean? = null open var contributionToRoundPoolPct:BigDecimal? = null open var caps:PoolCaps? = null } open class CategoryThreshold { open var category:StakeCategory? = null open var threshold:BigDecimal? = null } open class AntiSyphonConfig { open var combinationCountPerRoundThresholdPct:BigDecimal? = null open var excludedLocations:RecordList? = null open var includeRoundPctAsBettorSyphonCriteria:Boolean? = null open var isActive:Boolean? = null } open class RecordDictionary : HashMap() { } open class CurrentRoundInfo { open var roundId:String? = null open var amount:BigDecimal? = null open var inertCode:String? = null } open class QualifiedPool { open var id:Int? = null open var name:String? = null open var coefficient:BigDecimal? = null open var availableAmount:BigDecimal? = null open var awardedAmount:BigDecimal? = null open var targetBet:Bet? = null } open class Syphon { open var id:String? = null open var name:String? = null @SerializedName("type") open var Type:SyphonType? = null open var nrOfCombinations:Int? = null } open class PoolCaps { open var plusCoef:BigDecimal? = null open var minusCoef:BigDecimal? = null open var maxAmountInPrevalentStakes:BigDecimal? = null } enum class StakeCategory(val value:Int) { @SerializedName("0") Pickerel(0), @SerializedName("1") Fish(1), @SerializedName("2") Salmon(2), @SerializedName("3") Tuna(3), @SerializedName("4") Shark(4), @SerializedName("5") Whale(5), @SerializedName("-1") None(-1), } open class Bet { open var isFound:Boolean? = null open var betId:String? = null open var slipId:String? = null open var combStake:Object? = null } enum class SyphonType(val value:Int) { @SerializedName("0") Location(0), @SerializedName("1") Bettor(1), }