/* Options: Date: 2026-11-07 04:22:03 Version: 10.42 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://s4w1.api.bettor.webhop.biz //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ConfigureGame.* //ExcludeTypes: //DefaultImports: */ package dtos import ( ss "github.com/ServiceStack/servicestack-go" ) type CountdownConfiguration struct { LockdownStepFromEnd int `json:"lockdownStepFromEnd,omitempty"` AssertLockdownStepFromEnd int `json:"assertLockdownStepFromEnd,omitempty"` } type DrawConfiguration struct { IntroIntervalInMs int `json:"introIntervalInMs,omitempty"` AnimationIntervalInMs int `json:"animationIntervalInMs,omitempty"` OutroIntervalInMs int `json:"outroIntervalInMs,omitempty"` } type RTPStrategies int const ( RTPStrategiesRNG RTPStrategies = 0 RTPStrategiesAccumulator RTPStrategies = 1 ) type HappyHourConfiguration struct { IsHappyHour bool `json:"isHappyHour,omitempty"` OddsModifier float64 `json:"oddsModifier,omitempty"` RoundPoolBonusPct float64 `json:"roundPoolBonusPct,omitempty"` UseOnlyRoundPoolWithNoOptimizations bool `json:"useOnlyRoundPoolWithNoOptimizations,omitempty"` OverrideSyphonCombinationCountPerRoundThreshold bool `json:"overrideSyphonCombinationCountPerRoundThreshold,omitempty"` SyphonCombinationCountPerRoundThresholdPctOverride float64 `json:"syphonCombinationCountPerRoundThresholdPctOverride,omitempty"` } type RoundConfiguration struct { Coefficients *RecordList[float32] `json:"coefficients,omitempty"` IsDoubleTripleActive bool `json:"isDoubleTripleActive,omitempty"` IsJackpot5Active bool `json:"isJackpot5Active,omitempty"` CountdownDurationInSeconds int `json:"countdownDurationInSeconds,omitempty"` CountdownConfiguration *CountdownConfiguration `json:"countdownConfiguration,omitempty"` DrawConfiguration *DrawConfiguration `json:"drawConfiguration,omitempty"` ResultsDurationInSeconds int `json:"resultsDurationInSeconds,omitempty"` RtpStrategy RTPStrategies `json:"rtpStrategy,omitempty"` HappyHourConfiguration *HappyHourConfiguration `json:"happyHourConfiguration,omitempty"` } type TimePoint struct { Hour int `json:"hour,omitempty"` Minute int `json:"minute,omitempty"` } type TimeInterval struct { Start *TimePoint `json:"start,omitempty"` End *TimePoint `json:"end,omitempty"` } type HappyHourItem struct { Id int64 `json:"id,omitempty"` Interval *TimeInterval `json:"interval,omitempty"` OddsModifier float64 `json:"oddsModifier,omitempty"` RoundPoolBonusPct float64 `json:"roundPoolBonusPct,omitempty"` } type HappyHourConfig struct { IsActive bool `json:"isActive,omitempty"` Items []HappyHourItem `json:"items,omitempty"` UseOnlyRoundPoolWithNoOptimizations bool `json:"useOnlyRoundPoolWithNoOptimizations,omitempty"` OverrideSyphonCombinationCountPerRoundThreshold bool `json:"overrideSyphonCombinationCountPerRoundThreshold,omitempty"` SyphonCombinationCountPerRoundThresholdPctOverride float64 `json:"syphonCombinationCountPerRoundThresholdPctOverride,omitempty"` } type GameConfiguration struct { QueueSize int `json:"queueSize,omitempty"` RoundConfiguration *RoundConfiguration `json:"roundConfiguration,omitempty"` HappyHourConfig *HappyHourConfig `json:"happyHourConfig,omitempty"` } type RecordList[T any] []T type ResponseStatus int const ( ResponseStatusFailure ResponseStatus = 0 ResponseStatusSuccess ResponseStatus = 1 ) // @DataContract type ResponseStatus struct { // @DataMember(Order=1) ErrorCode string `json:"errorCode"` // @DataMember(Order=2) Message *string `json:"message,omitempty"` // @DataMember(Order=3) StackTrace *string `json:"stackTrace,omitempty"` // @DataMember(Order=4) Errors []ss.ResponseError `json:"errors,omitempty"` // @DataMember(Order=5) Meta map[string]string `json:"meta,omitempty"` } // @Route("/cmd/configure/game", "POST") type ConfigureGame struct { Id *string `json:"id,omitempty"` Configuration *GameConfiguration `json:"configuration,omitempty"` } func (ConfigureGame) CreateResponse() (r ResponseStatus) { return } func (ConfigureGame) HttpMethod() string { return "POST" }