/* Options: Date: 2026-05-11 11:12:08 Version: 10.06 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: GetDrawDignostics.* //ExcludeTypes: //DefaultImports: */ // @ts-nocheck export interface IReturn { createResponse(): T; } export class Ref { public id: string; public val: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BettingApp { public name?: string; public version?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RefEx extends Ref { public data: RecordDictionary; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class Origin { public application?: BettingApp; public ip?: string; public organization?: RefEx; public region?: Ref; public locationGroup?: Ref; public location?: RefEx; public device?: RefEx; public clerk?: Ref; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Bet { public id?: string; public ordinalOfAvailableRoundToAssignTo: number; public content?: string; public stake: number; public payload?: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Pool { public id: number; public name?: string; public treshold: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum LocationOptimizationLevel { None = 0, Low = 1, Medium = 2, High = 3, } export class ThresholdInterval { public start: number; public end: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum SortingOrder { None = 0, Ascending = 1, Descending = 2, } export class WinCountOrderProbability { public order: SortingOrder; public probability: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PoolCaps { public plusCoef: number; public minusCoef: number; public maxAmountInPrevalentStakes: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PoolSettings { public id: number; public name?: string; public isActive: boolean; public contributionToRoundPoolPct: number; public caps?: PoolCaps; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum StakeCategory { Pickerel = 0, Fish = 1, Salmon = 2, Tuna = 3, Shark = 4, Whale = 5, None = -1, } export class CategoryThreshold { public category: StakeCategory; public threshold: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class HighRollerSettings { public pools?: RecordList; public categoryThresholds?: RecordList; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AntiSyphonConfig { public combinationCountPerRoundThresholdPct: number; public excludedLocations?: RecordList; public includeRoundPctAsBettorSyphonCriteria: boolean; public isActive: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class FraudDetectionConfiguration { public antiSyphon?: AntiSyphonConfig; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class DebugConfiguration { public logLocationStats: boolean; public logBettorSats: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AccumulatorConfiguration { public pools?: RecordList; public prevalentStake: number; public purgeThresholdModifier: number; public locationOptimizationLevel: LocationOptimizationLevel; public jackPot5ThresholdInterval?: ThresholdInterval; public deviationCategorySpanInPct: number; public deviationCategoryThresholdAmount: number; public roundPoolCircuitBreakerThreshold: number; public lowWinCountAffinityInPct: number; public winCountOrderAffinity?: RecordList; public highRollerSettings?: HighRollerSettings; public overflowCoefficientPoolsToRound: boolean; public antiSyphonProtectionOverride: boolean; public fraudDetectionConfig?: FraudDetectionConfiguration; public debugConfig?: DebugConfiguration; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Dictionary { [Key: string]: T; } export class RecordDictionary extends Dictionary { public constructor(init?: Partial>) { super(); (Object as any).assign(this, init); } } export class Pool { public id: number; public name?: string; public coefficient: number; public rtp: number; public threshold: number; public balance: number; public rrtp: number; public rBalance: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Bet { public id?: string; public slipId?: string; public bettor?: Ref; public origin?: Origin; public placedAt: string; public roundId?: string; public content?: string; public stake: number; public outcome: BetOutcome; public win: number; public processingStatus: BetProcessingStatus; public validity: BetValidity; public results?: { [index:string]: string; }; public payload?: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RecordList extends Array { public constructor(init?: Partial>) { super(); (Object as any).assign(this, init); } } export class Pool { public id: number; public name?: string; public rtp: number; public reserveRTP: number; public totalRTP: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SuperWinInfo { public isActive: boolean; public winner?: SuperWinWinner; public availableAmount: number; public allPrizesAwarded: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CurrentRoundInfo { public roundId?: string; public amount: number; public inertCode?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class WinnerByCode { public roundId?: string; public drawnAtUtc: string; public slipId?: string; public betId?: string; public code?: string; public amount: number; public origin?: Origin; public bettor?: Ref; public locationAddressOrBettorInfo?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class LocalCodePotInfo { public isActive: boolean; public current?: CurrentRoundInfo; public winners?: WinnerByCode[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Initialization { public dataLoadDuration: number; public betsCollectionsCreationDuration: number; public combinationsOccuranceLookupInitializationDuration: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SequenceGeneration { public nrOfThreads: number; public nrOfResultsProbed: number; public duration: number; public avgSinglePassDuration: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BestFitFinder { public targetAmount: number; public awardedAmount: number; public deviation: number; public deviationPct: number; public sequenceResultType?: string; public isJackPot5Drawn: boolean; public filteringPeriod: number; public winCountOrder: SortingOrder; public minAmount: number; public maxAmount: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class QualifiedPool { public id: number; public name?: string; public coefficient: number; public availableAmount: number; public awardedAmount: number; public targetBet?: Bet; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Purger { public prevalentStake: number; public poolPurger?: string; public qualifiedPools?: QualifiedPool[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum ResponseStatus { Failure = 0, Success = 1, } export class StimulationResponse { public stimulationId?: string; public status: ResponseStatus; public failureReason?: string; public slipId?: string; public betId?: string; public amountAwarded: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SuperWinInfo { public durationInMs: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class HappyHourInfo { public isHappyHour: boolean; public oddsModifier: number; public roundPoolBonusPct: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum SyphonType { Location = 0, Bettor = 1, } export class Syphon { public id?: string; public name?: string; public type: SyphonType; public nrOfCombinations: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SyphonInfo { public bettors?: { [index:string]: Syphon; }; public locations?: { [index:string]: Syphon; }; public hasSyphons: boolean; public totalSyphonsInRound: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Bet { public isFound: boolean; public betId?: string; public slipId?: string; public combStake?: Object; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class DrawDiagnostics { public id?: string; public initializationInfo?: Initialization; public sequenceGenerationInfo?: SequenceGeneration; public bestFitFinderInfo?: BestFitFinder; public purgerInfo?: Purger; public duration: number; public stimulationResponses?: StimulationResponse[]; public localCodePot?: LocalCodePotInfo; public superWin?: SuperWinInfo; public happyHour?: HappyHourInfo; public reasoning?: string; public configuration?: AccumulatorConfiguration; public syphonInfo?: SyphonInfo; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/qry/rounds/draw/diagnostics") export class GetDrawDignostics implements IReturn { public id?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GetDrawDignostics'; } public getMethod() { return 'POST'; } public createResponse() { return new DrawDiagnostics(); } }