/* Options: Date: 2026-11-07 04:23:31 Version: 10.42 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://s4w2.api.bettor.webhop.biz //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetFeed.* //ExcludeTypes: //DefaultImports: */ package dtos import ( "time" ) type Ref struct { Id string `json:"id"` Val string `json:"val"` } type BettingApp struct { Name *string `json:"name,omitempty"` Version *string `json:"version,omitempty"` } type RefEx struct { Ref Data RecordDictionary[string, string] `json:"data"` } type Origin struct { Application *BettingApp `json:"application,omitempty"` Ip *string `json:"ip,omitempty"` Organization *RefEx `json:"organization,omitempty"` Region *Ref `json:"region,omitempty"` LocationGroup *Ref `json:"locationGroup,omitempty"` Location *RefEx `json:"location,omitempty"` Device *RefEx `json:"device,omitempty"` Clerk *Ref `json:"clerk,omitempty"` } type RecordDictionary[TKey any, TVal any] map[TKey]TVal 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 RecordList[T any] []T type RoundStatus int const ( RoundStatusPending RoundStatus = 0 RoundStatusInProgress RoundStatus = 1 RoundStatusEnded RoundStatus = 2 ) type JackPot5Winner struct { BetId *string `json:"betId,omitempty"` NrOfCombinations int `json:"nrOfCombinations,omitempty"` WinningsAmount float64 `json:"winningsAmount,omitempty"` Origin *Origin `json:"origin,omitempty"` Bettor *Ref `json:"bettor,omitempty"` Payload map[string]string `json:"payload,omitempty"` } type Jackpot5Info struct { IsHit bool `json:"isHit,omitempty"` AmountAccumulated float64 `json:"amountAccumulated,omitempty"` AmountAwarded float64 `json:"amountAwarded,omitempty"` NrOfWinners int `json:"nrOfWinners,omitempty"` JackPot5Winners []JackPot5Winner `json:"jackPot5Winners,omitempty"` } type SuperWinInfo struct { DurationInMs int64 `json:"durationInMs,omitempty"` Reasoning *string `json:"reasoning,omitempty"` } type WinnerByCode struct { RoundId *string `json:"roundId,omitempty"` DrawnAtUtc time.Time `json:"drawnAtUtc,omitempty"` SlipId *string `json:"slipId,omitempty"` BetId *string `json:"betId,omitempty"` Code *string `json:"code,omitempty"` Amount float64 `json:"amount,omitempty"` Origin *Origin `json:"origin,omitempty"` Bettor *Ref `json:"bettor,omitempty"` LocationAddressOrBettorInfo *string `json:"locationAddressOrBettorInfo,omitempty"` } type GlobalCodePotInfo struct { IsActive bool `json:"isActive,omitempty"` IsDrawn bool `json:"isDrawn,omitempty"` Winner *WinnerByCode `json:"winner,omitempty"` InertCode *string `json:"inertCode,omitempty"` Accumulation float64 `json:"accumulation,omitempty"` } type Stages int const ( StagesNone Stages = 0 StagesCountdown Stages = 1 StagesProcessing Stages = 2 StagesDraw Stages = 3 StagesResults Stages = 4 ) type RoundProgress struct { Stage Stages `json:"stage,omitempty"` Step int `json:"step,omitempty"` Steps int `json:"steps,omitempty"` UtcTimestamp time.Time `json:"utcTimestamp,omitempty"` } type Round struct { Id *string `json:"id,omitempty"` CreatedAt time.Time `json:"createdAt,omitempty"` UpdatedAt time.Time `json:"updatedAt,omitempty"` ShouldStartAtUtc time.Time `json:"shouldStartAtUtc,omitempty"` StartedAtUtc time.Time `json:"startedAtUtc,omitempty"` Status RoundStatus `json:"status,omitempty"` Configuration *RoundConfiguration `json:"configuration,omitempty"` Sequence *string `json:"sequence,omitempty"` Jackpot5Info *Jackpot5Info `json:"jackpot5Info,omitempty"` SuperWinInfo *SuperWinInfo `json:"superWinInfo,omitempty"` GlobalCodePotInfo *GlobalCodePotInfo `json:"globalCodePotInfo,omitempty"` Progress *RoundProgress `json:"progress,omitempty"` IsLocked bool `json:"isLocked,omitempty"` IsCalculated bool `json:"isCalculated,omitempty"` } type SuperWinInfo struct { IsActive bool `json:"isActive,omitempty"` Winner *SuperWinWinner `json:"winner,omitempty"` AvailableAmount float64 `json:"availableAmount,omitempty"` AllPrizesAwarded bool `json:"allPrizesAwarded,omitempty"` } type Feed struct { Id *string `json:"id,omitempty"` Round *Round `json:"round,omitempty"` LastJackpot5Info *Jackpot5Info `json:"lastJackpot5Info,omitempty"` SuperWinInfo *SuperWinInfo `json:"superWinInfo,omitempty"` GlobalCodePotInfo *GlobalCodePotInfo `json:"globalCodePotInfo,omitempty"` } // @Route("/qry/feed") type GetFeed struct { } func (GetFeed) CreateResponse() (r Feed) { return } func (GetFeed) HttpMethod() string { return "POST" }