/* Options: Date: 2026-11-07 03:05:29 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: serde::{Deserialize, Serialize},serde_json::Value,std::collections::HashMap */ #![allow( dead_code, non_camel_case_types, non_snake_case, clippy::upper_case_acronyms )] use serde::{Deserialize, Serialize}; use serde_json::Value; use servicestack::*; use std::collections::HashMap; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Ref { pub id: String, pub val: String, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RefEx { #[serde(flatten)] pub r#ref: Ref, pub data: RecordDictionary, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct GPSCoordinates { pub lat: f64, pub lng: f64, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Address { pub street: String, pub city: String, pub state: String, #[serde(rename = "postalCode")] pub postal_code: String, pub country: Ref, pub gps: GPSCoordinates, pub data: RecordDictionary, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Device { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[serde(rename = "isActive")] pub is_active: bool, #[serde(default, skip_serializing_if = "Option::is_none")] pub profile: Option, #[serde(rename = "integrationsData")] #[serde(default, skip_serializing_if = "Option::is_none")] pub integrations_data: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ProductReference { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub category: Option, #[serde(rename = "productProvider")] #[serde(default, skip_serializing_if = "Option::is_none")] pub product_provider: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ProductInstanceRef { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub title: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub product: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Locale { #[serde(rename = "timeZone")] #[serde(default, skip_serializing_if = "Option::is_none")] pub time_zone: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub currency: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub language: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RecordDictionary(pub HashMap); #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Device { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[serde(rename = "isActive")] pub is_active: bool, #[serde(rename = "isRetired")] pub is_retired: bool, #[serde(rename = "operationalStatus")] pub operational_status: DeviceOperationalStatus, pub r#type: DeviceType, #[serde(default, skip_serializing_if = "Option::is_none")] pub profile: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub location: Option, #[serde(rename = "locationGroup")] #[serde(default, skip_serializing_if = "Option::is_none")] pub location_group: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub organization: Option, #[serde(rename = "integrationsData")] #[serde(default, skip_serializing_if = "Option::is_none")] pub integrations_data: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Device { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[serde(rename = "isActive")] pub is_active: bool, #[serde(rename = "isRetired")] pub is_retired: bool, #[serde(rename = "operationalStatus")] pub operational_status: DeviceOperationalStatus, pub r#type: DeviceType, #[serde(rename = "integrationsData")] #[serde(default, skip_serializing_if = "Option::is_none")] pub integrations_data: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub profile: Option, } // Route("/cmd/locations", "POST") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct OpenLocation { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub organization: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub region: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub group: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub address: Option
, #[serde(default, skip_serializing_if = "Option::is_none")] pub devices: Option>, #[serde(rename = "productInstances")] #[serde(default, skip_serializing_if = "Option::is_none")] pub product_instances: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub locale: Option, #[serde(rename = "integrationsData")] #[serde(default, skip_serializing_if = "Option::is_none")] pub integrations_data: Option>, } impl IRequest for OpenLocation { const NAME: &'static str = "OpenLocation"; const VERB: &'static str = "POST"; } impl IReturn for OpenLocation { type Response = ResponseStatus; }