google-maps-route_optimization-v1 0.a → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +153 -8
  5. data/lib/google/maps/route_optimization/v1/rest.rb +37 -0
  6. data/lib/google/maps/route_optimization/v1/route_optimization/client.rb +1272 -0
  7. data/lib/google/maps/route_optimization/v1/route_optimization/credentials.rb +47 -0
  8. data/lib/google/maps/route_optimization/v1/route_optimization/operations.rb +843 -0
  9. data/lib/google/maps/route_optimization/v1/route_optimization/rest/client.rb +1201 -0
  10. data/lib/google/maps/route_optimization/v1/route_optimization/rest/operations.rb +927 -0
  11. data/lib/google/maps/route_optimization/v1/route_optimization/rest/service_stub.rb +361 -0
  12. data/lib/google/maps/route_optimization/v1/route_optimization/rest.rb +68 -0
  13. data/lib/google/maps/route_optimization/v1/route_optimization.rb +71 -0
  14. data/lib/google/maps/route_optimization/v1/version.rb +7 -2
  15. data/lib/google/maps/route_optimization/v1.rb +45 -0
  16. data/lib/google/maps/routeoptimization/v1/route_optimization_service_pb.rb +93 -0
  17. data/lib/google/maps/routeoptimization/v1/route_optimization_service_services_pb.rb +148 -0
  18. data/lib/google-maps-route_optimization-v1.rb +21 -0
  19. data/proto_docs/README.md +4 -0
  20. data/proto_docs/google/api/client.rb +593 -0
  21. data/proto_docs/google/api/field_behavior.rb +85 -0
  22. data/proto_docs/google/api/launch_stage.rb +71 -0
  23. data/proto_docs/google/api/resource.rb +227 -0
  24. data/proto_docs/google/longrunning/operations.rb +191 -0
  25. data/proto_docs/google/maps/routeoptimization/v1/route_optimization_service.rb +2931 -0
  26. data/proto_docs/google/protobuf/any.rb +145 -0
  27. data/proto_docs/google/protobuf/duration.rb +98 -0
  28. data/proto_docs/google/protobuf/empty.rb +34 -0
  29. data/proto_docs/google/protobuf/timestamp.rb +128 -0
  30. data/proto_docs/google/rpc/status.rb +48 -0
  31. data/proto_docs/google/type/latlng.rb +38 -0
  32. metadata +66 -9
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/maps/routeoptimization/v1/route_optimization_service.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/annotations_pb'
8
+ require 'google/api/client_pb'
9
+ require 'google/api/field_behavior_pb'
10
+ require 'google/longrunning/operations_pb'
11
+ require 'google/protobuf/duration_pb'
12
+ require 'google/protobuf/timestamp_pb'
13
+ require 'google/type/latlng_pb'
14
+
15
+
16
+ descriptor_data = "\nAgoogle/maps/routeoptimization/v1/route_optimization_service.proto\x12 google.maps.routeoptimization.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x18google/type/latlng.proto\"\x12\n\x03Uri\x12\x0b\n\x03uri\x18\x01 \x01(\t\"\xa5\x01\n\x17OptimizeToursUriRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x39\n\x05input\x18\x02 \x01(\x0b\x32%.google.maps.routeoptimization.v1.UriB\x03\xe0\x41\x02\x12:\n\x06output\x18\x03 \x01(\x0b\x32%.google.maps.routeoptimization.v1.UriB\x03\xe0\x41\x02\"V\n\x18OptimizeToursUriResponse\x12:\n\x06output\x18\x01 \x01(\x0b\x32%.google.maps.routeoptimization.v1.UriB\x03\xe0\x41\x01\"\x1a\n\x18OptimizeToursUriMetadata\"\xe0\x02\n\x19\x42\x61tchOptimizeToursRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12h\n\rmodel_configs\x18\x02 \x03(\x0b\x32L.google.maps.routeoptimization.v1.BatchOptimizeToursRequest.AsyncModelConfigB\x03\xe0\x41\x02\x1a\xc3\x01\n\x10\x41syncModelConfig\x12\x19\n\x0c\x64isplay_name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12H\n\x0cinput_config\x18\x02 \x01(\x0b\x32-.google.maps.routeoptimization.v1.InputConfigB\x03\xe0\x41\x02\x12J\n\routput_config\x18\x03 \x01(\x0b\x32..google.maps.routeoptimization.v1.OutputConfigB\x03\xe0\x41\x02\"\x1c\n\x1a\x42\x61tchOptimizeToursResponse\"\x1c\n\x1a\x42\x61tchOptimizeToursMetadata\"\"\n OptimizeToursLongRunningMetadata\"\xb2\t\n\x14OptimizeToursRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12*\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12>\n\x05model\x18\x03 \x01(\x0b\x32/.google.maps.routeoptimization.v1.ShipmentModel\x12X\n\x0csolving_mode\x18\x04 \x01(\x0e\x32\x42.google.maps.routeoptimization.v1.OptimizeToursRequest.SolvingMode\x12V\n\x0bsearch_mode\x18\x06 \x01(\x0e\x32\x41.google.maps.routeoptimization.v1.OptimizeToursRequest.SearchMode\x12W\n\x1einjected_first_solution_routes\x18\x07 \x03(\x0b\x32/.google.maps.routeoptimization.v1.ShipmentRoute\x12\x62\n\x1cinjected_solution_constraint\x18\x08 \x01(\x0b\x32<.google.maps.routeoptimization.v1.InjectedSolutionConstraint\x12O\n\x16refresh_details_routes\x18\t \x03(\x0b\x32/.google.maps.routeoptimization.v1.ShipmentRoute\x12\x31\n)interpret_injected_solutions_using_labels\x18\n \x01(\x08\x12\x1d\n\x15\x63onsider_road_traffic\x18\x0b \x01(\x08\x12\x1a\n\x12populate_polylines\x18\x0c \x01(\x08\x12%\n\x1dpopulate_transition_polylines\x18\r \x01(\x08\x12\x36\n.allow_large_deadline_despite_interruption_risk\x18\x0e \x01(\x08\x12\x1e\n\x16use_geodesic_distances\x18\x0f \x01(\x08\x12\'\n\x1ageodesic_meters_per_second\x18\x10 \x01(\x01H\x00\x88\x01\x01\x12\"\n\x15max_validation_errors\x18\x05 \x01(\x05H\x01\x88\x01\x01\x12\r\n\x05label\x18\x11 \x01(\t\"{\n\x0bSolvingMode\x12\x11\n\rDEFAULT_SOLVE\x10\x00\x12\x11\n\rVALIDATE_ONLY\x10\x01\x12$\n DETECT_SOME_INFEASIBLE_SHIPMENTS\x10\x02\x12 \n\x1cTRANSFORM_AND_RETURN_REQUEST\x10\x03\"Z\n\nSearchMode\x12\x1b\n\x17SEARCH_MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bRETURN_FAST\x10\x01\x12\x1e\n\x1a\x43ONSUME_ALL_AVAILABLE_TIME\x10\x02\x42\x1d\n\x1b_geodesic_meters_per_secondB\x18\n\x16_max_validation_errors\"\x81\x07\n\x15OptimizeToursResponse\x12?\n\x06routes\x18\x01 \x03(\x0b\x32/.google.maps.routeoptimization.v1.ShipmentRoute\x12\x15\n\rrequest_label\x18\x03 \x01(\t\x12L\n\x11skipped_shipments\x18\x04 \x03(\x0b\x32\x31.google.maps.routeoptimization.v1.SkippedShipment\x12Y\n\x11validation_errors\x18\x05 \x03(\x0b\x32>.google.maps.routeoptimization.v1.OptimizeToursValidationError\x12Q\n\x11processed_request\x18\x15 \x01(\x0b\x32\x36.google.maps.routeoptimization.v1.OptimizeToursRequest\x12P\n\x07metrics\x18\x06 \x01(\x0b\x32?.google.maps.routeoptimization.v1.OptimizeToursResponse.Metrics\x1a\xc1\x03\n\x07Metrics\x12U\n\x18\x61ggregated_route_metrics\x18\x01 \x01(\x0b\x32\x33.google.maps.routeoptimization.v1.AggregatedMetrics\x12(\n skipped_mandatory_shipment_count\x18\x02 \x01(\x05\x12\x1a\n\x12used_vehicle_count\x18\x03 \x01(\x05\x12?\n\x1b\x65\x61rliest_vehicle_start_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x17latest_vehicle_end_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12Y\n\x05\x63osts\x18\n \x03(\x0b\x32J.google.maps.routeoptimization.v1.OptimizeToursResponse.Metrics.CostsEntry\x12\x12\n\ntotal_cost\x18\x06 \x01(\x01\x1a,\n\nCostsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\"\xfc\x0c\n\rShipmentModel\x12=\n\tshipments\x18\x01 \x03(\x0b\x32*.google.maps.routeoptimization.v1.Shipment\x12;\n\x08vehicles\x18\x02 \x03(\x0b\x32).google.maps.routeoptimization.v1.Vehicle\x12M\n\nobjectives\x18\x11 \x03(\x0b\x32\x39.google.maps.routeoptimization.v1.ShipmentModel.Objective\x12 \n\x13max_active_vehicles\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x35\n\x11global_start_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0fglobal_end_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12%\n\x1dglobal_duration_cost_per_hour\x18\x07 \x01(\x01\x12j\n\x1a\x64uration_distance_matrices\x18\x08 \x03(\x0b\x32\x46.google.maps.routeoptimization.v1.ShipmentModel.DurationDistanceMatrix\x12)\n!duration_distance_matrix_src_tags\x18\t \x03(\t\x12)\n!duration_distance_matrix_dst_tags\x18\n \x03(\t\x12U\n\x15transition_attributes\x18\x0b \x03(\x0b\x32\x36.google.maps.routeoptimization.v1.TransitionAttributes\x12\x66\n\x1fshipment_type_incompatibilities\x18\x0c \x03(\x0b\x32=.google.maps.routeoptimization.v1.ShipmentTypeIncompatibility\x12]\n\x1ashipment_type_requirements\x18\r \x03(\x0b\x32\x39.google.maps.routeoptimization.v1.ShipmentTypeRequirement\x12X\n\x10precedence_rules\x18\x0e \x03(\x0b\x32>.google.maps.routeoptimization.v1.ShipmentModel.PrecedenceRule\x1a\xef\x01\n\tObjective\x12Q\n\x04type\x18\x01 \x01(\x0e\x32>.google.maps.routeoptimization.v1.ShipmentModel.Objective.TypeH\x00\x88\x01\x01\x12\x13\n\x06weight\x18\x02 \x01(\x01H\x01\x88\x01\x01\"f\n\x04Type\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x10\n\x0cMIN_DISTANCE\x10\n\x12\x14\n\x10MIN_WORKING_TIME\x10\x0b\x12\x13\n\x0fMIN_TRAVEL_TIME\x10\x0c\x12\x14\n\x10MIN_NUM_VEHICLES\x10\rB\x07\n\x05_typeB\t\n\x07_weight\x1a\xd2\x01\n\x16\x44urationDistanceMatrix\x12X\n\x04rows\x18\x01 \x03(\x0b\x32J.google.maps.routeoptimization.v1.ShipmentModel.DurationDistanceMatrix.Row\x12\x19\n\x11vehicle_start_tag\x18\x02 \x01(\t\x1a\x43\n\x03Row\x12,\n\tdurations\x18\x01 \x03(\x0b\x32\x19.google.protobuf.Duration\x12\x0e\n\x06meters\x18\x02 \x03(\x01\x1a\xd1\x01\n\x0ePrecedenceRule\x12\x18\n\x0b\x66irst_index\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x19\n\x11\x66irst_is_delivery\x18\x03 \x01(\x08\x12\x19\n\x0csecond_index\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x1a\n\x12second_is_delivery\x18\x04 \x01(\x08\x12\x32\n\x0foffset_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0e\n\x0c_first_indexB\x0f\n\r_second_indexB\x16\n\x14_max_active_vehicles\"\xde\x0b\n\x08Shipment\x12\x14\n\x0c\x64isplay_name\x18\x10 \x01(\t\x12H\n\x07pickups\x18\x01 \x03(\x0b\x32\x37.google.maps.routeoptimization.v1.Shipment.VisitRequest\x12K\n\ndeliveries\x18\x02 \x03(\x0b\x32\x37.google.maps.routeoptimization.v1.Shipment.VisitRequest\x12Q\n\x0cload_demands\x18\x0e \x03(\x0b\x32;.google.maps.routeoptimization.v1.Shipment.LoadDemandsEntry\x12\x19\n\x0cpenalty_cost\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x1f\n\x17\x61llowed_vehicle_indices\x18\x05 \x03(\x05\x12\x19\n\x11\x63osts_per_vehicle\x18\x06 \x03(\x01\x12!\n\x19\x63osts_per_vehicle_indices\x18\x07 \x03(\x05\x12\x35\n(pickup_to_delivery_relative_detour_limit\x18\x08 \x01(\x01H\x01\x88\x01\x01\x12K\n(pickup_to_delivery_absolute_detour_limit\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12@\n\x1dpickup_to_delivery_time_limit\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rshipment_type\x18\x0b \x01(\t\x12\r\n\x05label\x18\x0c \x01(\t\x12\x0e\n\x06ignore\x18\r \x01(\x08\x1a\xa0\x05\n\x0cVisitRequest\x12-\n\x10\x61rrival_location\x18\x01 \x01(\x0b\x32\x13.google.type.LatLng\x12\x44\n\x10\x61rrival_waypoint\x18\x02 \x01(\x0b\x32*.google.maps.routeoptimization.v1.Waypoint\x12/\n\x12\x64\x65parture_location\x18\x03 \x01(\x0b\x32\x13.google.type.LatLng\x12\x46\n\x12\x64\x65parture_waypoint\x18\x04 \x01(\x0b\x32*.google.maps.routeoptimization.v1.Waypoint\x12\x0c\n\x04tags\x18\x05 \x03(\t\x12\x42\n\x0ctime_windows\x18\x06 \x03(\x0b\x32,.google.maps.routeoptimization.v1.TimeWindow\x12+\n\x08\x64uration\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0c\n\x04\x63ost\x18\x08 \x01(\x01\x12^\n\x0cload_demands\x18\x0c \x03(\x0b\x32H.google.maps.routeoptimization.v1.Shipment.VisitRequest.LoadDemandsEntry\x12\x13\n\x0bvisit_types\x18\n \x03(\t\x12\r\n\x05label\x18\x0b \x01(\t\x12\x1a\n\ravoid_u_turns\x18\r \x01(\x08H\x00\x88\x01\x01\x1a\x63\n\x10LoadDemandsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12>\n\x05value\x18\x02 \x01(\x0b\x32/.google.maps.routeoptimization.v1.Shipment.Load:\x02\x38\x01\x42\x10\n\x0e_avoid_u_turns\x1a\x16\n\x04Load\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x03\x1a\x63\n\x10LoadDemandsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12>\n\x05value\x18\x02 \x01(\x0b\x32/.google.maps.routeoptimization.v1.Shipment.Load:\x02\x38\x01\x42\x0f\n\r_penalty_costB+\n)_pickup_to_delivery_relative_detour_limit\"\xa6\x02\n\x1bShipmentTypeIncompatibility\x12\r\n\x05types\x18\x01 \x03(\t\x12o\n\x14incompatibility_mode\x18\x02 \x01(\x0e\x32Q.google.maps.routeoptimization.v1.ShipmentTypeIncompatibility.IncompatibilityMode\"\x86\x01\n\x13IncompatibilityMode\x12$\n INCOMPATIBILITY_MODE_UNSPECIFIED\x10\x00\x12!\n\x1dNOT_PERFORMED_BY_SAME_VEHICLE\x10\x01\x12&\n\"NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY\x10\x02\"\xec\x02\n\x17ShipmentTypeRequirement\x12+\n#required_shipment_type_alternatives\x18\x01 \x03(\t\x12 \n\x18\x64\x65pendent_shipment_types\x18\x02 \x03(\t\x12\x63\n\x10requirement_mode\x18\x03 \x01(\x0e\x32I.google.maps.routeoptimization.v1.ShipmentTypeRequirement.RequirementMode\"\x9c\x01\n\x0fRequirementMode\x12 \n\x1cREQUIREMENT_MODE_UNSPECIFIED\x10\x00\x12\x1d\n\x19PERFORMED_BY_SAME_VEHICLE\x10\x01\x12\"\n\x1eIN_SAME_VEHICLE_AT_PICKUP_TIME\x10\x02\x12$\n IN_SAME_VEHICLE_AT_DELIVERY_TIME\x10\x03\"o\n\x0eRouteModifiers\x12\x13\n\x0b\x61void_tolls\x18\x02 \x01(\x08\x12\x16\n\x0e\x61void_highways\x18\x03 \x01(\x08\x12\x15\n\ravoid_ferries\x18\x04 \x01(\x08\x12\x19\n\x0c\x61void_indoor\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\x9e\x17\n\x07Vehicle\x12\x14\n\x0c\x64isplay_name\x18 \x01(\t\x12I\n\x0btravel_mode\x18\x01 \x01(\x0e\x32\x34.google.maps.routeoptimization.v1.Vehicle.TravelMode\x12I\n\x0froute_modifiers\x18\x02 \x01(\x0b\x32\x30.google.maps.routeoptimization.v1.RouteModifiers\x12+\n\x0estart_location\x18\x03 \x01(\x0b\x32\x13.google.type.LatLng\x12\x42\n\x0estart_waypoint\x18\x04 \x01(\x0b\x32*.google.maps.routeoptimization.v1.Waypoint\x12)\n\x0c\x65nd_location\x18\x05 \x01(\x0b\x32\x13.google.type.LatLng\x12@\n\x0c\x65nd_waypoint\x18\x06 \x01(\x0b\x32*.google.maps.routeoptimization.v1.Waypoint\x12\x12\n\nstart_tags\x18\x07 \x03(\t\x12\x10\n\x08\x65nd_tags\x18\x08 \x03(\t\x12H\n\x12start_time_windows\x18\t \x03(\x0b\x32,.google.maps.routeoptimization.v1.TimeWindow\x12\x46\n\x10\x65nd_time_windows\x18\n \x03(\x0b\x32,.google.maps.routeoptimization.v1.TimeWindow\x12%\n\x18travel_duration_multiple\x18\x0b \x01(\x01H\x00\x88\x01\x01\x12S\n\x10unloading_policy\x18\x0c \x01(\x0e\x32\x39.google.maps.routeoptimization.v1.Vehicle.UnloadingPolicy\x12N\n\x0bload_limits\x18\x1e \x03(\x0b\x32\x39.google.maps.routeoptimization.v1.Vehicle.LoadLimitsEntry\x12\x15\n\rcost_per_hour\x18\x10 \x01(\x01\x12\x1e\n\x16\x63ost_per_traveled_hour\x18\x11 \x01(\x01\x12\x1a\n\x12\x63ost_per_kilometer\x18\x12 \x01(\x01\x12\x12\n\nfixed_cost\x18\x13 \x01(\x01\x12\x1e\n\x16used_if_route_is_empty\x18\x14 \x01(\x08\x12U\n\x14route_duration_limit\x18\x15 \x01(\x0b\x32\x37.google.maps.routeoptimization.v1.Vehicle.DurationLimit\x12V\n\x15travel_duration_limit\x18\x16 \x01(\x0b\x32\x37.google.maps.routeoptimization.v1.Vehicle.DurationLimit\x12M\n\x14route_distance_limit\x18\x17 \x01(\x0b\x32/.google.maps.routeoptimization.v1.DistanceLimit\x12z\n#extra_visit_duration_for_visit_type\x18\x18 \x03(\x0b\x32M.google.maps.routeoptimization.v1.Vehicle.ExtraVisitDurationForVisitTypeEntry\x12?\n\nbreak_rule\x18\x19 \x01(\x0b\x32+.google.maps.routeoptimization.v1.BreakRule\x12\r\n\x05label\x18\x1b \x01(\t\x12\x0e\n\x06ignore\x18\x1c \x01(\x08\x1a\xa0\x06\n\tLoadLimit\x12\x15\n\x08max_load\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12\x15\n\rsoft_max_load\x18\x02 \x01(\x03\x12$\n\x1c\x63ost_per_unit_above_soft_max\x18\x03 \x01(\x01\x12Y\n\x13start_load_interval\x18\x04 \x01(\x0b\x32<.google.maps.routeoptimization.v1.Vehicle.LoadLimit.Interval\x12W\n\x11\x65nd_load_interval\x18\x05 \x01(\x0b\x32<.google.maps.routeoptimization.v1.Vehicle.LoadLimit.Interval\x12]\n\x12\x63ost_per_kilometer\x18\x06 \x01(\x0b\x32<.google.maps.routeoptimization.v1.Vehicle.LoadLimit.LoadCostH\x01\x88\x01\x01\x12\x61\n\x16\x63ost_per_traveled_hour\x18\x07 \x01(\x0b\x32<.google.maps.routeoptimization.v1.Vehicle.LoadLimit.LoadCostH\x02\x88\x01\x01\x1a\x31\n\x08Interval\x12\x0b\n\x03min\x18\x01 \x01(\x03\x12\x10\n\x03max\x18\x02 \x01(\x03H\x00\x88\x01\x01\x42\x06\n\x04_max\x1a\xd6\x01\n\x08LoadCost\x12\x1b\n\x0eload_threshold\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12*\n\x1d\x63ost_per_unit_below_threshold\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12*\n\x1d\x63ost_per_unit_above_threshold\x18\x03 \x01(\x01H\x02\x88\x01\x01\x42\x11\n\x0f_load_thresholdB \n\x1e_cost_per_unit_below_thresholdB \n\x1e_cost_per_unit_above_thresholdB\x0b\n\t_max_loadB\x15\n\x13_cost_per_kilometerB\x19\n\x17_cost_per_traveled_hour\x1a\xf0\x02\n\rDurationLimit\x12/\n\x0cmax_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11soft_max_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12)\n\x1c\x63ost_per_hour_after_soft_max\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12>\n\x1bquadratic_soft_max_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12:\n-cost_per_square_hour_after_quadratic_soft_max\x18\x05 \x01(\x01H\x01\x88\x01\x01\x42\x1f\n\x1d_cost_per_hour_after_soft_maxB0\n._cost_per_square_hour_after_quadratic_soft_max\x1a\x66\n\x0fLoadLimitsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x42\n\x05value\x18\x02 \x01(\x0b\x32\x33.google.maps.routeoptimization.v1.Vehicle.LoadLimit:\x02\x38\x01\x1a`\n#ExtraVisitDurationForVisitTypeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration:\x02\x38\x01\"C\n\nTravelMode\x12\x1b\n\x17TRAVEL_MODE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x44RIVING\x10\x01\x12\x0b\n\x07WALKING\x10\x02\"b\n\x0fUnloadingPolicy\x12 \n\x1cUNLOADING_POLICY_UNSPECIFIED\x10\x00\x12\x15\n\x11LAST_IN_FIRST_OUT\x10\x01\x12\x16\n\x12\x46IRST_IN_FIRST_OUT\x10\x02\x42\x1b\n\x19_travel_duration_multiple\"\x84\x03\n\nTimeWindow\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0fsoft_start_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rsoft_end_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n$cost_per_hour_before_soft_start_time\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12.\n!cost_per_hour_after_soft_end_time\x18\x06 \x01(\x01H\x01\x88\x01\x01\x42\'\n%_cost_per_hour_before_soft_start_timeB$\n\"_cost_per_hour_after_soft_end_time\"\x95\x02\n\rDistanceLimit\x12\x17\n\nmax_meters\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12\x1c\n\x0fsoft_max_meters\x18\x02 \x01(\x03H\x01\x88\x01\x01\x12.\n!cost_per_kilometer_below_soft_max\x18\x04 \x01(\x01H\x02\x88\x01\x01\x12.\n!cost_per_kilometer_above_soft_max\x18\x03 \x01(\x01H\x03\x88\x01\x01\x42\r\n\x0b_max_metersB\x12\n\x10_soft_max_metersB$\n\"_cost_per_kilometer_below_soft_maxB$\n\"_cost_per_kilometer_above_soft_max\"\x89\x02\n\x14TransitionAttributes\x12\x0f\n\x07src_tag\x18\x01 \x01(\t\x12\x18\n\x10\x65xcluded_src_tag\x18\x02 \x01(\t\x12\x0f\n\x07\x64st_tag\x18\x03 \x01(\t\x12\x18\n\x10\x65xcluded_dst_tag\x18\x04 \x01(\t\x12\x0c\n\x04\x63ost\x18\x05 \x01(\x01\x12\x1a\n\x12\x63ost_per_kilometer\x18\x06 \x01(\x01\x12G\n\x0e\x64istance_limit\x18\x07 \x01(\x0b\x32/.google.maps.routeoptimization.v1.DistanceLimit\x12(\n\x05\x64\x65lay\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xa4\x01\n\x08Waypoint\x12>\n\x08location\x18\x01 \x01(\x0b\x32*.google.maps.routeoptimization.v1.LocationH\x00\x12\x12\n\x08place_id\x18\x02 \x01(\tH\x00\x12\x19\n\x0cside_of_road\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x18\n\x10vehicle_stopover\x18\x04 \x01(\x08\x42\x0f\n\rlocation_type\"R\n\x08Location\x12$\n\x07lat_lng\x18\x01 \x01(\x0b\x32\x13.google.type.LatLng\x12\x14\n\x07heading\x18\x02 \x01(\x05H\x00\x88\x01\x01\x42\n\n\x08_heading\"\x94\x04\n\tBreakRule\x12P\n\x0e\x62reak_requests\x18\x01 \x03(\x0b\x32\x38.google.maps.routeoptimization.v1.BreakRule.BreakRequest\x12^\n\x15\x66requency_constraints\x18\x02 \x03(\x0b\x32?.google.maps.routeoptimization.v1.BreakRule.FrequencyConstraint\x1a\xbe\x01\n\x0c\x42reakRequest\x12<\n\x13\x65\x61rliest_start_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02\x12:\n\x11latest_start_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02\x12\x34\n\x0cmin_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x02\x1a\x93\x01\n\x13\x46requencyConstraint\x12:\n\x12min_break_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x02\x12@\n\x18max_inter_break_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x02\"\xa1\x11\n\rShipmentRoute\x12\x15\n\rvehicle_index\x18\x01 \x01(\x05\x12\x15\n\rvehicle_label\x18\x02 \x01(\t\x12\x36\n\x12vehicle_start_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10vehicle_end_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x45\n\x06visits\x18\x07 \x03(\x0b\x32\x35.google.maps.routeoptimization.v1.ShipmentRoute.Visit\x12O\n\x0btransitions\x18\x08 \x03(\x0b\x32:.google.maps.routeoptimization.v1.ShipmentRoute.Transition\x12#\n\x1bhas_traffic_infeasibilities\x18\t \x01(\x08\x12W\n\x0eroute_polyline\x18\n \x01(\x0b\x32?.google.maps.routeoptimization.v1.ShipmentRoute.EncodedPolyline\x12\x45\n\x06\x62reaks\x18\x0b \x03(\x0b\x32\x35.google.maps.routeoptimization.v1.ShipmentRoute.Break\x12\x44\n\x07metrics\x18\x0c \x01(\x0b\x32\x33.google.maps.routeoptimization.v1.AggregatedMetrics\x12K\n\x10vehicle_fullness\x18\x14 \x01(\x0b\x32\x31.google.maps.routeoptimization.v1.VehicleFullness\x12T\n\x0broute_costs\x18\x11 \x03(\x0b\x32?.google.maps.routeoptimization.v1.ShipmentRoute.RouteCostsEntry\x12\x18\n\x10route_total_cost\x18\x12 \x01(\x01\x1a\xee\x03\n\x05Visit\x12\x16\n\x0eshipment_index\x18\x01 \x01(\x05\x12\x11\n\tis_pickup\x18\x02 \x01(\x08\x12\x1b\n\x13visit_request_index\x18\x03 \x01(\x05\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\\\n\x0cload_demands\x18\x0b \x03(\x0b\x32\x46.google.maps.routeoptimization.v1.ShipmentRoute.Visit.LoadDemandsEntry\x12)\n\x06\x64\x65tour\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x16\n\x0eshipment_label\x18\x07 \x01(\t\x12\x13\n\x0bvisit_label\x18\x08 \x01(\t\x12-\n injected_solution_location_token\x18\r \x01(\x05H\x00\x88\x01\x01\x1a\x63\n\x10LoadDemandsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12>\n\x05value\x18\x02 \x01(\x0b\x32/.google.maps.routeoptimization.v1.Shipment.Load:\x02\x38\x01\x42#\n!_injected_solution_location_token\x1a\xc7\x05\n\nTransition\x12\x32\n\x0ftravel_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1e\n\x16travel_distance_meters\x18\x02 \x01(\x01\x12 \n\x18traffic_info_unavailable\x18\x03 \x01(\x08\x12\x31\n\x0e\x64\x65lay_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0e\x62reak_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x30\n\rwait_duration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0etotal_duration\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12.\n\nstart_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12W\n\x0eroute_polyline\x18\t \x01(\x0b\x32?.google.maps.routeoptimization.v1.ShipmentRoute.EncodedPolyline\x12\x18\n\x0broute_token\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12\x63\n\rvehicle_loads\x18\x0b \x03(\x0b\x32L.google.maps.routeoptimization.v1.ShipmentRoute.Transition.VehicleLoadsEntry\x1ap\n\x11VehicleLoadsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12J\n\x05value\x18\x02 \x01(\x0b\x32;.google.maps.routeoptimization.v1.ShipmentRoute.VehicleLoad:\x02\x38\x01\x1a\x1d\n\x0bVehicleLoad\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x03\x1a!\n\x0f\x45ncodedPolyline\x12\x0e\n\x06points\x18\x01 \x01(\t\x1a\x64\n\x05\x42reak\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x31\n\x0fRouteCostsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\"\xcf\x07\n\x0fSkippedShipment\x12\r\n\x05index\x18\x01 \x01(\x05\x12\r\n\x05label\x18\x02 \x01(\t\x12\x19\n\x0cpenalty_cost\x18\x06 \x01(\x01H\x00\x88\x01\x01\x12\x31\n$estimated_incompatible_vehicle_ratio\x18\x05 \x01(\x01H\x01\x88\x01\x01\x12I\n\x07reasons\x18\x03 \x03(\x0b\x32\x38.google.maps.routeoptimization.v1.SkippedShipment.Reason\x1a\xca\x05\n\x06Reason\x12K\n\x04\x63ode\x18\x01 \x01(\x0e\x32=.google.maps.routeoptimization.v1.SkippedShipment.Reason.Code\x12\"\n\x15\x65xample_vehicle_index\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12\x1f\n\x17\x65xample_vehicle_indices\x18\x05 \x03(\x05\x12&\n\x1e\x65xample_exceeded_capacity_type\x18\x03 \x01(\t\"\xeb\x03\n\x04\x43ode\x12\x14\n\x10\x43ODE_UNSPECIFIED\x10\x00\x12\x0e\n\nNO_VEHICLE\x10\x01\x12#\n\x1f\x44\x45MAND_EXCEEDS_VEHICLE_CAPACITY\x10\x02\x12\x35\n1CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT\x10\x03\x12\x35\n1CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT\x10\x04\x12<\n8CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT\x10\x05\x12\x33\n/CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS\x10\x06\x12\x17\n\x13VEHICLE_NOT_ALLOWED\x10\x07\x12\x13\n\x0fVEHICLE_IGNORED\x10\x08\x12\x14\n\x10SHIPMENT_IGNORED\x10\t\x12+\n\'SKIPPED_IN_INJECTED_SOLUTION_CONSTRAINT\x10\n\x12/\n+VEHICLE_ROUTE_IS_FULLY_SEQUENCE_CONSTRAINED\x10\x0b\x12\x15\n\x11ZERO_PENALTY_COST\x10\rB\x18\n\x16_example_vehicle_indexB\x0f\n\r_penalty_costB\'\n%_estimated_incompatible_vehicle_ratio\"\xfd\x05\n\x11\x41ggregatedMetrics\x12 \n\x18performed_shipment_count\x18\x01 \x01(\x05\x12/\n\"performed_mandatory_shipment_count\x18\x0c \x01(\x05H\x00\x88\x01\x01\x12\x30\n#performed_shipment_penalty_cost_sum\x18\r \x01(\x01H\x01\x88\x01\x01\x12\x32\n\x0ftravel_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x30\n\rwait_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0e\x64\x65lay_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0e\x62reak_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0evisit_duration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0etotal_duration\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1e\n\x16travel_distance_meters\x18\x08 \x01(\x01\x12T\n\tmax_loads\x18\t \x03(\x0b\x32\x41.google.maps.routeoptimization.v1.AggregatedMetrics.MaxLoadsEntry\x1al\n\rMaxLoadsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12J\n\x05value\x18\x02 \x01(\x0b\x32;.google.maps.routeoptimization.v1.ShipmentRoute.VehicleLoad:\x02\x38\x01\x42%\n#_performed_mandatory_shipment_countB&\n$_performed_shipment_penalty_cost_sum\"\x93\x02\n\x0fVehicleFullness\x12\x19\n\x0cmax_fullness\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12\x15\n\x08\x64istance\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12\x1c\n\x0ftravel_duration\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12\x1c\n\x0f\x61\x63tive_duration\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x15\n\x08max_load\x18\x05 \x01(\x01H\x04\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_span\x18\x06 \x01(\x01H\x05\x88\x01\x01\x42\x0f\n\r_max_fullnessB\x0b\n\t_distanceB\x12\n\x10_travel_durationB\x12\n\x10_active_durationB\x0b\n\t_max_loadB\x0e\n\x0c_active_span\"\xb3\x06\n\x1aInjectedSolutionConstraint\x12?\n\x06routes\x18\x01 \x03(\x0b\x32/.google.maps.routeoptimization.v1.ShipmentRoute\x12L\n\x11skipped_shipments\x18\x02 \x03(\x0b\x32\x31.google.maps.routeoptimization.v1.SkippedShipment\x12q\n\x16\x63onstraint_relaxations\x18\x03 \x03(\x0b\x32Q.google.maps.routeoptimization.v1.InjectedSolutionConstraint.ConstraintRelaxation\x1a\x92\x04\n\x14\x43onstraintRelaxation\x12q\n\x0brelaxations\x18\x01 \x03(\x0b\x32\\.google.maps.routeoptimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation\x12\x17\n\x0fvehicle_indices\x18\x02 \x03(\x05\x1a\xed\x02\n\nRelaxation\x12q\n\x05level\x18\x01 \x01(\x0e\x32\x62.google.maps.routeoptimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level\x12\x32\n\x0ethreshold_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15threshold_visit_count\x18\x03 \x01(\x05\"\x98\x01\n\x05Level\x12\x15\n\x11LEVEL_UNSPECIFIED\x10\x00\x12%\n!RELAX_VISIT_TIMES_AFTER_THRESHOLD\x10\x01\x12\x32\n.RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD\x10\x02\x12\x1d\n\x19RELAX_ALL_AFTER_THRESHOLD\x10\x03\"\x85\x03\n\x1cOptimizeToursValidationError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12]\n\x06\x66ields\x18\x03 \x03(\x0b\x32M.google.maps.routeoptimization.v1.OptimizeToursValidationError.FieldReference\x12\x15\n\rerror_message\x18\x04 \x01(\t\x12\x18\n\x10offending_values\x18\x05 \x01(\t\x1a\xb0\x01\n\x0e\x46ieldReference\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x05index\x18\x02 \x01(\x05H\x00\x12\r\n\x03key\x18\x04 \x01(\tH\x00\x12`\n\tsub_field\x18\x03 \x01(\x0b\x32M.google.maps.routeoptimization.v1.OptimizeToursValidationError.FieldReferenceB\x0e\n\x0cindex_or_key\"\xa2\x01\n\x0bInputConfig\x12\x41\n\ngcs_source\x18\x01 \x01(\x0b\x32+.google.maps.routeoptimization.v1.GcsSourceH\x00\x12\x46\n\x0b\x64\x61ta_format\x18\x02 \x01(\x0e\x32,.google.maps.routeoptimization.v1.DataFormatB\x03\xe0\x41\x02\x42\x08\n\x06source\"\xb2\x01\n\x0cOutputConfig\x12K\n\x0fgcs_destination\x18\x01 \x01(\x0b\x32\x30.google.maps.routeoptimization.v1.GcsDestinationH\x00\x12\x46\n\x0b\x64\x61ta_format\x18\x02 \x01(\x0e\x32,.google.maps.routeoptimization.v1.DataFormatB\x03\xe0\x41\x02\x42\r\n\x0b\x64\x65stination\"\x1d\n\tGcsSource\x12\x10\n\x03uri\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\"\n\x0eGcsDestination\x12\x10\n\x03uri\x18\x01 \x01(\tB\x03\xe0\x41\x02*C\n\nDataFormat\x12\x1b\n\x17\x44\x41TA_FORMAT_UNSPECIFIED\x10\x00\x12\x08\n\x04JSON\x10\x01\x12\x0e\n\nPROTO_TEXT\x10\x02\x32\xc1\t\n\x11RouteOptimization\x12\xea\x01\n\rOptimizeTours\x12\x36.google.maps.routeoptimization.v1.OptimizeToursRequest\x1a\x37.google.maps.routeoptimization.v1.OptimizeToursResponse\"h\x82\xd3\xe4\x93\x02\x62\"1/v1/{parent=projects/*/locations/*}:optimizeTours:\x01*Z*\"%/v1/{parent=projects/*}:optimizeTours:\x01*\x12\xa0\x02\n\x12\x42\x61tchOptimizeTours\x12;.google.maps.routeoptimization.v1.BatchOptimizeToursRequest\x1a\x1d.google.longrunning.Operation\"\xad\x01\xca\x41\x38\n\x1a\x42\x61tchOptimizeToursResponse\x12\x1a\x42\x61tchOptimizeToursMetadata\x82\xd3\xe4\x93\x02l\"6/v1/{parent=projects/*/locations/*}:batchOptimizeTours:\x01*Z/\"*/v1/{parent=projects/*}:batchOptimizeTours:\x01*\x12\xae\x02\n\x18OptimizeToursLongRunning\x12\x36.google.maps.routeoptimization.v1.OptimizeToursRequest\x1a\x1d.google.longrunning.Operation\"\xba\x01\xca\x41\x39\n\x15OptimizeToursResponse\x12 OptimizeToursLongRunningMetadata\x82\xd3\xe4\x93\x02x\"</v1/{parent=projects/*/locations/*}:optimizeToursLongRunning:\x01*Z5\"0/v1/{parent=projects/*}:optimizeToursLongRunning:\x01*\x12\x94\x02\n\x10OptimizeToursUri\x12\x39.google.maps.routeoptimization.v1.OptimizeToursUriRequest\x1a\x1d.google.longrunning.Operation\"\xa5\x01\xca\x41\x34\n\x18OptimizeToursUriResponse\x12\x18OptimizeToursUriMetadata\x82\xd3\xe4\x93\x02h\"4/v1/{parent=projects/*/locations/*}:OptimizeToursUri:\x01*Z-\"(/v1/{parent=projects/*}:OptimizeToursUri:\x01*\x1aT\xca\x41 routeoptimization.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x8d\x02\n$com.google.maps.routeoptimization.v1B\x1dRouteOptimizationServiceProtoP\x01ZXcloud.google.com/go/maps/routeoptimization/apiv1/routeoptimizationpb;routeoptimizationpb\xaa\x02 Google.Maps.RouteOptimization.V1\xca\x02 Google\\Maps\\RouteOptimization\\V1\xea\x02#Google::Maps::RouteOptimization::V1b\x06proto3"
17
+
18
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
19
+ pool.add_serialized_file(descriptor_data)
20
+
21
+ module Google
22
+ module Maps
23
+ module RouteOptimization
24
+ module V1
25
+ Uri = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Uri").msgclass
26
+ OptimizeToursUriRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursUriRequest").msgclass
27
+ OptimizeToursUriResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursUriResponse").msgclass
28
+ OptimizeToursUriMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursUriMetadata").msgclass
29
+ BatchOptimizeToursRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.BatchOptimizeToursRequest").msgclass
30
+ BatchOptimizeToursRequest::AsyncModelConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.BatchOptimizeToursRequest.AsyncModelConfig").msgclass
31
+ BatchOptimizeToursResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.BatchOptimizeToursResponse").msgclass
32
+ BatchOptimizeToursMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.BatchOptimizeToursMetadata").msgclass
33
+ OptimizeToursLongRunningMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursLongRunningMetadata").msgclass
34
+ OptimizeToursRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursRequest").msgclass
35
+ OptimizeToursRequest::SolvingMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursRequest.SolvingMode").enummodule
36
+ OptimizeToursRequest::SearchMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursRequest.SearchMode").enummodule
37
+ OptimizeToursResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursResponse").msgclass
38
+ OptimizeToursResponse::Metrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursResponse.Metrics").msgclass
39
+ ShipmentModel = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentModel").msgclass
40
+ ShipmentModel::Objective = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentModel.Objective").msgclass
41
+ ShipmentModel::Objective::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentModel.Objective.Type").enummodule
42
+ ShipmentModel::DurationDistanceMatrix = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentModel.DurationDistanceMatrix").msgclass
43
+ ShipmentModel::DurationDistanceMatrix::Row = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentModel.DurationDistanceMatrix.Row").msgclass
44
+ ShipmentModel::PrecedenceRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentModel.PrecedenceRule").msgclass
45
+ Shipment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Shipment").msgclass
46
+ Shipment::VisitRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Shipment.VisitRequest").msgclass
47
+ Shipment::Load = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Shipment.Load").msgclass
48
+ ShipmentTypeIncompatibility = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentTypeIncompatibility").msgclass
49
+ ShipmentTypeIncompatibility::IncompatibilityMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentTypeIncompatibility.IncompatibilityMode").enummodule
50
+ ShipmentTypeRequirement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentTypeRequirement").msgclass
51
+ ShipmentTypeRequirement::RequirementMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentTypeRequirement.RequirementMode").enummodule
52
+ RouteModifiers = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.RouteModifiers").msgclass
53
+ Vehicle = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Vehicle").msgclass
54
+ Vehicle::LoadLimit = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Vehicle.LoadLimit").msgclass
55
+ Vehicle::LoadLimit::Interval = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Vehicle.LoadLimit.Interval").msgclass
56
+ Vehicle::LoadLimit::LoadCost = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Vehicle.LoadLimit.LoadCost").msgclass
57
+ Vehicle::DurationLimit = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Vehicle.DurationLimit").msgclass
58
+ Vehicle::TravelMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Vehicle.TravelMode").enummodule
59
+ Vehicle::UnloadingPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Vehicle.UnloadingPolicy").enummodule
60
+ TimeWindow = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.TimeWindow").msgclass
61
+ DistanceLimit = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.DistanceLimit").msgclass
62
+ TransitionAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.TransitionAttributes").msgclass
63
+ Waypoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Waypoint").msgclass
64
+ Location = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.Location").msgclass
65
+ BreakRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.BreakRule").msgclass
66
+ BreakRule::BreakRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.BreakRule.BreakRequest").msgclass
67
+ BreakRule::FrequencyConstraint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.BreakRule.FrequencyConstraint").msgclass
68
+ ShipmentRoute = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentRoute").msgclass
69
+ ShipmentRoute::Visit = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentRoute.Visit").msgclass
70
+ ShipmentRoute::Transition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentRoute.Transition").msgclass
71
+ ShipmentRoute::VehicleLoad = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentRoute.VehicleLoad").msgclass
72
+ ShipmentRoute::EncodedPolyline = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentRoute.EncodedPolyline").msgclass
73
+ ShipmentRoute::Break = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.ShipmentRoute.Break").msgclass
74
+ SkippedShipment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.SkippedShipment").msgclass
75
+ SkippedShipment::Reason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.SkippedShipment.Reason").msgclass
76
+ SkippedShipment::Reason::Code = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.SkippedShipment.Reason.Code").enummodule
77
+ AggregatedMetrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.AggregatedMetrics").msgclass
78
+ VehicleFullness = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.VehicleFullness").msgclass
79
+ InjectedSolutionConstraint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.InjectedSolutionConstraint").msgclass
80
+ InjectedSolutionConstraint::ConstraintRelaxation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.InjectedSolutionConstraint.ConstraintRelaxation").msgclass
81
+ InjectedSolutionConstraint::ConstraintRelaxation::Relaxation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation").msgclass
82
+ InjectedSolutionConstraint::ConstraintRelaxation::Relaxation::Level = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level").enummodule
83
+ OptimizeToursValidationError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursValidationError").msgclass
84
+ OptimizeToursValidationError::FieldReference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OptimizeToursValidationError.FieldReference").msgclass
85
+ InputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.InputConfig").msgclass
86
+ OutputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.OutputConfig").msgclass
87
+ GcsSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.GcsSource").msgclass
88
+ GcsDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.GcsDestination").msgclass
89
+ DataFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.maps.routeoptimization.v1.DataFormat").enummodule
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,148 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/maps/routeoptimization/v1/route_optimization_service.proto for package 'Google.Maps.RouteOptimization.V1'
3
+ # Original file comments:
4
+ # Copyright 2025 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/maps/routeoptimization/v1/route_optimization_service_pb'
21
+
22
+ module Google
23
+ module Maps
24
+ module RouteOptimization
25
+ module V1
26
+ module RouteOptimization
27
+ # A service for optimizing vehicle tours.
28
+ #
29
+ # Validity of certain types of fields:
30
+ #
31
+ # * `google.protobuf.Timestamp`
32
+ # * Times are in Unix time: seconds since 1970-01-01T00:00:00+00:00.
33
+ # * seconds must be in [0, 253402300799],
34
+ # i.e. in [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
35
+ # * nanos must be unset or set to 0.
36
+ # * `google.protobuf.Duration`
37
+ # * seconds must be in [0, 253402300799],
38
+ # i.e. in [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
39
+ # * nanos must be unset or set to 0.
40
+ # * `google.type.LatLng`
41
+ # * latitude must be in [-90.0, 90.0].
42
+ # * longitude must be in [-180.0, 180.0].
43
+ # * at least one of latitude and longitude must be non-zero.
44
+ #
45
+ class Service
46
+
47
+ include ::GRPC::GenericService
48
+
49
+ self.marshal_class_method = :encode
50
+ self.unmarshal_class_method = :decode
51
+ self.service_name = 'google.maps.routeoptimization.v1.RouteOptimization'
52
+
53
+ # Sends an `OptimizeToursRequest` containing a `ShipmentModel` and returns an
54
+ # `OptimizeToursResponse` containing `ShipmentRoute`s, which are a set of
55
+ # routes to be performed by vehicles minimizing the overall cost.
56
+ #
57
+ # A `ShipmentModel` model consists mainly of `Shipment`s that need to be
58
+ # carried out and `Vehicle`s that can be used to transport the `Shipment`s.
59
+ # The `ShipmentRoute`s assign `Shipment`s to `Vehicle`s. More specifically,
60
+ # they assign a series of `Visit`s to each vehicle, where a `Visit`
61
+ # corresponds to a `VisitRequest`, which is a pickup or delivery for a
62
+ # `Shipment`.
63
+ #
64
+ # The goal is to provide an assignment of `ShipmentRoute`s to `Vehicle`s that
65
+ # minimizes the total cost where cost has many components defined in the
66
+ # `ShipmentModel`.
67
+ rpc :OptimizeTours, ::Google::Maps::RouteOptimization::V1::OptimizeToursRequest, ::Google::Maps::RouteOptimization::V1::OptimizeToursResponse
68
+ # Optimizes vehicle tours for one or more `OptimizeToursRequest`
69
+ # messages as a batch.
70
+ #
71
+ # This method is a Long Running Operation (LRO). The inputs for optimization
72
+ # (`OptimizeToursRequest` messages) and outputs (`OptimizeToursResponse`
73
+ # messages) are read from and written to Cloud Storage in user-specified
74
+ # format. Like the `OptimizeTours` method, each `OptimizeToursRequest`
75
+ # contains a `ShipmentModel` and returns an `OptimizeToursResponse`
76
+ # containing `ShipmentRoute` fields, which are a set of routes to be
77
+ # performed by vehicles minimizing the overall cost.
78
+ #
79
+ # The user can poll `operations.get` to check the status of the LRO:
80
+ #
81
+ # If the LRO `done` field is false, then at least one request is still
82
+ # being processed. Other requests may have completed successfully and their
83
+ # results are available in Cloud Storage.
84
+ #
85
+ # If the LRO's `done` field is true, then all requests have been processed.
86
+ # Any successfully processed requests will have their results available in
87
+ # Cloud Storage. Any requests that failed will not have their results
88
+ # available in Cloud Storage. If the LRO's `error` field is set, then it
89
+ # contains the error from one of the failed requests.
90
+ rpc :BatchOptimizeTours, ::Google::Maps::RouteOptimization::V1::BatchOptimizeToursRequest, ::Google::Longrunning::Operation
91
+ # This is a variant of the
92
+ # [OptimizeTours][google.maps.routeoptimization.v1.RouteOptimization.OptimizeTours]
93
+ # method designed for
94
+ # optimizations with large timeout values. It should be preferred over the
95
+ # `OptimizeTours` method for optimizations that take longer than
96
+ # a few minutes.
97
+ #
98
+ # The returned [long-running operation][google.longrunning.Operation] (LRO)
99
+ # will have a name of the format
100
+ # `<parent>/operations/<operation_id>` and can be used to track
101
+ # progress of the computation. The
102
+ # [metadata][google.longrunning.Operation.metadata] field type is
103
+ # [OptimizeToursLongRunningMetadata][google.maps.routeoptimization.v1.OptimizeToursLongRunningMetadata].
104
+ # The [response][google.longrunning.Operation.response] field type is
105
+ # [OptimizeToursResponse][google.maps.routeoptimization.v1.OptimizeToursResponse],
106
+ # if successful.
107
+ #
108
+ # Experimental: See
109
+ # https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request
110
+ # for more details.
111
+ #
112
+ rpc :OptimizeToursLongRunning, ::Google::Maps::RouteOptimization::V1::OptimizeToursRequest, ::Google::Longrunning::Operation
113
+ # This is a variant of the
114
+ # [OptimizeToursLongRunning][google.maps.routeoptimization.v1.RouteOptimization.OptimizeToursLongRunning]
115
+ # method designed for optimizations with large timeout values and large
116
+ # input/output sizes.
117
+ #
118
+ # The client specifies the URI of the `OptimizeToursRequest` stored
119
+ # in Google Cloud Storage and the server writes the `OptimizeToursResponse`
120
+ # to a client-specified Google Cloud Storage URI.
121
+ #
122
+ # This method should be preferred over the `OptimizeTours` method for
123
+ # optimizations that take longer than a few minutes and input/output sizes
124
+ # that are larger than 8MB, though it can be used for shorter and smaller
125
+ # optimizations as well.
126
+ #
127
+ # The returned [long-running operation][google.longrunning.Operation] (LRO)
128
+ # will have a name of the format
129
+ # `<parent>/operations/<operation_id>` and can be used to track
130
+ # progress of the computation. The
131
+ # [metadata][google.longrunning.Operation.metadata] field type is
132
+ # [OptimizeToursLongRunningMetadata][google.maps.routeoptimization.v1.OptimizeToursUriMetadata].
133
+ # The [response][google.longrunning.Operation.response] field type is
134
+ # [OptimizeToursUriResponse][google.maps.routeoptimization.v1.OptimizeToursUriResponse],
135
+ # if successful.
136
+ #
137
+ # Experimental: See
138
+ # https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request
139
+ # for more details.
140
+ rpc :OptimizeToursUri, ::Google::Maps::RouteOptimization::V1::OptimizeToursUriRequest, ::Google::Longrunning::Operation
141
+ end
142
+
143
+ Stub = Service.rpc_stub_class
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ # This gem does not autoload during Bundler.require. To load this gem,
20
+ # issue explicit require statements for the packages desired, e.g.:
21
+ # require "google/maps/route_optimization/v1"
@@ -0,0 +1,4 @@
1
+ # Route Optimization V1 Protocol Buffer Documentation
2
+
3
+ These files are for the YARD documentation of the generated protobuf files.
4
+ They are not intended to be required or loaded at runtime.