/* Options: Date: 2026-11-07 03:13:09 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: OpenLocation.* //ExcludeTypes: //DefaultImports: */ package dtos import ( ss "github.com/ServiceStack/servicestack-go" ) type Ref struct { Id string `json:"id"` Val string `json:"val"` } type RefEx struct { Ref Data RecordDictionary[string, string] `json:"data"` } 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 Device struct { Id *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` IsActive bool `json:"isActive,omitempty"` Profile *DeviceProfile `json:"profile,omitempty"` IntegrationsData *RecordDictionary[string, string] `json:"integrationsData,omitempty"` } type ProductReference struct { Id *string `json:"id,omitempty"` Value *string `json:"value,omitempty"` Category *string `json:"category,omitempty"` ProductProvider *Ref `json:"productProvider,omitempty"` } type ProductInstanceRef struct { Id *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Title *string `json:"title,omitempty"` Product *ProductReference `json:"product,omitempty"` } 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 Device struct { Id *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` IsActive bool `json:"isActive,omitempty"` IsRetired bool `json:"isRetired,omitempty"` OperationalStatus DeviceOperationalStatus `json:"operationalStatus,omitempty"` Type DeviceType `json:"type,omitempty"` Profile *DeviceProfile `json:"profile,omitempty"` Location *RefEx `json:"location,omitempty"` LocationGroup *Ref `json:"locationGroup,omitempty"` Organization *RefEx `json:"organization,omitempty"` IntegrationsData *RecordDictionary[string, string] `json:"integrationsData,omitempty"` } type Device struct { Id *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` IsActive bool `json:"isActive,omitempty"` IsRetired bool `json:"isRetired,omitempty"` OperationalStatus DeviceOperationalStatus `json:"operationalStatus,omitempty"` Type DeviceType `json:"type,omitempty"` IntegrationsData *RecordDictionary[string, string] `json:"integrationsData,omitempty"` Profile *DeviceProfile `json:"profile,omitempty"` } // @Route("/cmd/locations", "POST") type OpenLocation struct { Id *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Organization *RefEx `json:"organization,omitempty"` Region *Ref `json:"region,omitempty"` Group *Ref `json:"group,omitempty"` Address *Address `json:"address,omitempty"` Devices []Device `json:"devices,omitempty"` ProductInstances []ProductInstanceRef `json:"productInstances,omitempty"` Locale *Locale `json:"locale,omitempty"` IntegrationsData map[string]string `json:"integrationsData,omitempty"` } func (OpenLocation) CreateResponse() (r ss.ResponseStatus) { return } func (OpenLocation) HttpMethod() string { return "POST" }