OptimizeToursResponse

यात्रा को ऑप्टिमाइज़ करने से जुड़ी समस्या को हल करने के बाद जवाब देना. इसमें हर वाहन के लिए आने वाले रास्तों, स्किप किए गए शिपमेंट, और समाधान की कुल लागत शामिल होती है.

JSON के काेड में दिखाना
{
  "routes": [
    {
      object (ShipmentRoute)
    }
  ],
  "requestLabel": string,
  "skippedShipments": [
    {
      object (SkippedShipment)
    }
  ],
  "validationErrors": [
    {
      object (OptimizeToursValidationError)
    }
  ],
  "metrics": {
    object (Metrics)
  }
}
फ़ील्ड
routes[]

object (ShipmentRoute)

हर वाहन के लिए तय किए गए रास्ते; i-th रूट, मॉडल में i-th वाहन से मेल खाता है.

requestLabel

string

OptimizeToursRequest.label की कॉपी, अगर अनुरोध में किसी लेबल के बारे में बताया गया था.

skippedShipments[]

object (SkippedShipment)

स्किप किए गए सभी शिपमेंट की सूची.

validationErrors[]

object (OptimizeToursValidationError)

पुष्टि करने से जुड़ी उन सभी गड़बड़ियों की सूची जिनका हमने अलग से पता लगाया था. "कई गड़बड़ियां" देखें OptimizeToursValidationError मैसेज के बारे में जानकारी.

metrics

object (Metrics)

इस समाधान के लिए, कुल समय, दूरी, और इस्तेमाल से जुड़ी मेट्रिक.

OptimizeToursValidationError

OptimizeToursRequest की पुष्टि करते समय मिलने वाली गड़बड़ी के बारे में बताता है.

JSON के काेड में दिखाना
{
  "code": integer,
  "displayName": string,
  "fields": [
    {
      object (FieldReference)
    }
  ],
  "errorMessage": string,
  "offendingValues": string
}
फ़ील्ड
code

integer

पुष्टि करने से जुड़ी गड़बड़ी, जोड़े (code, displayName) से तय होती है, जो हमेशा मौजूद होती हैं.

नीचे दिए गए फ़ील्ड में, गड़बड़ी के बारे में ज़्यादा जानकारी दी गई है.

एक से ज़्यादा गड़बड़ियां: कई गड़बड़ियां होने पर, पुष्टि करने की प्रोसेस में कई गड़बड़ियां दिखाने की कोशिश की जाती है. किसी कंपाइलर की तरह ही, यह भी एक सटीक प्रोसेस नहीं है. पुष्टि करने से जुड़ी कुछ गड़बड़ियां "गंभीर" होंगी. इसका मतलब है कि पुष्टि करने की पूरी प्रक्रिया रुक जाती है. अन्य मामलों के साथ-साथ, displayName="UNSPECIFIED" गड़बड़ियां होने पर भी ऐसा होता है. कुछ वजहों से, पुष्टि करने की प्रोसेस में दूसरी गड़बड़ियों को शामिल नहीं किया जाता.

स्थिरता: code और displayName बहुत स्थिर होने चाहिए. हालांकि, समय के साथ नए कोड और डिसप्ले नेम दिख सकते हैं. इसकी वजह से, दिए गए (अमान्य) अनुरोध से अलग (code, displayName) पेयर मिल सकता है, क्योंकि नई गड़बड़ी ने पुराना पेयर छिपा दिया है ("MULTIPLE ERRORS" देखें).

REFERENCE: सभी (कोड, नाम) जोड़े की सूची:

  • जानकारी नहीं है = 0;
  • वैलिडेशन_g2_ERROR = 10; समयसीमा के अंदर पुष्टि नहीं की जा सकी.
  • REQUEST_OPTIONS_ERROR = 12;

    • REQUEST_OPTIONS_INVALID_SOLVING_ मोड = 1201;
    • REQUEST_OPTIONS_INVALID_MAX_CLICKSATION_ERRORS = 1203;
    • REQUEST_OPTIONS_INVALID_GEODESIC_ {3}PER_ खरीदकर = 1204;
    • REQUEST_OPTIONS_GEODESIC_ बजाय_PER_TOTAL_TOO_small = 1205;
    • REQUEST_OPTIONS_MISSING_GEODESIC_ बजाय_PER_वें = 1206;
    • REQUEST_OPTIONS_POPULATE_PATH FindER_TRIPS_AND_GEODESIC_DISTANCE = 1207;
    • REQUEST_OPTIONS_COST_MODEL_OPTIONS_AND_GEODESIC_DISTANCE = 1208;
    • REQUEST_OPTIONS_TRAVEL_mode_INCOMPATIBLE_WITH_TRAFFIC = 1211;
    • REQUEST_OPTIONS_MULTIPLE_TRAFFIC_FLAVORS = 1212;
    • REQUEST_OPTIONS_INVALID_TRAFFIC_FLAVOR = 1213;
    • REQUEST_OPTIONS_TRAFFIC_ENABLED_WITHOUT_ प्रमोशन_START_TIME = 1214;
    • REQUEST_OPTIONS_TRAFFIC_ENABLED_WITH_PRECEDENCES = 1215;
    • REQUEST_OPTIONS_TRAFFIC_PREFILL_मोड_INVALID = 1216;
    • REQUEST_OPTIONS_TRAFFIC_PREFILL_ENABLED_WITHOUT_TRAFFIC = 1217;
  • INJECTED_SOLUTION_ERROR = 20;
    • INJECTED_SOLUTION_MISSING_LABEL = 2000;
    • INJECTED_SOLUTION_डुप्लीकेट_LABEL = 2001;
    • INJECTED_SOLUTION_AMBIGUOUS_INDEX = 2002;
    • INJECTED_SOLUTION_INFEASIBLE_ ऊपर_GETTING_TRAVEL_TIMES = 2003;
    • INJECTED_SOLUTION_transitION_INCONSISTENT_WITH_ कमरों में रुकने की जानकारी = 2004;
    • INJECTED_SOLUTION_CONCURRENT_SOLUTION_TYPES = 2005;
    • INJECTED_SOLUTION_MORE_thank_ONE_PER_TYPE = 2006;
    • INJECTED_SOLUTION_REFRESH_WITHOUT_POPULATE = 2008;
    • INJECTED_SOLUTION_CONSTRAINED_ROUTE_PORTION_INFEASIBLE = 2010;
  • शिपMENT_MODEL_ERROR = 22;
    • SHIPMENT_MODEL_TOO_LARGE = 2200;
    • SHIPMENT_MODEL_TOO_MANY_CAPACITY_TYPES = 2201;
    • shipMENT_MODEL_ Global_START_TIME_NEGATIVE_OR_NAN = 2202;
    • SHIPMENT_MODEL_ Global_END_TIME_TOO_LARGE_OR_NAN = 2203;
    • shippingMENT_MODEL_NETWORK_START_TIME_/CHANNEL_END_TIME = 2204
    • shipMENT_MODEL_ Global_DURATION_TOO_LONG = 2205;
    • SHIPMENT_MODEL_MAX_ACTIVE_VEHICLES_NOT_POSITIVE = 2206;
    • SHIPMENT_MODEL_DURATION_MATRIX_TOO_LARGE = 2207;
  • INDEX_ERROR = 24;
  • TAG_ERROR = 26;
  • TIME_Windows_ERROR = 28;
    • TIME_Windows_INVALID_START_TIME = 2800;
    • TIME_Windows_INVALID_END_TIME = 2801;
    • TIME_Windows_INVALID_SOFT_START_TIME = 2802;
    • TIME_Windows_INVALID_SOFT_END_TIME = 2803;
    • TIME_WINDOW_OUTSIDE_NETWORK_TIME_WINDOW = 2804;
    • TIME_Windows_START_TIME_बाद_END_TIME = 2805;
    • TIME_Windows_INVALID_COST_PER_Hour_BEFORE_SOFT_START_TIME = 2806;
    • TIME_Windows_INVALID_COST_PER_Hour_बाद_SOFT_END_TIME = 2807;
    • TIME_Windows_COST_BEFORE_SOFT_START_TIME_WITHOUT_SOFT_START_TIME = 2808;
    • TIME_WINDOW_COST_बाद_SOFT_END_TIME_WITHOUT_SOFT_END_TIME = 2809;
    • TIME_Windows_SOFT_START_TIME_WITHOUT_COST_BEFORE_SOFT_START_TIME = 2810;
    • TIME_Windows_SOFT_END_TIME_WITHOUT_COST_ ऐसा_SOFT_END_TIME = 2811;
    • TIME_Windows_OVERLAPPING_ADJACENT_OR_EARLIER_ क्यों_PREVIOUS = 2812;
    • TIME_WINDOW_START_TIME_बाद_SOFT_START_TIME = 2813;
    • TIME_WINDOW_SOFT_START_TIME_बाद_END_TIME = 2814;
    • TIME_Windows_START_TIME_ ऊपर_SOFT_END_TIME = 2815;
    • TIME_Windows_SOFT_END_TIME_बाद_END_TIME = 2816;
    • TIME_Windows_COST_BEFORE_SOFT_START_TIME_SET_AND_MULTIPLE_WINDOWS = 2817;
    • TIME_WINDOW_COST_बाद_SOFT_END_TIME_SET_AND_MULTIPLE_WINDOWS = 2818;
    • transitION_ATTRIBUTES_ERROR = 30;
    • transitION_ATTRIBUTES_INVALID_COST = 3000;
    • TransitION_ATTRIBUTES_INVALID_COST_PER_KILOMETER = 3001;
    • TransitION_ATTRIBUTES_डुप्लीकेट_TAG_PAIR = 3002;
    • transitION_ATTRIBUTES_DISTANCE_LIMIT_MAX_METRIC_UNSUPPORTED = 3003;
    • transitION_ATTRIBUTES_UNSPECIFIED_SOURCE_TAGS = 3004;
    • transitION_ATTRIBUTES_PARTYING_SOURCE_TAGS_FIELDS = 3005;
    • transitION_ATTRIBUTES_UNSPECIFIED_DESTINATION_TAGS = 3006;
    • TransitION_ATTRIBUTES_PARTYING_DESTINATION_TAGS_FIELDS = 3007;
    • TransitION_ATTRIBUTES_MEDIA_DURATION_NEGATIVE_OR_NAN = 3008;
    • TransitION_ATTRIBUTES_MEDIA_DURATION_EXCEEDS_Global_DURATION = 3009;
  • AMOUNT_ERROR = 31;
    • AMOUNT_NEGATIVE_VALUE = 3,100;
  • LOAD_LIMIT_ERROR = 33;
    • LOAD_LIMIT_INVALID_COST_ABOVE_SOFT_MAX = 3303;
    • LOAD_LIMIT_SOFT_MAX_WITHOUT_COST_ABOVE_SOFT_MAX = 3304;
    • LOAD_LIMIT_COST_ABOVE_SOFT_MAX_WITHOUT_SOFT_MAX = 3305;
    • LOAD_LIMIT_NEGATIVE_SOFT_MAX = 3,306;
    • LOAD_LIMIT_MIXED_DEMAND_TYPE = 3307;
    • LOAD_LIMIT_MAX_LOAD_NEGATIVE_VALUE = 3308;
    • LOAD_LIMIT_SOFT_MAX_ABOVE_MAX = 3,309;
  • INTERVAL_ERROR = 34;
    • INTERVAL_MIN_EXCEEDS_MAX = 3401;
    • INTERVAL_NEGATIVE_MIN = 3402;
    • INTERVAL_NEGATIVE_MAX = 3403;
    • INTERVAL_MIN_EXCEEDS_CAPACITY = 3404;
    • INTERVAL_MAX_EXCEEDS_CAPACITY = 3405;
  • DISTANCE_LIMIT_ERROR = 36;
    • DISTANCE_LIMIT_INVALID_COST_ ऊपर_SOFT_MAX = 3601;
    • DISTANCE_LIMIT_SOFT_MAX_WITHOUT_COST_ ऊपर_SOFT_MAX = 3602;
    • DISTANCE_LIMIT_COST_बाद_SOFT_MAX_WITHOUT_SOFT_MAX = 3603;
    • DISTANCE_LIMIT_NEGATIVE_MAX = 3604;
    • DISTANCE_LIMIT_NEGATIVE_SOFT_MAX = 3605;
    • DISTANCE_LIMIT_SOFT_MAX_LARGER_thank_MAX = 3606;
  • DURATION_LIMIT_ERROR = 38;
    • DURATION_LIMIT_MAX_DURATION_NEGATIVE_OR_NAN = 3,800;
    • DURATION_LIMIT_SOFT_MAX_DURATION_NEGATIVE_OR_NAN = 3801;
    • DURATION_LIMIT_INVALID_COST_PER_Hour_ ऊपर_SOFT_MAX = 3802;
    • DURATION_LIMIT_SOFT_MAX_WITHOUT_COST_बाद_SOFT_MAX = 3803;
    • DURATION_LIMIT_COST_बाद_SOFT_MAX_WITHOUT_SOFT_MAX = 3804;
    • DURATION_LIMIT_QUADRATIC_SOFT_MAX_DURATION_NEGATIVE_OR_NAN = 3805;
    • DURATION_LIMIT_INVALID_COST_ ऊपर_QUADRATIC_SOFT_MAX = 3806;
    • DURATION_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_COST_PER_SQUARE_Hour = 3807;
    • DURATION_LIMIT_COST_PER_SQUARE_SQUARE_WITHOUT_QUADRATIC_SOFT_MAX = 3808;
    • DURATION_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_MAX = 3809;
    • DURATION_LIMIT_SOFT_MAX_LARGER_thank_MAX = 3810;
    • DURATION_LIMIT_QUADRATIC_SOFT_MAX_LARGER_ मुलाकात_MAX = 3811;
    • DURATION_LIMIT_DIFF_BETWEEN_MAX_AND_QUADRATIC_SOFT_MAX_TOO_LARGE = 3812;
    • DURATION_LIMIT_MAX_DURATION_EXCEEDS_Global_DURATION = 3813;
    • DURATION_LIMIT_SOFT_MAX_DURATION_EXCEEDS_Global_DURATION = 3814;
    • DURATION_LIMIT_QUADRATIC_SOFT_MAX_DURATION_EXCEEDS_चरमपद = 3815;
  • SHIPMENT_ERROR = 40;
    • shipMENT_PD_LIMIT_WITHOUT_PICKUP_AND_DELIVERY = 4014;
    • shippingMENT_PD_ {1/}_DETOUR_LIMIT_DURATION_NEGATIVE_OR_NAN = 4,000
    • shippingMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_EXCEEDS_ Global_DURATION = 4,001;
    • shipMENT_PD_RELATIVE_DETOUR_LIMIT_INVALID = 4015;
    • SHIPMENT_PD_DETOUR_LIMIT_AND_क्षिति प्रजाति का फूल = 4016;
    • SHIPMENT_PD_TIME_LIMIT_DURATION_NEGATIVE_OR_NAN = 4002;
    • शिपMENT_PD_TIME_LIMIT_DURATION_EXCEEDS_global_DURATION = 4003;
    • SHIPMENT_EMPTY_SHIPMENT_TYPE = 4004;
    • SHIPMENT_NO_PICKUP_NO_DELIVERY = 4005;
    • shipMENT_INVALID_PENALTY_COST = 4006;
    • SHIPMENT_ALLOWED_VEHICLE_INDEX_OUT_OF_BOUNDS = 4007;
    • shippingMENT_डुप्लीकेट_ALLOWED_VEHICLE_INDEX = 4008;
    • SHIPMENT_INCONSISTENT_COST_FOR_VEHICLE_SIZE_WITHOUT_INDEX = 4009;
    • SHIPMENT_INCONSISTENT_COST_FOR_VEHICLE_SIZE_WITH_INDEX = 4010;
    • SHIPMENT_INVALID_COST_FOR_VEHICLE = 4011;
    • shipMENT_COST_FOR_VEHICLE_INDEX_OUT_OF_BOUNDS = 4012;
    • shipMENT_डुप्लीकेट_COST_FOR_VEHICLE_INDEX = 4013;
  • VEHICLE_ERROR = 42;
    • VEHICLE_EMPTY_REQUIRED_OPERATOR_TYPE = 4200;
    • VEHICLE_डुप्लीकेट_REQUIRED_OPERATOR_TYPE = 4201;
    • VEHICLE_NO_OPERATOR_WITH_REQUIRED_OPERATOR_TYPE = 4202;
    • VEHICLE_EMPTY_START_TAG = 4203;
    • VEHICLE_ फ़ाइलों_START_TAG = 4204;
    • VEHICLE_EMPTY_END_TAG = 4205;
    • VEHICLE_ फ़ाइलों_END_TAG = 4206;
    • VEHICLE_ दस्तावेज़ VISIT_DURATION_NEGATIVE_OR_NAN = 4207
    • VEHICLE_ अवसर_VISIT_DURATION_EXCEEDS_ प्रयोग_DURATION = 4208;
    • VEHICLE_ डेवलपर_एक्सट्रैक्ट_VISIT_DURATION_EMPTY_KEY = 4209;
    • VEHICLE_FIRST_SHIPMENT_INDEX_OUT_OF_BOUNDS = 4210;
    • VEHICLE_FIRST_SHIPMENT_IGNORED = 4211;
    • VEHICLE_FIRST_SHIPMENT_NOT_BOUND = 4212;
    • VEHICLE_LAST_SHIPMENT_INDEX_OUT_OF_BOUNDS = 4213;
    • VEHICLE_LAST_SHIPMENT_IGNORED = 4214;
    • VEHICLE_LAST_SHIPMENT_NOT_BOUND = 4215;
    • VEHICLE_IGNORED_WITH_USE_IF_ROUTE_IS_EMPTY = 4216;
    • VEHICLE_INVALID_COST_PER_KILOMETER = 4217;
    • VEHICLE_INVALID_COST_PER_Hour = 4218;
    • VEHICLE_INVALID_COST_PER_TRAVELED_Hour = 4219;
    • VEHICLE_INVALID_FIXED_COST = 4220;
    • VEHICLE_INVALID_TRAVEL_DURATION_MULTIPLE = 4221;
    • VEHICLE_TRAVEL_DURATION_MULTIPLE_WITH_SHIPMENT_PD_DETOUR_LIMITS = 4223;
    • VEHICLE_MATRIX_INDEX_WITH_SHIPMENT_PD_DETOUR_LIMITS = 4224;
    • VEHICLE_MINIMUM_DURATION_LONGER_ नियमों_DURATION_LIMIT = 4222;
  • VISIT_REQUEST_ERROR = 44;
    • VISIT_REQUEST_EMPTY_TAG = 4,400;
    • VISIT_REQUEST_डुप्लीकेट_TAG = 4401;
    • VISIT_REQUEST_DURATION_NEGATIVE_OR_NAN = 4404;
    • VISIT_REQUEST_DURATION_EXCEEDS_ Global_DURATION = 4405;
  • PRECEDENCE_ERROR = 46;
  • BREAK_ERROR = 48;
    • BREAK_Rule_EMPTY = 4800;
    • BREAK_REQUEST_UNSPECIFIED_DURATION = 4801;
    • BREAK_REQUEST_UNSPECIFIED_EARLIEST_START_TIME = 4802;
    • BREAK_REQUEST_UNSPECIFIED_LATEST_START_TIME = 4803;
    • BREAK_REQUEST_DURATION_NEGATIVE_OR_NAN = 4804; = 4804
    • BREAK_REQUEST_LATEST_START_TIME_BEFORE_EARLIEST_START_TIME = 4805;
    • BREAK_REQUEST_EARLIEST_START_TIME_BEFORE_ प्रयोग_START_TIME = 4806;
    • BREAK_REQUEST_LATEST_END_TIME_बाद_ग्लोबल_END_TIME = 4807;
    • BREAK_REQUEST_NON_SCHEDULABLE = 4808;
    • BREAK_frequency_MAX_INTER_BREAK_DURATION_NEGATIVE_OR_NAN = 4809;
    • BREAK_frequency_MIN_BREAK_DURATION_NEGATIVE_OR_NAN = 4810;
    • BREAK_frequency_MIN_BREAK_DURATION_EXCEEDS_ प्रयोग_DURATION = 4811;
    • BREAK_frequency_MAX_INTER_BREAK_DURATION_EXCEEDS_ नंबरों को 1802.65;
    • BREAK_REQUEST_DURATION_EXCEEDS_ Global_DURATION = 4813;
    • BREAK_frequency_MISSING_MAX_INTER_BREAK_DURATION = 4814;
    • BREAK_frequency_MISSING_MIN_BREAK_DURATION = 4815;
  • SHIPMENT_TYPE_INCOMPATIBILITY_ERROR = 50;
    • SHIPMENT_TYPE_INCOMPATIBILITY_EMPTY_TYPE = 5001;
    • shipMENT_TYPE_INCOMPATIBILITY_LESS_क्ष_TWO_TYPES = 5002;
    • shipMENT_TYPE_INCOMPATIBILITY_डुप्लीकेट_TYPE = 5003;
    • SHIPMENT_TYPE_INCOMPATIBILITY_INVALID_INCOMPATIBILITY_mode = 5004;
    • SHIPMENT_TYPE_INCOMPATIBILITY_TOO_MANY_INCOMPATIBILITIES = 5005;
  • shipMENT_TYPE_REQUIREMENT_ERROR = 52;
    • SHIPMENT_TYPE_REQUIREMENT_NO_REQUIRED_TYPE = 52001
    • SHIPMENT_TYPE_REQUIREMENT_NO_DEPENDENT_TYPE = 52002;
    • SHIPMENT_TYPE_REQUIREMENT_INVALID_REQUIREMENT_mode = 52003;
    • SHIPMENT_TYPE_REQUIREMENT_TOO_MANY_REQUIREMENTS = 52004;
    • SHIPMENT_TYPE_REQUIREMENT_EMPTY_REQUIRED_TYPE = 52005
    • shipMENT_TYPE_REQUIREMENT_डुप्लीकेट_REQUIRED_TYPE = 52006
    • शिपMENT_TYPE_REQUIREMENT_NO_REQUIRED_TYPE_FOUND = 52007
    • शिपMENT_TYPE_REQUIREMENT_EMPTY_DEPENDENT_TYPE = 52008;
    • SHIPMENT_TYPE_REQUIREMENT_डुप्लीकेट_DEPENDENT_TYPE = 52009;
    • SHIPMENT_TYPE_REQUIREMENT_SELF_DEPENDENT_TYPE = 52010;
    • SHIPMENT_TYPE_REQUIREMENT_GRAPH_HAS_CYCLES = 52011;
  • VEHICLE_OPERATOR_ERROR = 54;
    • VEHICLE_OPERATOR_EMPTY_TYPE = 5400;
    • VEHICLE_OPERATOR_MULTIPLE_START_TIME_WINDOWS = 5401;
    • VEHICLE_OPERATOR_SOFT_START_TIME_WINDOW = 5402;
    • VEHICLE_OPERATOR_MULTIPLE_END_TIME_WINDOWS = 5403;
    • VEHICLE_OPERATOR_SOFT_END_TIME_WINDOW = 5404;
  • DURATION_SECONDS_MATRIX_ERROR = 56;
    • DURATION_SECONDS_MATRIX_DURATION_NEGATIVE_OR_NAN = 5,600;
    • DURATION_SECONDS_MATRIX_DURATION_EXCEEDS_global_DURATION = 5601;
displayName

string

गड़बड़ी का डिसप्ले नेम.

fields[]

object (FieldReference)

गड़बड़ी के कॉन्टेक्स्ट में 0, 1 (ज़्यादातर समय) या उससे ज़्यादा फ़ील्ड शामिल हो सकते हैं. उदाहरण के लिए, वाहन #4 और शिपमेंट #2 का पहला पिकअप इस तरह से किया जा सकता है:

fields { name: "vehicles" index: 4}
fields { name: "shipments" index: 2 subField {name: "pickups" index: 0} }

हालांकि, ध्यान दें कि किसी दिए गए गड़बड़ी कोड के लिए, fields के एलिमेंट की संख्या में बदलाव नहीं होना चाहिए.

errorMessage

string

इस स्ट्रिंग में गड़बड़ी के बारे में ऐसी जानकारी होती है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. code और errorMessage के बीच 1:1 मैपिंग होती है (जब कोड != "UNSPECIFIED") होता है.

स्थिरता: स्थिर नहीं है: किसी code से जुड़ा गड़बड़ी का मैसेज समय के साथ बदल सकता है (उम्मीद है कि इसे ठीक कर दिया जाएगा). इसके बजाय, कृपया displayName और code पर भरोसा करें.

offendingValues

string

इसमें फ़ील्ड की वैल्यू शामिल हो सकती हैं. यह सुविधा हमेशा उपलब्ध नहीं होती. आपको इस पर बिलकुल भरोसा नहीं करना चाहिए और इसका इस्तेमाल सिर्फ़ मैन्युअल मॉडल डीबग करने के लिए करना चाहिए.

FieldReference

पुष्टि करने में हुई गड़बड़ी के लिए संदर्भ बताता है. FieldReference हमेशा इस फ़ाइल में दिए गए फ़ील्ड का हवाला देता है और उसी हैरारकी के स्ट्रक्चर का पालन करता है. उदाहरण के लिए, हम वाहन #5 के startTimeWindows का एलिमेंट #2 तय करने के लिए इनका इस्तेमाल कर सकते हैं:

name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }

हालांकि, मैसेज को इकट्ठा न करने के लिए, हम OptimizeToursRequest या ShipmentModel जैसी टॉप लेवल की इकाइयों को छोड़ देते हैं.

JSON के काेड में दिखाना
{
  "name": string,
  "subField": {
    object (FieldReference)
  },

  // Union field index_or_key can be only one of the following:
  "index": integer,
  "key": string
  // End of list of possible types for union field index_or_key.
}
फ़ील्ड
name

string

फ़ील्ड का नाम, जैसे कि "वाहन".

subField

object (FieldReference)

ज़रूरत पड़ने पर, बार-बार नेस्ट किया गया सब-फ़ील्ड.

यूनियन फ़ील्ड index_or_key.

index_or_key इनमें से सिर्फ़ एक हो सकता है:

index

integer

अगर फ़ील्ड दोहराया गया है, तो उसका इंडेक्स.

key

string

अगर फ़ील्ड एक मैप है, तो कुंजी डालें.

मेट्रिक

सभी रूट की एग्रीगेट की गई कुल मेट्रिक.

JSON के काेड में दिखाना
{
  "aggregatedRouteMetrics": {
    object (AggregatedMetrics)
  },
  "skippedMandatoryShipmentCount": integer,
  "usedVehicleCount": integer,
  "earliestVehicleStartTime": string,
  "latestVehicleEndTime": string,
  "costs": {
    string: number,
    ...
  },
  "totalCost": number
}
फ़ील्ड
aggregatedRouteMetrics

object (AggregatedMetrics)

रास्तों पर इकट्ठा किया गया डेटा. हर मेट्रिक, एक ही नाम के सभी ShipmentRoute.metrics फ़ील्ड का कुल योग (या लोड के लिए ज़्यादा से ज़्यादा) होती है.

skippedMandatoryShipmentCount

integer

ज़रूरी शिपमेंट की संख्या.

usedVehicleCount

integer

इस्तेमाल किए गए वाहनों की संख्या. ध्यान दें: अगर वाहन का रास्ता खाली है और Vehicle.used_if_route_is_empty सही है, तो वाहन का इस्तेमाल किया गया माना जाता है.

earliestVehicleStartTime

string (Timestamp format)

किसी इस्तेमाल किए गए वाहन के शुरू होने का सबसे पुराना समय, जिसका हिसाब ShipmentRoute.vehicle_start_time के सभी इस्तेमाल किए गए वाहनों की तुलना में कम से कम के तौर पर लगाया गया है.

आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

latestVehicleEndTime

string (Timestamp format)

इस्तेमाल किए गए वाहन के खत्म होने का सबसे नया समय, जिसका हिसाब ShipmentRoute.vehicle_end_time के सभी इस्तेमाल किए गए वाहनों की तुलना में सबसे ज़्यादा है.

आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

costs

map (key: string, value: number)

समाधान की लागत, जिसे लागत से जुड़े अनुरोध के फ़ील्ड के हिसाब से बांटा जाता है. कुंजियां, प्रोटो पाथ हैं. ये इनपुट OptimizeToursRequest से जुड़े होते हैं, जैसे कि "model.shipments.pickups.cost" और ये वैल्यू, उस लागत के फ़ील्ड की वजह से जनरेट हुई कुल लागत होती हैं जिसे पूरे समाधान में जोड़ा जाता है. दूसरे शब्दों में कहें, तो कीमत["model.shipments.pickups.cost"], समाधान के तौर पर पिक अप की सभी कीमतों का कुल योग है. मॉडल में तय की गई सभी कीमतों के बारे में यहां ज़्यादा जानकारी दी गई है. हालांकि, ट्रांज़िशन एट्रिब्यूट से जुड़ी लागत को छोड़कर, ये कीमतें सिर्फ़ 2022/01 तक के डेटा के आधार पर रिपोर्ट की गई हैं.

एक ऑब्जेक्ट, जिसमें "key": value पेयर की सूची है. उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

totalCost

number

समाधान की कुल लागत. लागत मैप में सभी मानों का योग.