# frozen_string_literal: true # Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Maps module FleetEngine module V1 # CreateTrip request message. # @!attribute [rw] header # @return [::Google::Maps::FleetEngine::V1::RequestHeader] # The standard Fleet Engine request header. # @!attribute [rw] parent # @return [::String] # Required. Must be in the format `providers/{provider}`. # The provider must be the Project ID (for example, `sample-cloud-project`) # of the Google Cloud Project of which the service account making # this call is a member. # @!attribute [rw] trip_id # @return [::String] # Required. Unique Trip ID. # Subject to the following restrictions: # # * Must be a valid Unicode string. # * Limited to a maximum length of 64 characters. # * Normalized according to [Unicode Normalization Form C] # (http://www.unicode.org/reports/tr15/). # * May not contain any of the following ASCII characters: '/', ':', '?', # ',', or '#'. # @!attribute [rw] trip # @return [::Google::Maps::FleetEngine::V1::Trip] # Required. Trip entity to create. # # When creating a Trip, the following fields are required: # # * `trip_type` # * `pickup_point` # # The following fields are used if you provide them: # # * `number_of_passengers` # * `vehicle_id` # * `dropoff_point` # * `intermediate_destinations` # * `vehicle_waypoints` # # All other Trip fields are ignored. For example, all trips start with a # `trip_status` of `NEW` even if you pass in a `trip_status` of `CANCELED` in # the creation request. # # Only `EXCLUSIVE` trips support `intermediate_destinations`. # # When `vehicle_id` is set for a shared trip, you must supply # the list of `Trip.vehicle_waypoints` to specify the order of the remaining # waypoints for the vehicle, otherwise the waypoint order will be # undetermined. # # When you specify `Trip.vehicle_waypoints`, the list must contain all # the remaining waypoints of the vehicle's trips, with no extra waypoints. # You must order these waypoints such that for a given trip, the pickup # point is before intermediate destinations, and all intermediate # destinations come before the drop-off point. An `EXCLUSIVE` trip's # waypoints must not interleave with any other trips. # # The `trip_id`, `waypoint_type` and `location` fields are used, and all # other TripWaypoint fields in `vehicle_waypoints` are ignored. class CreateTripRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # GetTrip request message. # @!attribute [rw] header # @return [::Google::Maps::FleetEngine::V1::RequestHeader] # The standard Fleet Engine request header. # @!attribute [rw] name # @return [::String] # Required. Must be in the format `providers/{provider}/trips/{trip}`. # The provider must be the Project ID (for example, `sample-cloud-project`) # of the Google Cloud Project of which the service account making # this call is a member. # @!attribute [rw] view # @return [::Google::Maps::FleetEngine::V1::TripView] # The subset of Trip fields that should be returned and their interpretation. # @!attribute [rw] current_route_segment_version # @return [::Google::Protobuf::Timestamp] # Indicates the minimum timestamp (exclusive) for which `Trip.route` or # `Trip.current_route_segment` data are retrieved. If route data are # unchanged since this timestamp, the route field is not set in the response. # If a minimum is unspecified, the route data are always retrieved. # @!attribute [rw] remaining_waypoints_version # @return [::Google::Protobuf::Timestamp] # Indicates the minimum timestamp (exclusive) for which # `Trip.remaining_waypoints` are retrieved. If they are unchanged since this # timestamp, the `remaining_waypoints` are not set in the response. If this # field is unspecified, `remaining_waypoints` is always retrieved. # @!attribute [rw] route_format_type # @return [::Google::Maps::FleetEngine::V1::PolylineFormatType] # The returned current route format, `LAT_LNG_LIST_TYPE` (in `Trip.route`), # or `ENCODED_POLYLINE_TYPE` (in `Trip.current_route_segment`). The default # is `LAT_LNG_LIST_TYPE`. # @!attribute [rw] current_route_segment_traffic_version # @return [::Google::Protobuf::Timestamp] # Indicates the minimum timestamp (exclusive) for which # `Trip.current_route_segment_traffic` is retrieved. If traffic data are # unchanged since this timestamp, the `current_route_segment_traffic` field # is not set in the response. If a minimum is unspecified, the traffic data # are always retrieved. Note that traffic is only available for On-Demand # Rides and Deliveries Solution customers. # @!attribute [rw] remaining_waypoints_route_version # @return [::Google::Protobuf::Timestamp] # Indicates the minimum timestamp (exclusive) for which # `Trip.remaining_waypoints.traffic_to_waypoint` and # `Trip.remaining_waypoints.path_to_waypoint` data are retrieved. If data are # unchanged since this timestamp, the fields above are # not set in the response. If `remaining_waypoints_route_version` is # unspecified, traffic and path are always retrieved. class GetTripRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # ReportBillableTrip request message. # @!attribute [rw] name # @return [::String] # Required. Must be in the format # `providers/{provider}/billableTrips/{billable_trip}`. The # provider must be the Project ID (for example, `sample-cloud-project`) of # the Google Cloud Project of which the service account making this call is a # member. # @!attribute [rw] country_code # @return [::String] # Required. Two letter country code of the country where the trip takes # place. Price is defined according to country code. # @!attribute [rw] platform # @return [::Google::Maps::FleetEngine::V1::BillingPlatformIdentifier] # The platform upon which the request was issued. # @!attribute [rw] related_ids # @return [::Array<::String>] # The identifiers that are directly related to the trip being reported. These # are usually IDs (for example, session IDs) of pre-booking operations done # before the trip ID is available. The number of `related_ids` is # limited to 50. # @!attribute [rw] solution_type # @return [::Google::Maps::FleetEngine::V1::ReportBillableTripRequest::SolutionType] # The type of GMP product solution (for example, # `ON_DEMAND_RIDESHARING_AND_DELIVERIES`) used for the reported trip. class ReportBillableTripRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Selector for different solution types of a reported trip. module SolutionType # The default value. For backwards-compatibility, the API will use # `ON_DEMAND_RIDESHARING_AND_DELIVERIES` by default which is the first # supported solution type. SOLUTION_TYPE_UNSPECIFIED = 0 # The solution is an on-demand ridesharing and deliveries trip. ON_DEMAND_RIDESHARING_AND_DELIVERIES = 1 end end # UpdateTrip request message. # @!attribute [rw] header # @return [::Google::Maps::FleetEngine::V1::RequestHeader] # The standard Fleet Engine request header. # @!attribute [rw] name # @return [::String] # Required. Must be in the format # `providers/{provider}/trips/{trip}`. The provider must # be the Project ID (for example, `sample-consumer-project`) of the Google # Cloud Project of which the service account making this call is a member. # @!attribute [rw] trip # @return [::Google::Maps::FleetEngine::V1::Trip] # Required. The Trip associated with the update. # # The following fields are maintained by the Fleet Engine. Do not update # them using Trip.update. # # * `current_route_segment` # * `current_route_segment_end_point` # * `current_route_segment_traffic` # * `current_route_segment_traffic_version` # * `current_route_segment_version` # * `dropoff_time` # * `eta_to_next_waypoint` # * `intermediate_destinations_version` # * `last_location` # * `name` # * `number_of_passengers` # * `pickup_time` # * `remaining_distance_meters` # * `remaining_time_to_first_waypoint` # * `remaining_waypoints` # * `remaining_waypoints_version` # * `route` # # When you update the `Trip.vehicle_id` for a shared trip, you must supply # the list of `Trip.vehicle_waypoints` to specify the order of the remaining # waypoints, otherwise the order will be undetermined. # # When you specify `Trip.vehicle_waypoints`, the list must contain all # the remaining waypoints of the vehicle's trips, with no extra waypoints. # You must order these waypoints such that for a given trip, the pickup # point is before intermediate destinations, and all intermediate # destinations come before the drop-off point. An `EXCLUSIVE` trip's # waypoints must not interleave with any other trips. # The `trip_id`, `waypoint_type` and `location` fields are used, and all # other TripWaypoint fields in `vehicle_waypoints` are ignored. # # To avoid a race condition for trips with multiple destinations, you # should provide `Trip.intermediate_destinations_version` when updating # the trip status to `ENROUTE_TO_INTERMEDIATE_DESTINATION`. The # `Trip.intermediate_destinations_version` passed must be consistent with # Fleet Engine's version. If it isn't, the request fails. # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # Required. The field mask indicating which fields in Trip to update. # The `update_mask` must contain at least one field. class UpdateTripRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # SearchTrips request message. # @!attribute [rw] header # @return [::Google::Maps::FleetEngine::V1::RequestHeader] # The standard Fleet Engine request header. # @!attribute [rw] parent # @return [::String] # Required. Must be in the format `providers/{provider}`. # The provider must be the Project ID (for example, `sample-cloud-project`) # of the Google Cloud Project of which the service account making # this call is a member. # @!attribute [rw] vehicle_id # @return [::String] # The vehicle associated with the trips in the request. If unspecified, the # returned trips do not contain: # # * `current_route_segment` # * `remaining_waypoints` # * `remaining_distance_meters` # * `eta_to_first_waypoint` # @!attribute [rw] active_trips_only # @return [::Boolean] # If set to true, the response includes Trips that influence a driver's # route. # @!attribute [rw] page_size # @return [::Integer] # If not set, the server decides the number of results to return. # @!attribute [rw] page_token # @return [::String] # Set this to a value previously returned in the `SearchTripsResponse` to # continue from previous results. # @!attribute [rw] minimum_staleness # @return [::Google::Protobuf::Duration] # If specified, returns the trips that have not been updated after the time # `(current - minimum_staleness)`. class SearchTripsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # SearchTrips response message. # @!attribute [rw] trips # @return [::Array<::Google::Maps::FleetEngine::V1::Trip>] # The list of trips for the requested vehicle. # @!attribute [rw] next_page_token # @return [::String] # Pass this token in the SearchTripsRequest to page through list results. The # API returns a trip list on each call, and when no more results remain the # trip list is empty. class SearchTripsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end end end