/* Options: Date: 2025-11-08 10:58:56 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: ConfigureGame.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/cmd/configure/game", Verbs="POST") open class ConfigureGame : IReturn { open var id:String? = null open var configuration:GameConfiguration? = null companion object { private val responseType = ResponseStatus::class.java } override fun getResponseType(): Any? = ConfigureGame.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 GameConfiguration { open var queueSize:Int? = null open var roundConfiguration:RoundConfiguration? = null open var happyHourConfig:HappyHourConfig? = null } open class RoundConfiguration { open var coefficients:RecordList? = null open var isDoubleTripleActive:Boolean? = null open var isJackpot5Active:Boolean? = null open var countdownDurationInSeconds:Int? = null open var countdownConfiguration:CountdownConfiguration? = null open var drawConfiguration:DrawConfiguration? = null open var resultsDurationInSeconds:Int? = null open var rtpStrategy:RTPStrategies? = null open var happyHourConfiguration:HappyHourConfiguration? = null } open class HappyHourConfig { open var isActive:Boolean? = null open var items:ArrayList? = null } open class RecordList : ArrayList() { } open class CountdownConfiguration { open var lockdownStepFromEnd:Int? = null open var assertLockdownStepFromEnd:Int? = null } open class DrawConfiguration { open var introIntervalInMs:Int? = null open var animationIntervalInMs:Int? = null open var outroIntervalInMs:Int? = null } enum class RTPStrategies(val value:Int) { @SerializedName("0") Rng(0), @SerializedName("1") Accumulator(1), } open class HappyHourConfiguration { open var isHappyHour:Boolean? = null open var oddsModifier:BigDecimal? = null open var roundPoolBonusPct:BigDecimal? = null } open class HappyHourItem { open var id:Long? = null open var interval:TimeInterval? = null open var oddsModifier:BigDecimal? = null open var roundPoolBonusPct:BigDecimal? = null } open class TimeInterval { open var start:TimePoint? = null open var end:TimePoint? = null } open class TimePoint { open var hour:Int? = null open var minute:Int? = null }