/*
* Linkbreakers API
*
* This is a documentation of all the APIs of Linkbreakers
*
* The version of the OpenAPI document: 1.43.5
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// EventsMetric : Aggregated analytics calculated on demand for time windows, giving Linkbreakers UIs headline numbers without exposing raw events.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct EventsMetric {
#[serde(rename = "averageLeadScore", skip_serializing_if = "Option::is_none")]
pub average_lead_score: Option<f64>,
#[serde(rename = "firstAt", skip_serializing_if = "Option::is_none")]
pub first_at: Option<String>,
#[serde(rename = "lastAt", skip_serializing_if = "Option::is_none")]
pub last_at: Option<String>,
#[serde(rename = "topCity", skip_serializing_if = "Option::is_none")]
pub top_city: Option<String>,
#[serde(rename = "topCountry", skip_serializing_if = "Option::is_none")]
pub top_country: Option<String>,
/// DeviceType represents the physical form factor of the device. This describes the hardware category (phone, tablet, laptop, etc.), NOT who or what is operating it — see DeviceActor for that. - DEVICE_TYPE_UNSPECIFIED: Device type not specified or not yet detected - DEVICE_TYPE_NATIVE: Native QR scanner (no browser capabilities reported) - DEVICE_TYPE_MOBILE: Mobile handset browser - DEVICE_TYPE_TABLET: Tablet browser - DEVICE_TYPE_DESKTOP: Desktop or laptop browser - DEVICE_TYPE_UNKNOWN: Unable to classify the device
#[serde(rename = "topDeviceType", skip_serializing_if = "Option::is_none")]
pub top_device_type: Option<TopDeviceType>,
#[serde(rename = "totalCities", skip_serializing_if = "Option::is_none")]
pub total_cities: Option<i32>,
#[serde(rename = "totalCountries", skip_serializing_if = "Option::is_none")]
pub total_countries: Option<i32>,
#[serde(rename = "totalDeviceTypes", skip_serializing_if = "Option::is_none")]
pub total_device_types: Option<i32>,
#[serde(rename = "totalEvents", skip_serializing_if = "Option::is_none")]
pub total_events: Option<i32>,
}
impl EventsMetric {
/// Aggregated analytics calculated on demand for time windows, giving Linkbreakers UIs headline numbers without exposing raw events.
pub fn new() -> EventsMetric {
EventsMetric {
average_lead_score: None,
first_at: None,
last_at: None,
top_city: None,
top_country: None,
top_device_type: None,
total_cities: None,
total_countries: None,
total_device_types: None,
total_events: None,
}
}
}
/// DeviceType represents the physical form factor of the device. This describes the hardware category (phone, tablet, laptop, etc.), NOT who or what is operating it — see DeviceActor for that. - DEVICE_TYPE_UNSPECIFIED: Device type not specified or not yet detected - DEVICE_TYPE_NATIVE: Native QR scanner (no browser capabilities reported) - DEVICE_TYPE_MOBILE: Mobile handset browser - DEVICE_TYPE_TABLET: Tablet browser - DEVICE_TYPE_DESKTOP: Desktop or laptop browser - DEVICE_TYPE_UNKNOWN: Unable to classify the device
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TopDeviceType {
#[serde(rename = "DEVICE_TYPE_UNSPECIFIED")]
DeviceTypeUnspecified,
#[serde(rename = "DEVICE_TYPE_NATIVE")]
DeviceTypeNative,
#[serde(rename = "DEVICE_TYPE_MOBILE")]
DeviceTypeMobile,
#[serde(rename = "DEVICE_TYPE_TABLET")]
DeviceTypeTablet,
#[serde(rename = "DEVICE_TYPE_DESKTOP")]
DeviceTypeDesktop,
#[serde(rename = "DEVICE_TYPE_UNKNOWN")]
DeviceTypeUnknown,
}
impl Default for TopDeviceType {
fn default() -> TopDeviceType {
Self::DeviceTypeUnspecified
}
}