/* Options: Date: 2025-11-09 11:08:24 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: ConfigureAccumulator.* //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="/cmd/configure/accumulator", Verbs="POST") open class ConfigureAccumulator : IReturn { open var id:String? = null open var configuration:AccumulatorConfiguration? = null companion object { private val responseType = ResponseStatus::class.java } override fun getResponseType(): Any? = ConfigureAccumulator.responseType } @DataContract open class ResponseStatus { @DataMember(Order=1) open var errorCode:String? = null @DataMember(Order=2) open var message:String? = null @DataMember(Order=3) open var stackTrace:String? = null @DataMember(Order=4) open var errors:ArrayList? = null @DataMember(Order=5) open var meta:HashMap? = null } open class Ref { open var id:String? = null @SerializedName("val") open var Val:String? = 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 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 } 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 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), }