/* Options: Date: 2026-11-07 04:29:12 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: PlaceBets.* //ExcludeTypes: //DefaultImports: */ package dtos import ( ss "github.com/ServiceStack/servicestack-go" "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 Bet struct { Id *string `json:"id,omitempty"` OrdinalOfAvailableRoundToAssignTo int `json:"ordinalOfAvailableRoundToAssignTo,omitempty"` Content *string `json:"content,omitempty"` Stake float64 `json:"stake,omitempty"` Payload map[string]string `json:"payload,omitempty"` } type RecordDictionary[TKey any, TVal any] map[TKey]TVal type Bet struct { Id *string `json:"id,omitempty"` SlipId *string `json:"slipId,omitempty"` Bettor *Ref `json:"bettor,omitempty"` Origin *Origin `json:"origin,omitempty"` PlacedAt time.Time `json:"placedAt,omitempty"` RoundId *string `json:"roundId,omitempty"` Content *string `json:"content,omitempty"` Stake float64 `json:"stake,omitempty"` Outcome BetOutcome `json:"outcome,omitempty"` Win float64 `json:"win,omitempty"` ProcessingStatus BetProcessingStatus `json:"processingStatus,omitempty"` Validity BetValidity `json:"validity,omitempty"` Results map[string]string `json:"results,omitempty"` Payload map[string]string `json:"payload,omitempty"` } type ResponseStatus int const ( ResponseStatusFailure ResponseStatus = 0 ResponseStatusSuccess ResponseStatus = 1 ) type Bet struct { IsFound bool `json:"isFound,omitempty"` BetId *string `json:"betId,omitempty"` SlipId *string `json:"slipId,omitempty"` CombStake *interface{} `json:"combStake,omitempty"` } // @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/bets/v2", "POST") type PlaceBets struct { SlipId *string `json:"slipId,omitempty"` Bettor *Ref `json:"bettor,omitempty"` Origin *Origin `json:"origin,omitempty"` PlacedAt time.Time `json:"placedAt,omitempty"` Bets []Bet `json:"bets,omitempty"` } func (PlaceBets) CreateResponse() (r ResponseStatus) { return } func (PlaceBets) HttpMethod() string { return "POST" }