mod build;
mod end_point;
mod new;
mod query_string;
mod validatable;
mod with_arrival_time;
mod with_departure_time;
mod with_language;
mod with_region;
mod with_restrictions;
mod with_traffic_model;
mod with_transit_modes;
mod with_transit_route_preference;
mod with_travel_mode;
mod with_unit_system;
#[cfg(feature = "reqwest")]
mod execute;
#[cfg(feature = "reqwest")]
mod get;
#[cfg(feature = "reqwest")]
mod request_headers;
use crate::directions::request::{
avoid::Avoid,
departure_time::DepartureTime,
traffic_model::TrafficModel,
transit_mode::TransitMode,
transit_route_preference::TransitRoutePreference,
unit_system::UnitSystem,
waypoint::Waypoint,
};
#[derive(Debug)]
pub struct Request<'r> {
client: &'r crate::client::Client,
destinations: Vec<Waypoint>,
origins: Vec<Waypoint>,
arrival_time: Option<chrono::NaiveDateTime>,
departure_time: Option<DepartureTime>,
language: Option<crate::types::Language>,
region: Option<crate::types::Region>,
restrictions: Vec<Avoid>,
traffic_model: Option<TrafficModel>,
transit_modes: Vec<TransitMode>,
transit_route_preference: Option<TransitRoutePreference>,
travel_mode: Option<crate::directions::travel_mode::TravelMode>,
unit_system: Option<UnitSystem>,
}