/*
 * Copyright 2020 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.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/optimization/v1/fleet_routing.proto

package com.google.cloud.optimization.v1;

public final class FleetRoutingProto {
  private FleetRoutingProto() {}

  public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}

  public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
  }

  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_OptimizeToursRequest_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_OptimizeToursRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_OptimizeToursResponse_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_OptimizeToursResponse_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_CostsEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_CostsEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_AsyncModelConfig_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_AsyncModelConfig_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_BatchOptimizeToursResponse_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_BatchOptimizeToursResponse_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentModel_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentModel_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_Row_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_Row_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentModel_PrecedenceRule_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentModel_PrecedenceRule_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_BreakRequest_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_BreakRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_FrequencyConstraint_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_FrequencyConstraint_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Shipment_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Shipment_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_LoadDemandsEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_LoadDemandsEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Shipment_Load_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Shipment_Load_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Shipment_LoadDemandsEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Shipment_LoadDemandsEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentTypeIncompatibility_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentTypeIncompatibility_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentTypeRequirement_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentTypeRequirement_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Vehicle_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Vehicle_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_Interval_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_Interval_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Vehicle_DurationLimit_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Vehicle_DurationLimit_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Vehicle_LoadLimitsEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Vehicle_LoadLimitsEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Vehicle_ExtraVisitDurationForVisitTypeEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Vehicle_ExtraVisitDurationForVisitTypeEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_TimeWindow_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_TimeWindow_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_CapacityQuantity_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_CapacityQuantity_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_CapacityQuantityInterval_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_CapacityQuantityInterval_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_DistanceLimit_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_DistanceLimit_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_TransitionAttributes_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_TransitionAttributes_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Waypoint_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Waypoint_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_Location_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_Location_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_BreakRule_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_BreakRule_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_BreakRule_BreakRequest_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_BreakRule_BreakRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_BreakRule_FrequencyConstraint_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_BreakRule_FrequencyConstraint_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Delay_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Delay_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_LoadDemandsEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_LoadDemandsEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_VehicleLoadsEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_VehicleLoadsEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_VehicleLoad_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_VehicleLoad_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_EncodedPolyline_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_EncodedPolyline_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Break_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_Break_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_TravelStep_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_TravelStep_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_ShipmentRoute_RouteCostsEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_ShipmentRoute_RouteCostsEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_SkippedShipment_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_SkippedShipment_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_SkippedShipment_Reason_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_SkippedShipment_Reason_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_AggregatedMetrics_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_AggregatedMetrics_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_AggregatedMetrics_MaxLoadsEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_AggregatedMetrics_MaxLoadsEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_AggregatedMetrics_CostsEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_AggregatedMetrics_CostsEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_Relaxation_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_Relaxation_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_FieldReference_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_FieldReference_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
    return descriptor;
  }

  private static com.google.protobuf.Descriptors.FileDescriptor descriptor;

  static {
    java.lang.String[] descriptorData = {
      "\n0google/cloud/optimization/v1/fleet_rou"
          + "ting.proto\022\034google.cloud.optimization.v1"
          + "\032\034google/api/annotations.proto\032\027google/a"
          + "pi/client.proto\032\037google/api/field_behavi"
          + "or.proto\032.google/cloud/optimization/v1/a"
          + "sync_model.proto\032#google/longrunning/ope"
          + "rations.proto\032\036google/protobuf/duration."
          + "proto\032\037google/protobuf/timestamp.proto\032\030"
          + "google/type/latlng.proto\"\244\t\n\024OptimizeTou"
          + "rsRequest\022\023\n\006parent\030\001 \001(\tB\003\340A\002\022*\n\007timeou"
          + "t\030\002 \001(\0132\031.google.protobuf.Duration\022:\n\005mo"
          + "del\030\003 \001(\0132+.google.cloud.optimization.v1"
          + ".ShipmentModel\022T\n\014solving_mode\030\004 \001(\0162>.g"
          + "oogle.cloud.optimization.v1.OptimizeTour"
          + "sRequest.SolvingMode\022\"\n\025max_validation_e"
          + "rrors\030\005 \001(\005H\000\210\001\001\022R\n\013search_mode\030\006 \001(\0162=."
          + "google.cloud.optimization.v1.OptimizeTou"
          + "rsRequest.SearchMode\022S\n\036injected_first_s"
          + "olution_routes\030\007 \003(\0132+.google.cloud.opti"
          + "mization.v1.ShipmentRoute\022^\n\034injected_so"
          + "lution_constraint\030\010 \001(\01328.google.cloud.o"
          + "ptimization.v1.InjectedSolutionConstrain"
          + "t\022K\n\026refresh_details_routes\030\t \003(\0132+.goog"
          + "le.cloud.optimization.v1.ShipmentRoute\0221"
          + "\n)interpret_injected_solutions_using_lab"
          + "els\030\n \001(\010\022\035\n\025consider_road_traffic\030\013 \001(\010"
          + "\022\032\n\022populate_polylines\030\014 \001(\010\022%\n\035populate"
          + "_transition_polylines\030\r \001(\010\0226\n.allow_lar"
          + "ge_deadline_despite_interruption_risk\030\016 "
          + "\001(\010\022\036\n\026use_geodesic_distances\030\017 \001(\010\022\'\n\032g"
          + "eodesic_meters_per_second\030\020 \001(\001H\001\210\001\001\022\r\n\005"
          + "label\030\021 \001(\t\022*\n\036populate_travel_step_poly"
          + "lines\030\024 \001(\010B\002\030\001\"Y\n\013SolvingMode\022\021\n\rDEFAUL"
          + "T_SOLVE\020\000\022\021\n\rVALIDATE_ONLY\020\001\022$\n DETECT_S"
          + "OME_INFEASIBLE_SHIPMENTS\020\002\"Z\n\nSearchMode"
          + "\022\033\n\027SEARCH_MODE_UNSPECIFIED\020\000\022\017\n\013RETURN_"
          + "FAST\020\001\022\036\n\032CONSUME_ALL_AVAILABLE_TIME\020\002B\030"
          + "\n\026_max_validation_errorsB\035\n\033_geodesic_me"
          + "ters_per_second\"\256\006\n\025OptimizeToursRespons"
          + "e\022;\n\006routes\030\001 \003(\0132+.google.cloud.optimiz"
          + "ation.v1.ShipmentRoute\022\025\n\rrequest_label\030"
          + "\003 \001(\t\022H\n\021skipped_shipments\030\004 \003(\0132-.googl"
          + "e.cloud.optimization.v1.SkippedShipment\022"
          + "U\n\021validation_errors\030\005 \003(\0132:.google.clou"
          + "d.optimization.v1.OptimizeToursValidatio"
          + "nError\022L\n\007metrics\030\006 \001(\0132;.google.cloud.o"
          + "ptimization.v1.OptimizeToursResponse.Met"
          + "rics\022\026\n\ntotal_cost\030\002 \001(\001B\002\030\001\032\271\003\n\007Metrics"
          + "\022Q\n\030aggregated_route_metrics\030\001 \001(\0132/.goo"
          + "gle.cloud.optimization.v1.AggregatedMetr"
          + "ics\022(\n skipped_mandatory_shipment_count\030"
          + "\002 \001(\005\022\032\n\022used_vehicle_count\030\003 \001(\005\022?\n\033ear"
          + "liest_vehicle_start_time\030\004 \001(\0132\032.google."
          + "protobuf.Timestamp\022;\n\027latest_vehicle_end"
          + "_time\030\005 \001(\0132\032.google.protobuf.Timestamp\022"
          + "U\n\005costs\030\n \003(\0132F.google.cloud.optimizati"
          + "on.v1.OptimizeToursResponse.Metrics.Cost"
          + "sEntry\022\022\n\ntotal_cost\030\006 \001(\001\032,\n\nCostsEntry"
          + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\001:\0028\001\"\353\002\n\031Bat"
          + "chOptimizeToursRequest\022\023\n\006parent\030\001 \001(\tB\003"
          + "\340A\002\022d\n\rmodel_configs\030\002 \003(\0132H.google.clou"
          + "d.optimization.v1.BatchOptimizeToursRequ"
          + "est.AsyncModelConfigB\003\340A\002\032\322\001\n\020AsyncModel"
          + "Config\022\024\n\014display_name\030\001 \001(\t\022D\n\014input_co"
          + "nfig\030\002 \001(\0132).google.cloud.optimization.v"
          + "1.InputConfigB\003\340A\002\022F\n\routput_config\030\003 \001("
          + "\0132*.google.cloud.optimization.v1.OutputC"
          + "onfigB\003\340A\002\022\032\n\022enable_checkpoints\030\004 \001(\010\"\034"
          + "\n\032BatchOptimizeToursResponse\"\232\017\n\rShipmen"
          + "tModel\0229\n\tshipments\030\001 \003(\0132&.google.cloud"
          + ".optimization.v1.Shipment\0227\n\010vehicles\030\002 "
          + "\003(\0132%.google.cloud.optimization.v1.Vehic"
          + "le\022 \n\023max_active_vehicles\030\004 \001(\005H\000\210\001\001\0225\n\021"
          + "global_start_time\030\005 \001(\0132\032.google.protobu"
          + "f.Timestamp\0223\n\017global_end_time\030\006 \001(\0132\032.g"
          + "oogle.protobuf.Timestamp\022%\n\035global_durat"
          + "ion_cost_per_hour\030\007 \001(\001\022f\n\032duration_dist"
          + "ance_matrices\030\010 \003(\0132B.google.cloud.optim"
          + "ization.v1.ShipmentModel.DurationDistanc"
          + "eMatrix\022)\n!duration_distance_matrix_src_"
          + "tags\030\t \003(\t\022)\n!duration_distance_matrix_d"
          + "st_tags\030\n \003(\t\022Q\n\025transition_attributes\030\013"
          + " \003(\01322.google.cloud.optimization.v1.Tran"
          + "sitionAttributes\022b\n\037shipment_type_incomp"
          + "atibilities\030\014 \003(\01329.google.cloud.optimiz"
          + "ation.v1.ShipmentTypeIncompatibility\022Y\n\032"
          + "shipment_type_requirements\030\r \003(\01325.googl"
          + "e.cloud.optimization.v1.ShipmentTypeRequ"
          + "irement\022T\n\020precedence_rules\030\016 \003(\0132:.goog"
          + "le.cloud.optimization.v1.ShipmentModel.P"
          + "recedenceRule\022N\n\013break_rules\030\017 \003(\01325.goo"
          + "gle.cloud.optimization.v1.ShipmentModel."
          + "BreakRuleB\002\030\001\032\316\001\n\026DurationDistanceMatrix"
          + "\022T\n\004rows\030\001 \003(\0132F.google.cloud.optimizati"
          + "on.v1.ShipmentModel.DurationDistanceMatr"
          + "ix.Row\022\031\n\021vehicle_start_tag\030\002 \001(\t\032C\n\003Row"
          + "\022,\n\tdurations\030\001 \003(\0132\031.google.protobuf.Du"
          + "ration\022\016\n\006meters\030\002 \003(\001\032\321\001\n\016PrecedenceRul"
          + "e\022\030\n\013first_index\030\001 \001(\005H\000\210\001\001\022\031\n\021first_is_"
          + "delivery\030\003 \001(\010\022\031\n\014second_index\030\002 \001(\005H\001\210\001"
          + "\001\022\032\n\022second_is_delivery\030\004 \001(\010\0222\n\017offset_"
          + "duration\030\005 \001(\0132\031.google.protobuf.Duratio"
          + "nB\016\n\014_first_indexB\017\n\r_second_index\032\254\004\n\tB"
          + "reakRule\022Z\n\016break_requests\030\001 \003(\0132B.googl"
          + "e.cloud.optimization.v1.ShipmentModel.Br"
          + "eakRule.BreakRequest\022h\n\025frequency_constr"
          + "aints\030\002 \003(\0132I.google.cloud.optimization."
          + "v1.ShipmentModel.BreakRule.FrequencyCons"
          + "traint\032\276\001\n\014BreakRequest\022<\n\023earliest_star"
          + "t_time\030\001 \001(\0132\032.google.protobuf.Timestamp"
          + "B\003\340A\002\022:\n\021latest_start_time\030\002 \001(\0132\032.googl"
          + "e.protobuf.TimestampB\003\340A\002\0224\n\014min_duratio"
          + "n\030\003 \001(\0132\031.google.protobuf.DurationB\003\340A\002\032"
          + "\223\001\n\023FrequencyConstraint\022:\n\022min_break_dur"
          + "ation\030\001 \001(\0132\031.google.protobuf.DurationB\003"
          + "\340A\002\022@\n\030max_inter_break_duration\030\002 \001(\0132\031."
          + "google.protobuf.DurationB\003\340A\002:\002\030\001B\026\n\024_ma"
          + "x_active_vehicles\"\200\014\n\010Shipment\022D\n\007pickup"
          + "s\030\001 \003(\01323.google.cloud.optimization.v1.S"
          + "hipment.VisitRequest\022G\n\ndeliveries\030\002 \003(\013"
          + "23.google.cloud.optimization.v1.Shipment"
          + ".VisitRequest\022M\n\014load_demands\030\016 \003(\01327.go"
          + "ogle.cloud.optimization.v1.Shipment.Load"
          + "DemandsEntry\022\031\n\014penalty_cost\030\004 \001(\001H\000\210\001\001\022"
          + "\037\n\027allowed_vehicle_indices\030\005 \003(\005\022\031\n\021cost"
          + "s_per_vehicle\030\006 \003(\001\022!\n\031costs_per_vehicle"
          + "_indices\030\007 \003(\005\0225\n(pickup_to_delivery_rel"
          + "ative_detour_limit\030\010 \001(\001H\001\210\001\001\022K\n(pickup_"
          + "to_delivery_absolute_detour_limit\030\t \001(\0132"
          + "\031.google.protobuf.Duration\022@\n\035pickup_to_"
          + "delivery_time_limit\030\n \001(\0132\031.google.proto"
          + "buf.Duration\022\025\n\rshipment_type\030\013 \001(\t\022\r\n\005l"
          + "abel\030\014 \001(\t\022\016\n\006ignore\030\r \001(\010\022C\n\007demands\030\003 "
          + "\003(\0132..google.cloud.optimization.v1.Capac"
          + "ityQuantityB\002\030\001\032\243\005\n\014VisitRequest\022-\n\020arri"
          + "val_location\030\001 \001(\0132\023.google.type.LatLng\022"
          + "@\n\020arrival_waypoint\030\002 \001(\0132&.google.cloud"
          + ".optimization.v1.Waypoint\022/\n\022departure_l"
          + "ocation\030\003 \001(\0132\023.google.type.LatLng\022B\n\022de"
          + "parture_waypoint\030\004 \001(\0132&.google.cloud.op"
          + "timization.v1.Waypoint\022\014\n\004tags\030\005 \003(\t\022>\n\014"
          + "time_windows\030\006 \003(\0132(.google.cloud.optimi"
          + "zation.v1.TimeWindow\022+\n\010duration\030\007 \001(\0132\031"
          + ".google.protobuf.Duration\022\014\n\004cost\030\010 \001(\001\022"
          + "Z\n\014load_demands\030\014 \003(\0132D.google.cloud.opt"
          + "imization.v1.Shipment.VisitRequest.LoadD"
          + "emandsEntry\022\023\n\013visit_types\030\n \003(\t\022\r\n\005labe"
          + "l\030\013 \001(\t\022C\n\007demands\030\t \003(\0132..google.cloud."
          + "optimization.v1.CapacityQuantityB\002\030\001\032_\n\020"
          + "LoadDemandsEntry\022\013\n\003key\030\001 \001(\t\022:\n\005value\030\002"
          + " \001(\0132+.google.cloud.optimization.v1.Ship"
          + "ment.Load:\0028\001\032\026\n\004Load\022\016\n\006amount\030\002 \001(\003\032_\n"
          + "\020LoadDemandsEntry\022\013\n\003key\030\001 \001(\t\022:\n\005value\030"
          + "\002 \001(\0132+.google.cloud.optimization.v1.Shi"
          + "pment.Load:\0028\001B\017\n\r_penalty_costB+\n)_pick"
          + "up_to_delivery_relative_detour_limit\"\242\002\n"
          + "\033ShipmentTypeIncompatibility\022\r\n\005types\030\001 "
          + "\003(\t\022k\n\024incompatibility_mode\030\002 \001(\0162M.goog"
          + "le.cloud.optimization.v1.ShipmentTypeInc"
          + "ompatibility.IncompatibilityMode\"\206\001\n\023Inc"
          + "ompatibilityMode\022$\n INCOMPATIBILITY_MODE"
          + "_UNSPECIFIED\020\000\022!\n\035NOT_PERFORMED_BY_SAME_"
          + "VEHICLE\020\001\022&\n\"NOT_IN_SAME_VEHICLE_SIMULTA"
          + "NEOUSLY\020\002\"\350\002\n\027ShipmentTypeRequirement\022+\n"
          + "#required_shipment_type_alternatives\030\001 \003"
          + "(\t\022 \n\030dependent_shipment_types\030\002 \003(\t\022_\n\020"
          + "requirement_mode\030\003 \001(\0162E.google.cloud.op"
          + "timization.v1.ShipmentTypeRequirement.Re"
          + "quirementMode\"\234\001\n\017RequirementMode\022 \n\034REQ"
          + "UIREMENT_MODE_UNSPECIFIED\020\000\022\035\n\031PERFORMED"
          + "_BY_SAME_VEHICLE\020\001\022\"\n\036IN_SAME_VEHICLE_AT"
          + "_PICKUP_TIME\020\002\022$\n IN_SAME_VEHICLE_AT_DEL"
          + "IVERY_TIME\020\003\"\301\024\n\007Vehicle\022E\n\013travel_mode\030"
          + "\001 \001(\01620.google.cloud.optimization.v1.Veh"
          + "icle.TravelMode\022+\n\016start_location\030\003 \001(\0132"
          + "\023.google.type.LatLng\022>\n\016start_waypoint\030\004"
          + " \001(\0132&.google.cloud.optimization.v1.Wayp"
          + "oint\022)\n\014end_location\030\005 \001(\0132\023.google.type"
          + ".LatLng\022<\n\014end_waypoint\030\006 \001(\0132&.google.c"
          + "loud.optimization.v1.Waypoint\022\022\n\nstart_t"
          + "ags\030\007 \003(\t\022\020\n\010end_tags\030\010 \003(\t\022D\n\022start_tim"
          + "e_windows\030\t \003(\0132(.google.cloud.optimizat"
          + "ion.v1.TimeWindow\022B\n\020end_time_windows\030\n "
          + "\003(\0132(.google.cloud.optimization.v1.TimeW"
          + "indow\022%\n\030travel_duration_multiple\030\013 \001(\001H"
          + "\000\210\001\001\022O\n\020unloading_policy\030\014 \001(\01625.google."
          + "cloud.optimization.v1.Vehicle.UnloadingP"
          + "olicy\022J\n\013load_limits\030\036 \003(\01325.google.clou"
          + "d.optimization.v1.Vehicle.LoadLimitsEntr"
          + "y\022\025\n\rcost_per_hour\030\020 \001(\001\022\036\n\026cost_per_tra"
          + "veled_hour\030\021 \001(\001\022\032\n\022cost_per_kilometer\030\022"
          + " \001(\001\022\022\n\nfixed_cost\030\023 \001(\001\022\036\n\026used_if_rout"
          + "e_is_empty\030\024 \001(\010\022Q\n\024route_duration_limit"
          + "\030\025 \001(\01323.google.cloud.optimization.v1.Ve"
          + "hicle.DurationLimit\022R\n\025travel_duration_l"
          + "imit\030\026 \001(\01323.google.cloud.optimization.v"
          + "1.Vehicle.DurationLimit\022I\n\024route_distanc"
          + "e_limit\030\027 \001(\0132+.google.cloud.optimizatio"
          + "n.v1.DistanceLimit\022v\n#extra_visit_durati"
          + "on_for_visit_type\030\030 \003(\0132I.google.cloud.o"
          + "ptimization.v1.Vehicle.ExtraVisitDuratio"
          + "nForVisitTypeEntry\022;\n\nbreak_rule\030\031 \001(\0132\'"
          + ".google.cloud.optimization.v1.BreakRule\022"
          + "\r\n\005label\030\033 \001(\t\022\016\n\006ignore\030\034 \001(\010\022\036\n\022break_"
          + "rule_indices\030\035 \003(\005B\002\030\001\022F\n\ncapacities\030\r \003"
          + "(\0132..google.cloud.optimization.v1.Capaci"
          + "tyQuantityB\002\030\001\022X\n\024start_load_intervals\030\016"
          + " \003(\01326.google.cloud.optimization.v1.Capa"
          + "cityQuantityIntervalB\002\030\001\022V\n\022end_load_int"
          + "ervals\030\017 \003(\01326.google.cloud.optimization"
          + ".v1.CapacityQuantityIntervalB\002\030\001\032\313\002\n\tLoa"
          + "dLimit\022\025\n\010max_load\030\001 \001(\003H\000\210\001\001\022\025\n\rsoft_ma"
          + "x_load\030\002 \001(\003\022$\n\034cost_per_unit_above_soft"
          + "_max\030\003 \001(\001\022U\n\023start_load_interval\030\004 \001(\0132"
          + "8.google.cloud.optimization.v1.Vehicle.L"
          + "oadLimit.Interval\022S\n\021end_load_interval\030\005"
          + " \001(\01328.google.cloud.optimization.v1.Vehi"
          + "cle.LoadLimit.Interval\0321\n\010Interval\022\013\n\003mi"
          + "n\030\001 \001(\003\022\020\n\003max\030\002 \001(\003H\000\210\001\001B\006\n\004_maxB\013\n\t_ma"
          + "x_load\032\360\002\n\rDurationLimit\022/\n\014max_duration"
          + "\030\001 \001(\0132\031.google.protobuf.Duration\0224\n\021sof"
          + "t_max_duration\030\002 \001(\0132\031.google.protobuf.D"
          + "uration\022)\n\034cost_per_hour_after_soft_max\030"
          + "\003 \001(\001H\000\210\001\001\022>\n\033quadratic_soft_max_duratio"
          + "n\030\004 \001(\0132\031.google.protobuf.Duration\022:\n-co"
          + "st_per_square_hour_after_quadratic_soft_"
          + "max\030\005 \001(\001H\001\210\001\001B\037\n\035_cost_per_hour_after_s"
          + "oft_maxB0\n._cost_per_square_hour_after_q"
          + "uadratic_soft_max\032b\n\017LoadLimitsEntry\022\013\n\003"
          + "key\030\001 \001(\t\022>\n\005value\030\002 \001(\0132/.google.cloud."
          + "optimization.v1.Vehicle.LoadLimit:\0028\001\032`\n"
          + "#ExtraVisitDurationForVisitTypeEntry\022\013\n\003"
          + "key\030\001 \001(\t\022(\n\005value\030\002 \001(\0132\031.google.protob"
          + "uf.Duration:\0028\001\"6\n\nTravelMode\022\033\n\027TRAVEL_"
          + "MODE_UNSPECIFIED\020\000\022\013\n\007DRIVING\020\001\"b\n\017Unloa"
          + "dingPolicy\022 \n\034UNLOADING_POLICY_UNSPECIFI"
          + "ED\020\000\022\025\n\021LAST_IN_FIRST_OUT\020\001\022\026\n\022FIRST_IN_"
          + "FIRST_OUT\020\002B\033\n\031_travel_duration_multiple"
          + "\"\204\003\n\nTimeWindow\022.\n\nstart_time\030\001 \001(\0132\032.go"
          + "ogle.protobuf.Timestamp\022,\n\010end_time\030\002 \001("
          + "\0132\032.google.protobuf.Timestamp\0223\n\017soft_st"
          + "art_time\030\003 \001(\0132\032.google.protobuf.Timesta"
          + "mp\0221\n\rsoft_end_time\030\004 \001(\0132\032.google.proto"
          + "buf.Timestamp\0221\n$cost_per_hour_before_so"
          + "ft_start_time\030\005 \001(\001H\000\210\001\001\022.\n!cost_per_hou"
          + "r_after_soft_end_time\030\006 \001(\001H\001\210\001\001B\'\n%_cos"
          + "t_per_hour_before_soft_start_timeB$\n\"_co"
          + "st_per_hour_after_soft_end_time\"3\n\020Capac"
          + "ityQuantity\022\014\n\004type\030\001 \001(\t\022\r\n\005value\030\002 \001(\003"
          + ":\002\030\001\"x\n\030CapacityQuantityInterval\022\014\n\004type"
          + "\030\001 \001(\t\022\026\n\tmin_value\030\002 \001(\003H\000\210\001\001\022\026\n\tmax_va"
          + "lue\030\003 \001(\003H\001\210\001\001:\002\030\001B\014\n\n_min_valueB\014\n\n_max"
          + "_value\"\277\001\n\rDistanceLimit\022\027\n\nmax_meters\030\001"
          + " \001(\003H\000\210\001\001\022\034\n\017soft_max_meters\030\002 \001(\003H\001\210\001\001\022"
          + ".\n!cost_per_kilometer_above_soft_max\030\003 \001"
          + "(\001H\002\210\001\001B\r\n\013_max_metersB\022\n\020_soft_max_mete"
          + "rsB$\n\"_cost_per_kilometer_above_soft_max"
          + "\"\205\002\n\024TransitionAttributes\022\017\n\007src_tag\030\001 \001"
          + "(\t\022\030\n\020excluded_src_tag\030\002 \001(\t\022\017\n\007dst_tag\030"
          + "\003 \001(\t\022\030\n\020excluded_dst_tag\030\004 \001(\t\022\014\n\004cost\030"
          + "\005 \001(\001\022\032\n\022cost_per_kilometer\030\006 \001(\001\022C\n\016dis"
          + "tance_limit\030\007 \001(\0132+.google.cloud.optimiz"
          + "ation.v1.DistanceLimit\022(\n\005delay\030\010 \001(\0132\031."
          + "google.protobuf.Duration\"\201\001\n\010Waypoint\022:\n"
          + "\010location\030\001 \001(\0132&.google.cloud.optimizat"
          + "ion.v1.LocationH\000\022\022\n\010place_id\030\002 \001(\tH\000\022\024\n"
          + "\014side_of_road\030\003 \001(\010B\017\n\rlocation_type\"R\n\010"
          + "Location\022$\n\007lat_lng\030\001 \001(\0132\023.google.type."
          + "LatLng\022\024\n\007heading\030\002 \001(\005H\000\210\001\001B\n\n\010_heading"
          + "\"\214\004\n\tBreakRule\022L\n\016break_requests\030\001 \003(\01324"
          + ".google.cloud.optimization.v1.BreakRule."
          + "BreakRequest\022Z\n\025frequency_constraints\030\002 "
          + "\003(\0132;.google.cloud.optimization.v1.Break"
          + "Rule.FrequencyConstraint\032\276\001\n\014BreakReques"
          + "t\022<\n\023earliest_start_time\030\001 \001(\0132\032.google."
          + "protobuf.TimestampB\003\340A\002\022:\n\021latest_start_"
          + "time\030\002 \001(\0132\032.google.protobuf.TimestampB\003"
          + "\340A\002\0224\n\014min_duration\030\003 \001(\0132\031.google.proto"
          + "buf.DurationB\003\340A\002\032\223\001\n\023FrequencyConstrain"
          + "t\022:\n\022min_break_duration\030\001 \001(\0132\031.google.p"
          + "rotobuf.DurationB\003\340A\002\022@\n\030max_inter_break"
          + "_duration\030\002 \001(\0132\031.google.protobuf.Durati"
          + "onB\003\340A\002\"\303\026\n\rShipmentRoute\022\025\n\rvehicle_ind"
          + "ex\030\001 \001(\005\022\025\n\rvehicle_label\030\002 \001(\t\0226\n\022vehic"
          + "le_start_time\030\005 \001(\0132\032.google.protobuf.Ti"
          + "mestamp\0224\n\020vehicle_end_time\030\006 \001(\0132\032.goog"
          + "le.protobuf.Timestamp\022A\n\006visits\030\007 \003(\01321."
          + "google.cloud.optimization.v1.ShipmentRou"
          + "te.Visit\022K\n\013transitions\030\010 \003(\01326.google.c"
          + "loud.optimization.v1.ShipmentRoute.Trans"
          + "ition\022#\n\033has_traffic_infeasibilities\030\t \001"
          + "(\010\022S\n\016route_polyline\030\n \001(\0132;.google.clou"
          + "d.optimization.v1.ShipmentRoute.EncodedP"
          + "olyline\022A\n\006breaks\030\013 \003(\01321.google.cloud.o"
          + "ptimization.v1.ShipmentRoute.Break\022@\n\007me"
          + "trics\030\014 \001(\0132/.google.cloud.optimization."
          + "v1.AggregatedMetrics\022P\n\013route_costs\030\021 \003("
          + "\0132;.google.cloud.optimization.v1.Shipmen"
          + "tRoute.RouteCostsEntry\022\030\n\020route_total_co"
          + "st\030\022 \001(\001\022E\n\tend_loads\030\r \003(\0132..google.clo"
          + "ud.optimization.v1.CapacityQuantityB\002\030\001\022"
          + "P\n\014travel_steps\030\016 \003(\01326.google.cloud.opt"
          + "imization.v1.ShipmentRoute.TravelStepB\002\030"
          + "\001\0225\n\016vehicle_detour\030\017 \001(\0132\031.google.proto"
          + "buf.DurationB\002\030\001\022W\n\030delay_before_vehicle"
          + "_end\030\020 \001(\01321.google.cloud.optimization.v"
          + "1.ShipmentRoute.DelayB\002\030\001\032h\n\005Delay\022.\n\nst"
          + "art_time\030\001 \001(\0132\032.google.protobuf.Timesta"
          + "mp\022+\n\010duration\030\002 \001(\0132\031.google.protobuf.D"
          + "uration:\002\030\001\032\365\004\n\005Visit\022\026\n\016shipment_index\030"
          + "\001 \001(\005\022\021\n\tis_pickup\030\002 \001(\010\022\033\n\023visit_reques"
          + "t_index\030\003 \001(\005\022.\n\nstart_time\030\004 \001(\0132\032.goog"
          + "le.protobuf.Timestamp\022X\n\014load_demands\030\013 "
          + "\003(\0132B.google.cloud.optimization.v1.Shipm"
          + "entRoute.Visit.LoadDemandsEntry\022)\n\006detou"
          + "r\030\006 \001(\0132\031.google.protobuf.Duration\022\026\n\016sh"
          + "ipment_label\030\007 \001(\t\022\023\n\013visit_label\030\010 \001(\t\022"
          + "I\n\rarrival_loads\030\t \003(\0132..google.cloud.op"
          + "timization.v1.CapacityQuantityB\002\030\001\022Q\n\022de"
          + "lay_before_start\030\n \001(\01321.google.cloud.op"
          + "timization.v1.ShipmentRoute.DelayB\002\030\001\022C\n"
          + "\007demands\030\005 \003(\0132..google.cloud.optimizati"
          + "on.v1.CapacityQuantityB\002\030\001\032_\n\020LoadDemand"
          + "sEntry\022\013\n\003key\030\001 \001(\t\022:\n\005value\030\002 \001(\0132+.goo"
          + "gle.cloud.optimization.v1.Shipment.Load:"
          + "\0028\001\032\344\005\n\nTransition\0222\n\017travel_duration\030\001 "
          + "\001(\0132\031.google.protobuf.Duration\022\036\n\026travel"
          + "_distance_meters\030\002 \001(\001\022 \n\030traffic_info_u"
          + "navailable\030\003 \001(\010\0221\n\016delay_duration\030\004 \001(\013"
          + "2\031.google.protobuf.Duration\0221\n\016break_dur"
          + "ation\030\005 \001(\0132\031.google.protobuf.Duration\0220"
          + "\n\rwait_duration\030\006 \001(\0132\031.google.protobuf."
          + "Duration\0221\n\016total_duration\030\007 \001(\0132\031.googl"
          + "e.protobuf.Duration\022.\n\nstart_time\030\010 \001(\0132"
          + "\032.google.protobuf.Timestamp\022S\n\016route_pol"
          + "yline\030\t \001(\0132;.google.cloud.optimization."
          + "v1.ShipmentRoute.EncodedPolyline\022_\n\rvehi"
          + "cle_loads\030\013 \003(\0132H.google.cloud.optimizat"
          + "ion.v1.ShipmentRoute.Transition.VehicleL"
          + "oadsEntry\022A\n\005loads\030\n \003(\0132..google.cloud."
          + "optimization.v1.CapacityQuantityB\002\030\001\032l\n\021"
          + "VehicleLoadsEntry\022\013\n\003key\030\001 \001(\t\022F\n\005value\030"
          + "\002 \001(\01327.google.cloud.optimization.v1.Shi"
          + "pmentRoute.VehicleLoad:\0028\001\032\035\n\013VehicleLoa"
          + "d\022\016\n\006amount\030\001 \001(\003\032!\n\017EncodedPolyline\022\016\n\006"
          + "points\030\001 \001(\t\032d\n\005Break\022.\n\nstart_time\030\001 \001("
          + "\0132\032.google.protobuf.Timestamp\022+\n\010duratio"
          + "n\030\002 \001(\0132\031.google.protobuf.Duration\032\315\001\n\nT"
          + "ravelStep\022+\n\010duration\030\001 \001(\0132\031.google.pro"
          + "tobuf.Duration\022\027\n\017distance_meters\030\002 \001(\001\022"
          + " \n\030traffic_info_unavailable\030\003 \001(\010\022S\n\016rou"
          + "te_polyline\030\004 \001(\0132;.google.cloud.optimiz"
          + "ation.v1.ShipmentRoute.EncodedPolyline:\002"
          + "\030\001\0321\n\017RouteCostsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005va"
          + "lue\030\002 \001(\001:\0028\001\"\376\004\n\017SkippedShipment\022\r\n\005ind"
          + "ex\030\001 \001(\005\022\r\n\005label\030\002 \001(\t\022E\n\007reasons\030\003 \003(\013"
          + "24.google.cloud.optimization.v1.SkippedS"
          + "hipment.Reason\032\205\004\n\006Reason\022G\n\004code\030\001 \001(\0162"
          + "9.google.cloud.optimization.v1.SkippedSh"
          + "ipment.Reason.Code\022\"\n\025example_vehicle_in"
          + "dex\030\002 \001(\005H\000\210\001\001\022&\n\036example_exceeded_capac"
          + "ity_type\030\003 \001(\t\"\313\002\n\004Code\022\024\n\020CODE_UNSPECIF"
          + "IED\020\000\022\016\n\nNO_VEHICLE\020\001\022#\n\037DEMAND_EXCEEDS_"
          + "VEHICLE_CAPACITY\020\002\0225\n1CANNOT_BE_PERFORME"
          + "D_WITHIN_VEHICLE_DISTANCE_LIMIT\020\003\0225\n1CAN"
          + "NOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION"
          + "_LIMIT\020\004\022<\n8CANNOT_BE_PERFORMED_WITHIN_V"
          + "EHICLE_TRAVEL_DURATION_LIMIT\020\005\0223\n/CANNOT"
          + "_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOW"
          + "S\020\006\022\027\n\023VEHICLE_NOT_ALLOWED\020\007B\030\n\026_example"
          + "_vehicle_index\"\330\005\n\021AggregatedMetrics\022 \n\030"
          + "performed_shipment_count\030\001 \001(\005\0222\n\017travel"
          + "_duration\030\002 \001(\0132\031.google.protobuf.Durati"
          + "on\0220\n\rwait_duration\030\003 \001(\0132\031.google.proto"
          + "buf.Duration\0221\n\016delay_duration\030\004 \001(\0132\031.g"
          + "oogle.protobuf.Duration\0221\n\016break_duratio"
          + "n\030\005 \001(\0132\031.google.protobuf.Duration\0221\n\016vi"
          + "sit_duration\030\006 \001(\0132\031.google.protobuf.Dur"
          + "ation\0221\n\016total_duration\030\007 \001(\0132\031.google.p"
          + "rotobuf.Duration\022\036\n\026travel_distance_mete"
          + "rs\030\010 \001(\001\022P\n\tmax_loads\030\t \003(\0132=.google.clo"
          + "ud.optimization.v1.AggregatedMetrics.Max"
          + "LoadsEntry\022M\n\005costs\030\n \003(\0132:.google.cloud"
          + ".optimization.v1.AggregatedMetrics.Costs"
          + "EntryB\002\030\001\022\026\n\ntotal_cost\030\013 \001(\001B\002\030\001\032h\n\rMax"
          + "LoadsEntry\022\013\n\003key\030\001 \001(\t\022F\n\005value\030\002 \001(\01327"
          + ".google.cloud.optimization.v1.ShipmentRo"
          + "ute.VehicleLoad:\0028\001\032,\n\nCostsEntry\022\013\n\003key"
          + "\030\001 \001(\t\022\r\n\005value\030\002 \001(\001:\0028\001\"\237\006\n\032InjectedSo"
          + "lutionConstraint\022;\n\006routes\030\001 \003(\0132+.googl"
          + "e.cloud.optimization.v1.ShipmentRoute\022H\n"
          + "\021skipped_shipments\030\002 \003(\0132-.google.cloud."
          + "optimization.v1.SkippedShipment\022m\n\026const"
          + "raint_relaxations\030\003 \003(\0132M.google.cloud.o"
          + "ptimization.v1.InjectedSolutionConstrain"
          + "t.ConstraintRelaxation\032\212\004\n\024ConstraintRel"
          + "axation\022m\n\013relaxations\030\001 \003(\0132X.google.cl"
          + "oud.optimization.v1.InjectedSolutionCons"
          + "traint.ConstraintRelaxation.Relaxation\022\027"
          + "\n\017vehicle_indices\030\002 \003(\005\032\351\002\n\nRelaxation\022m",
      "\n\005level\030\001 \001(\0162^.google.cloud.optimizatio"
          + "n.v1.InjectedSolutionConstraint.Constrai"
          + "ntRelaxation.Relaxation.Level\0222\n\016thresho"
          + "ld_time\030\002 \001(\0132\032.google.protobuf.Timestam"
          + "p\022\035\n\025threshold_visit_count\030\003 \001(\005\"\230\001\n\005Lev"
          + "el\022\025\n\021LEVEL_UNSPECIFIED\020\000\022%\n!RELAX_VISIT"
          + "_TIMES_AFTER_THRESHOLD\020\001\0222\n.RELAX_VISIT_"
          + "TIMES_AND_SEQUENCE_AFTER_THRESHOLD\020\002\022\035\n\031"
          + "RELAX_ALL_AFTER_THRESHOLD\020\003\"\375\002\n\034Optimize"
          + "ToursValidationError\022\014\n\004code\030\001 \001(\005\022\024\n\014di"
          + "splay_name\030\002 \001(\t\022Y\n\006fields\030\003 \003(\0132I.googl"
          + "e.cloud.optimization.v1.OptimizeToursVal"
          + "idationError.FieldReference\022\025\n\rerror_mes"
          + "sage\030\004 \001(\t\022\030\n\020offending_values\030\005 \001(\t\032\254\001\n"
          + "\016FieldReference\022\014\n\004name\030\001 \001(\t\022\017\n\005index\030\002"
          + " \001(\005H\000\022\r\n\003key\030\004 \001(\tH\000\022\\\n\tsub_field\030\003 \001(\013"
          + "2I.google.cloud.optimization.v1.Optimize"
          + "ToursValidationError.FieldReferenceB\016\n\014i"
          + "ndex_or_key2\340\004\n\014FleetRouting\022\342\001\n\rOptimiz"
          + "eTours\0222.google.cloud.optimization.v1.Op"
          + "timizeToursRequest\0323.google.cloud.optimi"
          + "zation.v1.OptimizeToursResponse\"h\202\323\344\223\002b\""
          + "1/v1/{parent=projects/*/locations/*}:opt"
          + "imizeTours:\001*Z*\"%/v1/{parent=projects/*}"
          + ":optimizeTours:\001*\022\224\002\n\022BatchOptimizeTours"
          + "\0227.google.cloud.optimization.v1.BatchOpt"
          + "imizeToursRequest\032\035.google.longrunning.O"
          + "peration\"\245\001\202\323\344\223\002l\"6/v1/{parent=projects/"
          + "*/locations/*}:batchOptimizeTours:\001*Z/\"*"
          + "/v1/{parent=projects/*}:batchOptimizeTou"
          + "rs:\001*\312A0\n\032BatchOptimizeToursResponse\022\022As"
          + "yncModelMetadata\032T\312A cloudoptimization.g"
          + "oogleapis.com\322A.https://www.googleapis.c"
          + "om/auth/cloud-platformB}\n com.google.clo"
          + "ud.optimization.v1B\021FleetRoutingProtoP\001Z"
          + "Dcloud.google.com/go/optimization/apiv1/"
          + "optimizationpb;optimizationpbb\006proto3"
    };
    descriptor =
        com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
            descriptorData,
            new com.google.protobuf.Descriptors.FileDescriptor[] {
              com.google.api.AnnotationsProto.getDescriptor(),
              com.google.api.ClientProto.getDescriptor(),
              com.google.api.FieldBehaviorProto.getDescriptor(),
              com.google.cloud.optimization.v1.AsyncModelProto.getDescriptor(),
              com.google.longrunning.OperationsProto.getDescriptor(),
              com.google.protobuf.DurationProto.getDescriptor(),
              com.google.protobuf.TimestampProto.getDescriptor(),
              com.google.type.LatLngProto.getDescriptor(),
            });
    internal_static_google_cloud_optimization_v1_OptimizeToursRequest_descriptor =
        getDescriptor().getMessageTypes().get(0);
    internal_static_google_cloud_optimization_v1_OptimizeToursRequest_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_OptimizeToursRequest_descriptor,
            new java.lang.String[] {
              "Parent",
              "Timeout",
              "Model",
              "SolvingMode",
              "MaxValidationErrors",
              "SearchMode",
              "InjectedFirstSolutionRoutes",
              "InjectedSolutionConstraint",
              "RefreshDetailsRoutes",
              "InterpretInjectedSolutionsUsingLabels",
              "ConsiderRoadTraffic",
              "PopulatePolylines",
              "PopulateTransitionPolylines",
              "AllowLargeDeadlineDespiteInterruptionRisk",
              "UseGeodesicDistances",
              "GeodesicMetersPerSecond",
              "Label",
              "PopulateTravelStepPolylines",
              "MaxValidationErrors",
              "GeodesicMetersPerSecond",
            });
    internal_static_google_cloud_optimization_v1_OptimizeToursResponse_descriptor =
        getDescriptor().getMessageTypes().get(1);
    internal_static_google_cloud_optimization_v1_OptimizeToursResponse_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_OptimizeToursResponse_descriptor,
            new java.lang.String[] {
              "Routes",
              "RequestLabel",
              "SkippedShipments",
              "ValidationErrors",
              "Metrics",
              "TotalCost",
            });
    internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_descriptor =
        internal_static_google_cloud_optimization_v1_OptimizeToursResponse_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_descriptor,
            new java.lang.String[] {
              "AggregatedRouteMetrics",
              "SkippedMandatoryShipmentCount",
              "UsedVehicleCount",
              "EarliestVehicleStartTime",
              "LatestVehicleEndTime",
              "Costs",
              "TotalCost",
            });
    internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_CostsEntry_descriptor =
        internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_CostsEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_OptimizeToursResponse_Metrics_CostsEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_descriptor =
        getDescriptor().getMessageTypes().get(2);
    internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_descriptor,
            new java.lang.String[] {
              "Parent", "ModelConfigs",
            });
    internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_AsyncModelConfig_descriptor =
        internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_AsyncModelConfig_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_BatchOptimizeToursRequest_AsyncModelConfig_descriptor,
            new java.lang.String[] {
              "DisplayName", "InputConfig", "OutputConfig", "EnableCheckpoints",
            });
    internal_static_google_cloud_optimization_v1_BatchOptimizeToursResponse_descriptor =
        getDescriptor().getMessageTypes().get(3);
    internal_static_google_cloud_optimization_v1_BatchOptimizeToursResponse_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_BatchOptimizeToursResponse_descriptor,
            new java.lang.String[] {});
    internal_static_google_cloud_optimization_v1_ShipmentModel_descriptor =
        getDescriptor().getMessageTypes().get(4);
    internal_static_google_cloud_optimization_v1_ShipmentModel_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentModel_descriptor,
            new java.lang.String[] {
              "Shipments",
              "Vehicles",
              "MaxActiveVehicles",
              "GlobalStartTime",
              "GlobalEndTime",
              "GlobalDurationCostPerHour",
              "DurationDistanceMatrices",
              "DurationDistanceMatrixSrcTags",
              "DurationDistanceMatrixDstTags",
              "TransitionAttributes",
              "ShipmentTypeIncompatibilities",
              "ShipmentTypeRequirements",
              "PrecedenceRules",
              "BreakRules",
              "MaxActiveVehicles",
            });
    internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentModel_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_descriptor,
            new java.lang.String[] {
              "Rows", "VehicleStartTag",
            });
    internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_Row_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_Row_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentModel_DurationDistanceMatrix_Row_descriptor,
            new java.lang.String[] {
              "Durations", "Meters",
            });
    internal_static_google_cloud_optimization_v1_ShipmentModel_PrecedenceRule_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentModel_descriptor
            .getNestedTypes()
            .get(1);
    internal_static_google_cloud_optimization_v1_ShipmentModel_PrecedenceRule_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentModel_PrecedenceRule_descriptor,
            new java.lang.String[] {
              "FirstIndex",
              "FirstIsDelivery",
              "SecondIndex",
              "SecondIsDelivery",
              "OffsetDuration",
              "FirstIndex",
              "SecondIndex",
            });
    internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentModel_descriptor
            .getNestedTypes()
            .get(2);
    internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_descriptor,
            new java.lang.String[] {
              "BreakRequests", "FrequencyConstraints",
            });
    internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_BreakRequest_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_BreakRequest_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_BreakRequest_descriptor,
            new java.lang.String[] {
              "EarliestStartTime", "LatestStartTime", "MinDuration",
            });
    internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_FrequencyConstraint_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_descriptor
            .getNestedTypes()
            .get(1);
    internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_FrequencyConstraint_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentModel_BreakRule_FrequencyConstraint_descriptor,
            new java.lang.String[] {
              "MinBreakDuration", "MaxInterBreakDuration",
            });
    internal_static_google_cloud_optimization_v1_Shipment_descriptor =
        getDescriptor().getMessageTypes().get(5);
    internal_static_google_cloud_optimization_v1_Shipment_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Shipment_descriptor,
            new java.lang.String[] {
              "Pickups",
              "Deliveries",
              "LoadDemands",
              "PenaltyCost",
              "AllowedVehicleIndices",
              "CostsPerVehicle",
              "CostsPerVehicleIndices",
              "PickupToDeliveryRelativeDetourLimit",
              "PickupToDeliveryAbsoluteDetourLimit",
              "PickupToDeliveryTimeLimit",
              "ShipmentType",
              "Label",
              "Ignore",
              "Demands",
              "PenaltyCost",
              "PickupToDeliveryRelativeDetourLimit",
            });
    internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_descriptor =
        internal_static_google_cloud_optimization_v1_Shipment_descriptor.getNestedTypes().get(0);
    internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_descriptor,
            new java.lang.String[] {
              "ArrivalLocation",
              "ArrivalWaypoint",
              "DepartureLocation",
              "DepartureWaypoint",
              "Tags",
              "TimeWindows",
              "Duration",
              "Cost",
              "LoadDemands",
              "VisitTypes",
              "Label",
              "Demands",
            });
    internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_LoadDemandsEntry_descriptor =
        internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_LoadDemandsEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Shipment_VisitRequest_LoadDemandsEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_optimization_v1_Shipment_Load_descriptor =
        internal_static_google_cloud_optimization_v1_Shipment_descriptor.getNestedTypes().get(1);
    internal_static_google_cloud_optimization_v1_Shipment_Load_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Shipment_Load_descriptor,
            new java.lang.String[] {
              "Amount",
            });
    internal_static_google_cloud_optimization_v1_Shipment_LoadDemandsEntry_descriptor =
        internal_static_google_cloud_optimization_v1_Shipment_descriptor.getNestedTypes().get(2);
    internal_static_google_cloud_optimization_v1_Shipment_LoadDemandsEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Shipment_LoadDemandsEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_optimization_v1_ShipmentTypeIncompatibility_descriptor =
        getDescriptor().getMessageTypes().get(6);
    internal_static_google_cloud_optimization_v1_ShipmentTypeIncompatibility_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentTypeIncompatibility_descriptor,
            new java.lang.String[] {
              "Types", "IncompatibilityMode",
            });
    internal_static_google_cloud_optimization_v1_ShipmentTypeRequirement_descriptor =
        getDescriptor().getMessageTypes().get(7);
    internal_static_google_cloud_optimization_v1_ShipmentTypeRequirement_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentTypeRequirement_descriptor,
            new java.lang.String[] {
              "RequiredShipmentTypeAlternatives", "DependentShipmentTypes", "RequirementMode",
            });
    internal_static_google_cloud_optimization_v1_Vehicle_descriptor =
        getDescriptor().getMessageTypes().get(8);
    internal_static_google_cloud_optimization_v1_Vehicle_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Vehicle_descriptor,
            new java.lang.String[] {
              "TravelMode",
              "StartLocation",
              "StartWaypoint",
              "EndLocation",
              "EndWaypoint",
              "StartTags",
              "EndTags",
              "StartTimeWindows",
              "EndTimeWindows",
              "TravelDurationMultiple",
              "UnloadingPolicy",
              "LoadLimits",
              "CostPerHour",
              "CostPerTraveledHour",
              "CostPerKilometer",
              "FixedCost",
              "UsedIfRouteIsEmpty",
              "RouteDurationLimit",
              "TravelDurationLimit",
              "RouteDistanceLimit",
              "ExtraVisitDurationForVisitType",
              "BreakRule",
              "Label",
              "Ignore",
              "BreakRuleIndices",
              "Capacities",
              "StartLoadIntervals",
              "EndLoadIntervals",
              "TravelDurationMultiple",
            });
    internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_descriptor =
        internal_static_google_cloud_optimization_v1_Vehicle_descriptor.getNestedTypes().get(0);
    internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_descriptor,
            new java.lang.String[] {
              "MaxLoad",
              "SoftMaxLoad",
              "CostPerUnitAboveSoftMax",
              "StartLoadInterval",
              "EndLoadInterval",
              "MaxLoad",
            });
    internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_Interval_descriptor =
        internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_Interval_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Vehicle_LoadLimit_Interval_descriptor,
            new java.lang.String[] {
              "Min", "Max", "Max",
            });
    internal_static_google_cloud_optimization_v1_Vehicle_DurationLimit_descriptor =
        internal_static_google_cloud_optimization_v1_Vehicle_descriptor.getNestedTypes().get(1);
    internal_static_google_cloud_optimization_v1_Vehicle_DurationLimit_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Vehicle_DurationLimit_descriptor,
            new java.lang.String[] {
              "MaxDuration",
              "SoftMaxDuration",
              "CostPerHourAfterSoftMax",
              "QuadraticSoftMaxDuration",
              "CostPerSquareHourAfterQuadraticSoftMax",
              "CostPerHourAfterSoftMax",
              "CostPerSquareHourAfterQuadraticSoftMax",
            });
    internal_static_google_cloud_optimization_v1_Vehicle_LoadLimitsEntry_descriptor =
        internal_static_google_cloud_optimization_v1_Vehicle_descriptor.getNestedTypes().get(2);
    internal_static_google_cloud_optimization_v1_Vehicle_LoadLimitsEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Vehicle_LoadLimitsEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_optimization_v1_Vehicle_ExtraVisitDurationForVisitTypeEntry_descriptor =
        internal_static_google_cloud_optimization_v1_Vehicle_descriptor.getNestedTypes().get(3);
    internal_static_google_cloud_optimization_v1_Vehicle_ExtraVisitDurationForVisitTypeEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Vehicle_ExtraVisitDurationForVisitTypeEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_optimization_v1_TimeWindow_descriptor =
        getDescriptor().getMessageTypes().get(9);
    internal_static_google_cloud_optimization_v1_TimeWindow_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_TimeWindow_descriptor,
            new java.lang.String[] {
              "StartTime",
              "EndTime",
              "SoftStartTime",
              "SoftEndTime",
              "CostPerHourBeforeSoftStartTime",
              "CostPerHourAfterSoftEndTime",
              "CostPerHourBeforeSoftStartTime",
              "CostPerHourAfterSoftEndTime",
            });
    internal_static_google_cloud_optimization_v1_CapacityQuantity_descriptor =
        getDescriptor().getMessageTypes().get(10);
    internal_static_google_cloud_optimization_v1_CapacityQuantity_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_CapacityQuantity_descriptor,
            new java.lang.String[] {
              "Type", "Value",
            });
    internal_static_google_cloud_optimization_v1_CapacityQuantityInterval_descriptor =
        getDescriptor().getMessageTypes().get(11);
    internal_static_google_cloud_optimization_v1_CapacityQuantityInterval_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_CapacityQuantityInterval_descriptor,
            new java.lang.String[] {
              "Type", "MinValue", "MaxValue", "MinValue", "MaxValue",
            });
    internal_static_google_cloud_optimization_v1_DistanceLimit_descriptor =
        getDescriptor().getMessageTypes().get(12);
    internal_static_google_cloud_optimization_v1_DistanceLimit_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_DistanceLimit_descriptor,
            new java.lang.String[] {
              "MaxMeters",
              "SoftMaxMeters",
              "CostPerKilometerAboveSoftMax",
              "MaxMeters",
              "SoftMaxMeters",
              "CostPerKilometerAboveSoftMax",
            });
    internal_static_google_cloud_optimization_v1_TransitionAttributes_descriptor =
        getDescriptor().getMessageTypes().get(13);
    internal_static_google_cloud_optimization_v1_TransitionAttributes_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_TransitionAttributes_descriptor,
            new java.lang.String[] {
              "SrcTag",
              "ExcludedSrcTag",
              "DstTag",
              "ExcludedDstTag",
              "Cost",
              "CostPerKilometer",
              "DistanceLimit",
              "Delay",
            });
    internal_static_google_cloud_optimization_v1_Waypoint_descriptor =
        getDescriptor().getMessageTypes().get(14);
    internal_static_google_cloud_optimization_v1_Waypoint_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Waypoint_descriptor,
            new java.lang.String[] {
              "Location", "PlaceId", "SideOfRoad", "LocationType",
            });
    internal_static_google_cloud_optimization_v1_Location_descriptor =
        getDescriptor().getMessageTypes().get(15);
    internal_static_google_cloud_optimization_v1_Location_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_Location_descriptor,
            new java.lang.String[] {
              "LatLng", "Heading", "Heading",
            });
    internal_static_google_cloud_optimization_v1_BreakRule_descriptor =
        getDescriptor().getMessageTypes().get(16);
    internal_static_google_cloud_optimization_v1_BreakRule_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_BreakRule_descriptor,
            new java.lang.String[] {
              "BreakRequests", "FrequencyConstraints",
            });
    internal_static_google_cloud_optimization_v1_BreakRule_BreakRequest_descriptor =
        internal_static_google_cloud_optimization_v1_BreakRule_descriptor.getNestedTypes().get(0);
    internal_static_google_cloud_optimization_v1_BreakRule_BreakRequest_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_BreakRule_BreakRequest_descriptor,
            new java.lang.String[] {
              "EarliestStartTime", "LatestStartTime", "MinDuration",
            });
    internal_static_google_cloud_optimization_v1_BreakRule_FrequencyConstraint_descriptor =
        internal_static_google_cloud_optimization_v1_BreakRule_descriptor.getNestedTypes().get(1);
    internal_static_google_cloud_optimization_v1_BreakRule_FrequencyConstraint_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_BreakRule_FrequencyConstraint_descriptor,
            new java.lang.String[] {
              "MinBreakDuration", "MaxInterBreakDuration",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor =
        getDescriptor().getMessageTypes().get(17);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor,
            new java.lang.String[] {
              "VehicleIndex",
              "VehicleLabel",
              "VehicleStartTime",
              "VehicleEndTime",
              "Visits",
              "Transitions",
              "HasTrafficInfeasibilities",
              "RoutePolyline",
              "Breaks",
              "Metrics",
              "RouteCosts",
              "RouteTotalCost",
              "EndLoads",
              "TravelSteps",
              "VehicleDetour",
              "DelayBeforeVehicleEnd",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Delay_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Delay_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_Delay_descriptor,
            new java.lang.String[] {
              "StartTime", "Duration",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor
            .getNestedTypes()
            .get(1);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_descriptor,
            new java.lang.String[] {
              "ShipmentIndex",
              "IsPickup",
              "VisitRequestIndex",
              "StartTime",
              "LoadDemands",
              "Detour",
              "ShipmentLabel",
              "VisitLabel",
              "ArrivalLoads",
              "DelayBeforeStart",
              "Demands",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_LoadDemandsEntry_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_LoadDemandsEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_Visit_LoadDemandsEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor
            .getNestedTypes()
            .get(2);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_descriptor,
            new java.lang.String[] {
              "TravelDuration",
              "TravelDistanceMeters",
              "TrafficInfoUnavailable",
              "DelayDuration",
              "BreakDuration",
              "WaitDuration",
              "TotalDuration",
              "StartTime",
              "RoutePolyline",
              "VehicleLoads",
              "Loads",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_VehicleLoadsEntry_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_VehicleLoadsEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_Transition_VehicleLoadsEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_VehicleLoad_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor
            .getNestedTypes()
            .get(3);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_VehicleLoad_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_VehicleLoad_descriptor,
            new java.lang.String[] {
              "Amount",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_EncodedPolyline_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor
            .getNestedTypes()
            .get(4);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_EncodedPolyline_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_EncodedPolyline_descriptor,
            new java.lang.String[] {
              "Points",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Break_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor
            .getNestedTypes()
            .get(5);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_Break_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_Break_descriptor,
            new java.lang.String[] {
              "StartTime", "Duration",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_TravelStep_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor
            .getNestedTypes()
            .get(6);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_TravelStep_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_TravelStep_descriptor,
            new java.lang.String[] {
              "Duration", "DistanceMeters", "TrafficInfoUnavailable", "RoutePolyline",
            });
    internal_static_google_cloud_optimization_v1_ShipmentRoute_RouteCostsEntry_descriptor =
        internal_static_google_cloud_optimization_v1_ShipmentRoute_descriptor
            .getNestedTypes()
            .get(7);
    internal_static_google_cloud_optimization_v1_ShipmentRoute_RouteCostsEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_ShipmentRoute_RouteCostsEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_optimization_v1_SkippedShipment_descriptor =
        getDescriptor().getMessageTypes().get(18);
    internal_static_google_cloud_optimization_v1_SkippedShipment_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_SkippedShipment_descriptor,
            new java.lang.String[] {
              "Index", "Label", "Reasons",
            });
    internal_static_google_cloud_optimization_v1_SkippedShipment_Reason_descriptor =
        internal_static_google_cloud_optimization_v1_SkippedShipment_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_SkippedShipment_Reason_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_SkippedShipment_Reason_descriptor,
            new java.lang.String[] {
              "Code", "ExampleVehicleIndex", "ExampleExceededCapacityType", "ExampleVehicleIndex",
            });
    internal_static_google_cloud_optimization_v1_AggregatedMetrics_descriptor =
        getDescriptor().getMessageTypes().get(19);
    internal_static_google_cloud_optimization_v1_AggregatedMetrics_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_AggregatedMetrics_descriptor,
            new java.lang.String[] {
              "PerformedShipmentCount",
              "TravelDuration",
              "WaitDuration",
              "DelayDuration",
              "BreakDuration",
              "VisitDuration",
              "TotalDuration",
              "TravelDistanceMeters",
              "MaxLoads",
              "Costs",
              "TotalCost",
            });
    internal_static_google_cloud_optimization_v1_AggregatedMetrics_MaxLoadsEntry_descriptor =
        internal_static_google_cloud_optimization_v1_AggregatedMetrics_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_AggregatedMetrics_MaxLoadsEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_AggregatedMetrics_MaxLoadsEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_optimization_v1_AggregatedMetrics_CostsEntry_descriptor =
        internal_static_google_cloud_optimization_v1_AggregatedMetrics_descriptor
            .getNestedTypes()
            .get(1);
    internal_static_google_cloud_optimization_v1_AggregatedMetrics_CostsEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_AggregatedMetrics_CostsEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_descriptor =
        getDescriptor().getMessageTypes().get(20);
    internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_descriptor,
            new java.lang.String[] {
              "Routes", "SkippedShipments", "ConstraintRelaxations",
            });
    internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_descriptor =
        internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_descriptor,
            new java.lang.String[] {
              "Relaxations", "VehicleIndices",
            });
    internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_Relaxation_descriptor =
        internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_Relaxation_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_InjectedSolutionConstraint_ConstraintRelaxation_Relaxation_descriptor,
            new java.lang.String[] {
              "Level", "ThresholdTime", "ThresholdVisitCount",
            });
    internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_descriptor =
        getDescriptor().getMessageTypes().get(21);
    internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_descriptor,
            new java.lang.String[] {
              "Code", "DisplayName", "Fields", "ErrorMessage", "OffendingValues",
            });
    internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_FieldReference_descriptor =
        internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_FieldReference_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_optimization_v1_OptimizeToursValidationError_FieldReference_descriptor,
            new java.lang.String[] {
              "Name", "Index", "Key", "SubField", "IndexOrKey",
            });
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(com.google.api.ClientProto.defaultHost);
    registry.add(com.google.api.FieldBehaviorProto.fieldBehavior);
    registry.add(com.google.api.AnnotationsProto.http);
    registry.add(com.google.api.ClientProto.oauthScopes);
    registry.add(com.google.longrunning.OperationsProto.operationInfo);
    com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor(
        descriptor, registry);
    com.google.api.AnnotationsProto.getDescriptor();
    com.google.api.ClientProto.getDescriptor();
    com.google.api.FieldBehaviorProto.getDescriptor();
    com.google.cloud.optimization.v1.AsyncModelProto.getDescriptor();
    com.google.longrunning.OperationsProto.getDescriptor();
    com.google.protobuf.DurationProto.getDescriptor();
    com.google.protobuf.TimestampProto.getDescriptor();
    com.google.type.LatLngProto.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
