use serde::Deserialize;
use super::{Extensions, Metadata, Route, Track, Waypoint};
#[derive(Debug, Clone, PartialEq, Default, Deserialize)]
#[serde(rename = "gpx")]
pub struct Gpx {
#[serde(rename = "@version", default)]
pub version: Option<String>,
#[serde(rename = "@creator", default)]
pub creator: Option<String>,
#[serde(default)]
pub metadata: Option<Metadata>,
#[serde(rename = "wpt", default)]
pub waypoints: Vec<Waypoint>,
#[serde(rename = "rte", default)]
pub routes: Vec<Route>,
#[serde(rename = "trk", default)]
pub tracks: Vec<Track>,
#[serde(default)]
pub extensions: Option<Extensions>,
}