use crate::api::enums::chat_uid::ChatUId;
use crate::api::enums::reply_markup::ReplyMarkup;
use crate::api::structs::reply_parameters::ReplyParameters;
use serde::Serialize;
#[derive(Debug, Serialize, Default)]
pub struct SendLocation {
pub chat_id: ChatUId,
pub latitude: f64,
pub longitude: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub message_thread_id: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub horizontal_accuracy: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub live_period: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub heading: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub proximity_alert_radius: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub disable_notification: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub protect_content: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reply_parameters: Option<ReplyParameters>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reply_markup: Option<ReplyMarkup>,
#[serde(skip_serializing_if = "Option::is_none")]
pub business_connection_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub message_effect_id: Option<String>,
}