/// Options: /// Date: 2026-11-07 04:01:22 /// 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: GetGameConfig.* /// ExcludeTypes: /// DefaultImports: const std = @import("std"); /// const std = @import("std"); pub const CountdownConfiguration = struct { lockdownStepFromEnd: i32 = 0, assertLockdownStepFromEnd: i32 = 0, }; pub const DrawConfiguration = struct { introIntervalInMs: i32 = 0, animationIntervalInMs: i32 = 0, outroIntervalInMs: i32 = 0, }; pub const RTPStrategies = enum(i32) { RNG = 0, Accumulator = 1, }; pub const HappyHourConfiguration = struct { isHappyHour: bool = false, oddsModifier: f64 = 0, roundPoolBonusPct: f64 = 0, useOnlyRoundPoolWithNoOptimizations: bool = false, overrideSyphonCombinationCountPerRoundThreshold: bool = false, syphonCombinationCountPerRoundThresholdPctOverride: f64 = 0, }; pub const RoundConfiguration = struct { coefficients: ?RecordList = null, isDoubleTripleActive: bool = false, isJackpot5Active: bool = false, countdownDurationInSeconds: i32 = 0, countdownConfiguration: ?CountdownConfiguration = null, drawConfiguration: ?DrawConfiguration = null, resultsDurationInSeconds: i32 = 0, rtpStrategy: ?RTPStrategies = null, happyHourConfiguration: ?HappyHourConfiguration = null, }; pub const TimePoint = struct { hour: i32 = 0, minute: i32 = 0, }; pub const TimeInterval = struct { start: ?TimePoint = null, end: ?TimePoint = null, }; pub const HappyHourItem = struct { id: i64 = 0, interval: ?TimeInterval = null, oddsModifier: f64 = 0, roundPoolBonusPct: f64 = 0, }; pub const HappyHourConfig = struct { isActive: bool = false, items: ?[]HappyHourItem = null, useOnlyRoundPoolWithNoOptimizations: bool = false, overrideSyphonCombinationCountPerRoundThreshold: bool = false, syphonCombinationCountPerRoundThresholdPctOverride: f64 = 0, }; pub const GameConfiguration = struct { queueSize: i32 = 0, roundConfiguration: ?RoundConfiguration = null, happyHourConfig: ?HappyHourConfig = null, }; pub fn RecordList(comptime T: type) type { _ = T; return struct { pub const ss_collection = "items"; items: []T = &.{}, }; pub const GameConfiguration = struct { id: ?[]const u8 = null, queueSize: i32 = 0, roundConfiguration: ?RoundConfiguration = null, happyHourConfig: ?HappyHourConfig = null, }; // @Route("/qry/config/game") pub const GetGameConfig = struct { pub const ss_name = "GetGameConfig"; pub const ss_verb = "POST"; pub const Response = GameConfiguration; locationId: ?[]const u8 = null, };