OptimizeToursResponse

الرد بعد حل مشكلة تحسين الجولة التي تحتوي على المسارات التي تتبعها كل مركبة، والشحنات التي تم تخطيها والتكلفة الإجمالية للحل.

تمثيل JSON
{
  "routes": [
    {
      object (ShipmentRoute)
    }
  ],
  "requestLabel": string,
  "skippedShipments": [
    {
      object (SkippedShipment)
    }
  ],
  "validationErrors": [
    {
      object (OptimizeToursValidationError)
    }
  ],
  "metrics": {
    object (Metrics)
  }
}
الحقول
routes[]

object (ShipmentRoute)

المسارات المحسوبة لكل مركبة؛ يتجاوب المسار i مع المركبة i في النموذج.

requestLabel

string

نسخة من OptimizeToursRequest.label في حال تحديد تصنيف في الطلب

skippedShipments[]

object (SkippedShipment)

قائمة بجميع الشحنات التي تم تخطّيها

validationErrors[]

object (OptimizeToursValidationError)

قائمة بجميع أخطاء التحقق من الصحة التي تمكنا من اكتشافها بشكل مستقل. يمكنك الاطلاع على شرح "MULTIPLE ERRORS" للرسالة 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) لأنّ الخطأ الجديد أدى إلى إخفاء الخطأ القديم (راجِع "أخطاء متعددة").

المرجع: قائمة بكل الأزواج (الرمز والاسم):

  • UNSPECIFIED = 0،
  • VLOOKUP_فين_ERROR = 10؛ تعذر إكمال عملية التحقق في غضون الموعد النهائي.
  • REQUEST_OPTIONS_ERROR = 12،

    • REQUEST_OPTIONS_POINTS_SOLVING_mode = 1201،
    • REQUEST_OPTIONS_POINTS_MAX_صحATION_ERRORS = 1203،
    • REQUEST_OPTIONS_FI_geoDESIC_METERS_PER_SECOND = 1204،
    • REQUEST_OPTIONS_geoDESIC_METERS_PER_SECOND_TOO_SMALL = 1205،
    • REQUEST_OPTIONS_MisING_prodDESIC_METERS_PER_SECOND = 1206،
    • REQUEST_OPTIONS_POPULATE_PATHFINDER_TRIPS_AND_MODELSIC_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_POINTS_TRAFFIC_FLAVOR = 1213،
    • REQUEST_OPTIONS_TRAFFIC_ الموضّح_WITHOUT_GLOBAL_START_TIME = 1214،
    • REQUEST_OPTIONS_TRAFFIC_ الموضّح_WITH_PRECEDENCES = 1215،
    • REQUEST_OPTIONS_TRAFFIC_PREFILL_mode_PROGRESS = 1216،
    • REQUEST_OPTIONS_TRAFFIC_PREFILL_ الموضّح_WITHOUT_TRAFFIC = 1217،
  • INJectED_SOLUTION_ERROR = 20،
    • INJectED_SOLUTION_MisING_LABEL = 2000،
    • INJectED_SOLUTION_DUPLICATE_LABEL = 2001،
    • INJectED_SOLUTION_AMBIGUOUS_INDEX = 2002،
    • INJectED_SOLUTION_INFEASIBLE_YEAR_GETَين_TRAVEL_TIMES = 2003;
    • INJectED_SOLUTION_TRANSITION_INCONSISTENT_WITH_ACTUAL_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_GLOBAL_START_TIME_NEGATIVE_OR_NAN = 2202،
    • SHIPMENT_MODEL_GLOBAL_END_TIME_TOO_LARGE_OR_NAN = 2203،
    • SHIPMENT_MODEL_GLOBAL_START_TIME_ بعد_GLOBAL_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_WINDOW_ERROR = 28،
    • TIME_WINDOW_POINTS_START_TIME = 2800،
    • TIME_WINDOW_SELECTED_END_TIME = 2801،
    • TIME_WINDOW_POINTS_SOFT_START_TIME = 2802،
    • TIME_WINDOW_POINTS_SOFT_END_TIME = 2803،
    • TIME_WINDOW_OUTSIDE_GLOBAL_TIME_WINDOW = 2804،
    • TIME_WINDOW_START_TIME_YEAR_END_TIME = 2805،
    • TIME_WINDOW_POINTS_cost_PER_HOUR_BEFORE_SOFT_START_TIME = 2806،
    • TIME_WINDOW_POINTS_cost_PER_HOUR_YEAR_SOFT_END_TIME = 2807،
    • TIME_WINDOW_cost_BEFORE_SOFT_START_TIME_WITHOUT_SOFT_START_TIME = 2808،
    • TIME_WINDOW_cost_YEAR_SOFT_END_TIME_WITHOUT_SOFT_END_TIME = 2809،
    • TIME_WINDOW_SOFT_START_TIME_WITHOUT_cost_BEFORE_SOFT_START_TIME = 2810،
    • TIME_WINDOW_SOFT_END_TIME_WITHOUT_cost_ بعد_SOFT_END_TIME = 2811،
    • TIME_WINDOW_OVERLAPPING_ADJACENT_OR_EARLIER_THAN_PREVIOUS = 2812،
    • TIME_WINDOW_START_TIME_WEEK_SOFT_START_TIME = 2813،
    • TIME_WINDOW_SOFT_START_TIME_YEAR_END_TIME = 2814،
    • TIME_WINDOW_START_TIME_ بعد_SOFT_END_TIME = 2815،
    • TIME_WINDOW_SOFT_END_TIME_YEAR_END_TIME = 2816،
    • TIME_WINDOW_cost_BEFORE_SOFT_START_TIME_SET_AND_MULTIPLE_WINDOWS = 2817،
    • TIME_WINDOW_cost_YEAR_SOFT_END_TIME_SET_AND_MULTIPLE_WINDOWS = 2818؛
    • TRANSITION_ATTRIBUTES_ERROR = 30،
    • TRANSITION_ATTRIBUTES_ATTRIBUTE_cost = 3000،
    • TRANSITION_ATTRIBUTES_SELECTED_cost_PER_KILOMETER = 3001،
    • TRANSITION_ATTRIBUTES_DUPLICATE_TAG_PAIR = 3002،
    • TRANSITION_ATTRIBUTES_DISTANCE_LIMIT_MAX_METERS_UNSUPPORTED = 3003،
    • TRANSITION_ATTRIBUTES_UNSPECIFIED_SOURCE_TAGS = 3004،
    • TRANSITION_ATTRIBUTES_CONFLICANCE_SOURCE_TAGS_FIELDS = 3005،
    • TRANSITION_ATTRIBUTES_UNSPECIFIED_destination_TAGS = 3006،
    • TRANSITION_ATTRIBUTES_CONFLICaging_destination_TAGS_FIELDS = 3007،
    • TRANSITION_ATTRIBUTES_chromeos_DURATION_NEGATIVE_OR_NAN = 3008،
    • TRANSITION_ATTRIBUTES_REASON_DURATION_EXCEEDS_GLOBAL_DURATION = 3009،
  • AMOUNT_ERROR = 31،
    • AMOUNT_NEGATIVE_VALUE = 3100،
  • LOAD_LIMIT_ERROR = 33،
    • LOAD_LIMIT_ATTRIBUTE_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_SELECTED_cost_ROAD_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_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_POINTS_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_QUADRATIC_SOFT_MAX_WITHOUT_cost_PER_SQUARE_HOUR = 3807;
    • DURATION_LIMIT_cost_PER_SQUARE_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_SELECTED = 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_POINTS_PENALTY_cost = 4006،
    • SHIPMENT_Allowed_VEHICLE_INDEX_OUT_OF_BOUNDS = 4007،
    • SHIPMENT_DUPLICATE_تشجيع_VEHICLE_INDEX = 4008،
    • SHIPMENT_INCONSISTENT_cost_FOR_VEHICLE_size_WITHOUT_INDEX = 4009،
    • SHIPMENT_INCONSISTENT_cost_FOR_VEHICLE_size_WITH_INDEX = 4010،
    • SHIPMENT_POINTS_cost_FOR_VEHICLE = 4011،
    • SHIPMENT_cost_FOR_VEHICLE_INDEX_OUT_OF_BOUNDS = 4012،
    • SHIPMENT_DUPLICATE_cost_FOR_VEHICLE_INDEX = 4013،
  • VEHICLE_ERROR = 42،
    • VEHICLE_EMPTY_required_OPERATOR_TYPE = 4200،
    • VEHICLE_DUPLICATE_required_OPERATOR_TYPE = 4201،
    • VEHICLE_NO_OPERATOR_WITH_required_OPERATOR_TYPE = 4202،
    • VEHICLE_EMPTY_START_TAG = 4203،
    • VEHICLE_DUPLICATE_START_TAG = 4204،
    • VEHICLE_EMPTY_END_TAG = 4205،
    • VEHICLE_DUPLICATE_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_used_IF_ROUTE_IS_EMPTY = 4216،
    • VEHICLE_SELECTED_cost_PER_KILOMETER = 4217،
    • VEHICLE_ATTRIBUTE_cost_PER_HOUR = 4218،
    • VEHICLE_ATTRIBUTE_cost_PER_TRAVELED_HOUR = 4219،
    • VEHICLE_ATTRIBUTE_FIXED_cost = 4220،
    • VEHICLE_POINTS_TRAVEL_DURATION_MULTIPLE = 4221،
    • VEHICLE_TRAVEL_DURATION_MULTIPLE_WITH_SHIPMENT_PD_DETOUR_LIMITS = 4223،
    • VEHICLE_MATRIX_INDEX_WITH_SHIPMENT_PD_DETOUR_LIMITS = 4224،
    • VEHICLE_TERM_DURATION_longER_THAN_DURATION_LIMIT = 4222،
  • VISIT_REQUEST_ERROR = 44،
    • VISIT_REQUEST_EMPTY_TAG = 4400،
    • VISIT_REQUEST_DUPLICATE_TAG = 4401،
    • VISIT_REQUEST_DURATION_NEGATIVE_OR_NAN = 4404،
    • VISIT_REQUEST_DURATION_EXCEEDS_GLOBAL_DURATION = 4405،
  • PRECEDENCE_ERROR = 46،
  • BREAK_ERROR = 48،
    • BREAK_instructions_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_GLOBAL_START_TIME = 4806،
    • BREAK_REQUEST_LATEST_END_TIME_ تستخدم_GLOBAL_END_TIME = 4807،
    • BREAK_REQUEST_NON_SCHEDULABLE = 4808،
    • BREAK_HOUR_MAX_INTER_BREAK_DURATION_NEGATIVE_OR_NAN = 4809،
    • BREAK_WIDTH_MIN_BREAK_DURATION_NEGATIVE_OR_NAN = 4810،
    • BREAK_موجة_MIN_BREAK_DURATION_EXCEEDS_GLOBAL_DURATION = 4811،
    • BREAK_تردد_MAX_INTER_BREAK_DURATION_EXCEEDS_GLOBAL_DURATION = 4812،
    • BREAK_REQUEST_DURATION_EXCEEDS_GLOBAL_DURATION = 4813،
    • BREAK_موجة_MISING_MAX_INTER_BREAK_DURATION = 4814،
    • BREAK_HOUR_MISING_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_DUPLICATE_TYPE = 5003،
    • SHIPMENT_TYPE_INCOMPATIBILITY_ATTRIBUTE_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_POINTS_REQUIREMENT_mode = 52003،
    • SHIPMENT_TYPE_REQUIREMENT_TOO_MANY_REQUIREMENTS = 52004،
    • SHIPMENT_TYPE_REQUIREMENT_EMPTY_required_TYPE = 52005،
    • SHIPMENT_TYPE_REQUIREMENT_DUPLICATE_required_TYPE = 52006،
    • SHIPMENT_TYPE_REQUIREMENT_NO_required_TYPE_FOUND = 52007،
    • SHIPMENT_TYPE_REQUIREMENT_EMPTY_DEPENDENT_TYPE = 52008،
    • SHIPMENT_TYPE_REQUIREMENT_DUPLICATE_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 (عندما يكون الرمز = "UNSPECIFIED").

الثبات: غير مستقرة: قد تتغيّر رسالة الخطأ المرتبطة بحقل code معيّن (نأمل توضيحها) بمرور الوقت. يُرجى الاعتماد على displayName وcode بدلاً من ذلك.

offendingValues

string

قد يحتوي على قيم الحقول. ولا تكون هذه الميزة متاحة أحيانًا. يجب عدم الاعتماد عليها إطلاقًا، وعدم استخدامها إلا لتصحيح أخطاء النماذج اليدوية.

FieldReference

تحدّد سياقًا لخطأ التحقّق من الصحة. تشير السمة FieldReference دائمًا إلى حقل معيّن في هذا الملف وتتّبع البنية الهرمية نفسها. على سبيل المثال، قد نحدِّد العنصر رقم 2 في startTimeWindows للمركبة رقم 5 باستخدام:

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.

طابع زمني بتنسيق RFC3339 UTC "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

latestVehicleEndTime

string (Timestamp format)

آخر وقت انتهاء لمركبة مستعمَلة يُحتسَب على أنّه الحد الأقصى لجميع المركبات المستعمَلة في ShipmentRoute.vehicle_end_time.

طابع زمني بتنسيق RFC3339 UTC "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "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"] هي مجموع تكاليف الاستلام التي تفوق الحلّ. يتم هنا الإبلاغ بالتفصيل عن جميع التكاليف المحدّدة في النموذج، باستثناء التكاليف المتعلّقة بسمات TransitionAttributes التي يتم إعداد تقارير عنها بطريقة مجمّعة اعتبارًا من 2022/2021.

عنصر يحتوي على قائمة من أزواج "key": value. مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" }

totalCost

number

تمثّل هذه السمة التكلفة الإجمالية للحلّ. مجموع كل القيم في خريطة التكاليف.