use serde::Deserialize;
use serde_with::{serde_as, DisplayFromStr, PickFirst};
#[serde_as]
#[derive(Debug, Clone, Deserialize)]
pub struct VisitsSummary {
#[serde(default)]
pub nb_uniq_visitors: i64,
#[serde(default)]
pub nb_users: i64,
pub nb_visits: i64,
pub nb_actions: i64,
#[serde(default)]
pub nb_visits_converted: i64,
#[serde(default)]
pub bounce_count: i64,
#[serde(default)]
pub sum_visit_length: i64,
#[serde(default)]
pub max_actions: i64,
#[serde(default)]
pub bounce_rate: String,
#[serde_as(as = "PickFirst<(_, DisplayFromStr)>")]
#[serde(default)]
pub nb_actions_per_visit: f64,
#[serde(default)]
pub avg_time_on_site: i64,
}