#[non_exhaustive]pub struct VisitRequest {
pub arrival_location: Option<LatLng>,
pub arrival_waypoint: Option<Waypoint>,
pub departure_location: Option<LatLng>,
pub departure_waypoint: Option<Waypoint>,
pub tags: Vec<String>,
pub time_windows: Vec<TimeWindow>,
pub duration: Option<Duration>,
pub cost: f64,
pub load_demands: HashMap<String, Load>,
pub visit_types: Vec<String>,
pub label: String,
pub demands: Vec<CapacityQuantity>,
/* private fields */
}Expand description
Request for a visit which can be done by a vehicle: it has a geo-location (or two, see below), opening and closing times represented by time windows, and a service duration time (time spent by the vehicle once it has arrived to pickup or drop off goods).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.arrival_location: Option<LatLng>The geo-location where the vehicle arrives when performing this
VisitRequest. If the shipment model has duration distance matrices,
arrival_location must not be specified.
arrival_waypoint: Option<Waypoint>The waypoint where the vehicle arrives when performing this
VisitRequest. If the shipment model has duration distance matrices,
arrival_waypoint must not be specified.
departure_location: Option<LatLng>The geo-location where the vehicle departs after completing this
VisitRequest. Can be omitted if it is the same as arrival_location.
If the shipment model has duration distance matrices,
departure_location must not be specified.
departure_waypoint: Option<Waypoint>The waypoint where the vehicle departs after completing this
VisitRequest. Can be omitted if it is the same as arrival_waypoint.
If the shipment model has duration distance matrices,
departure_waypoint must not be specified.
Specifies tags attached to the visit request. Empty or duplicate strings are not allowed.
time_windows: Vec<TimeWindow>Time windows which constrain the arrival time at a visit. Note that a vehicle may depart outside of the arrival time window, i.e. arrival time + duration do not need to be inside a time window. This can result in waiting time if the vehicle arrives before TimeWindow.start_time.
The absence of TimeWindow means that the vehicle can perform this visit
at any time.
Time windows must be disjoint, i.e. no time window must overlap with or be adjacent to another, and they must be in increasing order.
cost_per_hour_after_soft_end_time and soft_end_time can only
be set if there is a single time window.
duration: Option<Duration>Duration of the visit, i.e. time spent by the vehicle between arrival
and departure (to be added to the possible waiting time; see
time_windows).
cost: f64Cost to service this visit request on a vehicle route. This can be used
to pay different costs for each alternative pickup or delivery of a
shipment. This cost must be in the same unit as Shipment.penalty_cost
and must not be negative.
load_demands: HashMap<String, Load>Load demands of this visit request. This is just like Shipment.load_demands field, except that it only applies to this VisitRequest instead of the whole Shipment. The demands listed here are added to the demands listed in Shipment.load_demands.
visit_types: Vec<String>Specifies the types of the visit. This may be used to allocate additional time required for a vehicle to complete this visit (see Vehicle.extra_visit_duration_for_visit_type).
A type can only appear once.
label: StringSpecifies a label for this VisitRequest. This label is reported in the
response as visit_label in the corresponding
ShipmentRoute.Visit.
demands: Vec<CapacityQuantity>Deprecated: Use VisitRequest.load_demands instead.
Implementations§
Source§impl VisitRequest
impl VisitRequest
pub fn new() -> Self
Sourcepub fn set_arrival_location<T>(self, v: T) -> Self
pub fn set_arrival_location<T>(self, v: T) -> Self
Sets the value of arrival_location.
Sourcepub fn set_or_clear_arrival_location<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_arrival_location<T>(self, v: Option<T>) -> Self
Sets or clears the value of arrival_location.
Sourcepub fn set_arrival_waypoint<T>(self, v: T) -> Self
pub fn set_arrival_waypoint<T>(self, v: T) -> Self
Sets the value of arrival_waypoint.
Sourcepub fn set_or_clear_arrival_waypoint<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_arrival_waypoint<T>(self, v: Option<T>) -> Self
Sets or clears the value of arrival_waypoint.
Sourcepub fn set_departure_location<T>(self, v: T) -> Self
pub fn set_departure_location<T>(self, v: T) -> Self
Sets the value of departure_location.
Sourcepub fn set_or_clear_departure_location<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_departure_location<T>(self, v: Option<T>) -> Self
Sets or clears the value of departure_location.
Sourcepub fn set_departure_waypoint<T>(self, v: T) -> Self
pub fn set_departure_waypoint<T>(self, v: T) -> Self
Sets the value of departure_waypoint.
Sourcepub fn set_or_clear_departure_waypoint<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_departure_waypoint<T>(self, v: Option<T>) -> Self
Sets or clears the value of departure_waypoint.
Sets the value of tags.
Sourcepub fn set_time_windows<T, V>(self, v: T) -> Self
pub fn set_time_windows<T, V>(self, v: T) -> Self
Sets the value of time_windows.
Sourcepub fn set_duration<T>(self, v: T) -> Self
pub fn set_duration<T>(self, v: T) -> Self
Sets the value of duration.
Sourcepub fn set_or_clear_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of duration.
Sourcepub fn set_load_demands<T, K, V>(self, v: T) -> Self
pub fn set_load_demands<T, K, V>(self, v: T) -> Self
Sets the value of load_demands.
Sourcepub fn set_visit_types<T, V>(self, v: T) -> Self
pub fn set_visit_types<T, V>(self, v: T) -> Self
Sets the value of visit_types.
Sourcepub fn set_demands<T, V>(self, v: T) -> Self
👎Deprecated
pub fn set_demands<T, V>(self, v: T) -> Self
Sets the value of demands.
Trait Implementations§
Source§impl Clone for VisitRequest
impl Clone for VisitRequest
Source§fn clone(&self) -> VisitRequest
fn clone(&self) -> VisitRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more