/* Options: Date: 2026-11-07 03:12:56 Version: 10.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bettor.webhop.biz //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: InstallProductInstance.* //ExcludeTypes: //DefaultImports: */ package dtos import ( ss "github.com/ServiceStack/servicestack-go" ) type Money struct { Amount float64 `json:"amount,omitempty"` Currency string `json:"currency"` } type PayinConstraintType int const ( PayinConstraintTypeSingleBet PayinConstraintType = 0 PayinConstraintTypeMultiBet PayinConstraintType = 1 PayinConstraintTypeSystemBet PayinConstraintType = 2 ) type PayinConstraint struct { Type PayinConstraintType `json:"type,omitempty"` Min *Money `json:"min,omitempty"` Default *Money `json:"default,omitempty"` WarningThreshold *Money `json:"warningThreshold,omitempty"` Max *Money `json:"max,omitempty"` } type WinningsCapType int const ( WinningsCapTypeSingleBet WinningsCapType = 0 WinningsCapTypeMultiBet WinningsCapType = 1 WinningsCapTypeSystemBet WinningsCapType = 2 ) type WinningsCap struct { Type WinningsCapType `json:"type,omitempty"` Cap *Money `json:"cap,omitempty"` } type BettingPolicies struct { PayinConstraints *RecordList[PayinConstraint] `json:"payinConstraints,omitempty"` PayinTaxationPolicyId *string `json:"payinTaxationPolicyId,omitempty"` WinningsCaps *RecordList[WinningsCap] `json:"winningsCaps,omitempty"` WinningsTaxationPolicyId *string `json:"winningsTaxationPolicyId,omitempty"` } type Ref struct { Id string `json:"id"` Val string `json:"val"` } type RecordList[T any] []T type ProductReference struct { Id *string `json:"id,omitempty"` Value *string `json:"value,omitempty"` Category *string `json:"category,omitempty"` ProductProvider *Ref `json:"productProvider,omitempty"` } // @Route("/cmd/products/instances", "POST") type InstallProductInstance struct { Id *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Title *string `json:"title,omitempty"` Product *ProductReference `json:"product,omitempty"` Currency *Ref `json:"currency,omitempty"` BettingPolicies *BettingPolicies `json:"bettingPolicies,omitempty"` ApiUrl *string `json:"apiUrl,omitempty"` BackOfficeUrl *string `json:"backOfficeUrl,omitempty"` InstanceUrl *string `json:"instanceUrl,omitempty"` FeedPlayerUrl *string `json:"feedPlayerUrl,omitempty"` } func (InstallProductInstance) CreateResponse() (r ss.ResponseStatus) { return } func (InstallProductInstance) HttpMethod() string { return "POST" }