| All Verbs | /qry/rounds/draw/diagnostics |
|---|
<?php namespace dtos;
use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};
class Initialization implements JsonSerializable
{
public function __construct(
/** @var int */
public int $dataLoadDuration=0,
/** @var int */
public int $betsCollectionsCreationDuration=0,
/** @var int */
public int $combinationsOccuranceLookupInitializationDuration=0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['dataLoadDuration'])) $this->dataLoadDuration = $o['dataLoadDuration'];
if (isset($o['betsCollectionsCreationDuration'])) $this->betsCollectionsCreationDuration = $o['betsCollectionsCreationDuration'];
if (isset($o['combinationsOccuranceLookupInitializationDuration'])) $this->combinationsOccuranceLookupInitializationDuration = $o['combinationsOccuranceLookupInitializationDuration'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->dataLoadDuration)) $o['dataLoadDuration'] = $this->dataLoadDuration;
if (isset($this->betsCollectionsCreationDuration)) $o['betsCollectionsCreationDuration'] = $this->betsCollectionsCreationDuration;
if (isset($this->combinationsOccuranceLookupInitializationDuration)) $o['combinationsOccuranceLookupInitializationDuration'] = $this->combinationsOccuranceLookupInitializationDuration;
return empty($o) ? new class(){} : $o;
}
}
class SequenceGeneration implements JsonSerializable
{
public function __construct(
/** @var int */
public int $nrOfThreads=0,
/** @var int */
public int $nrOfResultsProbed=0,
/** @var int */
public int $duration=0,
/** @var int */
public int $avgSinglePassDuration=0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['nrOfThreads'])) $this->nrOfThreads = $o['nrOfThreads'];
if (isset($o['nrOfResultsProbed'])) $this->nrOfResultsProbed = $o['nrOfResultsProbed'];
if (isset($o['duration'])) $this->duration = $o['duration'];
if (isset($o['avgSinglePassDuration'])) $this->avgSinglePassDuration = $o['avgSinglePassDuration'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->nrOfThreads)) $o['nrOfThreads'] = $this->nrOfThreads;
if (isset($this->nrOfResultsProbed)) $o['nrOfResultsProbed'] = $this->nrOfResultsProbed;
if (isset($this->duration)) $o['duration'] = $this->duration;
if (isset($this->avgSinglePassDuration)) $o['avgSinglePassDuration'] = $this->avgSinglePassDuration;
return empty($o) ? new class(){} : $o;
}
}
enum SortingOrder : int
{
case None = 0;
case Ascending = 1;
case Descending = 2;
}
class BestFitFinder implements JsonSerializable
{
public function __construct(
/** @var float */
public float $targetAmount=0.0,
/** @var float */
public float $awardedAmount=0.0,
/** @var float */
public float $deviation=0.0,
/** @var float */
public float $deviationPct=0.0,
/** @var string|null */
public ?string $sequenceResultType=null,
/** @var bool|null */
public ?bool $isJackPot5Drawn=null,
/** @var int */
public int $filteringPeriod=0,
/** @var SortingOrder|null */
public ?SortingOrder $winCountOrder=null,
/** @var float */
public float $minAmount=0.0,
/** @var float */
public float $maxAmount=0.0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['targetAmount'])) $this->targetAmount = $o['targetAmount'];
if (isset($o['awardedAmount'])) $this->awardedAmount = $o['awardedAmount'];
if (isset($o['deviation'])) $this->deviation = $o['deviation'];
if (isset($o['deviationPct'])) $this->deviationPct = $o['deviationPct'];
if (isset($o['sequenceResultType'])) $this->sequenceResultType = $o['sequenceResultType'];
if (isset($o['isJackPot5Drawn'])) $this->isJackPot5Drawn = $o['isJackPot5Drawn'];
if (isset($o['filteringPeriod'])) $this->filteringPeriod = $o['filteringPeriod'];
if (isset($o['winCountOrder'])) $this->winCountOrder = JsonConverters::from('SortingOrder', $o['winCountOrder']);
if (isset($o['minAmount'])) $this->minAmount = $o['minAmount'];
if (isset($o['maxAmount'])) $this->maxAmount = $o['maxAmount'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->targetAmount)) $o['targetAmount'] = $this->targetAmount;
if (isset($this->awardedAmount)) $o['awardedAmount'] = $this->awardedAmount;
if (isset($this->deviation)) $o['deviation'] = $this->deviation;
if (isset($this->deviationPct)) $o['deviationPct'] = $this->deviationPct;
if (isset($this->sequenceResultType)) $o['sequenceResultType'] = $this->sequenceResultType;
if (isset($this->isJackPot5Drawn)) $o['isJackPot5Drawn'] = $this->isJackPot5Drawn;
if (isset($this->filteringPeriod)) $o['filteringPeriod'] = $this->filteringPeriod;
if (isset($this->winCountOrder)) $o['winCountOrder'] = JsonConverters::to('SortingOrder', $this->winCountOrder);
if (isset($this->minAmount)) $o['minAmount'] = $this->minAmount;
if (isset($this->maxAmount)) $o['maxAmount'] = $this->maxAmount;
return empty($o) ? new class(){} : $o;
}
}
class Bet implements JsonSerializable
{
public function __construct(
/** @var bool|null */
public ?bool $isFound=null,
/** @var string|null */
public ?string $betId=null,
/** @var string|null */
public ?string $slipId=null,
/** @var Object|null */
public ?Object $combStake=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['isFound'])) $this->isFound = $o['isFound'];
if (isset($o['betId'])) $this->betId = $o['betId'];
if (isset($o['slipId'])) $this->slipId = $o['slipId'];
if (isset($o['combStake'])) $this->combStake = JsonConverters::from('Object', $o['combStake']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->isFound)) $o['isFound'] = $this->isFound;
if (isset($this->betId)) $o['betId'] = $this->betId;
if (isset($this->slipId)) $o['slipId'] = $this->slipId;
if (isset($this->combStake)) $o['combStake'] = JsonConverters::to('Object', $this->combStake);
return empty($o) ? new class(){} : $o;
}
}
class QualifiedPool implements JsonSerializable
{
public function __construct(
/** @var int */
public int $id=0,
/** @var string|null */
public ?string $name=null,
/** @var float */
public float $coefficient=0.0,
/** @var float */
public float $availableAmount=0.0,
/** @var float */
public float $awardedAmount=0.0,
/** @var Bet|null */
public ?Bet $targetBet=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['name'])) $this->name = $o['name'];
if (isset($o['coefficient'])) $this->coefficient = $o['coefficient'];
if (isset($o['availableAmount'])) $this->availableAmount = $o['availableAmount'];
if (isset($o['awardedAmount'])) $this->awardedAmount = $o['awardedAmount'];
if (isset($o['targetBet'])) $this->targetBet = JsonConverters::from('Bet', $o['targetBet']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->name)) $o['name'] = $this->name;
if (isset($this->coefficient)) $o['coefficient'] = $this->coefficient;
if (isset($this->availableAmount)) $o['availableAmount'] = $this->availableAmount;
if (isset($this->awardedAmount)) $o['awardedAmount'] = $this->awardedAmount;
if (isset($this->targetBet)) $o['targetBet'] = JsonConverters::to('Bet', $this->targetBet);
return empty($o) ? new class(){} : $o;
}
}
class Purger implements JsonSerializable
{
public function __construct(
/** @var float */
public float $prevalentStake=0.0,
/** @var string|null */
public ?string $poolPurger=null,
/** @var array<QualifiedPool>|null */
public ?array $qualifiedPools=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['prevalentStake'])) $this->prevalentStake = $o['prevalentStake'];
if (isset($o['poolPurger'])) $this->poolPurger = $o['poolPurger'];
if (isset($o['qualifiedPools'])) $this->qualifiedPools = JsonConverters::fromArray('QualifiedPool', $o['qualifiedPools']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->prevalentStake)) $o['prevalentStake'] = $this->prevalentStake;
if (isset($this->poolPurger)) $o['poolPurger'] = $this->poolPurger;
if (isset($this->qualifiedPools)) $o['qualifiedPools'] = JsonConverters::toArray('QualifiedPool', $this->qualifiedPools);
return empty($o) ? new class(){} : $o;
}
}
enum ResponseStatus : int
{
case Failure = 0;
case Success = 1;
}
class StimulationResponse implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $stimulationId=null,
/** @var ResponseStatus|null */
public ?ResponseStatus $status=null,
/** @var string|null */
public ?string $failureReason=null,
/** @var string|null */
public ?string $slipId=null,
/** @var string|null */
public ?string $betId=null,
/** @var float */
public float $amountAwarded=0.0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['stimulationId'])) $this->stimulationId = $o['stimulationId'];
if (isset($o['status'])) $this->status = JsonConverters::from('ResponseStatus', $o['status']);
if (isset($o['failureReason'])) $this->failureReason = $o['failureReason'];
if (isset($o['slipId'])) $this->slipId = $o['slipId'];
if (isset($o['betId'])) $this->betId = $o['betId'];
if (isset($o['amountAwarded'])) $this->amountAwarded = $o['amountAwarded'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->stimulationId)) $o['stimulationId'] = $this->stimulationId;
if (isset($this->status)) $o['status'] = JsonConverters::to('ResponseStatus', $this->status);
if (isset($this->failureReason)) $o['failureReason'] = $this->failureReason;
if (isset($this->slipId)) $o['slipId'] = $this->slipId;
if (isset($this->betId)) $o['betId'] = $this->betId;
if (isset($this->amountAwarded)) $o['amountAwarded'] = $this->amountAwarded;
return empty($o) ? new class(){} : $o;
}
}
class CurrentRoundInfo implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $roundId=null,
/** @var float */
public float $amount=0.0,
/** @var string|null */
public ?string $inertCode=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['roundId'])) $this->roundId = $o['roundId'];
if (isset($o['amount'])) $this->amount = $o['amount'];
if (isset($o['inertCode'])) $this->inertCode = $o['inertCode'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->roundId)) $o['roundId'] = $this->roundId;
if (isset($this->amount)) $o['amount'] = $this->amount;
if (isset($this->inertCode)) $o['inertCode'] = $this->inertCode;
return empty($o) ? new class(){} : $o;
}
}
class BettingApp implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $name=null,
/** @var string|null */
public ?string $version=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['name'])) $this->name = $o['name'];
if (isset($o['version'])) $this->version = $o['version'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->name)) $o['name'] = $this->name;
if (isset($this->version)) $o['version'] = $this->version;
return empty($o) ? new class(){} : $o;
}
}
class Ref implements JsonSerializable
{
public function __construct(
/** @var string */
public string $id='',
/** @var string */
public string $val=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['val'])) $this->val = $o['val'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->val)) $o['val'] = $this->val;
return empty($o) ? new class(){} : $o;
}
}
class RefEx extends Ref implements JsonSerializable
{
/**
* @param string $id
* @param string $val
*/
public function __construct(
string $id='',
string $val='',
/** @var RecordDictionary2<string, string>|null */
public ?RecordDictionary2 $data=null
) {
parent::__construct($id,$val);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['data'])) $this->data = JsonConverters::from(JsonConverters::context('RecordDictionary2',genericArgs:['string','string']), $o['data']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->data)) $o['data'] = JsonConverters::to(JsonConverters::context('RecordDictionary2',genericArgs:['string','string']), $this->data);
return empty($o) ? new class(){} : $o;
}
}
class Origin implements JsonSerializable
{
public function __construct(
/** @var BettingApp|null */
public ?BettingApp $application=null,
/** @var string|null */
public ?string $ip=null,
/** @var RefEx|null */
public ?RefEx $organization=null,
/** @var Ref|null */
public ?Ref $region=null,
/** @var Ref|null */
public ?Ref $locationGroup=null,
/** @var RefEx|null */
public ?RefEx $location=null,
/** @var RefEx|null */
public ?RefEx $device=null,
/** @var Ref|null */
public ?Ref $clerk=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['application'])) $this->application = JsonConverters::from('BettingApp', $o['application']);
if (isset($o['ip'])) $this->ip = $o['ip'];
if (isset($o['organization'])) $this->organization = JsonConverters::from('RefEx', $o['organization']);
if (isset($o['region'])) $this->region = JsonConverters::from('Ref', $o['region']);
if (isset($o['locationGroup'])) $this->locationGroup = JsonConverters::from('Ref', $o['locationGroup']);
if (isset($o['location'])) $this->location = JsonConverters::from('RefEx', $o['location']);
if (isset($o['device'])) $this->device = JsonConverters::from('RefEx', $o['device']);
if (isset($o['clerk'])) $this->clerk = JsonConverters::from('Ref', $o['clerk']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->application)) $o['application'] = JsonConverters::to('BettingApp', $this->application);
if (isset($this->ip)) $o['ip'] = $this->ip;
if (isset($this->organization)) $o['organization'] = JsonConverters::to('RefEx', $this->organization);
if (isset($this->region)) $o['region'] = JsonConverters::to('Ref', $this->region);
if (isset($this->locationGroup)) $o['locationGroup'] = JsonConverters::to('Ref', $this->locationGroup);
if (isset($this->location)) $o['location'] = JsonConverters::to('RefEx', $this->location);
if (isset($this->device)) $o['device'] = JsonConverters::to('RefEx', $this->device);
if (isset($this->clerk)) $o['clerk'] = JsonConverters::to('Ref', $this->clerk);
return empty($o) ? new class(){} : $o;
}
}
class WinnerByCode implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $roundId=null,
/** @var DateTime */
public DateTime $drawnAtUtc=new DateTime(),
/** @var string|null */
public ?string $slipId=null,
/** @var string|null */
public ?string $betId=null,
/** @var string|null */
public ?string $code=null,
/** @var float */
public float $amount=0.0,
/** @var Origin|null */
public ?Origin $origin=null,
/** @var Ref|null */
public ?Ref $bettor=null,
/** @var string|null */
public ?string $locationAddressOrBettorInfo=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['roundId'])) $this->roundId = $o['roundId'];
if (isset($o['drawnAtUtc'])) $this->drawnAtUtc = JsonConverters::from('DateTime', $o['drawnAtUtc']);
if (isset($o['slipId'])) $this->slipId = $o['slipId'];
if (isset($o['betId'])) $this->betId = $o['betId'];
if (isset($o['code'])) $this->code = $o['code'];
if (isset($o['amount'])) $this->amount = $o['amount'];
if (isset($o['origin'])) $this->origin = JsonConverters::from('Origin', $o['origin']);
if (isset($o['bettor'])) $this->bettor = JsonConverters::from('Ref', $o['bettor']);
if (isset($o['locationAddressOrBettorInfo'])) $this->locationAddressOrBettorInfo = $o['locationAddressOrBettorInfo'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->roundId)) $o['roundId'] = $this->roundId;
if (isset($this->drawnAtUtc)) $o['drawnAtUtc'] = JsonConverters::to('DateTime', $this->drawnAtUtc);
if (isset($this->slipId)) $o['slipId'] = $this->slipId;
if (isset($this->betId)) $o['betId'] = $this->betId;
if (isset($this->code)) $o['code'] = $this->code;
if (isset($this->amount)) $o['amount'] = $this->amount;
if (isset($this->origin)) $o['origin'] = JsonConverters::to('Origin', $this->origin);
if (isset($this->bettor)) $o['bettor'] = JsonConverters::to('Ref', $this->bettor);
if (isset($this->locationAddressOrBettorInfo)) $o['locationAddressOrBettorInfo'] = $this->locationAddressOrBettorInfo;
return empty($o) ? new class(){} : $o;
}
}
class LocalCodePotInfo implements JsonSerializable
{
public function __construct(
/** @var bool|null */
public ?bool $isActive=null,
/** @var CurrentRoundInfo|null */
public ?CurrentRoundInfo $current=null,
/** @var array<WinnerByCode>|null */
public ?array $winners=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['isActive'])) $this->isActive = $o['isActive'];
if (isset($o['current'])) $this->current = JsonConverters::from('CurrentRoundInfo', $o['current']);
if (isset($o['winners'])) $this->winners = JsonConverters::fromArray('WinnerByCode', $o['winners']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->isActive)) $o['isActive'] = $this->isActive;
if (isset($this->current)) $o['current'] = JsonConverters::to('CurrentRoundInfo', $this->current);
if (isset($this->winners)) $o['winners'] = JsonConverters::toArray('WinnerByCode', $this->winners);
return empty($o) ? new class(){} : $o;
}
}
class SuperWinInfo implements JsonSerializable
{
public function __construct(
/** @var int */
public int $durationInMs=0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['durationInMs'])) $this->durationInMs = $o['durationInMs'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->durationInMs)) $o['durationInMs'] = $this->durationInMs;
return empty($o) ? new class(){} : $o;
}
}
class HappyHourInfo implements JsonSerializable
{
public function __construct(
/** @var bool|null */
public ?bool $isHappyHour=null,
/** @var float */
public float $oddsModifier=0.0,
/** @var float */
public float $roundPoolBonusPct=0.0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['isHappyHour'])) $this->isHappyHour = $o['isHappyHour'];
if (isset($o['oddsModifier'])) $this->oddsModifier = $o['oddsModifier'];
if (isset($o['roundPoolBonusPct'])) $this->roundPoolBonusPct = $o['roundPoolBonusPct'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->isHappyHour)) $o['isHappyHour'] = $this->isHappyHour;
if (isset($this->oddsModifier)) $o['oddsModifier'] = $this->oddsModifier;
if (isset($this->roundPoolBonusPct)) $o['roundPoolBonusPct'] = $this->roundPoolBonusPct;
return empty($o) ? new class(){} : $o;
}
}
class AccumulatorConfiguration extends AccumulatorConfiguration implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $id=null,
/** @var DateTime */
public DateTime $updatedAt=new DateTime()
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['updatedAt'])) $this->updatedAt = JsonConverters::from('DateTime', $o['updatedAt']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->updatedAt)) $o['updatedAt'] = JsonConverters::to('DateTime', $this->updatedAt);
return empty($o) ? new class(){} : $o;
}
}
enum SyphonType : int
{
case Location = 0;
case Bettor = 1;
}
class Syphon implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $id=null,
/** @var string|null */
public ?string $name=null,
/** @var SyphonType|null */
public ?SyphonType $type=null,
/** @var int */
public int $nrOfCombinations=0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['name'])) $this->name = $o['name'];
if (isset($o['type'])) $this->type = JsonConverters::from('SyphonType', $o['type']);
if (isset($o['nrOfCombinations'])) $this->nrOfCombinations = $o['nrOfCombinations'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->name)) $o['name'] = $this->name;
if (isset($this->type)) $o['type'] = JsonConverters::to('SyphonType', $this->type);
if (isset($this->nrOfCombinations)) $o['nrOfCombinations'] = $this->nrOfCombinations;
return empty($o) ? new class(){} : $o;
}
}
class SyphonInfo implements JsonSerializable
{
public function __construct(
/** @var array<string,Syphon>|null */
public ?array $bettors=null,
/** @var array<string,Syphon>|null */
public ?array $locations=null,
/** @var bool|null */
public ?bool $hasSyphons=null,
/** @var int */
public int $totalSyphonsInRound=0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['bettors'])) $this->bettors = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','Syphon']), $o['bettors']);
if (isset($o['locations'])) $this->locations = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','Syphon']), $o['locations']);
if (isset($o['hasSyphons'])) $this->hasSyphons = $o['hasSyphons'];
if (isset($o['totalSyphonsInRound'])) $this->totalSyphonsInRound = $o['totalSyphonsInRound'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->bettors)) $o['bettors'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','Syphon']), $this->bettors);
if (isset($this->locations)) $o['locations'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','Syphon']), $this->locations);
if (isset($this->hasSyphons)) $o['hasSyphons'] = $this->hasSyphons;
if (isset($this->totalSyphonsInRound)) $o['totalSyphonsInRound'] = $this->totalSyphonsInRound;
return empty($o) ? new class(){} : $o;
}
}
class DrawDiagnostics implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $id=null,
/** @var Initialization|null */
public ?Initialization $initializationInfo=null,
/** @var SequenceGeneration|null */
public ?SequenceGeneration $sequenceGenerationInfo=null,
/** @var BestFitFinder|null */
public ?BestFitFinder $bestFitFinderInfo=null,
/** @var Purger|null */
public ?Purger $purgerInfo=null,
/** @var int */
public int $duration=0,
/** @var array<StimulationResponse>|null */
public ?array $stimulationResponses=null,
/** @var LocalCodePotInfo|null */
public ?LocalCodePotInfo $localCodePot=null,
/** @var SuperWinInfo|null */
public ?SuperWinInfo $superWin=null,
/** @var HappyHourInfo|null */
public ?HappyHourInfo $happyHour=null,
/** @var string|null */
public ?string $reasoning=null,
/** @var AccumulatorConfiguration|null */
public ?AccumulatorConfiguration $configuration=null,
/** @var SyphonInfo|null */
public ?SyphonInfo $syphonInfo=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['initializationInfo'])) $this->initializationInfo = JsonConverters::from('Initialization', $o['initializationInfo']);
if (isset($o['sequenceGenerationInfo'])) $this->sequenceGenerationInfo = JsonConverters::from('SequenceGeneration', $o['sequenceGenerationInfo']);
if (isset($o['bestFitFinderInfo'])) $this->bestFitFinderInfo = JsonConverters::from('BestFitFinder', $o['bestFitFinderInfo']);
if (isset($o['purgerInfo'])) $this->purgerInfo = JsonConverters::from('Purger', $o['purgerInfo']);
if (isset($o['duration'])) $this->duration = $o['duration'];
if (isset($o['stimulationResponses'])) $this->stimulationResponses = JsonConverters::fromArray('StimulationResponse', $o['stimulationResponses']);
if (isset($o['localCodePot'])) $this->localCodePot = JsonConverters::from('LocalCodePotInfo', $o['localCodePot']);
if (isset($o['superWin'])) $this->superWin = JsonConverters::from('SuperWinInfo', $o['superWin']);
if (isset($o['happyHour'])) $this->happyHour = JsonConverters::from('HappyHourInfo', $o['happyHour']);
if (isset($o['reasoning'])) $this->reasoning = $o['reasoning'];
if (isset($o['configuration'])) $this->configuration = JsonConverters::from('AccumulatorConfiguration', $o['configuration']);
if (isset($o['syphonInfo'])) $this->syphonInfo = JsonConverters::from('SyphonInfo', $o['syphonInfo']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->initializationInfo)) $o['initializationInfo'] = JsonConverters::to('Initialization', $this->initializationInfo);
if (isset($this->sequenceGenerationInfo)) $o['sequenceGenerationInfo'] = JsonConverters::to('SequenceGeneration', $this->sequenceGenerationInfo);
if (isset($this->bestFitFinderInfo)) $o['bestFitFinderInfo'] = JsonConverters::to('BestFitFinder', $this->bestFitFinderInfo);
if (isset($this->purgerInfo)) $o['purgerInfo'] = JsonConverters::to('Purger', $this->purgerInfo);
if (isset($this->duration)) $o['duration'] = $this->duration;
if (isset($this->stimulationResponses)) $o['stimulationResponses'] = JsonConverters::toArray('StimulationResponse', $this->stimulationResponses);
if (isset($this->localCodePot)) $o['localCodePot'] = JsonConverters::to('LocalCodePotInfo', $this->localCodePot);
if (isset($this->superWin)) $o['superWin'] = JsonConverters::to('SuperWinInfo', $this->superWin);
if (isset($this->happyHour)) $o['happyHour'] = JsonConverters::to('HappyHourInfo', $this->happyHour);
if (isset($this->reasoning)) $o['reasoning'] = $this->reasoning;
if (isset($this->configuration)) $o['configuration'] = JsonConverters::to('AccumulatorConfiguration', $this->configuration);
if (isset($this->syphonInfo)) $o['syphonInfo'] = JsonConverters::to('SyphonInfo', $this->syphonInfo);
return empty($o) ? new class(){} : $o;
}
}
class GetDrawDignostics implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $id=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
return empty($o) ? new class(){} : $o;
}
}
/**
* @template TKey
* @template TVal
* @template array of TKey
* @template array1 of TVal
*/
class RecordDictionary2 extends array implements JsonSerializable
{
public array $genericArgs = [];
public static function create(array $genericArgs=[]): RecordDictionary2 {
$to = new RecordDictionary2();
$to->genericArgs = $genericArgs;
return $to;
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
return empty($o) ? new class(){} : $o;
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /qry/rounds/draw/diagnostics HTTP/1.1
Host: s4w2.api.bettor.cc
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetDrawDignostics xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Six4Win.WebApi.ServiceModel">
<Id>String</Id>
</GetDrawDignostics>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<DrawDiagnostics xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Six4Win.ReadModel">
<BestFitFinderInfo>
<AwardedAmount>0</AwardedAmount>
<Deviation>0</Deviation>
<DeviationPct>0</DeviationPct>
<FilteringPeriod>0</FilteringPeriod>
<IsJackPot5Drawn>false</IsJackPot5Drawn>
<MaxAmount>0</MaxAmount>
<MinAmount>0</MinAmount>
<SequenceResultType>String</SequenceResultType>
<TargetAmount>0</TargetAmount>
<WinCountOrder>None</WinCountOrder>
</BestFitFinderInfo>
<Configuration xmlns:d2p1="http://schemas.datacontract.org/2004/07/Six4Win">
<d2p1:AntiSyphonProtectionOverride>false</d2p1:AntiSyphonProtectionOverride>
<d2p1:DebugConfig>
<d2p1:LogBettorSats>false</d2p1:LogBettorSats>
<d2p1:LogLocationStats>false</d2p1:LogLocationStats>
</d2p1:DebugConfig>
<d2p1:DeviationCategorySpanInPct>0</d2p1:DeviationCategorySpanInPct>
<d2p1:DeviationCategoryThresholdAmount>0</d2p1:DeviationCategoryThresholdAmount>
<d2p1:FraudDetectionConfig>
<d2p1:AntiSyphon>
<d2p1:CombinationCountPerRoundThresholdPct>0</d2p1:CombinationCountPerRoundThresholdPct>
<d2p1:ExcludedLocations xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d5p1:Ref>
<d5p1:Id>String</d5p1:Id>
<d5p1:Val>String</d5p1:Val>
</d5p1:Ref>
</d2p1:ExcludedLocations>
<d2p1:IncludeRoundPctAsBettorSyphonCriteria>false</d2p1:IncludeRoundPctAsBettorSyphonCriteria>
<d2p1:IsActive>false</d2p1:IsActive>
</d2p1:AntiSyphon>
</d2p1:FraudDetectionConfig>
<d2p1:HighRollerSettings>
<d2p1:CategoryThresholds>
<d2p1:HighRollerSettings.CategoryThreshold>
<d2p1:Category>Pickerel</d2p1:Category>
<d2p1:Threshold>0</d2p1:Threshold>
</d2p1:HighRollerSettings.CategoryThreshold>
</d2p1:CategoryThresholds>
<d2p1:Pools>
<d2p1:HighRollerSettings.PoolSettings>
<d2p1:Caps>
<d2p1:MaxAmountInPrevalentStakes>0</d2p1:MaxAmountInPrevalentStakes>
<d2p1:MinusCoef>0</d2p1:MinusCoef>
<d2p1:PlusCoef>0</d2p1:PlusCoef>
</d2p1:Caps>
<d2p1:ContributionToRoundPoolPct>0</d2p1:ContributionToRoundPoolPct>
<d2p1:Id>0</d2p1:Id>
<d2p1:IsActive>false</d2p1:IsActive>
<d2p1:Name>String</d2p1:Name>
</d2p1:HighRollerSettings.PoolSettings>
</d2p1:Pools>
</d2p1:HighRollerSettings>
<d2p1:JackPot5ThresholdInterval>
<d2p1:End>0</d2p1:End>
<d2p1:Start>0</d2p1:Start>
</d2p1:JackPot5ThresholdInterval>
<d2p1:LocationOptimizationLevel>None</d2p1:LocationOptimizationLevel>
<d2p1:LowWinCountAffinityInPct>0</d2p1:LowWinCountAffinityInPct>
<d2p1:OverflowCoefficientPoolsToRound>false</d2p1:OverflowCoefficientPoolsToRound>
<d2p1:Pools>
<d2p1:AccumulatorConfiguration.Pool>
<d2p1:Id>0</d2p1:Id>
<d2p1:Name>String</d2p1:Name>
<d2p1:RTP>0</d2p1:RTP>
<d2p1:ReserveRTP>0</d2p1:ReserveRTP>
</d2p1:AccumulatorConfiguration.Pool>
</d2p1:Pools>
<d2p1:PrevalentStake>0</d2p1:PrevalentStake>
<d2p1:PurgeThresholdModifier>0</d2p1:PurgeThresholdModifier>
<d2p1:RoundPoolCircuitBreakerThreshold>0</d2p1:RoundPoolCircuitBreakerThreshold>
<d2p1:WinCountOrderAffinity>
<d2p1:WinCountOrderProbability>
<d2p1:Order>None</d2p1:Order>
<d2p1:Probability>0</d2p1:Probability>
</d2p1:WinCountOrderProbability>
</d2p1:WinCountOrderAffinity>
</Configuration>
<Duration>0</Duration>
<HappyHour>
<IsHappyHour>false</IsHappyHour>
<OddsModifier>0</OddsModifier>
<RoundPoolBonusPct>0</RoundPoolBonusPct>
</HappyHour>
<Id>String</Id>
<InitializationInfo>
<BetsCollectionsCreationDuration>0</BetsCollectionsCreationDuration>
<CombinationsOccuranceLookupInitializationDuration>0</CombinationsOccuranceLookupInitializationDuration>
<DataLoadDuration>0</DataLoadDuration>
</InitializationInfo>
<LocalCodePot>
<DurationInMs>0</DurationInMs>
</LocalCodePot>
<PurgerInfo>
<PoolPurger>String</PoolPurger>
<PrevalentStake>0</PrevalentStake>
<QualifiedPools>
<DrawDiagnostics.QualifiedPool>
<AvailableAmount>0</AvailableAmount>
<AwardedAmount>0</AwardedAmount>
<Coefficient>0</Coefficient>
<Id>0</Id>
<Name>String</Name>
<TargetBet>
<BetId>String</BetId>
<CombStake />
<IsFound>false</IsFound>
<SlipId>String</SlipId>
</TargetBet>
</DrawDiagnostics.QualifiedPool>
</QualifiedPools>
</PurgerInfo>
<Reasoning>String</Reasoning>
<SequenceGenerationInfo>
<AvgSinglePassDuration>0</AvgSinglePassDuration>
<Duration>0</Duration>
<NrOfResultsProbed>0</NrOfResultsProbed>
<NrOfThreads>0</NrOfThreads>
</SequenceGenerationInfo>
<StimulationResponses>
<DrawDiagnostics.StimulationResponse>
<AmountAwarded>0</AmountAwarded>
<BetId>String</BetId>
<FailureReason>String</FailureReason>
<SlipId>String</SlipId>
<Status>Failure</Status>
<StimulationId>String</StimulationId>
</DrawDiagnostics.StimulationResponse>
</StimulationResponses>
<SuperWin>
<DurationInMs>0</DurationInMs>
</SuperWin>
<SyphonInfo xmlns:d2p1="http://schemas.datacontract.org/2004/07/Six4Win.Common">
<d2p1:Bettors xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringSyphonFQuwRXs4>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>
<d2p1:Id>String</d2p1:Id>
<d2p1:Name>String</d2p1:Name>
<d2p1:NrOfCombinations>0</d2p1:NrOfCombinations>
<d2p1:Type>Location</d2p1:Type>
</d3p1:Value>
</d3p1:KeyValueOfstringSyphonFQuwRXs4>
</d2p1:Bettors>
<d2p1:Locations xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringSyphonFQuwRXs4>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>
<d2p1:Id>String</d2p1:Id>
<d2p1:Name>String</d2p1:Name>
<d2p1:NrOfCombinations>0</d2p1:NrOfCombinations>
<d2p1:Type>Location</d2p1:Type>
</d3p1:Value>
</d3p1:KeyValueOfstringSyphonFQuwRXs4>
</d2p1:Locations>
</SyphonInfo>
</DrawDiagnostics>