mod build;
#[cfg(feature = "enable-reqwest")]
mod execute;
#[cfg(feature = "enable-reqwest")]
mod get;
mod new;
mod query_url;
mod validate;
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;
use crate::client::GoogleMapsClient;
use crate::directions::request::{
avoid::Avoid, departure_time::DepartureTime, traffic_model::TrafficModel,
transit_mode::TransitMode, transit_route_preference::TransitRoutePreference,
unit_system::UnitSystem, waypoint::Waypoint,
}; use crate::directions::travel_mode::TravelMode;
use crate::types::{Language, Region};
use chrono::NaiveDateTime;
#[derive(Debug)]
pub struct Request<'a> {
client: &'a GoogleMapsClient,
destinations: Vec<Waypoint>,
origins: Vec<Waypoint>,
arrival_time: Option<NaiveDateTime>,
departure_time: Option<DepartureTime>,
language: Option<Language>,
region: Option<Region>,
restrictions: Vec<Avoid>,
traffic_model: Option<TrafficModel>,
transit_modes: Vec<TransitMode>,
transit_route_preference: Option<TransitRoutePreference>,
travel_mode: Option<TravelMode>,
unit_system: Option<UnitSystem>,
query: Option<String>,
validated: bool,
}