Cloud Optimization v1 API - Class Shipment.Types.VisitRequest (2.4.0)

public sealed class Shipment.Types.VisitRequest : IMessage<Shipment.Types.VisitRequest>, IEquatable<Shipment.Types.VisitRequest>, IDeepCloneable<Shipment.Types.VisitRequest>, IBufferMessage, IMessage

Reference documentation and code samples for the Cloud Optimization v1 API class Shipment.Types.VisitRequest.

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).

Inheritance

object > Shipment.Types.VisitRequest

Namespace

Google.Cloud.Optimization.V1

Assembly

Google.Cloud.Optimization.V1.dll

Constructors

VisitRequest()

public VisitRequest()

VisitRequest(VisitRequest)

public VisitRequest(Shipment.Types.VisitRequest other)
Parameter
NameDescription
otherShipmentTypesVisitRequest

Properties

ArrivalLocation

public LatLng ArrivalLocation { get; set; }

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.

Property Value
TypeDescription
LatLng

ArrivalWaypoint

public Waypoint ArrivalWaypoint { get; set; }

The waypoint where the vehicle arrives when performing this VisitRequest. If the shipment model has duration distance matrices, arrival_waypoint must not be specified.

Property Value
TypeDescription
Waypoint

Cost

public double Cost { get; set; }

Cost 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.

Property Value
TypeDescription
double

Demands

[Obsolete]
public RepeatedField<CapacityQuantity> Demands { get; }

Deprecated: Use [VisitRequest.load_demands][google.cloud.optimization.v1.Shipment.VisitRequest.load_demands] instead.

Property Value
TypeDescription
RepeatedFieldCapacityQuantity

DepartureLocation

public LatLng DepartureLocation { get; set; }

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.

Property Value
TypeDescription
LatLng

DepartureWaypoint

public Waypoint DepartureWaypoint { get; set; }

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.

Property Value
TypeDescription
Waypoint

Duration

public Duration Duration { get; set; }

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).

Property Value
TypeDescription
Duration

Label

public string Label { get; set; }

Specifies a label for this VisitRequest. This label is reported in the response as visit_label in the corresponding [ShipmentRoute.Visit][google.cloud.optimization.v1.ShipmentRoute.Visit].

Property Value
TypeDescription
string

LoadDemands

public MapField<string, Shipment.Types.Load> LoadDemands { get; }

Load demands of this visit request. This is just like [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands] field, except that it only applies to this [VisitRequest][google.cloud.optimization.v1.Shipment.VisitRequest] instead of the whole [Shipment][google.cloud.optimization.v1.Shipment]. The demands listed here are added to the demands listed in [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands].

Property Value
TypeDescription
MapFieldstringShipmentTypesLoad

Tags

public RepeatedField<string> Tags { get; }

Specifies tags attached to the visit request. Empty or duplicate strings are not allowed.

Property Value
TypeDescription
RepeatedFieldstring

TimeWindows

public RepeatedField<TimeWindow> TimeWindows { get; }

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][google.cloud.optimization.v1.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.

Property Value
TypeDescription
RepeatedFieldTimeWindow

VisitTypes

public RepeatedField<string> VisitTypes { get; }

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][google.cloud.optimization.v1.Vehicle.extra_visit_duration_for_visit_type]).

A type can only appear once.

Property Value
TypeDescription
RepeatedFieldstring