nextbillionai 0.1.0.pre.alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +44 -0
- data/README.md +259 -0
- data/SECURITY.md +27 -0
- data/lib/nextbillionai/client.rb +168 -0
- data/lib/nextbillionai/errors.rb +214 -0
- data/lib/nextbillionai/file_part.rb +55 -0
- data/lib/nextbillionai/internal/transport/base_client.rb +573 -0
- data/lib/nextbillionai/internal/transport/pooled_net_requester.rb +209 -0
- data/lib/nextbillionai/internal/type/array_of.rb +167 -0
- data/lib/nextbillionai/internal/type/base_model.rb +539 -0
- data/lib/nextbillionai/internal/type/base_page.rb +55 -0
- data/lib/nextbillionai/internal/type/boolean.rb +77 -0
- data/lib/nextbillionai/internal/type/converter.rb +300 -0
- data/lib/nextbillionai/internal/type/enum.rb +156 -0
- data/lib/nextbillionai/internal/type/file_input.rb +108 -0
- data/lib/nextbillionai/internal/type/hash_of.rb +187 -0
- data/lib/nextbillionai/internal/type/request_parameters.rb +42 -0
- data/lib/nextbillionai/internal/type/union.rb +241 -0
- data/lib/nextbillionai/internal/type/unknown.rb +81 -0
- data/lib/nextbillionai/internal/util.rb +914 -0
- data/lib/nextbillionai/internal.rb +20 -0
- data/lib/nextbillionai/models/access.rb +27 -0
- data/lib/nextbillionai/models/address.rb +107 -0
- data/lib/nextbillionai/models/area_list_params.rb +26 -0
- data/lib/nextbillionai/models/area_list_response.rb +44 -0
- data/lib/nextbillionai/models/autocomplete_suggest_params.rb +99 -0
- data/lib/nextbillionai/models/autocomplete_suggest_response.rb +253 -0
- data/lib/nextbillionai/models/autosuggest_suggest_params.rb +99 -0
- data/lib/nextbillionai/models/autosuggest_suggest_response.rb +253 -0
- data/lib/nextbillionai/models/batch_create_params.rb +54 -0
- data/lib/nextbillionai/models/batch_create_response.rb +41 -0
- data/lib/nextbillionai/models/batch_retrieve_params.rb +35 -0
- data/lib/nextbillionai/models/batch_retrieve_response.rb +76 -0
- data/lib/nextbillionai/models/browse_search_params.rb +98 -0
- data/lib/nextbillionai/models/browse_search_response.rb +252 -0
- data/lib/nextbillionai/models/categories.rb +36 -0
- data/lib/nextbillionai/models/contact_object.rb +48 -0
- data/lib/nextbillionai/models/contacts.rb +47 -0
- data/lib/nextbillionai/models/direction_compute_route_params.rb +684 -0
- data/lib/nextbillionai/models/direction_compute_route_response.rb +629 -0
- data/lib/nextbillionai/models/discover_retrieve_params.rb +99 -0
- data/lib/nextbillionai/models/discover_retrieve_response.rb +253 -0
- data/lib/nextbillionai/models/distance_matrix/json_create_params.rb +16 -0
- data/lib/nextbillionai/models/distance_matrix/json_retrieve_params.rb +220 -0
- data/lib/nextbillionai/models/distance_matrix/json_retrieve_response.rb +82 -0
- data/lib/nextbillionai/models/fleetify/document_template_content_request.rb +189 -0
- data/lib/nextbillionai/models/fleetify/document_template_content_response.rb +168 -0
- data/lib/nextbillionai/models/fleetify/document_template_create_params.rb +50 -0
- data/lib/nextbillionai/models/fleetify/document_template_create_response.rb +79 -0
- data/lib/nextbillionai/models/fleetify/document_template_delete_params.rb +29 -0
- data/lib/nextbillionai/models/fleetify/document_template_delete_response.rb +32 -0
- data/lib/nextbillionai/models/fleetify/document_template_list_params.rb +28 -0
- data/lib/nextbillionai/models/fleetify/document_template_list_response.rb +85 -0
- data/lib/nextbillionai/models/fleetify/document_template_retrieve_params.rb +29 -0
- data/lib/nextbillionai/models/fleetify/document_template_retrieve_response.rb +80 -0
- data/lib/nextbillionai/models/fleetify/document_template_update_params.rb +50 -0
- data/lib/nextbillionai/models/fleetify/document_template_update_response.rb +78 -0
- data/lib/nextbillionai/models/fleetify/route_create_params.rb +276 -0
- data/lib/nextbillionai/models/fleetify/route_create_response.rb +196 -0
- data/lib/nextbillionai/models/fleetify/route_redispatch_params.rb +139 -0
- data/lib/nextbillionai/models/fleetify/route_redispatch_response.rb +432 -0
- data/lib/nextbillionai/models/fleetify/routes/document_submission.rb +12 -0
- data/lib/nextbillionai/models/fleetify/routes/route_step_completion_mode.rb +31 -0
- data/lib/nextbillionai/models/fleetify/routes/route_step_geofence_config.rb +53 -0
- data/lib/nextbillionai/models/fleetify/routes/route_steps_request.rb +174 -0
- data/lib/nextbillionai/models/fleetify/routes/route_steps_response.rb +273 -0
- data/lib/nextbillionai/models/fleetify/routes/step_complete_params.rb +69 -0
- data/lib/nextbillionai/models/fleetify/routes/step_create_params.rb +193 -0
- data/lib/nextbillionai/models/fleetify/routes/step_create_response.rb +40 -0
- data/lib/nextbillionai/models/fleetify/routes/step_delete_params.rb +37 -0
- data/lib/nextbillionai/models/fleetify/routes/step_delete_response.rb +33 -0
- data/lib/nextbillionai/models/fleetify/routes/step_update_params.rb +195 -0
- data/lib/nextbillionai/models/fleetify/routes/step_update_response.rb +40 -0
- data/lib/nextbillionai/models/fleetify/routing_response.rb +86 -0
- data/lib/nextbillionai/models/geocode_batch_create_params.rb +112 -0
- data/lib/nextbillionai/models/geocode_batch_create_response.rb +139 -0
- data/lib/nextbillionai/models/geocode_retrieve_params.rb +99 -0
- data/lib/nextbillionai/models/geocode_retrieve_response.rb +253 -0
- data/lib/nextbillionai/models/geocode_structured_retrieve_params.rb +132 -0
- data/lib/nextbillionai/models/geocode_structured_retrieve_response.rb +254 -0
- data/lib/nextbillionai/models/geofence/batch_create_params.rb +40 -0
- data/lib/nextbillionai/models/geofence/batch_create_response.rb +45 -0
- data/lib/nextbillionai/models/geofence/batch_delete_params.rb +37 -0
- data/lib/nextbillionai/models/geofence/batch_list_params.rb +36 -0
- data/lib/nextbillionai/models/geofence/batch_list_response.rb +47 -0
- data/lib/nextbillionai/models/geofence/console_preview_params.rb +16 -0
- data/lib/nextbillionai/models/geofence/console_preview_response.rb +41 -0
- data/lib/nextbillionai/models/geofence/console_search_params.rb +24 -0
- data/lib/nextbillionai/models/geofence/console_search_response.rb +62 -0
- data/lib/nextbillionai/models/geofence/polygon_geojson.rb +34 -0
- data/lib/nextbillionai/models/geofence.rb +202 -0
- data/lib/nextbillionai/models/geofence_contains_params.rb +56 -0
- data/lib/nextbillionai/models/geofence_contains_response.rb +99 -0
- data/lib/nextbillionai/models/geofence_create_params.rb +26 -0
- data/lib/nextbillionai/models/geofence_create_response.rb +49 -0
- data/lib/nextbillionai/models/geofence_delete_params.rb +26 -0
- data/lib/nextbillionai/models/geofence_entity_create.rb +328 -0
- data/lib/nextbillionai/models/geofence_list_params.rb +58 -0
- data/lib/nextbillionai/models/geofence_list_response.rb +52 -0
- data/lib/nextbillionai/models/geofence_retrieve_params.rb +26 -0
- data/lib/nextbillionai/models/geofence_retrieve_response.rb +41 -0
- data/lib/nextbillionai/models/geofence_update_params.rb +322 -0
- data/lib/nextbillionai/models/isochrone_compute_params.rb +153 -0
- data/lib/nextbillionai/models/isochrone_compute_response.rb +187 -0
- data/lib/nextbillionai/models/lookup_by_id_params.rb +35 -0
- data/lib/nextbillionai/models/lookup_by_id_response.rb +94 -0
- data/lib/nextbillionai/models/map_create_segment_params.rb +14 -0
- data/lib/nextbillionai/models/map_view.rb +43 -0
- data/lib/nextbillionai/models/mdm_create_distance_matrix_params.rb +385 -0
- data/lib/nextbillionai/models/mdm_create_distance_matrix_response.rb +50 -0
- data/lib/nextbillionai/models/mdm_get_distance_matrix_status_params.rb +35 -0
- data/lib/nextbillionai/models/mdm_get_distance_matrix_status_response.rb +64 -0
- data/lib/nextbillionai/models/multigeocode/place_create_params.rb +276 -0
- data/lib/nextbillionai/models/multigeocode/place_create_response.rb +24 -0
- data/lib/nextbillionai/models/multigeocode/place_delete_params.rb +28 -0
- data/lib/nextbillionai/models/multigeocode/place_delete_response.rb +31 -0
- data/lib/nextbillionai/models/multigeocode/place_item.rb +154 -0
- data/lib/nextbillionai/models/multigeocode/place_retrieve_params.rb +28 -0
- data/lib/nextbillionai/models/multigeocode/place_retrieve_response.rb +107 -0
- data/lib/nextbillionai/models/multigeocode/place_update_params.rb +118 -0
- data/lib/nextbillionai/models/multigeocode/place_update_response.rb +31 -0
- data/lib/nextbillionai/models/multigeocode_search_params.rb +135 -0
- data/lib/nextbillionai/models/multigeocode_search_response.rb +117 -0
- data/lib/nextbillionai/models/navigation_retrieve_route_params.rb +328 -0
- data/lib/nextbillionai/models/navigation_retrieve_route_response.rb +875 -0
- data/lib/nextbillionai/models/optimization/driver_assignment_assign_params.rb +679 -0
- data/lib/nextbillionai/models/optimization/driver_assignment_assign_response.rb +307 -0
- data/lib/nextbillionai/models/optimization/job.rb +460 -0
- data/lib/nextbillionai/models/optimization/location.rb +28 -0
- data/lib/nextbillionai/models/optimization/shipment.rb +589 -0
- data/lib/nextbillionai/models/optimization/v2_retrieve_result_params.rb +37 -0
- data/lib/nextbillionai/models/optimization/v2_retrieve_result_response.rb +743 -0
- data/lib/nextbillionai/models/optimization/v2_submit_params.rb +1841 -0
- data/lib/nextbillionai/models/optimization/vehicle.rb +92 -0
- data/lib/nextbillionai/models/optimization_compute_params.rb +212 -0
- data/lib/nextbillionai/models/optimization_compute_response.rb +347 -0
- data/lib/nextbillionai/models/optimization_re_optimize_params.rb +217 -0
- data/lib/nextbillionai/models/position.rb +26 -0
- data/lib/nextbillionai/models/post_response.rb +48 -0
- data/lib/nextbillionai/models/postalcode_retrieve_coordinates_params.rb +108 -0
- data/lib/nextbillionai/models/postalcode_retrieve_coordinates_response.rb +305 -0
- data/lib/nextbillionai/models/restriction_create_params.rb +51 -0
- data/lib/nextbillionai/models/restriction_delete_params.rb +26 -0
- data/lib/nextbillionai/models/restriction_delete_response.rb +25 -0
- data/lib/nextbillionai/models/restriction_list_by_bbox_params.rb +197 -0
- data/lib/nextbillionai/models/restriction_list_by_bbox_response.rb +9 -0
- data/lib/nextbillionai/models/restriction_list_params.rb +197 -0
- data/lib/nextbillionai/models/restriction_list_response.rb +62 -0
- data/lib/nextbillionai/models/restriction_retrieve_params.rb +34 -0
- data/lib/nextbillionai/models/restriction_set_state_params.rb +50 -0
- data/lib/nextbillionai/models/restriction_update_params.rb +37 -0
- data/lib/nextbillionai/models/restrictions_item_list_params.rb +123 -0
- data/lib/nextbillionai/models/restrictions_item_list_response.rb +171 -0
- data/lib/nextbillionai/models/revgeocode_retrieve_params.rb +77 -0
- data/lib/nextbillionai/models/revgeocode_retrieve_response.rb +253 -0
- data/lib/nextbillionai/models/rich_group_request.rb +292 -0
- data/lib/nextbillionai/models/rich_group_response.rb +249 -0
- data/lib/nextbillionai/models/route_report_create_params.rb +62 -0
- data/lib/nextbillionai/models/route_report_create_response.rb +452 -0
- data/lib/nextbillionai/models/skynet/asset/event_list_params.rb +96 -0
- data/lib/nextbillionai/models/skynet/asset/event_list_response.rb +361 -0
- data/lib/nextbillionai/models/skynet/asset/location_get_last_params.rb +48 -0
- data/lib/nextbillionai/models/skynet/asset/location_get_last_response.rb +65 -0
- data/lib/nextbillionai/models/skynet/asset/location_list_params.rb +130 -0
- data/lib/nextbillionai/models/skynet/asset/location_list_response.rb +242 -0
- data/lib/nextbillionai/models/skynet/asset/track_location.rb +124 -0
- data/lib/nextbillionai/models/skynet/asset_bind_params.rb +40 -0
- data/lib/nextbillionai/models/skynet/asset_create_params.rb +116 -0
- data/lib/nextbillionai/models/skynet/asset_create_response.rb +59 -0
- data/lib/nextbillionai/models/skynet/asset_delete_params.rb +46 -0
- data/lib/nextbillionai/models/skynet/asset_details.rb +223 -0
- data/lib/nextbillionai/models/skynet/asset_list_params.rb +120 -0
- data/lib/nextbillionai/models/skynet/asset_list_response.rb +67 -0
- data/lib/nextbillionai/models/skynet/asset_retrieve_params.rb +46 -0
- data/lib/nextbillionai/models/skynet/asset_retrieve_response.rb +55 -0
- data/lib/nextbillionai/models/skynet/asset_track_params.rb +184 -0
- data/lib/nextbillionai/models/skynet/asset_update_attributes_params.rb +48 -0
- data/lib/nextbillionai/models/skynet/asset_update_params.rb +104 -0
- data/lib/nextbillionai/models/skynet/config_retrieve_params.rb +46 -0
- data/lib/nextbillionai/models/skynet/config_retrieve_response.rb +71 -0
- data/lib/nextbillionai/models/skynet/config_test_webhook_params.rb +28 -0
- data/lib/nextbillionai/models/skynet/config_test_webhook_response.rb +28 -0
- data/lib/nextbillionai/models/skynet/config_update_params.rb +55 -0
- data/lib/nextbillionai/models/skynet/meta_data.rb +10 -0
- data/lib/nextbillionai/models/skynet/metadata.rb +10 -0
- data/lib/nextbillionai/models/skynet/monitor.rb +291 -0
- data/lib/nextbillionai/models/skynet/monitor_create_params.rb +418 -0
- data/lib/nextbillionai/models/skynet/monitor_create_response.rb +55 -0
- data/lib/nextbillionai/models/skynet/monitor_delete_params.rb +28 -0
- data/lib/nextbillionai/models/skynet/monitor_list_params.rb +89 -0
- data/lib/nextbillionai/models/skynet/monitor_list_response.rb +68 -0
- data/lib/nextbillionai/models/skynet/monitor_retrieve_params.rb +28 -0
- data/lib/nextbillionai/models/skynet/monitor_retrieve_response.rb +54 -0
- data/lib/nextbillionai/models/skynet/monitor_update_params.rb +360 -0
- data/lib/nextbillionai/models/skynet/namespaced_apikey_create_params.rb +39 -0
- data/lib/nextbillionai/models/skynet/namespaced_apikey_create_response.rb +101 -0
- data/lib/nextbillionai/models/skynet/namespaced_apikey_delete_params.rb +50 -0
- data/lib/nextbillionai/models/skynet/namespaced_apikey_delete_response.rb +35 -0
- data/lib/nextbillionai/models/skynet/pagination.rb +50 -0
- data/lib/nextbillionai/models/skynet/search/polygon_create_params.rb +295 -0
- data/lib/nextbillionai/models/skynet/search/polygon_get_params.rb +190 -0
- data/lib/nextbillionai/models/skynet/search_around_params.rb +186 -0
- data/lib/nextbillionai/models/skynet/search_bound_params.rb +180 -0
- data/lib/nextbillionai/models/skynet/search_response.rb +207 -0
- data/lib/nextbillionai/models/skynet/simple_resp.rb +33 -0
- data/lib/nextbillionai/models/skynet/trip_delete_params.rb +46 -0
- data/lib/nextbillionai/models/skynet/trip_end_params.rb +54 -0
- data/lib/nextbillionai/models/skynet/trip_get_summary_params.rb +46 -0
- data/lib/nextbillionai/models/skynet/trip_get_summary_response.rb +226 -0
- data/lib/nextbillionai/models/skynet/trip_retrieve_params.rb +46 -0
- data/lib/nextbillionai/models/skynet/trip_retrieve_response.rb +188 -0
- data/lib/nextbillionai/models/skynet/trip_start_params.rb +154 -0
- data/lib/nextbillionai/models/skynet/trip_start_response.rb +57 -0
- data/lib/nextbillionai/models/skynet/trip_stop.rb +40 -0
- data/lib/nextbillionai/models/skynet/trip_update_params.rb +148 -0
- data/lib/nextbillionai/models/skynet_subscribe_params.rb +91 -0
- data/lib/nextbillionai/models/skynet_subscribe_response.rb +46 -0
- data/lib/nextbillionai/models/snap_to_road_snap_params.rb +247 -0
- data/lib/nextbillionai/models/snap_to_road_snap_response.rb +272 -0
- data/lib/nextbillionai/models.rb +158 -0
- data/lib/nextbillionai/request_options.rb +78 -0
- data/lib/nextbillionai/resources/areas.rb +39 -0
- data/lib/nextbillionai/resources/autocomplete.rb +49 -0
- data/lib/nextbillionai/resources/autosuggest.rb +49 -0
- data/lib/nextbillionai/resources/batch.rb +70 -0
- data/lib/nextbillionai/resources/browse.rb +49 -0
- data/lib/nextbillionai/resources/directions.rb +89 -0
- data/lib/nextbillionai/resources/discover.rb +49 -0
- data/lib/nextbillionai/resources/distance_matrix/json.rb +79 -0
- data/lib/nextbillionai/resources/distance_matrix.rb +18 -0
- data/lib/nextbillionai/resources/fleetify/document_templates.rb +163 -0
- data/lib/nextbillionai/resources/fleetify/routes/steps.rb +202 -0
- data/lib/nextbillionai/resources/fleetify/routes.rb +92 -0
- data/lib/nextbillionai/resources/fleetify.rb +22 -0
- data/lib/nextbillionai/resources/geocode.rb +127 -0
- data/lib/nextbillionai/resources/geofence/batch.rb +101 -0
- data/lib/nextbillionai/resources/geofence/console.rb +77 -0
- data/lib/nextbillionai/resources/geofence.rb +224 -0
- data/lib/nextbillionai/resources/isochrone.rb +59 -0
- data/lib/nextbillionai/resources/lookup.rb +41 -0
- data/lib/nextbillionai/resources/map.rb +32 -0
- data/lib/nextbillionai/resources/mdm.rb +100 -0
- data/lib/nextbillionai/resources/multigeocode/place.rb +165 -0
- data/lib/nextbillionai/resources/multigeocode.rb +70 -0
- data/lib/nextbillionai/resources/navigation.rb +72 -0
- data/lib/nextbillionai/resources/optimization/driver_assignment.rb +53 -0
- data/lib/nextbillionai/resources/optimization/v2.rb +100 -0
- data/lib/nextbillionai/resources/optimization.rb +110 -0
- data/lib/nextbillionai/resources/postalcode.rb +49 -0
- data/lib/nextbillionai/resources/restrictions.rb +325 -0
- data/lib/nextbillionai/resources/restrictions_items.rb +44 -0
- data/lib/nextbillionai/resources/revgeocode.rb +45 -0
- data/lib/nextbillionai/resources/route_report.rb +45 -0
- data/lib/nextbillionai/resources/skynet/asset/event.rb +57 -0
- data/lib/nextbillionai/resources/skynet/asset/location.rb +88 -0
- data/lib/nextbillionai/resources/skynet/asset.rb +303 -0
- data/lib/nextbillionai/resources/skynet/config.rb +99 -0
- data/lib/nextbillionai/resources/skynet/monitor.rb +206 -0
- data/lib/nextbillionai/resources/skynet/namespaced_apikeys.rb +72 -0
- data/lib/nextbillionai/resources/skynet/search/polygon.rb +106 -0
- data/lib/nextbillionai/resources/skynet/search.rb +114 -0
- data/lib/nextbillionai/resources/skynet/trip.rb +220 -0
- data/lib/nextbillionai/resources/skynet.rb +67 -0
- data/lib/nextbillionai/resources/snap_to_roads.rb +62 -0
- data/lib/nextbillionai/version.rb +5 -0
- data/lib/nextbillionai.rb +294 -0
- data/manifest.yaml +15 -0
- data/rbi/nextbillionai/client.rbi +121 -0
- data/rbi/nextbillionai/errors.rbi +178 -0
- data/rbi/nextbillionai/file_part.rbi +37 -0
- data/rbi/nextbillionai/internal/transport/base_client.rbi +301 -0
- data/rbi/nextbillionai/internal/transport/pooled_net_requester.rbi +80 -0
- data/rbi/nextbillionai/internal/type/array_of.rbi +104 -0
- data/rbi/nextbillionai/internal/type/base_model.rbi +310 -0
- data/rbi/nextbillionai/internal/type/base_page.rbi +43 -0
- data/rbi/nextbillionai/internal/type/boolean.rbi +58 -0
- data/rbi/nextbillionai/internal/type/converter.rbi +167 -0
- data/rbi/nextbillionai/internal/type/enum.rbi +82 -0
- data/rbi/nextbillionai/internal/type/file_input.rbi +59 -0
- data/rbi/nextbillionai/internal/type/hash_of.rbi +104 -0
- data/rbi/nextbillionai/internal/type/request_parameters.rbi +31 -0
- data/rbi/nextbillionai/internal/type/union.rbi +121 -0
- data/rbi/nextbillionai/internal/type/unknown.rbi +58 -0
- data/rbi/nextbillionai/internal/util.rbi +487 -0
- data/rbi/nextbillionai/internal.rbi +18 -0
- data/rbi/nextbillionai/models/access.rbi +41 -0
- data/rbi/nextbillionai/models/address.rbi +163 -0
- data/rbi/nextbillionai/models/area_list_params.rbi +42 -0
- data/rbi/nextbillionai/models/area_list_response.rbi +84 -0
- data/rbi/nextbillionai/models/autocomplete_suggest_params.rbi +166 -0
- data/rbi/nextbillionai/models/autocomplete_suggest_response.rbi +539 -0
- data/rbi/nextbillionai/models/autosuggest_suggest_params.rbi +166 -0
- data/rbi/nextbillionai/models/autosuggest_suggest_response.rbi +539 -0
- data/rbi/nextbillionai/models/batch_create_params.rbi +103 -0
- data/rbi/nextbillionai/models/batch_create_response.rbi +67 -0
- data/rbi/nextbillionai/models/batch_retrieve_params.rbi +58 -0
- data/rbi/nextbillionai/models/batch_retrieve_response.rbi +152 -0
- data/rbi/nextbillionai/models/browse_search_params.rbi +167 -0
- data/rbi/nextbillionai/models/browse_search_response.rbi +530 -0
- data/rbi/nextbillionai/models/categories.rbi +54 -0
- data/rbi/nextbillionai/models/contact_object.rbi +98 -0
- data/rbi/nextbillionai/models/contacts.rbi +87 -0
- data/rbi/nextbillionai/models/direction_compute_route_params.rbi +1442 -0
- data/rbi/nextbillionai/models/direction_compute_route_response.rbi +1364 -0
- data/rbi/nextbillionai/models/discover_retrieve_params.rbi +166 -0
- data/rbi/nextbillionai/models/discover_retrieve_response.rbi +539 -0
- data/rbi/nextbillionai/models/distance_matrix/json_create_params.rbi +34 -0
- data/rbi/nextbillionai/models/distance_matrix/json_retrieve_params.rbi +439 -0
- data/rbi/nextbillionai/models/distance_matrix/json_retrieve_response.rbi +202 -0
- data/rbi/nextbillionai/models/fleetify/document_template_content_request.rbi +379 -0
- data/rbi/nextbillionai/models/fleetify/document_template_content_response.rbi +330 -0
- data/rbi/nextbillionai/models/fleetify/document_template_create_params.rbi +80 -0
- data/rbi/nextbillionai/models/fleetify/document_template_create_response.rbi +168 -0
- data/rbi/nextbillionai/models/fleetify/document_template_delete_params.rbi +47 -0
- data/rbi/nextbillionai/models/fleetify/document_template_delete_response.rbi +46 -0
- data/rbi/nextbillionai/models/fleetify/document_template_list_params.rbi +47 -0
- data/rbi/nextbillionai/models/fleetify/document_template_list_response.rbi +185 -0
- data/rbi/nextbillionai/models/fleetify/document_template_retrieve_params.rbi +47 -0
- data/rbi/nextbillionai/models/fleetify/document_template_retrieve_response.rbi +170 -0
- data/rbi/nextbillionai/models/fleetify/document_template_update_params.rbi +95 -0
- data/rbi/nextbillionai/models/fleetify/document_template_update_response.rbi +166 -0
- data/rbi/nextbillionai/models/fleetify/route_create_params.rbi +595 -0
- data/rbi/nextbillionai/models/fleetify/route_create_response.rbi +360 -0
- data/rbi/nextbillionai/models/fleetify/route_redispatch_params.rbi +307 -0
- data/rbi/nextbillionai/models/fleetify/route_redispatch_response.rbi +810 -0
- data/rbi/nextbillionai/models/fleetify/routes/document_submission.rbi +12 -0
- data/rbi/nextbillionai/models/fleetify/routes/route_step_completion_mode.rbi +59 -0
- data/rbi/nextbillionai/models/fleetify/routes/route_step_geofence_config.rbi +111 -0
- data/rbi/nextbillionai/models/fleetify/routes/route_steps_request.rbi +362 -0
- data/rbi/nextbillionai/models/fleetify/routes/route_steps_response.rbi +538 -0
- data/rbi/nextbillionai/models/fleetify/routes/step_complete_params.rbi +107 -0
- data/rbi/nextbillionai/models/fleetify/routes/step_create_params.rbi +384 -0
- data/rbi/nextbillionai/models/fleetify/routes/step_create_response.rbi +77 -0
- data/rbi/nextbillionai/models/fleetify/routes/step_delete_params.rbi +58 -0
- data/rbi/nextbillionai/models/fleetify/routes/step_delete_response.rbi +50 -0
- data/rbi/nextbillionai/models/fleetify/routes/step_update_params.rbi +393 -0
- data/rbi/nextbillionai/models/fleetify/routes/step_update_response.rbi +77 -0
- data/rbi/nextbillionai/models/fleetify/routing_response.rbi +136 -0
- data/rbi/nextbillionai/models/geocode_batch_create_params.rbi +191 -0
- data/rbi/nextbillionai/models/geocode_batch_create_response.rbi +268 -0
- data/rbi/nextbillionai/models/geocode_retrieve_params.rbi +166 -0
- data/rbi/nextbillionai/models/geocode_retrieve_response.rbi +539 -0
- data/rbi/nextbillionai/models/geocode_structured_retrieve_params.rbi +207 -0
- data/rbi/nextbillionai/models/geocode_structured_retrieve_response.rbi +543 -0
- data/rbi/nextbillionai/models/geofence/batch_create_params.rbi +69 -0
- data/rbi/nextbillionai/models/geofence/batch_create_response.rbi +97 -0
- data/rbi/nextbillionai/models/geofence/batch_delete_params.rbi +63 -0
- data/rbi/nextbillionai/models/geofence/batch_list_params.rbi +58 -0
- data/rbi/nextbillionai/models/geofence/batch_list_response.rbi +96 -0
- data/rbi/nextbillionai/models/geofence/console_preview_params.rbi +34 -0
- data/rbi/nextbillionai/models/geofence/console_preview_response.rbi +104 -0
- data/rbi/nextbillionai/models/geofence/console_search_params.rbi +45 -0
- data/rbi/nextbillionai/models/geofence/console_search_response.rbi +138 -0
- data/rbi/nextbillionai/models/geofence/polygon_geojson.rbi +56 -0
- data/rbi/nextbillionai/models/geofence.rbi +326 -0
- data/rbi/nextbillionai/models/geofence_contains_params.rbi +90 -0
- data/rbi/nextbillionai/models/geofence_contains_response.rbi +255 -0
- data/rbi/nextbillionai/models/geofence_create_params.rbi +45 -0
- data/rbi/nextbillionai/models/geofence_create_response.rbi +97 -0
- data/rbi/nextbillionai/models/geofence_delete_params.rbi +45 -0
- data/rbi/nextbillionai/models/geofence_entity_create.rbi +603 -0
- data/rbi/nextbillionai/models/geofence_list_params.rbi +97 -0
- data/rbi/nextbillionai/models/geofence_list_response.rbi +111 -0
- data/rbi/nextbillionai/models/geofence_retrieve_params.rbi +45 -0
- data/rbi/nextbillionai/models/geofence_retrieve_response.rbi +96 -0
- data/rbi/nextbillionai/models/geofence_update_params.rbi +601 -0
- data/rbi/nextbillionai/models/isochrone_compute_params.rbi +248 -0
- data/rbi/nextbillionai/models/isochrone_compute_response.rbi +369 -0
- data/rbi/nextbillionai/models/lookup_by_id_params.rbi +58 -0
- data/rbi/nextbillionai/models/lookup_by_id_response.rbi +174 -0
- data/rbi/nextbillionai/models/map_create_segment_params.rbi +32 -0
- data/rbi/nextbillionai/models/map_view.rbi +70 -0
- data/rbi/nextbillionai/models/mdm_create_distance_matrix_params.rbi +868 -0
- data/rbi/nextbillionai/models/mdm_create_distance_matrix_response.rbi +88 -0
- data/rbi/nextbillionai/models/mdm_get_distance_matrix_status_params.rbi +58 -0
- data/rbi/nextbillionai/models/mdm_get_distance_matrix_status_response.rbi +141 -0
- data/rbi/nextbillionai/models/multigeocode/place_create_params.rbi +518 -0
- data/rbi/nextbillionai/models/multigeocode/place_create_response.rbi +39 -0
- data/rbi/nextbillionai/models/multigeocode/place_delete_params.rbi +47 -0
- data/rbi/nextbillionai/models/multigeocode/place_delete_response.rbi +46 -0
- data/rbi/nextbillionai/models/multigeocode/place_item.rbi +255 -0
- data/rbi/nextbillionai/models/multigeocode/place_retrieve_params.rbi +47 -0
- data/rbi/nextbillionai/models/multigeocode/place_retrieve_response.rbi +226 -0
- data/rbi/nextbillionai/models/multigeocode/place_update_params.rbi +245 -0
- data/rbi/nextbillionai/models/multigeocode/place_update_response.rbi +46 -0
- data/rbi/nextbillionai/models/multigeocode_search_params.rbi +205 -0
- data/rbi/nextbillionai/models/multigeocode_search_response.rbi +277 -0
- data/rbi/nextbillionai/models/navigation_retrieve_route_params.rbi +692 -0
- data/rbi/nextbillionai/models/navigation_retrieve_route_response.rbi +1894 -0
- data/rbi/nextbillionai/models/optimization/driver_assignment_assign_params.rbi +1306 -0
- data/rbi/nextbillionai/models/optimization/driver_assignment_assign_response.rbi +720 -0
- data/rbi/nextbillionai/models/optimization/job.rbi +798 -0
- data/rbi/nextbillionai/models/optimization/location.rbi +39 -0
- data/rbi/nextbillionai/models/optimization/shipment.rbi +1030 -0
- data/rbi/nextbillionai/models/optimization/v2_retrieve_result_params.rbi +60 -0
- data/rbi/nextbillionai/models/optimization/v2_retrieve_result_response.rbi +1318 -0
- data/rbi/nextbillionai/models/optimization/v2_submit_params.rbi +3695 -0
- data/rbi/nextbillionai/models/optimization/vehicle.rbi +168 -0
- data/rbi/nextbillionai/models/optimization_compute_params.rbi +453 -0
- data/rbi/nextbillionai/models/optimization_compute_response.rbi +885 -0
- data/rbi/nextbillionai/models/optimization_re_optimize_params.rbi +439 -0
- data/rbi/nextbillionai/models/position.rbi +40 -0
- data/rbi/nextbillionai/models/post_response.rbi +81 -0
- data/rbi/nextbillionai/models/postalcode_retrieve_coordinates_params.rbi +211 -0
- data/rbi/nextbillionai/models/postalcode_retrieve_coordinates_response.rbi +661 -0
- data/rbi/nextbillionai/models/restriction_create_params.rbi +119 -0
- data/rbi/nextbillionai/models/restriction_delete_params.rbi +45 -0
- data/rbi/nextbillionai/models/restriction_delete_response.rbi +42 -0
- data/rbi/nextbillionai/models/restriction_list_by_bbox_params.rbi +447 -0
- data/rbi/nextbillionai/models/restriction_list_by_bbox_response.rbi +13 -0
- data/rbi/nextbillionai/models/restriction_list_params.rbi +414 -0
- data/rbi/nextbillionai/models/restriction_list_response.rbi +120 -0
- data/rbi/nextbillionai/models/restriction_retrieve_params.rbi +59 -0
- data/rbi/nextbillionai/models/restriction_set_state_params.rbi +99 -0
- data/rbi/nextbillionai/models/restriction_update_params.rbi +65 -0
- data/rbi/nextbillionai/models/restrictions_item_list_params.rbi +325 -0
- data/rbi/nextbillionai/models/restrictions_item_list_response.rbi +436 -0
- data/rbi/nextbillionai/models/revgeocode_retrieve_params.rbi +132 -0
- data/rbi/nextbillionai/models/revgeocode_retrieve_response.rbi +539 -0
- data/rbi/nextbillionai/models/rich_group_request.rbi +507 -0
- data/rbi/nextbillionai/models/rich_group_response.rbi +464 -0
- data/rbi/nextbillionai/models/route_report_create_params.rbi +121 -0
- data/rbi/nextbillionai/models/route_report_create_response.rbi +982 -0
- data/rbi/nextbillionai/models/skynet/asset/event_list_params.rbi +177 -0
- data/rbi/nextbillionai/models/skynet/asset/event_list_response.rbi +721 -0
- data/rbi/nextbillionai/models/skynet/asset/location_get_last_params.rbi +106 -0
- data/rbi/nextbillionai/models/skynet/asset/location_get_last_response.rbi +136 -0
- data/rbi/nextbillionai/models/skynet/asset/location_list_params.rbi +265 -0
- data/rbi/nextbillionai/models/skynet/asset/location_list_response.rbi +503 -0
- data/rbi/nextbillionai/models/skynet/asset/track_location.rbi +209 -0
- data/rbi/nextbillionai/models/skynet/asset_bind_params.rbi +66 -0
- data/rbi/nextbillionai/models/skynet/asset_create_params.rbi +208 -0
- data/rbi/nextbillionai/models/skynet/asset_create_response.rbi +114 -0
- data/rbi/nextbillionai/models/skynet/asset_delete_params.rbi +100 -0
- data/rbi/nextbillionai/models/skynet/asset_details.rbi +387 -0
- data/rbi/nextbillionai/models/skynet/asset_list_params.rbi +213 -0
- data/rbi/nextbillionai/models/skynet/asset_list_response.rbi +140 -0
- data/rbi/nextbillionai/models/skynet/asset_retrieve_params.rbi +101 -0
- data/rbi/nextbillionai/models/skynet/asset_retrieve_response.rbi +122 -0
- data/rbi/nextbillionai/models/skynet/asset_track_params.rbi +329 -0
- data/rbi/nextbillionai/models/skynet/asset_update_attributes_params.rbi +82 -0
- data/rbi/nextbillionai/models/skynet/asset_update_params.rbi +189 -0
- data/rbi/nextbillionai/models/skynet/config_retrieve_params.rbi +104 -0
- data/rbi/nextbillionai/models/skynet/config_retrieve_response.rbi +163 -0
- data/rbi/nextbillionai/models/skynet/config_test_webhook_params.rbi +47 -0
- data/rbi/nextbillionai/models/skynet/config_test_webhook_response.rbi +47 -0
- data/rbi/nextbillionai/models/skynet/config_update_params.rbi +114 -0
- data/rbi/nextbillionai/models/skynet/meta_data.rbi +9 -0
- data/rbi/nextbillionai/models/skynet/metadata.rbi +9 -0
- data/rbi/nextbillionai/models/skynet/monitor.rbi +568 -0
- data/rbi/nextbillionai/models/skynet/monitor_create_params.rbi +792 -0
- data/rbi/nextbillionai/models/skynet/monitor_create_response.rbi +114 -0
- data/rbi/nextbillionai/models/skynet/monitor_delete_params.rbi +47 -0
- data/rbi/nextbillionai/models/skynet/monitor_list_params.rbi +166 -0
- data/rbi/nextbillionai/models/skynet/monitor_list_response.rbi +143 -0
- data/rbi/nextbillionai/models/skynet/monitor_retrieve_params.rbi +47 -0
- data/rbi/nextbillionai/models/skynet/monitor_retrieve_response.rbi +119 -0
- data/rbi/nextbillionai/models/skynet/monitor_update_params.rbi +690 -0
- data/rbi/nextbillionai/models/skynet/namespaced_apikey_create_params.rbi +64 -0
- data/rbi/nextbillionai/models/skynet/namespaced_apikey_create_response.rbi +182 -0
- data/rbi/nextbillionai/models/skynet/namespaced_apikey_delete_params.rbi +78 -0
- data/rbi/nextbillionai/models/skynet/namespaced_apikey_delete_response.rbi +52 -0
- data/rbi/nextbillionai/models/skynet/pagination.rbi +84 -0
- data/rbi/nextbillionai/models/skynet/search/polygon_create_params.rbi +583 -0
- data/rbi/nextbillionai/models/skynet/search/polygon_get_params.rbi +358 -0
- data/rbi/nextbillionai/models/skynet/search_around_params.rbi +346 -0
- data/rbi/nextbillionai/models/skynet/search_bound_params.rbi +341 -0
- data/rbi/nextbillionai/models/skynet/search_response.rbi +390 -0
- data/rbi/nextbillionai/models/skynet/simple_resp.rbi +52 -0
- data/rbi/nextbillionai/models/skynet/trip_delete_params.rbi +99 -0
- data/rbi/nextbillionai/models/skynet/trip_end_params.rbi +104 -0
- data/rbi/nextbillionai/models/skynet/trip_get_summary_params.rbi +104 -0
- data/rbi/nextbillionai/models/skynet/trip_get_summary_response.rbi +414 -0
- data/rbi/nextbillionai/models/skynet/trip_retrieve_params.rbi +101 -0
- data/rbi/nextbillionai/models/skynet/trip_retrieve_response.rbi +354 -0
- data/rbi/nextbillionai/models/skynet/trip_start_params.rbi +279 -0
- data/rbi/nextbillionai/models/skynet/trip_start_response.rbi +112 -0
- data/rbi/nextbillionai/models/skynet/trip_stop.rbi +69 -0
- data/rbi/nextbillionai/models/skynet/trip_update_params.rbi +274 -0
- data/rbi/nextbillionai/models/skynet_subscribe_params.rbi +170 -0
- data/rbi/nextbillionai/models/skynet_subscribe_response.rbi +75 -0
- data/rbi/nextbillionai/models/snap_to_road_snap_params.rbi +492 -0
- data/rbi/nextbillionai/models/snap_to_road_snap_response.rbi +546 -0
- data/rbi/nextbillionai/models.rbi +125 -0
- data/rbi/nextbillionai/request_options.rbi +59 -0
- data/rbi/nextbillionai/resources/areas.rbi +27 -0
- data/rbi/nextbillionai/resources/autocomplete.rbi +75 -0
- data/rbi/nextbillionai/resources/autosuggest.rbi +75 -0
- data/rbi/nextbillionai/resources/batch.rbi +50 -0
- data/rbi/nextbillionai/resources/browse.rbi +74 -0
- data/rbi/nextbillionai/resources/directions.rbi +320 -0
- data/rbi/nextbillionai/resources/discover.rbi +75 -0
- data/rbi/nextbillionai/resources/distance_matrix/json.rbi +129 -0
- data/rbi/nextbillionai/resources/distance_matrix.rbi +15 -0
- data/rbi/nextbillionai/resources/fleetify/document_templates.rbi +130 -0
- data/rbi/nextbillionai/resources/fleetify/routes/steps.rbi +270 -0
- data/rbi/nextbillionai/resources/fleetify/routes.rbi +114 -0
- data/rbi/nextbillionai/resources/fleetify.rbi +18 -0
- data/rbi/nextbillionai/resources/geocode.rbi +164 -0
- data/rbi/nextbillionai/resources/geofence/batch.rbi +70 -0
- data/rbi/nextbillionai/resources/geofence/console.rbi +89 -0
- data/rbi/nextbillionai/resources/geofence.rbi +249 -0
- data/rbi/nextbillionai/resources/isochrone.rbi +89 -0
- data/rbi/nextbillionai/resources/lookup.rbi +31 -0
- data/rbi/nextbillionai/resources/map.rbi +19 -0
- data/rbi/nextbillionai/resources/mdm.rbi +182 -0
- data/rbi/nextbillionai/resources/multigeocode/place.rbi +155 -0
- data/rbi/nextbillionai/resources/multigeocode.rbi +73 -0
- data/rbi/nextbillionai/resources/navigation.rbi +152 -0
- data/rbi/nextbillionai/resources/optimization/driver_assignment.rbi +54 -0
- data/rbi/nextbillionai/resources/optimization/v2.rbi +217 -0
- data/rbi/nextbillionai/resources/optimization.rbi +165 -0
- data/rbi/nextbillionai/resources/postalcode.rbi +54 -0
- data/rbi/nextbillionai/resources/restrictions.rbi +487 -0
- data/rbi/nextbillionai/resources/restrictions_items.rbi +46 -0
- data/rbi/nextbillionai/resources/revgeocode.rbi +63 -0
- data/rbi/nextbillionai/resources/route_report.rbi +41 -0
- data/rbi/nextbillionai/resources/skynet/asset/event.rbi +64 -0
- data/rbi/nextbillionai/resources/skynet/asset/location.rbi +106 -0
- data/rbi/nextbillionai/resources/skynet/asset.rbi +336 -0
- data/rbi/nextbillionai/resources/skynet/config.rbi +71 -0
- data/rbi/nextbillionai/resources/skynet/monitor.rbi +305 -0
- data/rbi/nextbillionai/resources/skynet/namespaced_apikeys.rbi +66 -0
- data/rbi/nextbillionai/resources/skynet/search/polygon.rbi +175 -0
- data/rbi/nextbillionai/resources/skynet/search.rbi +191 -0
- data/rbi/nextbillionai/resources/skynet/trip.rbi +210 -0
- data/rbi/nextbillionai/resources/skynet.rbi +60 -0
- data/rbi/nextbillionai/resources/snap_to_roads.rbi +103 -0
- data/rbi/nextbillionai/version.rbi +5 -0
- data/sig/nextbillionai/client.rbs +74 -0
- data/sig/nextbillionai/errors.rbs +110 -0
- data/sig/nextbillionai/file_part.rbs +21 -0
- data/sig/nextbillionai/internal/transport/base_client.rbs +131 -0
- data/sig/nextbillionai/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/nextbillionai/internal/type/array_of.rbs +48 -0
- data/sig/nextbillionai/internal/type/base_model.rbs +104 -0
- data/sig/nextbillionai/internal/type/base_page.rbs +24 -0
- data/sig/nextbillionai/internal/type/boolean.rbs +26 -0
- data/sig/nextbillionai/internal/type/converter.rbs +62 -0
- data/sig/nextbillionai/internal/type/enum.rbs +32 -0
- data/sig/nextbillionai/internal/type/file_input.rbs +25 -0
- data/sig/nextbillionai/internal/type/hash_of.rbs +48 -0
- data/sig/nextbillionai/internal/type/request_parameters.rbs +19 -0
- data/sig/nextbillionai/internal/type/union.rbs +52 -0
- data/sig/nextbillionai/internal/type/unknown.rbs +26 -0
- data/sig/nextbillionai/internal/util.rbs +185 -0
- data/sig/nextbillionai/internal.rbs +10 -0
- data/sig/nextbillionai/models/access.rbs +19 -0
- data/sig/nextbillionai/models/address.rbs +92 -0
- data/sig/nextbillionai/models/area_list_params.rbs +23 -0
- data/sig/nextbillionai/models/area_list_response.rbs +43 -0
- data/sig/nextbillionai/models/autocomplete_suggest_params.rbs +59 -0
- data/sig/nextbillionai/models/autocomplete_suggest_response.rbs +236 -0
- data/sig/nextbillionai/models/autosuggest_suggest_params.rbs +59 -0
- data/sig/nextbillionai/models/autosuggest_suggest_response.rbs +236 -0
- data/sig/nextbillionai/models/batch_create_params.rbs +47 -0
- data/sig/nextbillionai/models/batch_create_response.rbs +24 -0
- data/sig/nextbillionai/models/batch_retrieve_params.rbs +28 -0
- data/sig/nextbillionai/models/batch_retrieve_response.rbs +61 -0
- data/sig/nextbillionai/models/browse_search_params.rbs +61 -0
- data/sig/nextbillionai/models/browse_search_response.rbs +234 -0
- data/sig/nextbillionai/models/categories.rbs +23 -0
- data/sig/nextbillionai/models/contact_object.rbs +50 -0
- data/sig/nextbillionai/models/contacts.rbs +69 -0
- data/sig/nextbillionai/models/direction_compute_route_params.rbs +391 -0
- data/sig/nextbillionai/models/direction_compute_route_response.rbs +554 -0
- data/sig/nextbillionai/models/discover_retrieve_params.rbs +59 -0
- data/sig/nextbillionai/models/discover_retrieve_response.rbs +234 -0
- data/sig/nextbillionai/models/distance_matrix/json_create_params.rbs +17 -0
- data/sig/nextbillionai/models/distance_matrix/json_retrieve_params.rbs +114 -0
- data/sig/nextbillionai/models/distance_matrix/json_retrieve_response.rbs +77 -0
- data/sig/nextbillionai/models/fleetify/document_template_content_request.rbs +148 -0
- data/sig/nextbillionai/models/fleetify/document_template_content_response.rbs +135 -0
- data/sig/nextbillionai/models/fleetify/document_template_create_params.rbs +38 -0
- data/sig/nextbillionai/models/fleetify/document_template_create_response.rbs +75 -0
- data/sig/nextbillionai/models/fleetify/document_template_delete_params.rbs +25 -0
- data/sig/nextbillionai/models/fleetify/document_template_delete_response.rbs +21 -0
- data/sig/nextbillionai/models/fleetify/document_template_list_params.rbs +25 -0
- data/sig/nextbillionai/models/fleetify/document_template_list_response.rbs +75 -0
- data/sig/nextbillionai/models/fleetify/document_template_retrieve_params.rbs +25 -0
- data/sig/nextbillionai/models/fleetify/document_template_retrieve_response.rbs +75 -0
- data/sig/nextbillionai/models/fleetify/document_template_update_params.rbs +44 -0
- data/sig/nextbillionai/models/fleetify/document_template_update_response.rbs +75 -0
- data/sig/nextbillionai/models/fleetify/route_create_params.rbs +199 -0
- data/sig/nextbillionai/models/fleetify/route_create_response.rbs +159 -0
- data/sig/nextbillionai/models/fleetify/route_redispatch_params.rbs +118 -0
- data/sig/nextbillionai/models/fleetify/route_redispatch_response.rbs +359 -0
- data/sig/nextbillionai/models/fleetify/routes/document_submission.rbs +9 -0
- data/sig/nextbillionai/models/fleetify/routes/route_step_completion_mode.rbs +22 -0
- data/sig/nextbillionai/models/fleetify/routes/route_step_geofence_config.rbs +47 -0
- data/sig/nextbillionai/models/fleetify/routes/route_steps_request.rbs +134 -0
- data/sig/nextbillionai/models/fleetify/routes/route_steps_response.rbs +223 -0
- data/sig/nextbillionai/models/fleetify/routes/step_complete_params.rbs +56 -0
- data/sig/nextbillionai/models/fleetify/routes/step_create_params.rbs +148 -0
- data/sig/nextbillionai/models/fleetify/routes/step_create_response.rbs +42 -0
- data/sig/nextbillionai/models/fleetify/routes/step_delete_params.rbs +32 -0
- data/sig/nextbillionai/models/fleetify/routes/step_delete_response.rbs +23 -0
- data/sig/nextbillionai/models/fleetify/routes/step_update_params.rbs +159 -0
- data/sig/nextbillionai/models/fleetify/routes/step_update_response.rbs +42 -0
- data/sig/nextbillionai/models/fleetify/routing_response.rbs +66 -0
- data/sig/nextbillionai/models/geocode_batch_create_params.rbs +70 -0
- data/sig/nextbillionai/models/geocode_batch_create_response.rbs +128 -0
- data/sig/nextbillionai/models/geocode_retrieve_params.rbs +59 -0
- data/sig/nextbillionai/models/geocode_retrieve_response.rbs +234 -0
- data/sig/nextbillionai/models/geocode_structured_retrieve_params.rbs +94 -0
- data/sig/nextbillionai/models/geocode_structured_retrieve_response.rbs +236 -0
- data/sig/nextbillionai/models/geofence/batch_create_params.rbs +34 -0
- data/sig/nextbillionai/models/geofence/batch_create_response.rbs +45 -0
- data/sig/nextbillionai/models/geofence/batch_delete_params.rbs +32 -0
- data/sig/nextbillionai/models/geofence/batch_list_params.rbs +30 -0
- data/sig/nextbillionai/models/geofence/batch_list_response.rbs +37 -0
- data/sig/nextbillionai/models/geofence/console_preview_params.rbs +17 -0
- data/sig/nextbillionai/models/geofence/console_preview_response.rbs +49 -0
- data/sig/nextbillionai/models/geofence/console_search_params.rbs +25 -0
- data/sig/nextbillionai/models/geofence/console_search_response.rbs +56 -0
- data/sig/nextbillionai/models/geofence/polygon_geojson.rbs +25 -0
- data/sig/nextbillionai/models/geofence.rbs +161 -0
- data/sig/nextbillionai/models/geofence_contains_params.rbs +40 -0
- data/sig/nextbillionai/models/geofence_contains_response.rbs +105 -0
- data/sig/nextbillionai/models/geofence_create_params.rbs +25 -0
- data/sig/nextbillionai/models/geofence_create_response.rbs +43 -0
- data/sig/nextbillionai/models/geofence_delete_params.rbs +23 -0
- data/sig/nextbillionai/models/geofence_entity_create.rbs +216 -0
- data/sig/nextbillionai/models/geofence_list_params.rbs +42 -0
- data/sig/nextbillionai/models/geofence_list_response.rbs +61 -0
- data/sig/nextbillionai/models/geofence_retrieve_params.rbs +23 -0
- data/sig/nextbillionai/models/geofence_retrieve_response.rbs +45 -0
- data/sig/nextbillionai/models/geofence_update_params.rbs +227 -0
- data/sig/nextbillionai/models/isochrone_compute_params.rbs +96 -0
- data/sig/nextbillionai/models/isochrone_compute_response.rbs +159 -0
- data/sig/nextbillionai/models/lookup_by_id_params.rbs +28 -0
- data/sig/nextbillionai/models/lookup_by_id_response.rbs +94 -0
- data/sig/nextbillionai/models/map_create_segment_params.rbs +15 -0
- data/sig/nextbillionai/models/map_view.rbs +37 -0
- data/sig/nextbillionai/models/mdm_create_distance_matrix_params.rbs +270 -0
- data/sig/nextbillionai/models/mdm_create_distance_matrix_response.rbs +43 -0
- data/sig/nextbillionai/models/mdm_get_distance_matrix_status_params.rbs +28 -0
- data/sig/nextbillionai/models/mdm_get_distance_matrix_status_response.rbs +57 -0
- data/sig/nextbillionai/models/multigeocode/place_create_params.rbs +226 -0
- data/sig/nextbillionai/models/multigeocode/place_create_response.rbs +17 -0
- data/sig/nextbillionai/models/multigeocode/place_delete_params.rbs +25 -0
- data/sig/nextbillionai/models/multigeocode/place_delete_response.rbs +21 -0
- data/sig/nextbillionai/models/multigeocode/place_item.rbs +133 -0
- data/sig/nextbillionai/models/multigeocode/place_retrieve_params.rbs +25 -0
- data/sig/nextbillionai/models/multigeocode/place_retrieve_response.rbs +95 -0
- data/sig/nextbillionai/models/multigeocode/place_update_params.rbs +99 -0
- data/sig/nextbillionai/models/multigeocode/place_update_response.rbs +21 -0
- data/sig/nextbillionai/models/multigeocode_search_params.rbs +104 -0
- data/sig/nextbillionai/models/multigeocode_search_response.rbs +114 -0
- data/sig/nextbillionai/models/navigation_retrieve_route_params.rbs +206 -0
- data/sig/nextbillionai/models/navigation_retrieve_route_response.rbs +812 -0
- data/sig/nextbillionai/models/optimization/driver_assignment_assign_params.rbs +412 -0
- data/sig/nextbillionai/models/optimization/driver_assignment_assign_response.rbs +281 -0
- data/sig/nextbillionai/models/optimization/job.rbs +225 -0
- data/sig/nextbillionai/models/optimization/location.rbs +17 -0
- data/sig/nextbillionai/models/optimization/shipment.rbs +313 -0
- data/sig/nextbillionai/models/optimization/v2_retrieve_result_params.rbs +30 -0
- data/sig/nextbillionai/models/optimization/v2_retrieve_result_response.rbs +555 -0
- data/sig/nextbillionai/models/optimization/v2_submit_params.rbs +1138 -0
- data/sig/nextbillionai/models/optimization/vehicle.rbs +66 -0
- data/sig/nextbillionai/models/optimization_compute_params.rbs +146 -0
- data/sig/nextbillionai/models/optimization_compute_response.rbs +386 -0
- data/sig/nextbillionai/models/optimization_re_optimize_params.rbs +176 -0
- data/sig/nextbillionai/models/position.rbs +19 -0
- data/sig/nextbillionai/models/post_response.rbs +38 -0
- data/sig/nextbillionai/models/postalcode_retrieve_coordinates_params.rbs +84 -0
- data/sig/nextbillionai/models/postalcode_retrieve_coordinates_response.rbs +260 -0
- data/sig/nextbillionai/models/restriction_create_params.rbs +48 -0
- data/sig/nextbillionai/models/restriction_delete_params.rbs +23 -0
- data/sig/nextbillionai/models/restriction_delete_response.rbs +19 -0
- data/sig/nextbillionai/models/restriction_list_by_bbox_params.rbs +162 -0
- data/sig/nextbillionai/models/restriction_list_by_bbox_response.rbs +8 -0
- data/sig/nextbillionai/models/restriction_list_params.rbs +164 -0
- data/sig/nextbillionai/models/restriction_list_response.rbs +57 -0
- data/sig/nextbillionai/models/restriction_retrieve_params.rbs +30 -0
- data/sig/nextbillionai/models/restriction_set_state_params.rbs +43 -0
- data/sig/nextbillionai/models/restriction_update_params.rbs +32 -0
- data/sig/nextbillionai/models/restrictions_item_list_params.rbs +145 -0
- data/sig/nextbillionai/models/restrictions_item_list_response.rbs +166 -0
- data/sig/nextbillionai/models/revgeocode_retrieve_params.rbs +40 -0
- data/sig/nextbillionai/models/revgeocode_retrieve_response.rbs +236 -0
- data/sig/nextbillionai/models/rich_group_request.rbs +207 -0
- data/sig/nextbillionai/models/rich_group_response.rbs +207 -0
- data/sig/nextbillionai/models/route_report_create_params.rbs +47 -0
- data/sig/nextbillionai/models/route_report_create_response.rbs +408 -0
- data/sig/nextbillionai/models/skynet/asset/event_list_params.rbs +84 -0
- data/sig/nextbillionai/models/skynet/asset/event_list_response.rbs +303 -0
- data/sig/nextbillionai/models/skynet/asset/location_get_last_params.rbs +49 -0
- data/sig/nextbillionai/models/skynet/asset/location_get_last_response.rbs +60 -0
- data/sig/nextbillionai/models/skynet/asset/location_list_params.rbs +105 -0
- data/sig/nextbillionai/models/skynet/asset/location_list_response.rbs +216 -0
- data/sig/nextbillionai/models/skynet/asset/track_location.rbs +100 -0
- data/sig/nextbillionai/models/skynet/asset_bind_params.rbs +30 -0
- data/sig/nextbillionai/models/skynet/asset_create_params.rbs +89 -0
- data/sig/nextbillionai/models/skynet/asset_create_response.rbs +52 -0
- data/sig/nextbillionai/models/skynet/asset_delete_params.rbs +47 -0
- data/sig/nextbillionai/models/skynet/asset_details.rbs +175 -0
- data/sig/nextbillionai/models/skynet/asset_list_params.rbs +89 -0
- data/sig/nextbillionai/models/skynet/asset_list_response.rbs +70 -0
- data/sig/nextbillionai/models/skynet/asset_retrieve_params.rbs +47 -0
- data/sig/nextbillionai/models/skynet/asset_retrieve_response.rbs +54 -0
- data/sig/nextbillionai/models/skynet/asset_track_params.rbs +140 -0
- data/sig/nextbillionai/models/skynet/asset_update_attributes_params.rbs +30 -0
- data/sig/nextbillionai/models/skynet/asset_update_params.rbs +82 -0
- data/sig/nextbillionai/models/skynet/config_retrieve_params.rbs +47 -0
- data/sig/nextbillionai/models/skynet/config_retrieve_response.rbs +73 -0
- data/sig/nextbillionai/models/skynet/config_test_webhook_params.rbs +25 -0
- data/sig/nextbillionai/models/skynet/config_test_webhook_response.rbs +17 -0
- data/sig/nextbillionai/models/skynet/config_update_params.rbs +54 -0
- data/sig/nextbillionai/models/skynet/meta_data.rbs +7 -0
- data/sig/nextbillionai/models/skynet/metadata.rbs +7 -0
- data/sig/nextbillionai/models/skynet/monitor.rbs +220 -0
- data/sig/nextbillionai/models/skynet/monitor_create_params.rbs +226 -0
- data/sig/nextbillionai/models/skynet/monitor_create_response.rbs +52 -0
- data/sig/nextbillionai/models/skynet/monitor_delete_params.rbs +25 -0
- data/sig/nextbillionai/models/skynet/monitor_list_params.rbs +75 -0
- data/sig/nextbillionai/models/skynet/monitor_list_response.rbs +70 -0
- data/sig/nextbillionai/models/skynet/monitor_retrieve_params.rbs +25 -0
- data/sig/nextbillionai/models/skynet/monitor_retrieve_response.rbs +56 -0
- data/sig/nextbillionai/models/skynet/monitor_update_params.rbs +206 -0
- data/sig/nextbillionai/models/skynet/namespaced_apikey_create_params.rbs +30 -0
- data/sig/nextbillionai/models/skynet/namespaced_apikey_create_response.rbs +94 -0
- data/sig/nextbillionai/models/skynet/namespaced_apikey_delete_params.rbs +34 -0
- data/sig/nextbillionai/models/skynet/namespaced_apikey_delete_response.rbs +21 -0
- data/sig/nextbillionai/models/skynet/pagination.rbs +40 -0
- data/sig/nextbillionai/models/skynet/search/polygon_create_params.rbs +193 -0
- data/sig/nextbillionai/models/skynet/search/polygon_get_params.rbs +125 -0
- data/sig/nextbillionai/models/skynet/search_around_params.rbs +128 -0
- data/sig/nextbillionai/models/skynet/search_bound_params.rbs +123 -0
- data/sig/nextbillionai/models/skynet/search_response.rbs +185 -0
- data/sig/nextbillionai/models/skynet/simple_resp.rbs +21 -0
- data/sig/nextbillionai/models/skynet/trip_delete_params.rbs +47 -0
- data/sig/nextbillionai/models/skynet/trip_end_params.rbs +52 -0
- data/sig/nextbillionai/models/skynet/trip_get_summary_params.rbs +47 -0
- data/sig/nextbillionai/models/skynet/trip_get_summary_response.rbs +198 -0
- data/sig/nextbillionai/models/skynet/trip_retrieve_params.rbs +47 -0
- data/sig/nextbillionai/models/skynet/trip_retrieve_response.rbs +168 -0
- data/sig/nextbillionai/models/skynet/trip_start_params.rbs +120 -0
- data/sig/nextbillionai/models/skynet/trip_start_response.rbs +52 -0
- data/sig/nextbillionai/models/skynet/trip_stop.rbs +29 -0
- data/sig/nextbillionai/models/skynet/trip_update_params.rbs +113 -0
- data/sig/nextbillionai/models/skynet_subscribe_params.rbs +64 -0
- data/sig/nextbillionai/models/skynet_subscribe_response.rbs +38 -0
- data/sig/nextbillionai/models/snap_to_road_snap_params.rbs +173 -0
- data/sig/nextbillionai/models/snap_to_road_snap_response.rbs +215 -0
- data/sig/nextbillionai/models.rbs +115 -0
- data/sig/nextbillionai/request_options.rbs +36 -0
- data/sig/nextbillionai/resources/areas.rbs +12 -0
- data/sig/nextbillionai/resources/autocomplete.rbs +17 -0
- data/sig/nextbillionai/resources/autosuggest.rbs +17 -0
- data/sig/nextbillionai/resources/batch.rbs +19 -0
- data/sig/nextbillionai/resources/browse.rbs +17 -0
- data/sig/nextbillionai/resources/directions.rbs +37 -0
- data/sig/nextbillionai/resources/discover.rbs +17 -0
- data/sig/nextbillionai/resources/distance_matrix/json.rbs +23 -0
- data/sig/nextbillionai/resources/distance_matrix.rbs +9 -0
- data/sig/nextbillionai/resources/fleetify/document_templates.rbs +41 -0
- data/sig/nextbillionai/resources/fleetify/routes/steps.rbs +61 -0
- data/sig/nextbillionai/resources/fleetify/routes.rbs +30 -0
- data/sig/nextbillionai/resources/fleetify.rbs +11 -0
- data/sig/nextbillionai/resources/geocode.rbs +38 -0
- data/sig/nextbillionai/resources/geofence/batch.rbs +27 -0
- data/sig/nextbillionai/resources/geofence/console.rbs +26 -0
- data/sig/nextbillionai/resources/geofence.rbs +65 -0
- data/sig/nextbillionai/resources/isochrone.rbs +21 -0
- data/sig/nextbillionai/resources/lookup.rbs +13 -0
- data/sig/nextbillionai/resources/map.rbs +9 -0
- data/sig/nextbillionai/resources/mdm.rbs +34 -0
- data/sig/nextbillionai/resources/multigeocode/place.rbs +39 -0
- data/sig/nextbillionai/resources/multigeocode.rbs +24 -0
- data/sig/nextbillionai/resources/navigation.rbs +26 -0
- data/sig/nextbillionai/resources/optimization/driver_assignment.rbs +18 -0
- data/sig/nextbillionai/resources/optimization/v2.rbs +35 -0
- data/sig/nextbillionai/resources/optimization.rbs +34 -0
- data/sig/nextbillionai/resources/postalcode.rbs +16 -0
- data/sig/nextbillionai/resources/restrictions.rbs +107 -0
- data/sig/nextbillionai/resources/restrictions_items.rbs +21 -0
- data/sig/nextbillionai/resources/revgeocode.rbs +15 -0
- data/sig/nextbillionai/resources/route_report.rbs +14 -0
- data/sig/nextbillionai/resources/skynet/asset/event.rbs +23 -0
- data/sig/nextbillionai/resources/skynet/asset/location.rbs +31 -0
- data/sig/nextbillionai/resources/skynet/asset.rbs +86 -0
- data/sig/nextbillionai/resources/skynet/config.rbs +27 -0
- data/sig/nextbillionai/resources/skynet/monitor.rbs +64 -0
- data/sig/nextbillionai/resources/skynet/namespaced_apikeys.rbs +22 -0
- data/sig/nextbillionai/resources/skynet/search/polygon.rbs +38 -0
- data/sig/nextbillionai/resources/skynet/search.rbs +42 -0
- data/sig/nextbillionai/resources/skynet/trip.rbs +63 -0
- data/sig/nextbillionai/resources/skynet.rbs +26 -0
- data/sig/nextbillionai/resources/snap_to_roads.rbs +22 -0
- data/sig/nextbillionai/version.rbs +3 -0
- metadata +851 -0
|
@@ -0,0 +1,1318 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Nextbillionai
|
|
4
|
+
module Models
|
|
5
|
+
module Optimization
|
|
6
|
+
class V2RetrieveResultResponse < Nextbillionai::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse,
|
|
11
|
+
Nextbillionai::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Returns the description of the optimization job as given in the input POST
|
|
16
|
+
# optimization request. This field will not be present in the response if no
|
|
17
|
+
# description was provided in the input request.
|
|
18
|
+
sig { returns(T.nilable(String)) }
|
|
19
|
+
attr_reader :description
|
|
20
|
+
|
|
21
|
+
sig { params(description: String).void }
|
|
22
|
+
attr_writer :description
|
|
23
|
+
|
|
24
|
+
# Returns the message in case of errors or failures, otherwise a blank string is
|
|
25
|
+
# returned.
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_reader :message
|
|
28
|
+
|
|
29
|
+
sig { params(message: String).void }
|
|
30
|
+
attr_writer :message
|
|
31
|
+
|
|
32
|
+
# An object containing the details of the optimized routes.
|
|
33
|
+
sig do
|
|
34
|
+
returns(
|
|
35
|
+
T.nilable(
|
|
36
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result
|
|
37
|
+
)
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
attr_reader :result
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
params(
|
|
44
|
+
result:
|
|
45
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::OrHash
|
|
46
|
+
).void
|
|
47
|
+
end
|
|
48
|
+
attr_writer :result
|
|
49
|
+
|
|
50
|
+
# It indicates the overall status or result of the API request denoting whether
|
|
51
|
+
# the operation was successful or did it encounter any errors.
|
|
52
|
+
sig do
|
|
53
|
+
returns(
|
|
54
|
+
T.nilable(
|
|
55
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Status::TaggedSymbol
|
|
56
|
+
)
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
attr_reader :status
|
|
60
|
+
|
|
61
|
+
sig do
|
|
62
|
+
params(
|
|
63
|
+
status:
|
|
64
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Status::OrSymbol
|
|
65
|
+
).void
|
|
66
|
+
end
|
|
67
|
+
attr_writer :status
|
|
68
|
+
|
|
69
|
+
sig do
|
|
70
|
+
params(
|
|
71
|
+
description: String,
|
|
72
|
+
message: String,
|
|
73
|
+
result:
|
|
74
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::OrHash,
|
|
75
|
+
status:
|
|
76
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Status::OrSymbol
|
|
77
|
+
).returns(T.attached_class)
|
|
78
|
+
end
|
|
79
|
+
def self.new(
|
|
80
|
+
# Returns the description of the optimization job as given in the input POST
|
|
81
|
+
# optimization request. This field will not be present in the response if no
|
|
82
|
+
# description was provided in the input request.
|
|
83
|
+
description: nil,
|
|
84
|
+
# Returns the message in case of errors or failures, otherwise a blank string is
|
|
85
|
+
# returned.
|
|
86
|
+
message: nil,
|
|
87
|
+
# An object containing the details of the optimized routes.
|
|
88
|
+
result: nil,
|
|
89
|
+
# It indicates the overall status or result of the API request denoting whether
|
|
90
|
+
# the operation was successful or did it encounter any errors.
|
|
91
|
+
status: nil
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
sig do
|
|
96
|
+
override.returns(
|
|
97
|
+
{
|
|
98
|
+
description: String,
|
|
99
|
+
message: String,
|
|
100
|
+
result:
|
|
101
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result,
|
|
102
|
+
status:
|
|
103
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Status::TaggedSymbol
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
def to_hash
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
class Result < Nextbillionai::Internal::Type::BaseModel
|
|
111
|
+
OrHash =
|
|
112
|
+
T.type_alias do
|
|
113
|
+
T.any(
|
|
114
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result,
|
|
115
|
+
Nextbillionai::Internal::AnyHash
|
|
116
|
+
)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# A custom code representing the status of the result. A code other than 0,
|
|
120
|
+
# represents an internal error. In case of codes other than 0, please verify the
|
|
121
|
+
# parameter values, constraints and locations. If the issue does not resolve,
|
|
122
|
+
# please reach out to NextBillion at
|
|
123
|
+
# [support@nextbillion.ai](mailto:support@nextbillion.ai).
|
|
124
|
+
sig { returns(T.nilable(Integer)) }
|
|
125
|
+
attr_reader :code
|
|
126
|
+
|
|
127
|
+
sig { params(code: Integer).void }
|
|
128
|
+
attr_writer :code
|
|
129
|
+
|
|
130
|
+
# Returns the error message for unfulfilled optimization jobs. This field will not
|
|
131
|
+
# be present in the response in case there are no errors.
|
|
132
|
+
sig { returns(T.nilable(String)) }
|
|
133
|
+
attr_reader :error
|
|
134
|
+
|
|
135
|
+
sig { params(error: String).void }
|
|
136
|
+
attr_writer :error
|
|
137
|
+
|
|
138
|
+
# An array of objects containing the details of each route in the optimized
|
|
139
|
+
# solution. Each object represents one route.
|
|
140
|
+
sig do
|
|
141
|
+
returns(
|
|
142
|
+
T.nilable(
|
|
143
|
+
T::Array[
|
|
144
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Route
|
|
145
|
+
]
|
|
146
|
+
)
|
|
147
|
+
)
|
|
148
|
+
end
|
|
149
|
+
attr_reader :routes
|
|
150
|
+
|
|
151
|
+
sig do
|
|
152
|
+
params(
|
|
153
|
+
routes:
|
|
154
|
+
T::Array[
|
|
155
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Route::OrHash
|
|
156
|
+
]
|
|
157
|
+
).void
|
|
158
|
+
end
|
|
159
|
+
attr_writer :routes
|
|
160
|
+
|
|
161
|
+
# Returns all the routing profiles used in the solution. If no routing profiles
|
|
162
|
+
# were provided in the input or if the vehicles tagged to profiles were not used
|
|
163
|
+
# in the solution, the "default" routing properties are returned. Default routing
|
|
164
|
+
# properties are indicated by options.routing in the input.
|
|
165
|
+
sig { returns(T.nilable(T.anything)) }
|
|
166
|
+
attr_reader :routing_profiles
|
|
167
|
+
|
|
168
|
+
sig { params(routing_profiles: T.anything).void }
|
|
169
|
+
attr_writer :routing_profiles
|
|
170
|
+
|
|
171
|
+
# An object to describe the summarized result of the optimization request. This
|
|
172
|
+
# object can be useful to quickly get an overview of the important result
|
|
173
|
+
# parameters.
|
|
174
|
+
sig do
|
|
175
|
+
returns(
|
|
176
|
+
T.nilable(
|
|
177
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Summary
|
|
178
|
+
)
|
|
179
|
+
)
|
|
180
|
+
end
|
|
181
|
+
attr_reader :summary
|
|
182
|
+
|
|
183
|
+
sig do
|
|
184
|
+
params(
|
|
185
|
+
summary:
|
|
186
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Summary::OrHash
|
|
187
|
+
).void
|
|
188
|
+
end
|
|
189
|
+
attr_writer :summary
|
|
190
|
+
|
|
191
|
+
# An array of objects containing the details of unassigned tasks in the optimized
|
|
192
|
+
# solution. Each object represents one task.
|
|
193
|
+
sig do
|
|
194
|
+
returns(
|
|
195
|
+
T.nilable(
|
|
196
|
+
T::Array[
|
|
197
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Unassigned
|
|
198
|
+
]
|
|
199
|
+
)
|
|
200
|
+
)
|
|
201
|
+
end
|
|
202
|
+
attr_reader :unassigned
|
|
203
|
+
|
|
204
|
+
sig do
|
|
205
|
+
params(
|
|
206
|
+
unassigned:
|
|
207
|
+
T::Array[
|
|
208
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Unassigned::OrHash
|
|
209
|
+
]
|
|
210
|
+
).void
|
|
211
|
+
end
|
|
212
|
+
attr_writer :unassigned
|
|
213
|
+
|
|
214
|
+
# An object containing the details of the optimized routes.
|
|
215
|
+
sig do
|
|
216
|
+
params(
|
|
217
|
+
code: Integer,
|
|
218
|
+
error: String,
|
|
219
|
+
routes:
|
|
220
|
+
T::Array[
|
|
221
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Route::OrHash
|
|
222
|
+
],
|
|
223
|
+
routing_profiles: T.anything,
|
|
224
|
+
summary:
|
|
225
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Summary::OrHash,
|
|
226
|
+
unassigned:
|
|
227
|
+
T::Array[
|
|
228
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Unassigned::OrHash
|
|
229
|
+
]
|
|
230
|
+
).returns(T.attached_class)
|
|
231
|
+
end
|
|
232
|
+
def self.new(
|
|
233
|
+
# A custom code representing the status of the result. A code other than 0,
|
|
234
|
+
# represents an internal error. In case of codes other than 0, please verify the
|
|
235
|
+
# parameter values, constraints and locations. If the issue does not resolve,
|
|
236
|
+
# please reach out to NextBillion at
|
|
237
|
+
# [support@nextbillion.ai](mailto:support@nextbillion.ai).
|
|
238
|
+
code: nil,
|
|
239
|
+
# Returns the error message for unfulfilled optimization jobs. This field will not
|
|
240
|
+
# be present in the response in case there are no errors.
|
|
241
|
+
error: nil,
|
|
242
|
+
# An array of objects containing the details of each route in the optimized
|
|
243
|
+
# solution. Each object represents one route.
|
|
244
|
+
routes: nil,
|
|
245
|
+
# Returns all the routing profiles used in the solution. If no routing profiles
|
|
246
|
+
# were provided in the input or if the vehicles tagged to profiles were not used
|
|
247
|
+
# in the solution, the "default" routing properties are returned. Default routing
|
|
248
|
+
# properties are indicated by options.routing in the input.
|
|
249
|
+
routing_profiles: nil,
|
|
250
|
+
# An object to describe the summarized result of the optimization request. This
|
|
251
|
+
# object can be useful to quickly get an overview of the important result
|
|
252
|
+
# parameters.
|
|
253
|
+
summary: nil,
|
|
254
|
+
# An array of objects containing the details of unassigned tasks in the optimized
|
|
255
|
+
# solution. Each object represents one task.
|
|
256
|
+
unassigned: nil
|
|
257
|
+
)
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
sig do
|
|
261
|
+
override.returns(
|
|
262
|
+
{
|
|
263
|
+
code: Integer,
|
|
264
|
+
error: String,
|
|
265
|
+
routes:
|
|
266
|
+
T::Array[
|
|
267
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Route
|
|
268
|
+
],
|
|
269
|
+
routing_profiles: T.anything,
|
|
270
|
+
summary:
|
|
271
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Summary,
|
|
272
|
+
unassigned:
|
|
273
|
+
T::Array[
|
|
274
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Unassigned
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
)
|
|
278
|
+
end
|
|
279
|
+
def to_hash
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
class Route < Nextbillionai::Internal::Type::BaseModel
|
|
283
|
+
OrHash =
|
|
284
|
+
T.type_alias do
|
|
285
|
+
T.any(
|
|
286
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Route,
|
|
287
|
+
Nextbillionai::Internal::AnyHash
|
|
288
|
+
)
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
# Returns the capacity configuration of the vehicle that was used for this route.
|
|
292
|
+
# This field would return either the vehicle's capacity or one of the
|
|
293
|
+
# alternative_capacities provided in the input request.
|
|
294
|
+
sig { returns(T.nilable(T::Array[Integer])) }
|
|
295
|
+
attr_reader :adopted_capacity
|
|
296
|
+
|
|
297
|
+
sig { params(adopted_capacity: T::Array[Integer]).void }
|
|
298
|
+
attr_writer :adopted_capacity
|
|
299
|
+
|
|
300
|
+
# Returns the cost of the route. The unit of cost type depends on the value of
|
|
301
|
+
# travel_cost attribute in the optimization request.
|
|
302
|
+
sig { returns(T.nilable(Integer)) }
|
|
303
|
+
attr_reader :cost
|
|
304
|
+
|
|
305
|
+
sig { params(cost: Integer).void }
|
|
306
|
+
attr_writer :cost
|
|
307
|
+
|
|
308
|
+
# Returns the total quantities, for each dimension (or unit), of deliveries
|
|
309
|
+
# performed in the route. Please note that when both shipments and jobs are
|
|
310
|
+
# provided, this field corresponds to the sum of quantities delivered as part of
|
|
311
|
+
# the assigned shipments and jobs on the route.
|
|
312
|
+
sig { returns(T.nilable(T::Array[Integer])) }
|
|
313
|
+
attr_reader :delivery
|
|
314
|
+
|
|
315
|
+
sig { params(delivery: T::Array[Integer]).void }
|
|
316
|
+
attr_writer :delivery
|
|
317
|
+
|
|
318
|
+
# Return the description of the assigned vehicle. It would be the same as that
|
|
319
|
+
# provided in the description field of vehicles part of the input POST
|
|
320
|
+
# optimization request.
|
|
321
|
+
sig { returns(T.nilable(String)) }
|
|
322
|
+
attr_reader :description
|
|
323
|
+
|
|
324
|
+
sig { params(description: String).void }
|
|
325
|
+
attr_writer :description
|
|
326
|
+
|
|
327
|
+
# Returns the total distance of the route, in meters.
|
|
328
|
+
sig { returns(T.nilable(Float)) }
|
|
329
|
+
attr_reader :distance
|
|
330
|
+
|
|
331
|
+
sig { params(distance: Float).void }
|
|
332
|
+
attr_writer :distance
|
|
333
|
+
|
|
334
|
+
# Returns the total drive duration of the route, in seconds.
|
|
335
|
+
sig { returns(T.nilable(Integer)) }
|
|
336
|
+
attr_reader :duration
|
|
337
|
+
|
|
338
|
+
sig { params(duration: Integer).void }
|
|
339
|
+
attr_writer :duration
|
|
340
|
+
|
|
341
|
+
# Returns the geometry of this route encoded in polyline format.
|
|
342
|
+
sig { returns(T.nilable(String)) }
|
|
343
|
+
attr_reader :geometry
|
|
344
|
+
|
|
345
|
+
sig { params(geometry: String).void }
|
|
346
|
+
attr_writer :geometry
|
|
347
|
+
|
|
348
|
+
# Returns the custom information that was provided when the vehicle was
|
|
349
|
+
# configured. This field would not be present for the vehicles that were not
|
|
350
|
+
# provided with any metadata.
|
|
351
|
+
sig { returns(T.nilable(T.anything)) }
|
|
352
|
+
attr_reader :metadata
|
|
353
|
+
|
|
354
|
+
sig { params(metadata: T.anything).void }
|
|
355
|
+
attr_writer :metadata
|
|
356
|
+
|
|
357
|
+
# Returns the total quantities, for each dimension (or unit), of pickups performed
|
|
358
|
+
# in the route. Please note that when both shipments and jobs are provided, this
|
|
359
|
+
# field corresponds to the sum of quantities picked-up as part of the assigned
|
|
360
|
+
# shipments and jobs on the route.
|
|
361
|
+
sig { returns(T.nilable(T::Array[Integer])) }
|
|
362
|
+
attr_reader :pickup
|
|
363
|
+
|
|
364
|
+
sig { params(pickup: T::Array[Integer]).void }
|
|
365
|
+
attr_writer :pickup
|
|
366
|
+
|
|
367
|
+
# Returns the sum of priorities of all tasks on the route.
|
|
368
|
+
sig { returns(T.nilable(Integer)) }
|
|
369
|
+
attr_reader :priority
|
|
370
|
+
|
|
371
|
+
sig { params(priority: Integer).void }
|
|
372
|
+
attr_writer :priority
|
|
373
|
+
|
|
374
|
+
# Returns the profile of the vehicle.
|
|
375
|
+
sig { returns(T.nilable(String)) }
|
|
376
|
+
attr_reader :profile
|
|
377
|
+
|
|
378
|
+
sig { params(profile: String).void }
|
|
379
|
+
attr_writer :profile
|
|
380
|
+
|
|
381
|
+
# Returns the revenue earned by fulfilling the task on this route. Please note
|
|
382
|
+
# this field is present only when the revenue inputs are provided in the input,
|
|
383
|
+
# otherwise it is not present in the response.
|
|
384
|
+
sig { returns(T.nilable(Integer)) }
|
|
385
|
+
attr_reader :revenue
|
|
386
|
+
|
|
387
|
+
sig { params(revenue: Integer).void }
|
|
388
|
+
attr_writer :revenue
|
|
389
|
+
|
|
390
|
+
# Returns the total service time spent on the tasks or depots on the route, in
|
|
391
|
+
# seconds.
|
|
392
|
+
sig { returns(T.nilable(Integer)) }
|
|
393
|
+
attr_reader :service
|
|
394
|
+
|
|
395
|
+
sig { params(service: Integer).void }
|
|
396
|
+
attr_writer :service
|
|
397
|
+
|
|
398
|
+
# Returns the total setup time, in seconds, for the tasks assigned on the route.
|
|
399
|
+
sig { returns(T.nilable(Integer)) }
|
|
400
|
+
attr_reader :setup
|
|
401
|
+
|
|
402
|
+
sig { params(setup: Integer).void }
|
|
403
|
+
attr_writer :setup
|
|
404
|
+
|
|
405
|
+
# This attribute contains the details of all the steps involved in the route. It
|
|
406
|
+
# is an array of objects with each object representing one step.
|
|
407
|
+
sig do
|
|
408
|
+
returns(
|
|
409
|
+
T.nilable(
|
|
410
|
+
T::Array[
|
|
411
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Route::Step
|
|
412
|
+
]
|
|
413
|
+
)
|
|
414
|
+
)
|
|
415
|
+
end
|
|
416
|
+
attr_reader :steps
|
|
417
|
+
|
|
418
|
+
sig do
|
|
419
|
+
params(
|
|
420
|
+
steps:
|
|
421
|
+
T::Array[
|
|
422
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Route::Step::OrHash
|
|
423
|
+
]
|
|
424
|
+
).void
|
|
425
|
+
end
|
|
426
|
+
attr_writer :steps
|
|
427
|
+
|
|
428
|
+
# Returns the ID of the vehicle that was assigned to the route. The value type
|
|
429
|
+
# will be same as the value type provided in the input request.
|
|
430
|
+
sig { returns(T.nilable(String)) }
|
|
431
|
+
attr_reader :vehicle
|
|
432
|
+
|
|
433
|
+
sig { params(vehicle: String).void }
|
|
434
|
+
attr_writer :vehicle
|
|
435
|
+
|
|
436
|
+
# Returns the total vehicle overtime for the route, in seconds. Please note this
|
|
437
|
+
# field is present only when there is a non-zero value for vehicle overtime,
|
|
438
|
+
# otherwise it is not present in the response.
|
|
439
|
+
sig { returns(T.nilable(Integer)) }
|
|
440
|
+
attr_reader :vehicle_overtime
|
|
441
|
+
|
|
442
|
+
sig { params(vehicle_overtime: Integer).void }
|
|
443
|
+
attr_writer :vehicle_overtime
|
|
444
|
+
|
|
445
|
+
# Returns the total waiting time of the vehicle on the route, in seconds.
|
|
446
|
+
sig { returns(T.nilable(Integer)) }
|
|
447
|
+
attr_reader :waiting_time
|
|
448
|
+
|
|
449
|
+
sig { params(waiting_time: Integer).void }
|
|
450
|
+
attr_writer :waiting_time
|
|
451
|
+
|
|
452
|
+
sig do
|
|
453
|
+
params(
|
|
454
|
+
adopted_capacity: T::Array[Integer],
|
|
455
|
+
cost: Integer,
|
|
456
|
+
delivery: T::Array[Integer],
|
|
457
|
+
description: String,
|
|
458
|
+
distance: Float,
|
|
459
|
+
duration: Integer,
|
|
460
|
+
geometry: String,
|
|
461
|
+
metadata: T.anything,
|
|
462
|
+
pickup: T::Array[Integer],
|
|
463
|
+
priority: Integer,
|
|
464
|
+
profile: String,
|
|
465
|
+
revenue: Integer,
|
|
466
|
+
service: Integer,
|
|
467
|
+
setup: Integer,
|
|
468
|
+
steps:
|
|
469
|
+
T::Array[
|
|
470
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Route::Step::OrHash
|
|
471
|
+
],
|
|
472
|
+
vehicle: String,
|
|
473
|
+
vehicle_overtime: Integer,
|
|
474
|
+
waiting_time: Integer
|
|
475
|
+
).returns(T.attached_class)
|
|
476
|
+
end
|
|
477
|
+
def self.new(
|
|
478
|
+
# Returns the capacity configuration of the vehicle that was used for this route.
|
|
479
|
+
# This field would return either the vehicle's capacity or one of the
|
|
480
|
+
# alternative_capacities provided in the input request.
|
|
481
|
+
adopted_capacity: nil,
|
|
482
|
+
# Returns the cost of the route. The unit of cost type depends on the value of
|
|
483
|
+
# travel_cost attribute in the optimization request.
|
|
484
|
+
cost: nil,
|
|
485
|
+
# Returns the total quantities, for each dimension (or unit), of deliveries
|
|
486
|
+
# performed in the route. Please note that when both shipments and jobs are
|
|
487
|
+
# provided, this field corresponds to the sum of quantities delivered as part of
|
|
488
|
+
# the assigned shipments and jobs on the route.
|
|
489
|
+
delivery: nil,
|
|
490
|
+
# Return the description of the assigned vehicle. It would be the same as that
|
|
491
|
+
# provided in the description field of vehicles part of the input POST
|
|
492
|
+
# optimization request.
|
|
493
|
+
description: nil,
|
|
494
|
+
# Returns the total distance of the route, in meters.
|
|
495
|
+
distance: nil,
|
|
496
|
+
# Returns the total drive duration of the route, in seconds.
|
|
497
|
+
duration: nil,
|
|
498
|
+
# Returns the geometry of this route encoded in polyline format.
|
|
499
|
+
geometry: nil,
|
|
500
|
+
# Returns the custom information that was provided when the vehicle was
|
|
501
|
+
# configured. This field would not be present for the vehicles that were not
|
|
502
|
+
# provided with any metadata.
|
|
503
|
+
metadata: nil,
|
|
504
|
+
# Returns the total quantities, for each dimension (or unit), of pickups performed
|
|
505
|
+
# in the route. Please note that when both shipments and jobs are provided, this
|
|
506
|
+
# field corresponds to the sum of quantities picked-up as part of the assigned
|
|
507
|
+
# shipments and jobs on the route.
|
|
508
|
+
pickup: nil,
|
|
509
|
+
# Returns the sum of priorities of all tasks on the route.
|
|
510
|
+
priority: nil,
|
|
511
|
+
# Returns the profile of the vehicle.
|
|
512
|
+
profile: nil,
|
|
513
|
+
# Returns the revenue earned by fulfilling the task on this route. Please note
|
|
514
|
+
# this field is present only when the revenue inputs are provided in the input,
|
|
515
|
+
# otherwise it is not present in the response.
|
|
516
|
+
revenue: nil,
|
|
517
|
+
# Returns the total service time spent on the tasks or depots on the route, in
|
|
518
|
+
# seconds.
|
|
519
|
+
service: nil,
|
|
520
|
+
# Returns the total setup time, in seconds, for the tasks assigned on the route.
|
|
521
|
+
setup: nil,
|
|
522
|
+
# This attribute contains the details of all the steps involved in the route. It
|
|
523
|
+
# is an array of objects with each object representing one step.
|
|
524
|
+
steps: nil,
|
|
525
|
+
# Returns the ID of the vehicle that was assigned to the route. The value type
|
|
526
|
+
# will be same as the value type provided in the input request.
|
|
527
|
+
vehicle: nil,
|
|
528
|
+
# Returns the total vehicle overtime for the route, in seconds. Please note this
|
|
529
|
+
# field is present only when there is a non-zero value for vehicle overtime,
|
|
530
|
+
# otherwise it is not present in the response.
|
|
531
|
+
vehicle_overtime: nil,
|
|
532
|
+
# Returns the total waiting time of the vehicle on the route, in seconds.
|
|
533
|
+
waiting_time: nil
|
|
534
|
+
)
|
|
535
|
+
end
|
|
536
|
+
|
|
537
|
+
sig do
|
|
538
|
+
override.returns(
|
|
539
|
+
{
|
|
540
|
+
adopted_capacity: T::Array[Integer],
|
|
541
|
+
cost: Integer,
|
|
542
|
+
delivery: T::Array[Integer],
|
|
543
|
+
description: String,
|
|
544
|
+
distance: Float,
|
|
545
|
+
duration: Integer,
|
|
546
|
+
geometry: String,
|
|
547
|
+
metadata: T.anything,
|
|
548
|
+
pickup: T::Array[Integer],
|
|
549
|
+
priority: Integer,
|
|
550
|
+
profile: String,
|
|
551
|
+
revenue: Integer,
|
|
552
|
+
service: Integer,
|
|
553
|
+
setup: Integer,
|
|
554
|
+
steps:
|
|
555
|
+
T::Array[
|
|
556
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Route::Step
|
|
557
|
+
],
|
|
558
|
+
vehicle: String,
|
|
559
|
+
vehicle_overtime: Integer,
|
|
560
|
+
waiting_time: Integer
|
|
561
|
+
}
|
|
562
|
+
)
|
|
563
|
+
end
|
|
564
|
+
def to_hash
|
|
565
|
+
end
|
|
566
|
+
|
|
567
|
+
class Step < Nextbillionai::Internal::Type::BaseModel
|
|
568
|
+
OrHash =
|
|
569
|
+
T.type_alias do
|
|
570
|
+
T.any(
|
|
571
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Route::Step,
|
|
572
|
+
Nextbillionai::Internal::AnyHash
|
|
573
|
+
)
|
|
574
|
+
end
|
|
575
|
+
|
|
576
|
+
# Returns the ID of the task. The ID returned here are the same values that were
|
|
577
|
+
# provided for the given task in the jobs or the shipments objects of the input
|
|
578
|
+
# POST optimization request.
|
|
579
|
+
#
|
|
580
|
+
# **Note:** Since both integer and string value types are supported for job IDs,
|
|
581
|
+
# the value type returned for this field will depend on the value type provided in
|
|
582
|
+
# the input request.
|
|
583
|
+
sig { returns(T.nilable(String)) }
|
|
584
|
+
attr_reader :id
|
|
585
|
+
|
|
586
|
+
sig { params(id: String).void }
|
|
587
|
+
attr_writer :id
|
|
588
|
+
|
|
589
|
+
# Returns the time at which the vehicle arrives at the step location. If
|
|
590
|
+
# time_windows is provided for the task it will be returned as an UNIX timestamp
|
|
591
|
+
# expressed in seconds. When time_windows is not provided, it is returned as the
|
|
592
|
+
# total duration, in seconds, elapsed since the start of the route.
|
|
593
|
+
#
|
|
594
|
+
# Please note it includes all the other durations as well (setup, service,
|
|
595
|
+
# waiting).
|
|
596
|
+
sig { returns(T.nilable(Integer)) }
|
|
597
|
+
attr_reader :arrival
|
|
598
|
+
|
|
599
|
+
sig { params(arrival: Integer).void }
|
|
600
|
+
attr_writer :arrival
|
|
601
|
+
|
|
602
|
+
# For step type "start" or "end", this field returns the ID of the depot relevant
|
|
603
|
+
# to that step. For "start" steps, the field will contain the ID of the depot from
|
|
604
|
+
# which the vehicle commenced its journey. Conversely, for "end" steps, the field
|
|
605
|
+
# will hold the ID of the depot where the vehicle concluded its trip.
|
|
606
|
+
#
|
|
607
|
+
# Please note that start_depot_ids or end_depot_ids input for the vehicle must be
|
|
608
|
+
# configured to get this field in the response for respective step types in a
|
|
609
|
+
# route.
|
|
610
|
+
sig { returns(T.nilable(String)) }
|
|
611
|
+
attr_reader :depot
|
|
612
|
+
|
|
613
|
+
sig { params(depot: String).void }
|
|
614
|
+
attr_writer :depot
|
|
615
|
+
|
|
616
|
+
# Returns the description of this step. The description returned here are the same
|
|
617
|
+
# values that were provided for the given task in the jobs or the shipments
|
|
618
|
+
# objects of the input POST optimization request.
|
|
619
|
+
sig { returns(T.nilable(String)) }
|
|
620
|
+
attr_reader :description
|
|
621
|
+
|
|
622
|
+
sig { params(description: String).void }
|
|
623
|
+
attr_writer :description
|
|
624
|
+
|
|
625
|
+
# Returns the distance covered, in meters, from the start of the route and up
|
|
626
|
+
# until the current step.
|
|
627
|
+
#
|
|
628
|
+
# Please note that the value of this parameter accumulates with each step. In case
|
|
629
|
+
# , the travel_cost: air_distance, then the distance here represents straight line
|
|
630
|
+
# distance.
|
|
631
|
+
sig { returns(T.nilable(Integer)) }
|
|
632
|
+
attr_reader :distance
|
|
633
|
+
|
|
634
|
+
sig { params(distance: Integer).void }
|
|
635
|
+
attr_writer :distance
|
|
636
|
+
|
|
637
|
+
# Returns the total drive time, in seconds, from the start of the route up until
|
|
638
|
+
# the start of the step. Please note that this value does not include any other
|
|
639
|
+
# category of durations (service, wait, setup) and the value of this parameter
|
|
640
|
+
# accumulates with each step.
|
|
641
|
+
sig { returns(T.nilable(Integer)) }
|
|
642
|
+
attr_reader :duration
|
|
643
|
+
|
|
644
|
+
sig { params(duration: Integer).void }
|
|
645
|
+
attr_writer :duration
|
|
646
|
+
|
|
647
|
+
# Returns the amount of time, in seconds, by which the vehicle is late when
|
|
648
|
+
# arriving at this step. Please note this field is present only when there is a
|
|
649
|
+
# non-zero value for vehicle lateness, otherwise it is not present in the
|
|
650
|
+
# response.
|
|
651
|
+
sig { returns(T.nilable(String)) }
|
|
652
|
+
attr_reader :late_by
|
|
653
|
+
|
|
654
|
+
sig { params(late_by: String).void }
|
|
655
|
+
attr_writer :late_by
|
|
656
|
+
|
|
657
|
+
# Returns the load on the vehicle after completing this step. In case of multiple
|
|
658
|
+
# dimensions, loads of each type are returned by a matching number of elements in
|
|
659
|
+
# the array.
|
|
660
|
+
sig { returns(T.nilable(T::Array[Integer])) }
|
|
661
|
+
attr_reader :load_
|
|
662
|
+
|
|
663
|
+
sig { params(load_: T::Array[Integer]).void }
|
|
664
|
+
attr_writer :load_
|
|
665
|
+
|
|
666
|
+
# Returns the location coordinates of the step in the \[latitude, longitude\]
|
|
667
|
+
# format.
|
|
668
|
+
#
|
|
669
|
+
# The index of this location is also returned by the location_index parameter.
|
|
670
|
+
sig { returns(T.nilable(T::Array[Float])) }
|
|
671
|
+
attr_reader :location
|
|
672
|
+
|
|
673
|
+
sig { params(location: T::Array[Float]).void }
|
|
674
|
+
attr_writer :location
|
|
675
|
+
|
|
676
|
+
# Returns the index (in the location array) of the location coordinates where the
|
|
677
|
+
# step is performed. The index will always be in the range of \[0, length of
|
|
678
|
+
# location array).
|
|
679
|
+
#
|
|
680
|
+
# Actual coordinates are also returned by the location parameter.
|
|
681
|
+
sig { returns(T.nilable(Integer)) }
|
|
682
|
+
attr_reader :location_index
|
|
683
|
+
|
|
684
|
+
sig { params(location_index: Integer).void }
|
|
685
|
+
attr_writer :location_index
|
|
686
|
+
|
|
687
|
+
# Returns the custom information that was provided when the given task (job /
|
|
688
|
+
# pickup / delivery) was configured. This field would not be present for the tasks
|
|
689
|
+
# that were not provided with any metadata. It will also be not present for
|
|
690
|
+
# “start” and “end” steps.
|
|
691
|
+
sig { returns(T.nilable(T.anything)) }
|
|
692
|
+
attr_reader :metadata
|
|
693
|
+
|
|
694
|
+
sig { params(metadata: T.anything).void }
|
|
695
|
+
attr_writer :metadata
|
|
696
|
+
|
|
697
|
+
# In case this step is part of a task group, this field returns the location
|
|
698
|
+
# coordinates of the point, in \[latitude, longitude\] format, which was used as a
|
|
699
|
+
# common stop for all grouped tasks.
|
|
700
|
+
sig { returns(T.nilable(T::Array[Float])) }
|
|
701
|
+
attr_reader :projected_location
|
|
702
|
+
|
|
703
|
+
sig { params(projected_location: T::Array[Float]).void }
|
|
704
|
+
attr_writer :projected_location
|
|
705
|
+
|
|
706
|
+
# When a vehicle is configured to make multiple runs to the depot (via
|
|
707
|
+
# max_depot_runs), this field returns the iteration to which the step belongs to.
|
|
708
|
+
# Each run will begin with a "start" step from the depot's location and conclude
|
|
709
|
+
# with an "end" step at either the last task's or the configured end location.
|
|
710
|
+
sig { returns(T.nilable(Integer)) }
|
|
711
|
+
attr_reader :run
|
|
712
|
+
|
|
713
|
+
sig { params(run: Integer).void }
|
|
714
|
+
attr_writer :run
|
|
715
|
+
|
|
716
|
+
# Returns the service time, in seconds, for the task when the step type is not
|
|
717
|
+
# start or end.
|
|
718
|
+
#
|
|
719
|
+
# When the step type is start or end , the field also returns the service time, in
|
|
720
|
+
# seconds, spent at the depot when if the vehicle is starting or completing the
|
|
721
|
+
# trip at one of the depots.
|
|
722
|
+
sig { returns(T.nilable(Integer)) }
|
|
723
|
+
attr_reader :service
|
|
724
|
+
|
|
725
|
+
sig { params(service: Integer).void }
|
|
726
|
+
attr_writer :service
|
|
727
|
+
|
|
728
|
+
# Returns the setup time, in seconds, for the task.
|
|
729
|
+
sig { returns(T.nilable(Integer)) }
|
|
730
|
+
attr_reader :setup
|
|
731
|
+
|
|
732
|
+
sig { params(setup: Integer).void }
|
|
733
|
+
attr_writer :setup
|
|
734
|
+
|
|
735
|
+
# Returns the coordinates after snapping the location of this step to a nearby
|
|
736
|
+
# road. Please note that this field will not be available in the response when
|
|
737
|
+
# custom duration or distance matrix were used for cost calculations.
|
|
738
|
+
sig { returns(T.nilable(T::Array[Float])) }
|
|
739
|
+
attr_reader :snapped_location
|
|
740
|
+
|
|
741
|
+
sig { params(snapped_location: T::Array[Float]).void }
|
|
742
|
+
attr_writer :snapped_location
|
|
743
|
+
|
|
744
|
+
# Returns the type of the step. Its value will always be one of the following:
|
|
745
|
+
# start, job, pickup, delivery, end. In case the type is start or end, steps
|
|
746
|
+
# object will not have the id field.
|
|
747
|
+
sig { returns(T.nilable(String)) }
|
|
748
|
+
attr_reader :type
|
|
749
|
+
|
|
750
|
+
sig { params(type: String).void }
|
|
751
|
+
attr_writer :type
|
|
752
|
+
|
|
753
|
+
# Returns the wait time of the vehicle at this step, in seconds.
|
|
754
|
+
sig { returns(T.nilable(Integer)) }
|
|
755
|
+
attr_reader :waiting_time
|
|
756
|
+
|
|
757
|
+
sig { params(waiting_time: Integer).void }
|
|
758
|
+
attr_writer :waiting_time
|
|
759
|
+
|
|
760
|
+
# This attribute contains the details of all the steps involved in the route. It
|
|
761
|
+
# is an array of objects with each object representing one step.
|
|
762
|
+
sig do
|
|
763
|
+
params(
|
|
764
|
+
id: String,
|
|
765
|
+
arrival: Integer,
|
|
766
|
+
depot: String,
|
|
767
|
+
description: String,
|
|
768
|
+
distance: Integer,
|
|
769
|
+
duration: Integer,
|
|
770
|
+
late_by: String,
|
|
771
|
+
load_: T::Array[Integer],
|
|
772
|
+
location: T::Array[Float],
|
|
773
|
+
location_index: Integer,
|
|
774
|
+
metadata: T.anything,
|
|
775
|
+
projected_location: T::Array[Float],
|
|
776
|
+
run: Integer,
|
|
777
|
+
service: Integer,
|
|
778
|
+
setup: Integer,
|
|
779
|
+
snapped_location: T::Array[Float],
|
|
780
|
+
type: String,
|
|
781
|
+
waiting_time: Integer
|
|
782
|
+
).returns(T.attached_class)
|
|
783
|
+
end
|
|
784
|
+
def self.new(
|
|
785
|
+
# Returns the ID of the task. The ID returned here are the same values that were
|
|
786
|
+
# provided for the given task in the jobs or the shipments objects of the input
|
|
787
|
+
# POST optimization request.
|
|
788
|
+
#
|
|
789
|
+
# **Note:** Since both integer and string value types are supported for job IDs,
|
|
790
|
+
# the value type returned for this field will depend on the value type provided in
|
|
791
|
+
# the input request.
|
|
792
|
+
id: nil,
|
|
793
|
+
# Returns the time at which the vehicle arrives at the step location. If
|
|
794
|
+
# time_windows is provided for the task it will be returned as an UNIX timestamp
|
|
795
|
+
# expressed in seconds. When time_windows is not provided, it is returned as the
|
|
796
|
+
# total duration, in seconds, elapsed since the start of the route.
|
|
797
|
+
#
|
|
798
|
+
# Please note it includes all the other durations as well (setup, service,
|
|
799
|
+
# waiting).
|
|
800
|
+
arrival: nil,
|
|
801
|
+
# For step type "start" or "end", this field returns the ID of the depot relevant
|
|
802
|
+
# to that step. For "start" steps, the field will contain the ID of the depot from
|
|
803
|
+
# which the vehicle commenced its journey. Conversely, for "end" steps, the field
|
|
804
|
+
# will hold the ID of the depot where the vehicle concluded its trip.
|
|
805
|
+
#
|
|
806
|
+
# Please note that start_depot_ids or end_depot_ids input for the vehicle must be
|
|
807
|
+
# configured to get this field in the response for respective step types in a
|
|
808
|
+
# route.
|
|
809
|
+
depot: nil,
|
|
810
|
+
# Returns the description of this step. The description returned here are the same
|
|
811
|
+
# values that were provided for the given task in the jobs or the shipments
|
|
812
|
+
# objects of the input POST optimization request.
|
|
813
|
+
description: nil,
|
|
814
|
+
# Returns the distance covered, in meters, from the start of the route and up
|
|
815
|
+
# until the current step.
|
|
816
|
+
#
|
|
817
|
+
# Please note that the value of this parameter accumulates with each step. In case
|
|
818
|
+
# , the travel_cost: air_distance, then the distance here represents straight line
|
|
819
|
+
# distance.
|
|
820
|
+
distance: nil,
|
|
821
|
+
# Returns the total drive time, in seconds, from the start of the route up until
|
|
822
|
+
# the start of the step. Please note that this value does not include any other
|
|
823
|
+
# category of durations (service, wait, setup) and the value of this parameter
|
|
824
|
+
# accumulates with each step.
|
|
825
|
+
duration: nil,
|
|
826
|
+
# Returns the amount of time, in seconds, by which the vehicle is late when
|
|
827
|
+
# arriving at this step. Please note this field is present only when there is a
|
|
828
|
+
# non-zero value for vehicle lateness, otherwise it is not present in the
|
|
829
|
+
# response.
|
|
830
|
+
late_by: nil,
|
|
831
|
+
# Returns the load on the vehicle after completing this step. In case of multiple
|
|
832
|
+
# dimensions, loads of each type are returned by a matching number of elements in
|
|
833
|
+
# the array.
|
|
834
|
+
load_: nil,
|
|
835
|
+
# Returns the location coordinates of the step in the \[latitude, longitude\]
|
|
836
|
+
# format.
|
|
837
|
+
#
|
|
838
|
+
# The index of this location is also returned by the location_index parameter.
|
|
839
|
+
location: nil,
|
|
840
|
+
# Returns the index (in the location array) of the location coordinates where the
|
|
841
|
+
# step is performed. The index will always be in the range of \[0, length of
|
|
842
|
+
# location array).
|
|
843
|
+
#
|
|
844
|
+
# Actual coordinates are also returned by the location parameter.
|
|
845
|
+
location_index: nil,
|
|
846
|
+
# Returns the custom information that was provided when the given task (job /
|
|
847
|
+
# pickup / delivery) was configured. This field would not be present for the tasks
|
|
848
|
+
# that were not provided with any metadata. It will also be not present for
|
|
849
|
+
# “start” and “end” steps.
|
|
850
|
+
metadata: nil,
|
|
851
|
+
# In case this step is part of a task group, this field returns the location
|
|
852
|
+
# coordinates of the point, in \[latitude, longitude\] format, which was used as a
|
|
853
|
+
# common stop for all grouped tasks.
|
|
854
|
+
projected_location: nil,
|
|
855
|
+
# When a vehicle is configured to make multiple runs to the depot (via
|
|
856
|
+
# max_depot_runs), this field returns the iteration to which the step belongs to.
|
|
857
|
+
# Each run will begin with a "start" step from the depot's location and conclude
|
|
858
|
+
# with an "end" step at either the last task's or the configured end location.
|
|
859
|
+
run: nil,
|
|
860
|
+
# Returns the service time, in seconds, for the task when the step type is not
|
|
861
|
+
# start or end.
|
|
862
|
+
#
|
|
863
|
+
# When the step type is start or end , the field also returns the service time, in
|
|
864
|
+
# seconds, spent at the depot when if the vehicle is starting or completing the
|
|
865
|
+
# trip at one of the depots.
|
|
866
|
+
service: nil,
|
|
867
|
+
# Returns the setup time, in seconds, for the task.
|
|
868
|
+
setup: nil,
|
|
869
|
+
# Returns the coordinates after snapping the location of this step to a nearby
|
|
870
|
+
# road. Please note that this field will not be available in the response when
|
|
871
|
+
# custom duration or distance matrix were used for cost calculations.
|
|
872
|
+
snapped_location: nil,
|
|
873
|
+
# Returns the type of the step. Its value will always be one of the following:
|
|
874
|
+
# start, job, pickup, delivery, end. In case the type is start or end, steps
|
|
875
|
+
# object will not have the id field.
|
|
876
|
+
type: nil,
|
|
877
|
+
# Returns the wait time of the vehicle at this step, in seconds.
|
|
878
|
+
waiting_time: nil
|
|
879
|
+
)
|
|
880
|
+
end
|
|
881
|
+
|
|
882
|
+
sig do
|
|
883
|
+
override.returns(
|
|
884
|
+
{
|
|
885
|
+
id: String,
|
|
886
|
+
arrival: Integer,
|
|
887
|
+
depot: String,
|
|
888
|
+
description: String,
|
|
889
|
+
distance: Integer,
|
|
890
|
+
duration: Integer,
|
|
891
|
+
late_by: String,
|
|
892
|
+
load_: T::Array[Integer],
|
|
893
|
+
location: T::Array[Float],
|
|
894
|
+
location_index: Integer,
|
|
895
|
+
metadata: T.anything,
|
|
896
|
+
projected_location: T::Array[Float],
|
|
897
|
+
run: Integer,
|
|
898
|
+
service: Integer,
|
|
899
|
+
setup: Integer,
|
|
900
|
+
snapped_location: T::Array[Float],
|
|
901
|
+
type: String,
|
|
902
|
+
waiting_time: Integer
|
|
903
|
+
}
|
|
904
|
+
)
|
|
905
|
+
end
|
|
906
|
+
def to_hash
|
|
907
|
+
end
|
|
908
|
+
end
|
|
909
|
+
end
|
|
910
|
+
|
|
911
|
+
class Summary < Nextbillionai::Internal::Type::BaseModel
|
|
912
|
+
OrHash =
|
|
913
|
+
T.type_alias do
|
|
914
|
+
T.any(
|
|
915
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Summary,
|
|
916
|
+
Nextbillionai::Internal::AnyHash
|
|
917
|
+
)
|
|
918
|
+
end
|
|
919
|
+
|
|
920
|
+
# Returns the total cost of all the routes returned in the solution. The unit of
|
|
921
|
+
# cost type depends on the value of travel_cost attribute in the optimization
|
|
922
|
+
# request.
|
|
923
|
+
sig { returns(T.nilable(Integer)) }
|
|
924
|
+
attr_reader :cost
|
|
925
|
+
|
|
926
|
+
sig { params(cost: Integer).void }
|
|
927
|
+
attr_writer :cost
|
|
928
|
+
|
|
929
|
+
# Returns the sum of all quantities that were delivered in the optimized solution.
|
|
930
|
+
# If quantities of different dimensions were delivered, then a matching number of
|
|
931
|
+
# elements is returned in the delivery array.
|
|
932
|
+
#
|
|
933
|
+
# Please note that when both shipments and jobs are provided, this field
|
|
934
|
+
# corresponds to the sum of quantities delivered as part of all the assigned
|
|
935
|
+
# shipments and jobs .
|
|
936
|
+
sig { returns(T.nilable(T::Array[Integer])) }
|
|
937
|
+
attr_reader :delivery
|
|
938
|
+
|
|
939
|
+
sig { params(delivery: T::Array[Integer]).void }
|
|
940
|
+
attr_writer :delivery
|
|
941
|
+
|
|
942
|
+
# Returns the total distance of all routes, in meters. It is equal to the sum of
|
|
943
|
+
# distances of individual routes.
|
|
944
|
+
sig { returns(T.nilable(Float)) }
|
|
945
|
+
attr_reader :distance
|
|
946
|
+
|
|
947
|
+
sig { params(distance: Float).void }
|
|
948
|
+
attr_writer :distance
|
|
949
|
+
|
|
950
|
+
# Returns the total drive time, in seconds, needed to cover all routes. Please
|
|
951
|
+
# note that it does not include the service, setup or the waiting durations
|
|
952
|
+
# elapsed on these routes.
|
|
953
|
+
sig { returns(T.nilable(Integer)) }
|
|
954
|
+
attr_reader :duration
|
|
955
|
+
|
|
956
|
+
sig { params(duration: Integer).void }
|
|
957
|
+
attr_writer :duration
|
|
958
|
+
|
|
959
|
+
# Returns the total number of tasks across all routes that failed to start within
|
|
960
|
+
# their scheduled time windows.
|
|
961
|
+
sig { returns(T.nilable(Integer)) }
|
|
962
|
+
attr_reader :num_late_visits
|
|
963
|
+
|
|
964
|
+
sig { params(num_late_visits: Integer).void }
|
|
965
|
+
attr_writer :num_late_visits
|
|
966
|
+
|
|
967
|
+
# Returns the sum of all quantities that were picked-up in the optimized solution.
|
|
968
|
+
# If quantities of different dimensions were picked-up, then a matching number of
|
|
969
|
+
# elements is returned in the pickup array.
|
|
970
|
+
#
|
|
971
|
+
# Please note that when both shipments and jobs are provided, this field
|
|
972
|
+
# corresponds to the sum of quantities picked-up as part of all the assigned
|
|
973
|
+
# shipments and jobs .
|
|
974
|
+
sig { returns(T.nilable(T::Array[Integer])) }
|
|
975
|
+
attr_reader :pickup
|
|
976
|
+
|
|
977
|
+
sig { params(pickup: T::Array[Integer]).void }
|
|
978
|
+
attr_writer :pickup
|
|
979
|
+
|
|
980
|
+
# Returns the sum of priorities of all tasks that were assigned.
|
|
981
|
+
sig { returns(T.nilable(Integer)) }
|
|
982
|
+
attr_reader :priority
|
|
983
|
+
|
|
984
|
+
sig { params(priority: Integer).void }
|
|
985
|
+
attr_writer :priority
|
|
986
|
+
|
|
987
|
+
# Returns the revenue earned by completing all the assigned tasks. Overall profit
|
|
988
|
+
# earned by following the suggested route plan can be inferred by subtracting the
|
|
989
|
+
# cost of the solution from the reported revenue.
|
|
990
|
+
sig { returns(T.nilable(Integer)) }
|
|
991
|
+
attr_reader :revenue
|
|
992
|
+
|
|
993
|
+
sig { params(revenue: Integer).void }
|
|
994
|
+
attr_writer :revenue
|
|
995
|
+
|
|
996
|
+
# Returns the total number of routes in the solution.
|
|
997
|
+
sig { returns(T.nilable(Integer)) }
|
|
998
|
+
attr_reader :routes
|
|
999
|
+
|
|
1000
|
+
sig { params(routes: Integer).void }
|
|
1001
|
+
attr_writer :routes
|
|
1002
|
+
|
|
1003
|
+
# Returns the total service time, in seconds, for all the routes in the solution.
|
|
1004
|
+
# It is equal to the sum of service time of individual tasks that were assigned
|
|
1005
|
+
# and the time spent loading/unloading items at designated depots by all vehicles.
|
|
1006
|
+
sig { returns(T.nilable(Integer)) }
|
|
1007
|
+
attr_reader :service
|
|
1008
|
+
|
|
1009
|
+
sig { params(service: Integer).void }
|
|
1010
|
+
attr_writer :service
|
|
1011
|
+
|
|
1012
|
+
# Returns the total setup time, in seconds, of all assigned tasks. It is equal to
|
|
1013
|
+
# the sum of setup time of individual tasks that were assigned.
|
|
1014
|
+
sig { returns(T.nilable(Integer)) }
|
|
1015
|
+
attr_reader :setup
|
|
1016
|
+
|
|
1017
|
+
sig { params(setup: Integer).void }
|
|
1018
|
+
attr_writer :setup
|
|
1019
|
+
|
|
1020
|
+
# Returns the total duration, in seconds, that tasks across all routes were
|
|
1021
|
+
# delayed from starting after their scheduled time windows had passed.
|
|
1022
|
+
sig { returns(T.nilable(Integer)) }
|
|
1023
|
+
attr_reader :total_visit_lateness
|
|
1024
|
+
|
|
1025
|
+
sig { params(total_visit_lateness: Integer).void }
|
|
1026
|
+
attr_writer :total_visit_lateness
|
|
1027
|
+
|
|
1028
|
+
# Returns the number of unfulfilled tasks in the solution.
|
|
1029
|
+
sig { returns(T.nilable(Integer)) }
|
|
1030
|
+
attr_reader :unassigned
|
|
1031
|
+
|
|
1032
|
+
sig { params(unassigned: Integer).void }
|
|
1033
|
+
attr_writer :unassigned
|
|
1034
|
+
|
|
1035
|
+
# Returns the sum of durations spent waiting, in seconds, by vehicles on all
|
|
1036
|
+
# routes.
|
|
1037
|
+
sig { returns(T.nilable(Integer)) }
|
|
1038
|
+
attr_reader :waiting_time
|
|
1039
|
+
|
|
1040
|
+
sig { params(waiting_time: Integer).void }
|
|
1041
|
+
attr_writer :waiting_time
|
|
1042
|
+
|
|
1043
|
+
# An object to describe the summarized result of the optimization request. This
|
|
1044
|
+
# object can be useful to quickly get an overview of the important result
|
|
1045
|
+
# parameters.
|
|
1046
|
+
sig do
|
|
1047
|
+
params(
|
|
1048
|
+
cost: Integer,
|
|
1049
|
+
delivery: T::Array[Integer],
|
|
1050
|
+
distance: Float,
|
|
1051
|
+
duration: Integer,
|
|
1052
|
+
num_late_visits: Integer,
|
|
1053
|
+
pickup: T::Array[Integer],
|
|
1054
|
+
priority: Integer,
|
|
1055
|
+
revenue: Integer,
|
|
1056
|
+
routes: Integer,
|
|
1057
|
+
service: Integer,
|
|
1058
|
+
setup: Integer,
|
|
1059
|
+
total_visit_lateness: Integer,
|
|
1060
|
+
unassigned: Integer,
|
|
1061
|
+
waiting_time: Integer
|
|
1062
|
+
).returns(T.attached_class)
|
|
1063
|
+
end
|
|
1064
|
+
def self.new(
|
|
1065
|
+
# Returns the total cost of all the routes returned in the solution. The unit of
|
|
1066
|
+
# cost type depends on the value of travel_cost attribute in the optimization
|
|
1067
|
+
# request.
|
|
1068
|
+
cost: nil,
|
|
1069
|
+
# Returns the sum of all quantities that were delivered in the optimized solution.
|
|
1070
|
+
# If quantities of different dimensions were delivered, then a matching number of
|
|
1071
|
+
# elements is returned in the delivery array.
|
|
1072
|
+
#
|
|
1073
|
+
# Please note that when both shipments and jobs are provided, this field
|
|
1074
|
+
# corresponds to the sum of quantities delivered as part of all the assigned
|
|
1075
|
+
# shipments and jobs .
|
|
1076
|
+
delivery: nil,
|
|
1077
|
+
# Returns the total distance of all routes, in meters. It is equal to the sum of
|
|
1078
|
+
# distances of individual routes.
|
|
1079
|
+
distance: nil,
|
|
1080
|
+
# Returns the total drive time, in seconds, needed to cover all routes. Please
|
|
1081
|
+
# note that it does not include the service, setup or the waiting durations
|
|
1082
|
+
# elapsed on these routes.
|
|
1083
|
+
duration: nil,
|
|
1084
|
+
# Returns the total number of tasks across all routes that failed to start within
|
|
1085
|
+
# their scheduled time windows.
|
|
1086
|
+
num_late_visits: nil,
|
|
1087
|
+
# Returns the sum of all quantities that were picked-up in the optimized solution.
|
|
1088
|
+
# If quantities of different dimensions were picked-up, then a matching number of
|
|
1089
|
+
# elements is returned in the pickup array.
|
|
1090
|
+
#
|
|
1091
|
+
# Please note that when both shipments and jobs are provided, this field
|
|
1092
|
+
# corresponds to the sum of quantities picked-up as part of all the assigned
|
|
1093
|
+
# shipments and jobs .
|
|
1094
|
+
pickup: nil,
|
|
1095
|
+
# Returns the sum of priorities of all tasks that were assigned.
|
|
1096
|
+
priority: nil,
|
|
1097
|
+
# Returns the revenue earned by completing all the assigned tasks. Overall profit
|
|
1098
|
+
# earned by following the suggested route plan can be inferred by subtracting the
|
|
1099
|
+
# cost of the solution from the reported revenue.
|
|
1100
|
+
revenue: nil,
|
|
1101
|
+
# Returns the total number of routes in the solution.
|
|
1102
|
+
routes: nil,
|
|
1103
|
+
# Returns the total service time, in seconds, for all the routes in the solution.
|
|
1104
|
+
# It is equal to the sum of service time of individual tasks that were assigned
|
|
1105
|
+
# and the time spent loading/unloading items at designated depots by all vehicles.
|
|
1106
|
+
service: nil,
|
|
1107
|
+
# Returns the total setup time, in seconds, of all assigned tasks. It is equal to
|
|
1108
|
+
# the sum of setup time of individual tasks that were assigned.
|
|
1109
|
+
setup: nil,
|
|
1110
|
+
# Returns the total duration, in seconds, that tasks across all routes were
|
|
1111
|
+
# delayed from starting after their scheduled time windows had passed.
|
|
1112
|
+
total_visit_lateness: nil,
|
|
1113
|
+
# Returns the number of unfulfilled tasks in the solution.
|
|
1114
|
+
unassigned: nil,
|
|
1115
|
+
# Returns the sum of durations spent waiting, in seconds, by vehicles on all
|
|
1116
|
+
# routes.
|
|
1117
|
+
waiting_time: nil
|
|
1118
|
+
)
|
|
1119
|
+
end
|
|
1120
|
+
|
|
1121
|
+
sig do
|
|
1122
|
+
override.returns(
|
|
1123
|
+
{
|
|
1124
|
+
cost: Integer,
|
|
1125
|
+
delivery: T::Array[Integer],
|
|
1126
|
+
distance: Float,
|
|
1127
|
+
duration: Integer,
|
|
1128
|
+
num_late_visits: Integer,
|
|
1129
|
+
pickup: T::Array[Integer],
|
|
1130
|
+
priority: Integer,
|
|
1131
|
+
revenue: Integer,
|
|
1132
|
+
routes: Integer,
|
|
1133
|
+
service: Integer,
|
|
1134
|
+
setup: Integer,
|
|
1135
|
+
total_visit_lateness: Integer,
|
|
1136
|
+
unassigned: Integer,
|
|
1137
|
+
waiting_time: Integer
|
|
1138
|
+
}
|
|
1139
|
+
)
|
|
1140
|
+
end
|
|
1141
|
+
def to_hash
|
|
1142
|
+
end
|
|
1143
|
+
end
|
|
1144
|
+
|
|
1145
|
+
class Unassigned < Nextbillionai::Internal::Type::BaseModel
|
|
1146
|
+
OrHash =
|
|
1147
|
+
T.type_alias do
|
|
1148
|
+
T.any(
|
|
1149
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Result::Unassigned,
|
|
1150
|
+
Nextbillionai::Internal::AnyHash
|
|
1151
|
+
)
|
|
1152
|
+
end
|
|
1153
|
+
|
|
1154
|
+
# Returns the ID of the unassigned task. The ID returned is the same as that
|
|
1155
|
+
# provided for the given task in the jobs or the shipments part in the input POST
|
|
1156
|
+
# optimization request.
|
|
1157
|
+
#
|
|
1158
|
+
# **Note:** Since both integer and string value types are supported for task IDs,
|
|
1159
|
+
# the value type returned for this field will depend on the value type provided in
|
|
1160
|
+
# the input request for the unassigned task.
|
|
1161
|
+
sig { returns(T.nilable(String)) }
|
|
1162
|
+
attr_reader :id
|
|
1163
|
+
|
|
1164
|
+
sig { params(id: String).void }
|
|
1165
|
+
attr_writer :id
|
|
1166
|
+
|
|
1167
|
+
# Returns the location of the unassigned tasks in the \[latitude, longitude\]
|
|
1168
|
+
# format.
|
|
1169
|
+
sig { returns(T.nilable(T::Array[Float])) }
|
|
1170
|
+
attr_reader :location
|
|
1171
|
+
|
|
1172
|
+
sig { params(location: T::Array[Float]).void }
|
|
1173
|
+
attr_writer :location
|
|
1174
|
+
|
|
1175
|
+
# Returns the cost of outsourcing the task. This is the same value as provided in
|
|
1176
|
+
# the input. The field is present only if a outsourcing_cost was provided for the
|
|
1177
|
+
# unassigned task.
|
|
1178
|
+
sig { returns(T.nilable(Integer)) }
|
|
1179
|
+
attr_reader :outsourcing_cost
|
|
1180
|
+
|
|
1181
|
+
sig { params(outsourcing_cost: Integer).void }
|
|
1182
|
+
attr_writer :outsourcing_cost
|
|
1183
|
+
|
|
1184
|
+
# Returns the most likely reason due to which the task remained unassigned. The
|
|
1185
|
+
# optimization service can capture the following causes of tasks remaining
|
|
1186
|
+
# unassigned, among others:
|
|
1187
|
+
#
|
|
1188
|
+
# - unmatched skills of the tasks
|
|
1189
|
+
# - insufficient capacity of vehicle to accommodate the tasks
|
|
1190
|
+
# - time_window requirements of the tasks or the vehicles
|
|
1191
|
+
# - violation of vehicle’s max_activity_waiting_time constraint
|
|
1192
|
+
# - violation of vehicle’s max_tasks or max_stops constraints
|
|
1193
|
+
# - violation of vehicle’s max_distance or max_travel_time constraints
|
|
1194
|
+
# - task unassigned due to zone constraints
|
|
1195
|
+
# - task unassigned due to depot constraints
|
|
1196
|
+
# - task unassigned due to load type incompatibility constraints
|
|
1197
|
+
# - task unassigned due to max time in vehicle constraint
|
|
1198
|
+
# - task unassigned as it is unprofitable
|
|
1199
|
+
# - task unassigned due to low outsourcing cost
|
|
1200
|
+
# - task unassigned due to infeasible conditions specified in relations attribute
|
|
1201
|
+
sig { returns(T.nilable(String)) }
|
|
1202
|
+
attr_reader :reason
|
|
1203
|
+
|
|
1204
|
+
sig { params(reason: String).void }
|
|
1205
|
+
attr_writer :reason
|
|
1206
|
+
|
|
1207
|
+
# Returns the type of the task that was unassigned. Will always belong to one of
|
|
1208
|
+
# job, pickup, or delivery.
|
|
1209
|
+
sig { returns(T.nilable(String)) }
|
|
1210
|
+
attr_reader :type
|
|
1211
|
+
|
|
1212
|
+
sig { params(type: String).void }
|
|
1213
|
+
attr_writer :type
|
|
1214
|
+
|
|
1215
|
+
sig do
|
|
1216
|
+
params(
|
|
1217
|
+
id: String,
|
|
1218
|
+
location: T::Array[Float],
|
|
1219
|
+
outsourcing_cost: Integer,
|
|
1220
|
+
reason: String,
|
|
1221
|
+
type: String
|
|
1222
|
+
).returns(T.attached_class)
|
|
1223
|
+
end
|
|
1224
|
+
def self.new(
|
|
1225
|
+
# Returns the ID of the unassigned task. The ID returned is the same as that
|
|
1226
|
+
# provided for the given task in the jobs or the shipments part in the input POST
|
|
1227
|
+
# optimization request.
|
|
1228
|
+
#
|
|
1229
|
+
# **Note:** Since both integer and string value types are supported for task IDs,
|
|
1230
|
+
# the value type returned for this field will depend on the value type provided in
|
|
1231
|
+
# the input request for the unassigned task.
|
|
1232
|
+
id: nil,
|
|
1233
|
+
# Returns the location of the unassigned tasks in the \[latitude, longitude\]
|
|
1234
|
+
# format.
|
|
1235
|
+
location: nil,
|
|
1236
|
+
# Returns the cost of outsourcing the task. This is the same value as provided in
|
|
1237
|
+
# the input. The field is present only if a outsourcing_cost was provided for the
|
|
1238
|
+
# unassigned task.
|
|
1239
|
+
outsourcing_cost: nil,
|
|
1240
|
+
# Returns the most likely reason due to which the task remained unassigned. The
|
|
1241
|
+
# optimization service can capture the following causes of tasks remaining
|
|
1242
|
+
# unassigned, among others:
|
|
1243
|
+
#
|
|
1244
|
+
# - unmatched skills of the tasks
|
|
1245
|
+
# - insufficient capacity of vehicle to accommodate the tasks
|
|
1246
|
+
# - time_window requirements of the tasks or the vehicles
|
|
1247
|
+
# - violation of vehicle’s max_activity_waiting_time constraint
|
|
1248
|
+
# - violation of vehicle’s max_tasks or max_stops constraints
|
|
1249
|
+
# - violation of vehicle’s max_distance or max_travel_time constraints
|
|
1250
|
+
# - task unassigned due to zone constraints
|
|
1251
|
+
# - task unassigned due to depot constraints
|
|
1252
|
+
# - task unassigned due to load type incompatibility constraints
|
|
1253
|
+
# - task unassigned due to max time in vehicle constraint
|
|
1254
|
+
# - task unassigned as it is unprofitable
|
|
1255
|
+
# - task unassigned due to low outsourcing cost
|
|
1256
|
+
# - task unassigned due to infeasible conditions specified in relations attribute
|
|
1257
|
+
reason: nil,
|
|
1258
|
+
# Returns the type of the task that was unassigned. Will always belong to one of
|
|
1259
|
+
# job, pickup, or delivery.
|
|
1260
|
+
type: nil
|
|
1261
|
+
)
|
|
1262
|
+
end
|
|
1263
|
+
|
|
1264
|
+
sig do
|
|
1265
|
+
override.returns(
|
|
1266
|
+
{
|
|
1267
|
+
id: String,
|
|
1268
|
+
location: T::Array[Float],
|
|
1269
|
+
outsourcing_cost: Integer,
|
|
1270
|
+
reason: String,
|
|
1271
|
+
type: String
|
|
1272
|
+
}
|
|
1273
|
+
)
|
|
1274
|
+
end
|
|
1275
|
+
def to_hash
|
|
1276
|
+
end
|
|
1277
|
+
end
|
|
1278
|
+
end
|
|
1279
|
+
|
|
1280
|
+
# It indicates the overall status or result of the API request denoting whether
|
|
1281
|
+
# the operation was successful or did it encounter any errors.
|
|
1282
|
+
module Status
|
|
1283
|
+
extend Nextbillionai::Internal::Type::Enum
|
|
1284
|
+
|
|
1285
|
+
TaggedSymbol =
|
|
1286
|
+
T.type_alias do
|
|
1287
|
+
T.all(
|
|
1288
|
+
Symbol,
|
|
1289
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Status
|
|
1290
|
+
)
|
|
1291
|
+
end
|
|
1292
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1293
|
+
|
|
1294
|
+
OK =
|
|
1295
|
+
T.let(
|
|
1296
|
+
:Ok,
|
|
1297
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Status::TaggedSymbol
|
|
1298
|
+
)
|
|
1299
|
+
ERROR =
|
|
1300
|
+
T.let(
|
|
1301
|
+
:Error,
|
|
1302
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Status::TaggedSymbol
|
|
1303
|
+
)
|
|
1304
|
+
|
|
1305
|
+
sig do
|
|
1306
|
+
override.returns(
|
|
1307
|
+
T::Array[
|
|
1308
|
+
Nextbillionai::Models::Optimization::V2RetrieveResultResponse::Status::TaggedSymbol
|
|
1309
|
+
]
|
|
1310
|
+
)
|
|
1311
|
+
end
|
|
1312
|
+
def self.values
|
|
1313
|
+
end
|
|
1314
|
+
end
|
|
1315
|
+
end
|
|
1316
|
+
end
|
|
1317
|
+
end
|
|
1318
|
+
end
|