/* Options: Date: 2026-11-07 03:13:11 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: RegisterOrganization.* //ExcludeTypes: //DefaultImports: */ package dtos import ( ss "github.com/ServiceStack/servicestack-go" "time" ) type Ref struct { Id string `json:"id"` Val string `json:"val"` } type GPSCoordinates struct { Lat float64 `json:"lat,omitempty"` Lng float64 `json:"lng,omitempty"` } type Address struct { Street string `json:"street"` City string `json:"city"` State string `json:"state"` PostalCode string `json:"postalCode"` Country Ref `json:"country"` Gps GPSCoordinates `json:"gps"` Data RecordDictionary[string, string] `json:"data"` } type Locale struct { TimeZone *Ref `json:"timeZone,omitempty"` Currency *Ref `json:"currency,omitempty"` Language *Ref `json:"language,omitempty"` } type RecordDictionary[TKey any, TVal any] map[TKey]TVal type WinningsExpirationPolicy struct { Enabled bool `json:"enabled,omitempty"` Interval time.Duration `json:"interval,omitempty"` } type OrganizationNature int const ( OrganizationNatureFirstParty OrganizationNature = 1 OrganizationNaturePartner OrganizationNature = 2 ) type IntegrationConnection struct { Url *string `json:"url,omitempty"` CredentialsRef *string `json:"credentialsRef,omitempty"` } type IntegrationInstance struct { Id *string `json:"id,omitempty"` IntegrationId *string `json:"integrationId,omitempty"` Wallet *IntegrationConnection `json:"wallet,omitempty"` PartnerApi *IntegrationConnection `json:"partnerApi,omitempty"` SlipForwardingEnabled bool `json:"slipForwardingEnabled,omitempty"` } type OrganizationIntegrations struct { FirstParty *IntegrationInstance `json:"firstParty,omitempty"` Partner *IntegrationInstance `json:"partner,omitempty"` } type WalletPayoutMode int const ( WalletPayoutModeRealTime WalletPayoutMode = 0 WalletPayoutModeBatchPayout WalletPayoutMode = 1 ) type PayoutPolicy struct { SelfService WalletPayoutMode `json:"selfService,omitempty"` Personal WalletPayoutMode `json:"personal,omitempty"` } // @Route("/cmd/organizations", "POST") type RegisterOrganization struct { Id *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Address *Address `json:"address,omitempty"` Locale *Locale `json:"locale,omitempty"` IntegrationsData *RecordDictionary[string, string] `json:"integrationsData,omitempty"` WinningsExpirationPolicy *WinningsExpirationPolicy `json:"winningsExpirationPolicy,omitempty"` Nature *OrganizationNature `json:"nature,omitempty"` Integrations *OrganizationIntegrations `json:"integrations,omitempty"` PayoutPolicy *PayoutPolicy `json:"payoutPolicy,omitempty"` } func (RegisterOrganization) CreateResponse() (r ss.ResponseStatus) { return } func (RegisterOrganization) HttpMethod() string { return "POST" }