OptimizeToursResponse

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

जेएसओएन के काेड में दिखाना
{
  "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 की पुष्टि करते समय हुई गड़बड़ी के बारे में बताता है.

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

integer

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

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

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

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

पहचान फ़ाइल: सभी (कोड, नाम) पेयर की सूची:

  • जानकारी उपलब्ध नहीं है = 0;
  • ValidationATION_TIMEOUT_ERROR = 10; पुष्टि की प्रक्रिया को तय समयसीमा के अंदर पूरा नहीं किया जा सका.
  • REQUEST_OPTIONS_ERROR = 12;

    • REQUEST_OPTIONS_INVALID_SOLVING_MODE = 1201;
    • REQUEST_OPTIONS_INVALID_MAX_VALIDATION_ERRORS = 1203;
    • REQUEST_OPTIONS_INVALID_GEODESIC_ रखता_PER_SECOND = 1204;
    • REQUEST_OPTIONS_GEODESIC_ रखता_PER_SECOND_TOO_! = 1205;
    • REQUEST_OPTIONS_MISSING_GEODESIC_ होंगी_PER_SECOND = 1206;
    • REQUEST_OPTIONS_POPULATE_PATHFOUNDER_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_global_START_TIME = 1214;
    • REQUEST_OPTIONS_TRAFFIC_ENABLED_WITH_PRECEDENCES = 1215;
    • REQUEST_OPTIONS_TRAFFIC_PREFILL_MODE_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_after_GETTING_TRAVEL_TIMES = 2003;
    • INJECTED_SOLUTION_transitION_INCONSISTENT_WITH_ मानते_TRAVEL = 2004;
    • INJECTED_SOLUTION_CONCURRENT_SOLUTION_TYPES = 2005;
    • INJECTED_SOLUTION_MORE_THAN_ONE_PER_TYPE = 2006;
    • INJECTED_SOLUTION_REFRESH_WITHOUT_POPULATE = 2008;
    • INJECTED_SOLUTION_CONSTRAINED_ROUTE_PORTION_INFEASIBLE = 2010;
  • SHIPMENT_MODEL_ERROR = 22;
    • SHIPMENT_MODEL_TOO_LARGE = 2200;
    • SHIPMENT_MODEL_TOO_MANY_CAPACITY_TYPES = 2201;
    • SHIPMENT_MODEL_ मॉडल_START_TIME_NEGATIVE_OR_NAN = 2202;
    • SHIPMENT_MODEL_global_END_TIME_TOO_LARGE_OR_NAN = 2203;
    • SHIPMENT_MODEL_ प्रॉम्प्ट
    • SHIPMENT_MODEL_ मॉडल_DURATION_TOO_ लेन-देन = 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;
    • टाइम_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_Windows_OUTSIDE_global_TIME_WINDOW = 2804;
    • TIME_Windows_START_TIME_After_END_TIME = 2805;
    • TIME_Windows_INVALID_cost_PER_HOUR_BEFORE_SOFT_START_TIME = 2806;
    • टाइम_Windows_INVALID_cost_PER_HOUR_after_SOFT_END_TIME = 2807;
    • टाइम_Windows_cost_BEFORE_SOFT_START_TIME_WITHOUT_SOFT_START_TIME = 2808;
    • TIME_Windows_cost_after_SOFT_END_TIME_WITHOUT_SOFT_END_TIME = 2809;
    • TIME_Windows_SOFT_START_TIME_WITHOUT_cost_BEFORE_SOFT_START_TIME = 2810;
    • टाइम_Windows_SOFT_END_TIME_WITHOUT_cost_after_SOFT_END_TIME = 2811;
    • TIME_Windows_OVERLAPPING_ADJACENT_OR_EARLIER_than_PREVIOUS = 2812;
    • टाइम_Windows_START_TIME_After_SOFT_START_TIME = 2813;
    • TIME_Windows_SOFT_START_TIME_after_END_TIME = 2814;
    • TIME_Windows_START_TIME_After_SOFT_END_TIME = 2815;
    • TIME_Windows_SOFT_END_TIME_After_END_TIME = 2816;
    • TIME_Windows_SPACE_BEFORE_SOFT_START_TIME_SET_AND_MULTIPLE_WINDOWS = 2817;
    • TIME_Windows_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_ ऐड-ऑन_UNSUPPORTED = 3003;
    • transitION_ATTRIBUTES_UNSPECIFIED_SOURCE_TAGS = 3004;
    • transitION_ATTRIBUTES_कॉन्फ़्लिक्टING_SOURCE_TAGS_FIELDS = 3005;
    • transitION_ATTRIBUTES_UNSPECIFIED_DESTINATION_TAGS = 3006;
    • transitION_ATTRIBUTES_कॉन्फ़्लिक्टING_DESTINATION_TAGS_FIELDS = 3007;
    • transitION_ATTRIBUTES_ चलाएं_DURATION_NEGATIVE_OR_NAN = 3008;
    • transitION_ATTRIBUTES_ चलाएं_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 = 3306;
    • LOAD_LIMIT_MIXED_DEMAND_TYPE = 3307;
    • LOAD_LIMIT_MAX_LOAD_NEGATIVE_VALUE = 3308;
    • LOAD_LIMIT_SOFT_MAX_ABOVE_MAX = 3309;
  • 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_after_SOFT_MAX = 3601;
    • DISTANCE_LIMIT_SOFT_MAX_WITHOUT_cost_after_SOFT_MAX = 3602;
    • DISTANCE_LIMIT_cost_after_SOFT_MAX_WITHOUT_SOFT_MAX = 3603;
    • DISTANCE_LIMIT_NEGATIVE_MAX = 3604;
    • DISTANCE_LIMIT_NEGATIVE_SOFT_MAX = 3605;
    • DISTANCE_LIMIT_SOFT_MAX_LARGER_than_MAX = 3606;
  • DURATION_LIMIT_ERROR = 38;
    • DURATION_LIMIT_MAX_DURATION_NEGATIVE_OR_NAN = 3800;
    • DURATION_LIMIT_SOFT_MAX_DURATION_NEGATIVE_OR_NAN = 3801;
    • DURATION_LIMIT_INVALID_cost_PER_HOUR_after_SOFT_MAX = 3802;
    • DURATION_LIMIT_SOFT_MAX_WITHOUT_cost_after_SOFT_MAX = 3803;
    • DURATION_LIMIT_cost_after_SOFT_MAX_WITHOUT_SOFT_MAX = 3804;
    • DURATION_LIMIT_QUADRATIC_SOFT_MAX_DURATION_NEGATIVE_OR_NAN = 3805;
    • DURATION_LIMIT_INVALID_cost_after_QUADRATIC_SOFT_MAX = 3806;
    • DURATION_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_cost_PER_स्टोर_HOUR = 3807;
    • DURATION_LIMIT_cost_PER_स्कि_HOUR_WITHOUT_QUADRATIC_SOFT_MAX = 3808;
    • DURATION_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_MAX = 3809;
    • DURATION_LIMIT_SOFT_MAX_LARGER_THAN_MAX = 3810;
    • DURATION_LIMIT_QUADRATIC_SOFT_MAX_LARGER_THAN_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_global_DURATION = 3815;
  • shipMENT_ERROR = 40;
    • shipMENT_PD_LIMIT_WITHOUT_PICKUP_AND_delivery = 4014;
    • shipMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_NEGATIVE_OR_NAN = 4000;
    • SHIPMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_EXCEEDS_Global_DURATION = 4001;
    • SHIPMENT_PD_RELATIVE_DETOUR_LIMIT_INVALID = 4015;
    • SHIPMENT_PD_DETOUR_LIMIT_AND_EXTRA_VISIT_DURATION = 4016;
    • SHIPMENT_PD_TIME_LIMIT_DURATION_NEGATIVE_OR_NAN = 4002;
    • SHIPMENT_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;
    • shipMENT_CLIENT_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_MATCH_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_EXTRA_VISIT_DURATION_NEGATIVE_OR_NAN = 4207;
    • VEHICLE_EXTRA_VISIT_DURATION_EXCEEDS_global_DURATION = 4208;
    • VEHICLE_EXTRA_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_THAN_DURATION_LIMIT = 4222;
  • VISIT_REQUEST_ERROR = 44;
    • VISIT_REQUEST_EMPTY_TAG = 4400;
    • VISIT_REQUEST_ व्यवहार = 4401;
    • VISIT_REQUEST_DURATION_NEGATIVE_OR_NAN = 4404;
    • VISIT_REQUEST_DURATION_EXCEEDS_global_DURATION = 4405;
  • PRECEDENCE_ERROR = 46;
  • BREAK_ERROR = 48;
    • BREAK_LEFT_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_After_global_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_global_DURATION = 4811;
    • BREAK_frequency_MAX_INTER_BREAK_DURATION_EXCEEDS_global_DURATION = 4812;
    • 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_THAN_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;
    • SHIPMENT_TYPE_REQUIREMENT_NO_REQUIRED_TYPE_FOUND = 52007;
    • SHIPMENT_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 = 5600;
    • 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 मैपिंग होती है (जब कोड != "जानकारी नहीं है").

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

offendingValues

string

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

FieldReference

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

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

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

जेएसओएन के काेड में दिखाना
{
  "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

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

मेट्रिक

सभी रूट पर इकट्ठा की गई कुल मेट्रिक.

जेएसओएन के काेड में दिखाना
{
  "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 में इस्तेमाल किए गए सभी वाहनों के मुकाबले कम से कम के तौर पर लगाया जाता है.

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

latestVehicleEndTime

string (Timestamp format)

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

RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड का रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक हो सकते हैं. उदाहरण: "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

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