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,1306 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Nextbillionai
|
|
4
|
+
module Models
|
|
5
|
+
module Optimization
|
|
6
|
+
class DriverAssignmentAssignParams < Nextbillionai::Internal::Type::BaseModel
|
|
7
|
+
extend Nextbillionai::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Nextbillionai::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams,
|
|
14
|
+
Nextbillionai::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# A key is a unique identifier that is required to authenticate a request to the
|
|
19
|
+
# API.
|
|
20
|
+
sig { returns(String) }
|
|
21
|
+
attr_accessor :key
|
|
22
|
+
|
|
23
|
+
# Specify the filtering criterion for the vehicles with respect to each order's
|
|
24
|
+
# location. filter is a mandatory input for all requests.
|
|
25
|
+
sig do
|
|
26
|
+
returns(
|
|
27
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Filter
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
attr_reader :filter
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
params(
|
|
34
|
+
filter:
|
|
35
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Filter::OrHash
|
|
36
|
+
).void
|
|
37
|
+
end
|
|
38
|
+
attr_writer :filter
|
|
39
|
+
|
|
40
|
+
# Collects the details of open orders to be fulfilled. Each object represents one
|
|
41
|
+
# order. All requests must include orders as a mandatory input. A maximum of 200
|
|
42
|
+
# orders is allowed per request.
|
|
43
|
+
sig do
|
|
44
|
+
returns(
|
|
45
|
+
T::Array[
|
|
46
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order
|
|
47
|
+
]
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
attr_accessor :orders
|
|
51
|
+
|
|
52
|
+
# Collects the details of vehicles available to fulfill the orders. Each object
|
|
53
|
+
# represents one vehicle. All requests must include vehicles as a mandatory input.
|
|
54
|
+
# A maximum of 100 vehicles is allowed per request.
|
|
55
|
+
sig { returns(T::Array[Nextbillionai::Optimization::Vehicle]) }
|
|
56
|
+
attr_accessor :vehicles
|
|
57
|
+
|
|
58
|
+
# Configure the assignment constraints and response settings.
|
|
59
|
+
sig do
|
|
60
|
+
returns(
|
|
61
|
+
T.nilable(
|
|
62
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options
|
|
63
|
+
)
|
|
64
|
+
)
|
|
65
|
+
end
|
|
66
|
+
attr_reader :options
|
|
67
|
+
|
|
68
|
+
sig do
|
|
69
|
+
params(
|
|
70
|
+
options:
|
|
71
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::OrHash
|
|
72
|
+
).void
|
|
73
|
+
end
|
|
74
|
+
attr_writer :options
|
|
75
|
+
|
|
76
|
+
sig do
|
|
77
|
+
params(
|
|
78
|
+
key: String,
|
|
79
|
+
filter:
|
|
80
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Filter::OrHash,
|
|
81
|
+
orders:
|
|
82
|
+
T::Array[
|
|
83
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::OrHash
|
|
84
|
+
],
|
|
85
|
+
vehicles: T::Array[Nextbillionai::Optimization::Vehicle::OrHash],
|
|
86
|
+
options:
|
|
87
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::OrHash,
|
|
88
|
+
request_options: Nextbillionai::RequestOptions::OrHash
|
|
89
|
+
).returns(T.attached_class)
|
|
90
|
+
end
|
|
91
|
+
def self.new(
|
|
92
|
+
# A key is a unique identifier that is required to authenticate a request to the
|
|
93
|
+
# API.
|
|
94
|
+
key:,
|
|
95
|
+
# Specify the filtering criterion for the vehicles with respect to each order's
|
|
96
|
+
# location. filter is a mandatory input for all requests.
|
|
97
|
+
filter:,
|
|
98
|
+
# Collects the details of open orders to be fulfilled. Each object represents one
|
|
99
|
+
# order. All requests must include orders as a mandatory input. A maximum of 200
|
|
100
|
+
# orders is allowed per request.
|
|
101
|
+
orders:,
|
|
102
|
+
# Collects the details of vehicles available to fulfill the orders. Each object
|
|
103
|
+
# represents one vehicle. All requests must include vehicles as a mandatory input.
|
|
104
|
+
# A maximum of 100 vehicles is allowed per request.
|
|
105
|
+
vehicles:,
|
|
106
|
+
# Configure the assignment constraints and response settings.
|
|
107
|
+
options: nil,
|
|
108
|
+
request_options: {}
|
|
109
|
+
)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
sig do
|
|
113
|
+
override.returns(
|
|
114
|
+
{
|
|
115
|
+
key: String,
|
|
116
|
+
filter:
|
|
117
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Filter,
|
|
118
|
+
orders:
|
|
119
|
+
T::Array[
|
|
120
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order
|
|
121
|
+
],
|
|
122
|
+
vehicles: T::Array[Nextbillionai::Optimization::Vehicle],
|
|
123
|
+
options:
|
|
124
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options,
|
|
125
|
+
request_options: Nextbillionai::RequestOptions
|
|
126
|
+
}
|
|
127
|
+
)
|
|
128
|
+
end
|
|
129
|
+
def to_hash
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
class Filter < Nextbillionai::Internal::Type::BaseModel
|
|
133
|
+
OrHash =
|
|
134
|
+
T.type_alias do
|
|
135
|
+
T.any(
|
|
136
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Filter,
|
|
137
|
+
Nextbillionai::Internal::AnyHash
|
|
138
|
+
)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# Defines a driving_distance filter, in meters. If a vehicle needs to drive
|
|
142
|
+
# further than this distance to reach a pickup location, it will not be assigned
|
|
143
|
+
# to that order. Valid range of values for this filter is \[1, 10000\].
|
|
144
|
+
sig { returns(T.nilable(Float)) }
|
|
145
|
+
attr_reader :driving_distance
|
|
146
|
+
|
|
147
|
+
sig { params(driving_distance: Float).void }
|
|
148
|
+
attr_writer :driving_distance
|
|
149
|
+
|
|
150
|
+
# Specify a duration, in seconds, which will be used to filter out ineligible
|
|
151
|
+
# vehicles for each order. Any vehicle which would take more time than specified
|
|
152
|
+
# here, to reach the pickup location of a given order, will be ruled out for
|
|
153
|
+
# assignment for that particular order. Valid values for pickup_eta are \[1,
|
|
154
|
+
# 3600\].
|
|
155
|
+
sig { returns(T.nilable(Integer)) }
|
|
156
|
+
attr_reader :pickup_eta
|
|
157
|
+
|
|
158
|
+
sig { params(pickup_eta: Integer).void }
|
|
159
|
+
attr_writer :pickup_eta
|
|
160
|
+
|
|
161
|
+
# Specify a radius, in meters, which will be used to filter out ineligible
|
|
162
|
+
# vehicles for each order. The pickup location of an order will act as the center
|
|
163
|
+
# of the circle when identifying eligible vehicles. Valid values for radius are
|
|
164
|
+
# \[1, 10000\].
|
|
165
|
+
sig { returns(T.nilable(Float)) }
|
|
166
|
+
attr_reader :radius
|
|
167
|
+
|
|
168
|
+
sig { params(radius: Float).void }
|
|
169
|
+
attr_writer :radius
|
|
170
|
+
|
|
171
|
+
# Specify the filtering criterion for the vehicles with respect to each order's
|
|
172
|
+
# location. filter is a mandatory input for all requests.
|
|
173
|
+
sig do
|
|
174
|
+
params(
|
|
175
|
+
driving_distance: Float,
|
|
176
|
+
pickup_eta: Integer,
|
|
177
|
+
radius: Float
|
|
178
|
+
).returns(T.attached_class)
|
|
179
|
+
end
|
|
180
|
+
def self.new(
|
|
181
|
+
# Defines a driving_distance filter, in meters. If a vehicle needs to drive
|
|
182
|
+
# further than this distance to reach a pickup location, it will not be assigned
|
|
183
|
+
# to that order. Valid range of values for this filter is \[1, 10000\].
|
|
184
|
+
driving_distance: nil,
|
|
185
|
+
# Specify a duration, in seconds, which will be used to filter out ineligible
|
|
186
|
+
# vehicles for each order. Any vehicle which would take more time than specified
|
|
187
|
+
# here, to reach the pickup location of a given order, will be ruled out for
|
|
188
|
+
# assignment for that particular order. Valid values for pickup_eta are \[1,
|
|
189
|
+
# 3600\].
|
|
190
|
+
pickup_eta: nil,
|
|
191
|
+
# Specify a radius, in meters, which will be used to filter out ineligible
|
|
192
|
+
# vehicles for each order. The pickup location of an order will act as the center
|
|
193
|
+
# of the circle when identifying eligible vehicles. Valid values for radius are
|
|
194
|
+
# \[1, 10000\].
|
|
195
|
+
radius: nil
|
|
196
|
+
)
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
sig do
|
|
200
|
+
override.returns(
|
|
201
|
+
{ driving_distance: Float, pickup_eta: Integer, radius: Float }
|
|
202
|
+
)
|
|
203
|
+
end
|
|
204
|
+
def to_hash
|
|
205
|
+
end
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
class Order < Nextbillionai::Internal::Type::BaseModel
|
|
209
|
+
OrHash =
|
|
210
|
+
T.type_alias do
|
|
211
|
+
T.any(
|
|
212
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order,
|
|
213
|
+
Nextbillionai::Internal::AnyHash
|
|
214
|
+
)
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
# Specify a unique ID for the order.
|
|
218
|
+
sig { returns(String) }
|
|
219
|
+
attr_accessor :id
|
|
220
|
+
|
|
221
|
+
# Specify the location coordinates of the pickup location of the order. This input
|
|
222
|
+
# is mandatory for each order.
|
|
223
|
+
sig do
|
|
224
|
+
returns(
|
|
225
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Pickup
|
|
226
|
+
)
|
|
227
|
+
end
|
|
228
|
+
attr_reader :pickup
|
|
229
|
+
|
|
230
|
+
sig do
|
|
231
|
+
params(
|
|
232
|
+
pickup:
|
|
233
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Pickup::OrHash
|
|
234
|
+
).void
|
|
235
|
+
end
|
|
236
|
+
attr_writer :pickup
|
|
237
|
+
|
|
238
|
+
# Specify custom attributes for the orders. Each attribute should be created as a
|
|
239
|
+
# key:value pair. The **keys** provided can be used in
|
|
240
|
+
# options.order_attribute_priority_mappings to assign a custom priority for this
|
|
241
|
+
# order based on its attributes.
|
|
242
|
+
#
|
|
243
|
+
# The maximum number of key:value pairs that can be specified under attributes for
|
|
244
|
+
# a given order, is limited to 30.
|
|
245
|
+
sig { returns(T.nilable(T.anything)) }
|
|
246
|
+
attr_reader :attributes
|
|
247
|
+
|
|
248
|
+
sig { params(attributes: T.anything).void }
|
|
249
|
+
attr_writer :attributes
|
|
250
|
+
|
|
251
|
+
# Use this parameter to specify the location coordinates of the destination of the
|
|
252
|
+
# trip or the intermediate stops to be completed before it.
|
|
253
|
+
#
|
|
254
|
+
# Please note
|
|
255
|
+
#
|
|
256
|
+
# - The last location provided is treated as the destination of the trip.
|
|
257
|
+
# - dropoffs is mandatory when dropoff_details is set to **true**.
|
|
258
|
+
sig do
|
|
259
|
+
returns(
|
|
260
|
+
T.nilable(
|
|
261
|
+
T::Array[
|
|
262
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Dropoff
|
|
263
|
+
]
|
|
264
|
+
)
|
|
265
|
+
)
|
|
266
|
+
end
|
|
267
|
+
attr_reader :dropoffs
|
|
268
|
+
|
|
269
|
+
sig do
|
|
270
|
+
params(
|
|
271
|
+
dropoffs:
|
|
272
|
+
T::Array[
|
|
273
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Dropoff::OrHash
|
|
274
|
+
]
|
|
275
|
+
).void
|
|
276
|
+
end
|
|
277
|
+
attr_writer :dropoffs
|
|
278
|
+
|
|
279
|
+
# Specify the priority for this order. A higher value indicates a higher priority.
|
|
280
|
+
# When specified, it will override any priority score deduced from
|
|
281
|
+
# order_attribute_priority_mappings for this order. Valid values are \[1, 10\] and
|
|
282
|
+
# default is 0.
|
|
283
|
+
sig { returns(T.nilable(Integer)) }
|
|
284
|
+
attr_reader :priority
|
|
285
|
+
|
|
286
|
+
sig { params(priority: Integer).void }
|
|
287
|
+
attr_writer :priority
|
|
288
|
+
|
|
289
|
+
# Specify the service time, in seconds, for the order. Service time is the
|
|
290
|
+
# duration that the driver is likely to wait at the pickup location after
|
|
291
|
+
# arriving. The impact of the service time is realized in the ETA for the
|
|
292
|
+
# "dropoff" type step.
|
|
293
|
+
sig { returns(T.nilable(Integer)) }
|
|
294
|
+
attr_reader :service_time
|
|
295
|
+
|
|
296
|
+
sig { params(service_time: Integer).void }
|
|
297
|
+
attr_writer :service_time
|
|
298
|
+
|
|
299
|
+
# Define custom preferences for task assignment based on vehicle's attributes. If
|
|
300
|
+
# multiple criteria are provided, they are evaluated using an AND
|
|
301
|
+
# condition—meaning all specified criteria must be met individually for a vehicle
|
|
302
|
+
# to be considered.
|
|
303
|
+
#
|
|
304
|
+
# For example, if required_all_of_attributes, required_any_of_attributes, and
|
|
305
|
+
# exclude_all_of_attributes are all provided, an eligible vehicle must satisfy the
|
|
306
|
+
# following to be considered for assignments:
|
|
307
|
+
#
|
|
308
|
+
# 1. Meet all conditions specified in required_all_of_attributes.
|
|
309
|
+
# 2. Meet at least one of the conditions listed in required_any_of_attributes.
|
|
310
|
+
# 3. Not meet any conditions mentioned in exclude_all_of_attributes.
|
|
311
|
+
#
|
|
312
|
+
# Consequently, a vehicle which does not have any attributes defined can't be
|
|
313
|
+
# assigned to an order which has vehicle_preferences configured.
|
|
314
|
+
sig do
|
|
315
|
+
returns(
|
|
316
|
+
T.nilable(
|
|
317
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences
|
|
318
|
+
)
|
|
319
|
+
)
|
|
320
|
+
end
|
|
321
|
+
attr_reader :vehicle_preferences
|
|
322
|
+
|
|
323
|
+
sig do
|
|
324
|
+
params(
|
|
325
|
+
vehicle_preferences:
|
|
326
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::OrHash
|
|
327
|
+
).void
|
|
328
|
+
end
|
|
329
|
+
attr_writer :vehicle_preferences
|
|
330
|
+
|
|
331
|
+
sig do
|
|
332
|
+
params(
|
|
333
|
+
id: String,
|
|
334
|
+
pickup:
|
|
335
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Pickup::OrHash,
|
|
336
|
+
attributes: T.anything,
|
|
337
|
+
dropoffs:
|
|
338
|
+
T::Array[
|
|
339
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Dropoff::OrHash
|
|
340
|
+
],
|
|
341
|
+
priority: Integer,
|
|
342
|
+
service_time: Integer,
|
|
343
|
+
vehicle_preferences:
|
|
344
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::OrHash
|
|
345
|
+
).returns(T.attached_class)
|
|
346
|
+
end
|
|
347
|
+
def self.new(
|
|
348
|
+
# Specify a unique ID for the order.
|
|
349
|
+
id:,
|
|
350
|
+
# Specify the location coordinates of the pickup location of the order. This input
|
|
351
|
+
# is mandatory for each order.
|
|
352
|
+
pickup:,
|
|
353
|
+
# Specify custom attributes for the orders. Each attribute should be created as a
|
|
354
|
+
# key:value pair. The **keys** provided can be used in
|
|
355
|
+
# options.order_attribute_priority_mappings to assign a custom priority for this
|
|
356
|
+
# order based on its attributes.
|
|
357
|
+
#
|
|
358
|
+
# The maximum number of key:value pairs that can be specified under attributes for
|
|
359
|
+
# a given order, is limited to 30.
|
|
360
|
+
attributes: nil,
|
|
361
|
+
# Use this parameter to specify the location coordinates of the destination of the
|
|
362
|
+
# trip or the intermediate stops to be completed before it.
|
|
363
|
+
#
|
|
364
|
+
# Please note
|
|
365
|
+
#
|
|
366
|
+
# - The last location provided is treated as the destination of the trip.
|
|
367
|
+
# - dropoffs is mandatory when dropoff_details is set to **true**.
|
|
368
|
+
dropoffs: nil,
|
|
369
|
+
# Specify the priority for this order. A higher value indicates a higher priority.
|
|
370
|
+
# When specified, it will override any priority score deduced from
|
|
371
|
+
# order_attribute_priority_mappings for this order. Valid values are \[1, 10\] and
|
|
372
|
+
# default is 0.
|
|
373
|
+
priority: nil,
|
|
374
|
+
# Specify the service time, in seconds, for the order. Service time is the
|
|
375
|
+
# duration that the driver is likely to wait at the pickup location after
|
|
376
|
+
# arriving. The impact of the service time is realized in the ETA for the
|
|
377
|
+
# "dropoff" type step.
|
|
378
|
+
service_time: nil,
|
|
379
|
+
# Define custom preferences for task assignment based on vehicle's attributes. If
|
|
380
|
+
# multiple criteria are provided, they are evaluated using an AND
|
|
381
|
+
# condition—meaning all specified criteria must be met individually for a vehicle
|
|
382
|
+
# to be considered.
|
|
383
|
+
#
|
|
384
|
+
# For example, if required_all_of_attributes, required_any_of_attributes, and
|
|
385
|
+
# exclude_all_of_attributes are all provided, an eligible vehicle must satisfy the
|
|
386
|
+
# following to be considered for assignments:
|
|
387
|
+
#
|
|
388
|
+
# 1. Meet all conditions specified in required_all_of_attributes.
|
|
389
|
+
# 2. Meet at least one of the conditions listed in required_any_of_attributes.
|
|
390
|
+
# 3. Not meet any conditions mentioned in exclude_all_of_attributes.
|
|
391
|
+
#
|
|
392
|
+
# Consequently, a vehicle which does not have any attributes defined can't be
|
|
393
|
+
# assigned to an order which has vehicle_preferences configured.
|
|
394
|
+
vehicle_preferences: nil
|
|
395
|
+
)
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
sig do
|
|
399
|
+
override.returns(
|
|
400
|
+
{
|
|
401
|
+
id: String,
|
|
402
|
+
pickup:
|
|
403
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Pickup,
|
|
404
|
+
attributes: T.anything,
|
|
405
|
+
dropoffs:
|
|
406
|
+
T::Array[
|
|
407
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Dropoff
|
|
408
|
+
],
|
|
409
|
+
priority: Integer,
|
|
410
|
+
service_time: Integer,
|
|
411
|
+
vehicle_preferences:
|
|
412
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences
|
|
413
|
+
}
|
|
414
|
+
)
|
|
415
|
+
end
|
|
416
|
+
def to_hash
|
|
417
|
+
end
|
|
418
|
+
|
|
419
|
+
class Pickup < Nextbillionai::Internal::Type::BaseModel
|
|
420
|
+
OrHash =
|
|
421
|
+
T.type_alias do
|
|
422
|
+
T.any(
|
|
423
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Pickup,
|
|
424
|
+
Nextbillionai::Internal::AnyHash
|
|
425
|
+
)
|
|
426
|
+
end
|
|
427
|
+
|
|
428
|
+
# Latitude of the pickup location.
|
|
429
|
+
sig { returns(T.nilable(Float)) }
|
|
430
|
+
attr_reader :lat
|
|
431
|
+
|
|
432
|
+
sig { params(lat: Float).void }
|
|
433
|
+
attr_writer :lat
|
|
434
|
+
|
|
435
|
+
# Longitude of the pickup location.
|
|
436
|
+
sig { returns(T.nilable(Float)) }
|
|
437
|
+
attr_reader :lng
|
|
438
|
+
|
|
439
|
+
sig { params(lng: Float).void }
|
|
440
|
+
attr_writer :lng
|
|
441
|
+
|
|
442
|
+
# Specify the location coordinates of the pickup location of the order. This input
|
|
443
|
+
# is mandatory for each order.
|
|
444
|
+
sig { params(lat: Float, lng: Float).returns(T.attached_class) }
|
|
445
|
+
def self.new(
|
|
446
|
+
# Latitude of the pickup location.
|
|
447
|
+
lat: nil,
|
|
448
|
+
# Longitude of the pickup location.
|
|
449
|
+
lng: nil
|
|
450
|
+
)
|
|
451
|
+
end
|
|
452
|
+
|
|
453
|
+
sig { override.returns({ lat: Float, lng: Float }) }
|
|
454
|
+
def to_hash
|
|
455
|
+
end
|
|
456
|
+
end
|
|
457
|
+
|
|
458
|
+
class Dropoff < Nextbillionai::Internal::Type::BaseModel
|
|
459
|
+
OrHash =
|
|
460
|
+
T.type_alias do
|
|
461
|
+
T.any(
|
|
462
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Dropoff,
|
|
463
|
+
Nextbillionai::Internal::AnyHash
|
|
464
|
+
)
|
|
465
|
+
end
|
|
466
|
+
|
|
467
|
+
# Latitude of the stop location.
|
|
468
|
+
sig { returns(T.nilable(Float)) }
|
|
469
|
+
attr_reader :lat
|
|
470
|
+
|
|
471
|
+
sig { params(lat: Float).void }
|
|
472
|
+
attr_writer :lat
|
|
473
|
+
|
|
474
|
+
# Longitude of the stop location.
|
|
475
|
+
sig { returns(T.nilable(Float)) }
|
|
476
|
+
attr_reader :lng
|
|
477
|
+
|
|
478
|
+
sig { params(lng: Float).void }
|
|
479
|
+
attr_writer :lng
|
|
480
|
+
|
|
481
|
+
sig { params(lat: Float, lng: Float).returns(T.attached_class) }
|
|
482
|
+
def self.new(
|
|
483
|
+
# Latitude of the stop location.
|
|
484
|
+
lat: nil,
|
|
485
|
+
# Longitude of the stop location.
|
|
486
|
+
lng: nil
|
|
487
|
+
)
|
|
488
|
+
end
|
|
489
|
+
|
|
490
|
+
sig { override.returns({ lat: Float, lng: Float }) }
|
|
491
|
+
def to_hash
|
|
492
|
+
end
|
|
493
|
+
end
|
|
494
|
+
|
|
495
|
+
class VehiclePreferences < Nextbillionai::Internal::Type::BaseModel
|
|
496
|
+
OrHash =
|
|
497
|
+
T.type_alias do
|
|
498
|
+
T.any(
|
|
499
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences,
|
|
500
|
+
Nextbillionai::Internal::AnyHash
|
|
501
|
+
)
|
|
502
|
+
end
|
|
503
|
+
|
|
504
|
+
# An array of objects to add exclusion requirements for the order. A vehicle must
|
|
505
|
+
# **not meet any of the conditions** specified here to be considered for
|
|
506
|
+
# assignment. Each object represents a single condition. Please note that a
|
|
507
|
+
# maximum of 10 conditions can be added here for a given order.
|
|
508
|
+
sig do
|
|
509
|
+
returns(
|
|
510
|
+
T.nilable(
|
|
511
|
+
T::Array[
|
|
512
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::ExcludeAllOfAttribute
|
|
513
|
+
]
|
|
514
|
+
)
|
|
515
|
+
)
|
|
516
|
+
end
|
|
517
|
+
attr_reader :exclude_all_of_attributes
|
|
518
|
+
|
|
519
|
+
sig do
|
|
520
|
+
params(
|
|
521
|
+
exclude_all_of_attributes:
|
|
522
|
+
T::Array[
|
|
523
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::ExcludeAllOfAttribute::OrHash
|
|
524
|
+
]
|
|
525
|
+
).void
|
|
526
|
+
end
|
|
527
|
+
attr_writer :exclude_all_of_attributes
|
|
528
|
+
|
|
529
|
+
# An array of objects to add mandatory requirements for the order. A vehicle must
|
|
530
|
+
# **meet** **all conditions** specified here to be considered for assignment. Each
|
|
531
|
+
# object represents a single condition. Please note that a maximum of 10
|
|
532
|
+
# conditions can be added here for a given order.
|
|
533
|
+
sig do
|
|
534
|
+
returns(
|
|
535
|
+
T.nilable(
|
|
536
|
+
T::Array[
|
|
537
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAllOfAttribute
|
|
538
|
+
]
|
|
539
|
+
)
|
|
540
|
+
)
|
|
541
|
+
end
|
|
542
|
+
attr_reader :required_all_of_attributes
|
|
543
|
+
|
|
544
|
+
sig do
|
|
545
|
+
params(
|
|
546
|
+
required_all_of_attributes:
|
|
547
|
+
T::Array[
|
|
548
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAllOfAttribute::OrHash
|
|
549
|
+
]
|
|
550
|
+
).void
|
|
551
|
+
end
|
|
552
|
+
attr_writer :required_all_of_attributes
|
|
553
|
+
|
|
554
|
+
# An array of objects to add optional requirements for the order. A vehicle must
|
|
555
|
+
# **meet** **at least one of the conditions** specified here to be considered for
|
|
556
|
+
# assignment. Each object represents a single condition. Please note that a
|
|
557
|
+
# maximum of 10 conditions can be added here for a given order.
|
|
558
|
+
sig do
|
|
559
|
+
returns(
|
|
560
|
+
T.nilable(
|
|
561
|
+
T::Array[
|
|
562
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAnyOfAttribute
|
|
563
|
+
]
|
|
564
|
+
)
|
|
565
|
+
)
|
|
566
|
+
end
|
|
567
|
+
attr_reader :required_any_of_attributes
|
|
568
|
+
|
|
569
|
+
sig do
|
|
570
|
+
params(
|
|
571
|
+
required_any_of_attributes:
|
|
572
|
+
T::Array[
|
|
573
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAnyOfAttribute::OrHash
|
|
574
|
+
]
|
|
575
|
+
).void
|
|
576
|
+
end
|
|
577
|
+
attr_writer :required_any_of_attributes
|
|
578
|
+
|
|
579
|
+
# Define custom preferences for task assignment based on vehicle's attributes. If
|
|
580
|
+
# multiple criteria are provided, they are evaluated using an AND
|
|
581
|
+
# condition—meaning all specified criteria must be met individually for a vehicle
|
|
582
|
+
# to be considered.
|
|
583
|
+
#
|
|
584
|
+
# For example, if required_all_of_attributes, required_any_of_attributes, and
|
|
585
|
+
# exclude_all_of_attributes are all provided, an eligible vehicle must satisfy the
|
|
586
|
+
# following to be considered for assignments:
|
|
587
|
+
#
|
|
588
|
+
# 1. Meet all conditions specified in required_all_of_attributes.
|
|
589
|
+
# 2. Meet at least one of the conditions listed in required_any_of_attributes.
|
|
590
|
+
# 3. Not meet any conditions mentioned in exclude_all_of_attributes.
|
|
591
|
+
#
|
|
592
|
+
# Consequently, a vehicle which does not have any attributes defined can't be
|
|
593
|
+
# assigned to an order which has vehicle_preferences configured.
|
|
594
|
+
sig do
|
|
595
|
+
params(
|
|
596
|
+
exclude_all_of_attributes:
|
|
597
|
+
T::Array[
|
|
598
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::ExcludeAllOfAttribute::OrHash
|
|
599
|
+
],
|
|
600
|
+
required_all_of_attributes:
|
|
601
|
+
T::Array[
|
|
602
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAllOfAttribute::OrHash
|
|
603
|
+
],
|
|
604
|
+
required_any_of_attributes:
|
|
605
|
+
T::Array[
|
|
606
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAnyOfAttribute::OrHash
|
|
607
|
+
]
|
|
608
|
+
).returns(T.attached_class)
|
|
609
|
+
end
|
|
610
|
+
def self.new(
|
|
611
|
+
# An array of objects to add exclusion requirements for the order. A vehicle must
|
|
612
|
+
# **not meet any of the conditions** specified here to be considered for
|
|
613
|
+
# assignment. Each object represents a single condition. Please note that a
|
|
614
|
+
# maximum of 10 conditions can be added here for a given order.
|
|
615
|
+
exclude_all_of_attributes: nil,
|
|
616
|
+
# An array of objects to add mandatory requirements for the order. A vehicle must
|
|
617
|
+
# **meet** **all conditions** specified here to be considered for assignment. Each
|
|
618
|
+
# object represents a single condition. Please note that a maximum of 10
|
|
619
|
+
# conditions can be added here for a given order.
|
|
620
|
+
required_all_of_attributes: nil,
|
|
621
|
+
# An array of objects to add optional requirements for the order. A vehicle must
|
|
622
|
+
# **meet** **at least one of the conditions** specified here to be considered for
|
|
623
|
+
# assignment. Each object represents a single condition. Please note that a
|
|
624
|
+
# maximum of 10 conditions can be added here for a given order.
|
|
625
|
+
required_any_of_attributes: nil
|
|
626
|
+
)
|
|
627
|
+
end
|
|
628
|
+
|
|
629
|
+
sig do
|
|
630
|
+
override.returns(
|
|
631
|
+
{
|
|
632
|
+
exclude_all_of_attributes:
|
|
633
|
+
T::Array[
|
|
634
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::ExcludeAllOfAttribute
|
|
635
|
+
],
|
|
636
|
+
required_all_of_attributes:
|
|
637
|
+
T::Array[
|
|
638
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAllOfAttribute
|
|
639
|
+
],
|
|
640
|
+
required_any_of_attributes:
|
|
641
|
+
T::Array[
|
|
642
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAnyOfAttribute
|
|
643
|
+
]
|
|
644
|
+
}
|
|
645
|
+
)
|
|
646
|
+
end
|
|
647
|
+
def to_hash
|
|
648
|
+
end
|
|
649
|
+
|
|
650
|
+
class ExcludeAllOfAttribute < Nextbillionai::Internal::Type::BaseModel
|
|
651
|
+
OrHash =
|
|
652
|
+
T.type_alias do
|
|
653
|
+
T.any(
|
|
654
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::ExcludeAllOfAttribute,
|
|
655
|
+
Nextbillionai::Internal::AnyHash
|
|
656
|
+
)
|
|
657
|
+
end
|
|
658
|
+
|
|
659
|
+
# Specify the name of the attribute. The attribute is compared to the keys (of
|
|
660
|
+
# each key:value pair) in vehicles.attributes during evaluation.
|
|
661
|
+
sig { returns(String) }
|
|
662
|
+
attr_accessor :attribute
|
|
663
|
+
|
|
664
|
+
# Specify the operator to denote the relation between attribute and the value
|
|
665
|
+
# specified above. The attribute , operator and value together constitute the
|
|
666
|
+
# condition that a vehicle must meet to be eligible for assignment. Currently, we
|
|
667
|
+
# support following operators currently:
|
|
668
|
+
#
|
|
669
|
+
# - Equal to (==)
|
|
670
|
+
# - Less than (<)
|
|
671
|
+
# - Less tha equal to (<=)
|
|
672
|
+
# - Greater than (>)
|
|
673
|
+
# - Greater than equal to (>=)
|
|
674
|
+
# - Contains (contains)
|
|
675
|
+
#
|
|
676
|
+
# Please note that when using "contains" operator only one value can be specified
|
|
677
|
+
# and the corresponding attribute must contain multiple values when defined for a
|
|
678
|
+
# vehicle.
|
|
679
|
+
sig { returns(String) }
|
|
680
|
+
attr_accessor :operator
|
|
681
|
+
|
|
682
|
+
# Specify the desired value of the attribute to be applied for this order. value
|
|
683
|
+
# provided here is compared to the values (of each key:value pair) in
|
|
684
|
+
# vehicles.attributes during evaluation.
|
|
685
|
+
sig { returns(String) }
|
|
686
|
+
attr_accessor :value
|
|
687
|
+
|
|
688
|
+
sig do
|
|
689
|
+
params(
|
|
690
|
+
attribute: String,
|
|
691
|
+
operator: String,
|
|
692
|
+
value: String
|
|
693
|
+
).returns(T.attached_class)
|
|
694
|
+
end
|
|
695
|
+
def self.new(
|
|
696
|
+
# Specify the name of the attribute. The attribute is compared to the keys (of
|
|
697
|
+
# each key:value pair) in vehicles.attributes during evaluation.
|
|
698
|
+
attribute:,
|
|
699
|
+
# Specify the operator to denote the relation between attribute and the value
|
|
700
|
+
# specified above. The attribute , operator and value together constitute the
|
|
701
|
+
# condition that a vehicle must meet to be eligible for assignment. Currently, we
|
|
702
|
+
# support following operators currently:
|
|
703
|
+
#
|
|
704
|
+
# - Equal to (==)
|
|
705
|
+
# - Less than (<)
|
|
706
|
+
# - Less tha equal to (<=)
|
|
707
|
+
# - Greater than (>)
|
|
708
|
+
# - Greater than equal to (>=)
|
|
709
|
+
# - Contains (contains)
|
|
710
|
+
#
|
|
711
|
+
# Please note that when using "contains" operator only one value can be specified
|
|
712
|
+
# and the corresponding attribute must contain multiple values when defined for a
|
|
713
|
+
# vehicle.
|
|
714
|
+
operator:,
|
|
715
|
+
# Specify the desired value of the attribute to be applied for this order. value
|
|
716
|
+
# provided here is compared to the values (of each key:value pair) in
|
|
717
|
+
# vehicles.attributes during evaluation.
|
|
718
|
+
value:
|
|
719
|
+
)
|
|
720
|
+
end
|
|
721
|
+
|
|
722
|
+
sig do
|
|
723
|
+
override.returns(
|
|
724
|
+
{ attribute: String, operator: String, value: String }
|
|
725
|
+
)
|
|
726
|
+
end
|
|
727
|
+
def to_hash
|
|
728
|
+
end
|
|
729
|
+
end
|
|
730
|
+
|
|
731
|
+
class RequiredAllOfAttribute < Nextbillionai::Internal::Type::BaseModel
|
|
732
|
+
OrHash =
|
|
733
|
+
T.type_alias do
|
|
734
|
+
T.any(
|
|
735
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAllOfAttribute,
|
|
736
|
+
Nextbillionai::Internal::AnyHash
|
|
737
|
+
)
|
|
738
|
+
end
|
|
739
|
+
|
|
740
|
+
# Specify the name of the attribute. The attribute is compared to the keys (of
|
|
741
|
+
# each key:value pair) in vehicles.attributes during evaluation.
|
|
742
|
+
sig { returns(String) }
|
|
743
|
+
attr_accessor :attribute
|
|
744
|
+
|
|
745
|
+
# Specify the operator to denote the relation between attribute and the value
|
|
746
|
+
# specified above. The attribute , operator and value together constitute the
|
|
747
|
+
# condition that a vehicle must meet to be eligible for assignment. Currently, we
|
|
748
|
+
# support following operators currently:
|
|
749
|
+
#
|
|
750
|
+
# - Equal to (==)
|
|
751
|
+
# - Less than (<)
|
|
752
|
+
# - Less tha equal to (<=)
|
|
753
|
+
# - Greater than (>)
|
|
754
|
+
# - Greater than equal to (>=)
|
|
755
|
+
# - Contains (contains)
|
|
756
|
+
#
|
|
757
|
+
# Please note that when using "contains" operator only one value can be specified
|
|
758
|
+
# and the corresponding attribute must contain multiple values when defined for a
|
|
759
|
+
# vehicle.
|
|
760
|
+
sig { returns(String) }
|
|
761
|
+
attr_accessor :operator
|
|
762
|
+
|
|
763
|
+
# Specify the desired value of the attribute to be applied for this order. value
|
|
764
|
+
# provided here is compared to the values (of each key:value pair) in
|
|
765
|
+
# vehicles.attributes during evaluation.
|
|
766
|
+
sig { returns(String) }
|
|
767
|
+
attr_accessor :value
|
|
768
|
+
|
|
769
|
+
sig do
|
|
770
|
+
params(
|
|
771
|
+
attribute: String,
|
|
772
|
+
operator: String,
|
|
773
|
+
value: String
|
|
774
|
+
).returns(T.attached_class)
|
|
775
|
+
end
|
|
776
|
+
def self.new(
|
|
777
|
+
# Specify the name of the attribute. The attribute is compared to the keys (of
|
|
778
|
+
# each key:value pair) in vehicles.attributes during evaluation.
|
|
779
|
+
attribute:,
|
|
780
|
+
# Specify the operator to denote the relation between attribute and the value
|
|
781
|
+
# specified above. The attribute , operator and value together constitute the
|
|
782
|
+
# condition that a vehicle must meet to be eligible for assignment. Currently, we
|
|
783
|
+
# support following operators currently:
|
|
784
|
+
#
|
|
785
|
+
# - Equal to (==)
|
|
786
|
+
# - Less than (<)
|
|
787
|
+
# - Less tha equal to (<=)
|
|
788
|
+
# - Greater than (>)
|
|
789
|
+
# - Greater than equal to (>=)
|
|
790
|
+
# - Contains (contains)
|
|
791
|
+
#
|
|
792
|
+
# Please note that when using "contains" operator only one value can be specified
|
|
793
|
+
# and the corresponding attribute must contain multiple values when defined for a
|
|
794
|
+
# vehicle.
|
|
795
|
+
operator:,
|
|
796
|
+
# Specify the desired value of the attribute to be applied for this order. value
|
|
797
|
+
# provided here is compared to the values (of each key:value pair) in
|
|
798
|
+
# vehicles.attributes during evaluation.
|
|
799
|
+
value:
|
|
800
|
+
)
|
|
801
|
+
end
|
|
802
|
+
|
|
803
|
+
sig do
|
|
804
|
+
override.returns(
|
|
805
|
+
{ attribute: String, operator: String, value: String }
|
|
806
|
+
)
|
|
807
|
+
end
|
|
808
|
+
def to_hash
|
|
809
|
+
end
|
|
810
|
+
end
|
|
811
|
+
|
|
812
|
+
class RequiredAnyOfAttribute < Nextbillionai::Internal::Type::BaseModel
|
|
813
|
+
OrHash =
|
|
814
|
+
T.type_alias do
|
|
815
|
+
T.any(
|
|
816
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAnyOfAttribute,
|
|
817
|
+
Nextbillionai::Internal::AnyHash
|
|
818
|
+
)
|
|
819
|
+
end
|
|
820
|
+
|
|
821
|
+
# Specify the name of the attribute. The attribute is compared to the keys (of
|
|
822
|
+
# each key:value pair) in vehicles.attributes during evaluation.
|
|
823
|
+
sig { returns(String) }
|
|
824
|
+
attr_accessor :attribute
|
|
825
|
+
|
|
826
|
+
# Specify the operator to denote the relation between attribute and the value
|
|
827
|
+
# specified above. The attribute , operator and value together constitute the
|
|
828
|
+
# condition that a vehicle must meet to be eligible for assignment. Currently, we
|
|
829
|
+
# support following operators currently:
|
|
830
|
+
#
|
|
831
|
+
# - Equal to (==)
|
|
832
|
+
# - Less than (<)
|
|
833
|
+
# - Less tha equal to (<=)
|
|
834
|
+
# - Greater than (>)
|
|
835
|
+
# - Greater than equal to (>=)
|
|
836
|
+
# - Contains (contains)
|
|
837
|
+
#
|
|
838
|
+
# Please note that when using "contains" operator only one value can be specified
|
|
839
|
+
# and the corresponding attribute must contain multiple values when defined for a
|
|
840
|
+
# vehicle.
|
|
841
|
+
sig { returns(String) }
|
|
842
|
+
attr_accessor :operator
|
|
843
|
+
|
|
844
|
+
# Specify the desired value of the attribute to be applied for this order. value
|
|
845
|
+
# provided here is compared to the values (of each key:value pair) in
|
|
846
|
+
# vehicles.attributes during evaluation.
|
|
847
|
+
sig { returns(String) }
|
|
848
|
+
attr_accessor :value
|
|
849
|
+
|
|
850
|
+
sig do
|
|
851
|
+
params(
|
|
852
|
+
attribute: String,
|
|
853
|
+
operator: String,
|
|
854
|
+
value: String
|
|
855
|
+
).returns(T.attached_class)
|
|
856
|
+
end
|
|
857
|
+
def self.new(
|
|
858
|
+
# Specify the name of the attribute. The attribute is compared to the keys (of
|
|
859
|
+
# each key:value pair) in vehicles.attributes during evaluation.
|
|
860
|
+
attribute:,
|
|
861
|
+
# Specify the operator to denote the relation between attribute and the value
|
|
862
|
+
# specified above. The attribute , operator and value together constitute the
|
|
863
|
+
# condition that a vehicle must meet to be eligible for assignment. Currently, we
|
|
864
|
+
# support following operators currently:
|
|
865
|
+
#
|
|
866
|
+
# - Equal to (==)
|
|
867
|
+
# - Less than (<)
|
|
868
|
+
# - Less tha equal to (<=)
|
|
869
|
+
# - Greater than (>)
|
|
870
|
+
# - Greater than equal to (>=)
|
|
871
|
+
# - Contains (contains)
|
|
872
|
+
#
|
|
873
|
+
# Please note that when using "contains" operator only one value can be specified
|
|
874
|
+
# and the corresponding attribute must contain multiple values when defined for a
|
|
875
|
+
# vehicle.
|
|
876
|
+
operator:,
|
|
877
|
+
# Specify the desired value of the attribute to be applied for this order. value
|
|
878
|
+
# provided here is compared to the values (of each key:value pair) in
|
|
879
|
+
# vehicles.attributes during evaluation.
|
|
880
|
+
value:
|
|
881
|
+
)
|
|
882
|
+
end
|
|
883
|
+
|
|
884
|
+
sig do
|
|
885
|
+
override.returns(
|
|
886
|
+
{ attribute: String, operator: String, value: String }
|
|
887
|
+
)
|
|
888
|
+
end
|
|
889
|
+
def to_hash
|
|
890
|
+
end
|
|
891
|
+
end
|
|
892
|
+
end
|
|
893
|
+
end
|
|
894
|
+
|
|
895
|
+
class Options < Nextbillionai::Internal::Type::BaseModel
|
|
896
|
+
OrHash =
|
|
897
|
+
T.type_alias do
|
|
898
|
+
T.any(
|
|
899
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options,
|
|
900
|
+
Nextbillionai::Internal::AnyHash
|
|
901
|
+
)
|
|
902
|
+
end
|
|
903
|
+
|
|
904
|
+
# Specify the maximum number of potential, alternate vehicle assignments to be
|
|
905
|
+
# returned for each order, apart from the vehicle which was assigned as
|
|
906
|
+
# recommended. Please note that:
|
|
907
|
+
#
|
|
908
|
+
# - The maximum number of alternate assignments that can be requested are 3.
|
|
909
|
+
# - It is not necessary that the service will return the specified number of
|
|
910
|
+
# alternate assignments for each order. The number of alternate assignments
|
|
911
|
+
# returned will depend on the number of vehicles provided in the input.
|
|
912
|
+
# - Order which could not be assigned to any vehicles due to their filter or
|
|
913
|
+
# attribute matching criteria will not be eligible for alternate assignments as
|
|
914
|
+
# well.
|
|
915
|
+
sig { returns(T.nilable(Integer)) }
|
|
916
|
+
attr_reader :alternate_assignments
|
|
917
|
+
|
|
918
|
+
sig { params(alternate_assignments: Integer).void }
|
|
919
|
+
attr_writer :alternate_assignments
|
|
920
|
+
|
|
921
|
+
# When **true**, the service returns the drop-off steps for each trip and related
|
|
922
|
+
# details in the response. Defaults to **false**.
|
|
923
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
924
|
+
attr_reader :dropoff_details
|
|
925
|
+
|
|
926
|
+
sig { params(dropoff_details: T::Boolean).void }
|
|
927
|
+
attr_writer :dropoff_details
|
|
928
|
+
|
|
929
|
+
# Collection of rules for assigning custom priority to orders based on their
|
|
930
|
+
# attributes. In case an order satisfies more than one rule, the highest priority
|
|
931
|
+
# score from all the rules satisfied, would be the effective priority score for
|
|
932
|
+
# such an order.
|
|
933
|
+
sig do
|
|
934
|
+
returns(
|
|
935
|
+
T.nilable(
|
|
936
|
+
T::Array[
|
|
937
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::OrderAttributePriorityMapping
|
|
938
|
+
]
|
|
939
|
+
)
|
|
940
|
+
)
|
|
941
|
+
end
|
|
942
|
+
attr_reader :order_attribute_priority_mappings
|
|
943
|
+
|
|
944
|
+
sig do
|
|
945
|
+
params(
|
|
946
|
+
order_attribute_priority_mappings:
|
|
947
|
+
T::Array[
|
|
948
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::OrderAttributePriorityMapping::OrHash
|
|
949
|
+
]
|
|
950
|
+
).void
|
|
951
|
+
end
|
|
952
|
+
attr_writer :order_attribute_priority_mappings
|
|
953
|
+
|
|
954
|
+
# Choose a travel cost that will be used by the service for assigning vehicles
|
|
955
|
+
# efficiently from a set of qualifying ones.
|
|
956
|
+
sig do
|
|
957
|
+
returns(
|
|
958
|
+
T.nilable(
|
|
959
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::TravelCost::OrSymbol
|
|
960
|
+
)
|
|
961
|
+
)
|
|
962
|
+
end
|
|
963
|
+
attr_reader :travel_cost
|
|
964
|
+
|
|
965
|
+
sig do
|
|
966
|
+
params(
|
|
967
|
+
travel_cost:
|
|
968
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::TravelCost::OrSymbol
|
|
969
|
+
).void
|
|
970
|
+
end
|
|
971
|
+
attr_writer :travel_cost
|
|
972
|
+
|
|
973
|
+
# Collection of rules for assigning custom priority to vehicles based on their
|
|
974
|
+
# attributes. In case a vehicle satisfies more than one rule, the highest priority
|
|
975
|
+
# score from all the rules satisfied, would be the effective priority score for
|
|
976
|
+
# such a vehicle.
|
|
977
|
+
sig do
|
|
978
|
+
returns(
|
|
979
|
+
T.nilable(
|
|
980
|
+
T::Array[
|
|
981
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::VehicleAttributePriorityMapping
|
|
982
|
+
]
|
|
983
|
+
)
|
|
984
|
+
)
|
|
985
|
+
end
|
|
986
|
+
attr_reader :vehicle_attribute_priority_mappings
|
|
987
|
+
|
|
988
|
+
sig do
|
|
989
|
+
params(
|
|
990
|
+
vehicle_attribute_priority_mappings:
|
|
991
|
+
T::Array[
|
|
992
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::VehicleAttributePriorityMapping::OrHash
|
|
993
|
+
]
|
|
994
|
+
).void
|
|
995
|
+
end
|
|
996
|
+
attr_writer :vehicle_attribute_priority_mappings
|
|
997
|
+
|
|
998
|
+
# Configure the assignment constraints and response settings.
|
|
999
|
+
sig do
|
|
1000
|
+
params(
|
|
1001
|
+
alternate_assignments: Integer,
|
|
1002
|
+
dropoff_details: T::Boolean,
|
|
1003
|
+
order_attribute_priority_mappings:
|
|
1004
|
+
T::Array[
|
|
1005
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::OrderAttributePriorityMapping::OrHash
|
|
1006
|
+
],
|
|
1007
|
+
travel_cost:
|
|
1008
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::TravelCost::OrSymbol,
|
|
1009
|
+
vehicle_attribute_priority_mappings:
|
|
1010
|
+
T::Array[
|
|
1011
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::VehicleAttributePriorityMapping::OrHash
|
|
1012
|
+
]
|
|
1013
|
+
).returns(T.attached_class)
|
|
1014
|
+
end
|
|
1015
|
+
def self.new(
|
|
1016
|
+
# Specify the maximum number of potential, alternate vehicle assignments to be
|
|
1017
|
+
# returned for each order, apart from the vehicle which was assigned as
|
|
1018
|
+
# recommended. Please note that:
|
|
1019
|
+
#
|
|
1020
|
+
# - The maximum number of alternate assignments that can be requested are 3.
|
|
1021
|
+
# - It is not necessary that the service will return the specified number of
|
|
1022
|
+
# alternate assignments for each order. The number of alternate assignments
|
|
1023
|
+
# returned will depend on the number of vehicles provided in the input.
|
|
1024
|
+
# - Order which could not be assigned to any vehicles due to their filter or
|
|
1025
|
+
# attribute matching criteria will not be eligible for alternate assignments as
|
|
1026
|
+
# well.
|
|
1027
|
+
alternate_assignments: nil,
|
|
1028
|
+
# When **true**, the service returns the drop-off steps for each trip and related
|
|
1029
|
+
# details in the response. Defaults to **false**.
|
|
1030
|
+
dropoff_details: nil,
|
|
1031
|
+
# Collection of rules for assigning custom priority to orders based on their
|
|
1032
|
+
# attributes. In case an order satisfies more than one rule, the highest priority
|
|
1033
|
+
# score from all the rules satisfied, would be the effective priority score for
|
|
1034
|
+
# such an order.
|
|
1035
|
+
order_attribute_priority_mappings: nil,
|
|
1036
|
+
# Choose a travel cost that will be used by the service for assigning vehicles
|
|
1037
|
+
# efficiently from a set of qualifying ones.
|
|
1038
|
+
travel_cost: nil,
|
|
1039
|
+
# Collection of rules for assigning custom priority to vehicles based on their
|
|
1040
|
+
# attributes. In case a vehicle satisfies more than one rule, the highest priority
|
|
1041
|
+
# score from all the rules satisfied, would be the effective priority score for
|
|
1042
|
+
# such a vehicle.
|
|
1043
|
+
vehicle_attribute_priority_mappings: nil
|
|
1044
|
+
)
|
|
1045
|
+
end
|
|
1046
|
+
|
|
1047
|
+
sig do
|
|
1048
|
+
override.returns(
|
|
1049
|
+
{
|
|
1050
|
+
alternate_assignments: Integer,
|
|
1051
|
+
dropoff_details: T::Boolean,
|
|
1052
|
+
order_attribute_priority_mappings:
|
|
1053
|
+
T::Array[
|
|
1054
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::OrderAttributePriorityMapping
|
|
1055
|
+
],
|
|
1056
|
+
travel_cost:
|
|
1057
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::TravelCost::OrSymbol,
|
|
1058
|
+
vehicle_attribute_priority_mappings:
|
|
1059
|
+
T::Array[
|
|
1060
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::VehicleAttributePriorityMapping
|
|
1061
|
+
]
|
|
1062
|
+
}
|
|
1063
|
+
)
|
|
1064
|
+
end
|
|
1065
|
+
def to_hash
|
|
1066
|
+
end
|
|
1067
|
+
|
|
1068
|
+
class OrderAttributePriorityMapping < Nextbillionai::Internal::Type::BaseModel
|
|
1069
|
+
OrHash =
|
|
1070
|
+
T.type_alias do
|
|
1071
|
+
T.any(
|
|
1072
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::OrderAttributePriorityMapping,
|
|
1073
|
+
Nextbillionai::Internal::AnyHash
|
|
1074
|
+
)
|
|
1075
|
+
end
|
|
1076
|
+
|
|
1077
|
+
# Specify the name of the attribute. The attribute is compared to the keys (of
|
|
1078
|
+
# each key:value pair) in orders.attributes during evaluation.
|
|
1079
|
+
sig { returns(String) }
|
|
1080
|
+
attr_accessor :attribute
|
|
1081
|
+
|
|
1082
|
+
# Specify the operator to denote the relation between attribute and the value
|
|
1083
|
+
# specified above. The attribute , operator and value together constitute the
|
|
1084
|
+
# condition that an order must meet to assume the specified priority. We support
|
|
1085
|
+
# the following operators currently:
|
|
1086
|
+
#
|
|
1087
|
+
# - Equal to (==)
|
|
1088
|
+
# - Less than (<)
|
|
1089
|
+
# - Less tha equal to (<=)
|
|
1090
|
+
# - Greater than (>)
|
|
1091
|
+
# - Greater than equal to (>=)
|
|
1092
|
+
# - Contains (contains)
|
|
1093
|
+
#
|
|
1094
|
+
# Please note that when using "contains" operator only one value can be specified
|
|
1095
|
+
# and the corresponding attribute must contain multiple values when defined for an
|
|
1096
|
+
# order.
|
|
1097
|
+
sig { returns(String) }
|
|
1098
|
+
attr_accessor :operator
|
|
1099
|
+
|
|
1100
|
+
# Specify the priority score that should be assigned when an order qualifies the
|
|
1101
|
+
# criteria specified above. A higher value indicates a higher priority. Valid
|
|
1102
|
+
# values are \[1,10\].
|
|
1103
|
+
sig { returns(String) }
|
|
1104
|
+
attr_accessor :priority
|
|
1105
|
+
|
|
1106
|
+
# Specify the desired value of the attribute to be applied for this order. value
|
|
1107
|
+
# provided here is compared to the values (of each key:value pair) in
|
|
1108
|
+
# orders.attributes during evaluation.
|
|
1109
|
+
sig { returns(String) }
|
|
1110
|
+
attr_accessor :value
|
|
1111
|
+
|
|
1112
|
+
sig do
|
|
1113
|
+
params(
|
|
1114
|
+
attribute: String,
|
|
1115
|
+
operator: String,
|
|
1116
|
+
priority: String,
|
|
1117
|
+
value: String
|
|
1118
|
+
).returns(T.attached_class)
|
|
1119
|
+
end
|
|
1120
|
+
def self.new(
|
|
1121
|
+
# Specify the name of the attribute. The attribute is compared to the keys (of
|
|
1122
|
+
# each key:value pair) in orders.attributes during evaluation.
|
|
1123
|
+
attribute:,
|
|
1124
|
+
# Specify the operator to denote the relation between attribute and the value
|
|
1125
|
+
# specified above. The attribute , operator and value together constitute the
|
|
1126
|
+
# condition that an order must meet to assume the specified priority. We support
|
|
1127
|
+
# the following operators currently:
|
|
1128
|
+
#
|
|
1129
|
+
# - Equal to (==)
|
|
1130
|
+
# - Less than (<)
|
|
1131
|
+
# - Less tha equal to (<=)
|
|
1132
|
+
# - Greater than (>)
|
|
1133
|
+
# - Greater than equal to (>=)
|
|
1134
|
+
# - Contains (contains)
|
|
1135
|
+
#
|
|
1136
|
+
# Please note that when using "contains" operator only one value can be specified
|
|
1137
|
+
# and the corresponding attribute must contain multiple values when defined for an
|
|
1138
|
+
# order.
|
|
1139
|
+
operator:,
|
|
1140
|
+
# Specify the priority score that should be assigned when an order qualifies the
|
|
1141
|
+
# criteria specified above. A higher value indicates a higher priority. Valid
|
|
1142
|
+
# values are \[1,10\].
|
|
1143
|
+
priority:,
|
|
1144
|
+
# Specify the desired value of the attribute to be applied for this order. value
|
|
1145
|
+
# provided here is compared to the values (of each key:value pair) in
|
|
1146
|
+
# orders.attributes during evaluation.
|
|
1147
|
+
value:
|
|
1148
|
+
)
|
|
1149
|
+
end
|
|
1150
|
+
|
|
1151
|
+
sig do
|
|
1152
|
+
override.returns(
|
|
1153
|
+
{
|
|
1154
|
+
attribute: String,
|
|
1155
|
+
operator: String,
|
|
1156
|
+
priority: String,
|
|
1157
|
+
value: String
|
|
1158
|
+
}
|
|
1159
|
+
)
|
|
1160
|
+
end
|
|
1161
|
+
def to_hash
|
|
1162
|
+
end
|
|
1163
|
+
end
|
|
1164
|
+
|
|
1165
|
+
# Choose a travel cost that will be used by the service for assigning vehicles
|
|
1166
|
+
# efficiently from a set of qualifying ones.
|
|
1167
|
+
module TravelCost
|
|
1168
|
+
extend Nextbillionai::Internal::Type::Enum
|
|
1169
|
+
|
|
1170
|
+
TaggedSymbol =
|
|
1171
|
+
T.type_alias do
|
|
1172
|
+
T.all(
|
|
1173
|
+
Symbol,
|
|
1174
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::TravelCost
|
|
1175
|
+
)
|
|
1176
|
+
end
|
|
1177
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1178
|
+
|
|
1179
|
+
DRIVING_ETA =
|
|
1180
|
+
T.let(
|
|
1181
|
+
:driving_eta,
|
|
1182
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::TravelCost::TaggedSymbol
|
|
1183
|
+
)
|
|
1184
|
+
DRIVING_DISTANCE =
|
|
1185
|
+
T.let(
|
|
1186
|
+
:driving_distance,
|
|
1187
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::TravelCost::TaggedSymbol
|
|
1188
|
+
)
|
|
1189
|
+
STRAIGHT_LINE_DISTANCE =
|
|
1190
|
+
T.let(
|
|
1191
|
+
:straight_line_distance,
|
|
1192
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::TravelCost::TaggedSymbol
|
|
1193
|
+
)
|
|
1194
|
+
|
|
1195
|
+
sig do
|
|
1196
|
+
override.returns(
|
|
1197
|
+
T::Array[
|
|
1198
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::TravelCost::TaggedSymbol
|
|
1199
|
+
]
|
|
1200
|
+
)
|
|
1201
|
+
end
|
|
1202
|
+
def self.values
|
|
1203
|
+
end
|
|
1204
|
+
end
|
|
1205
|
+
|
|
1206
|
+
class VehicleAttributePriorityMapping < Nextbillionai::Internal::Type::BaseModel
|
|
1207
|
+
OrHash =
|
|
1208
|
+
T.type_alias do
|
|
1209
|
+
T.any(
|
|
1210
|
+
Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::VehicleAttributePriorityMapping,
|
|
1211
|
+
Nextbillionai::Internal::AnyHash
|
|
1212
|
+
)
|
|
1213
|
+
end
|
|
1214
|
+
|
|
1215
|
+
# Specify the name of the attribute. The attribute is compared to the keys (of
|
|
1216
|
+
# each key:value pair) in vehicles.attributes during evaluation.
|
|
1217
|
+
sig { returns(String) }
|
|
1218
|
+
attr_accessor :attribute
|
|
1219
|
+
|
|
1220
|
+
# Specify the operator to denote the relation between attribute and the value
|
|
1221
|
+
# specified above. The attribute , operator and value together constitute the
|
|
1222
|
+
# condition that a vehicle must meet to assume the specified priority. We support
|
|
1223
|
+
# the following operators currently:
|
|
1224
|
+
#
|
|
1225
|
+
# - Equal to (==)
|
|
1226
|
+
# - Less than (<)
|
|
1227
|
+
# - Less tha equal to (<=)
|
|
1228
|
+
# - Greater than (>)
|
|
1229
|
+
# - Greater than equal to (>=)
|
|
1230
|
+
# - Contains (contains)
|
|
1231
|
+
#
|
|
1232
|
+
# Please note that when using "contains" operator only one value can be specified
|
|
1233
|
+
# and the corresponding attribute must contain multiple values when defined for a
|
|
1234
|
+
# vehicle.
|
|
1235
|
+
sig { returns(String) }
|
|
1236
|
+
attr_accessor :operator
|
|
1237
|
+
|
|
1238
|
+
# Specify the priority score that should be assigned when a vehicle qualifies the
|
|
1239
|
+
# criteria specified above. A higher value indicates a higher priority. Valid
|
|
1240
|
+
# values are \[1,10\].
|
|
1241
|
+
sig { returns(String) }
|
|
1242
|
+
attr_accessor :priority
|
|
1243
|
+
|
|
1244
|
+
# Specify the desired value of the attribute to be applied for this vehicle. value
|
|
1245
|
+
# provided here is compared to the values (of each key:value pair) in
|
|
1246
|
+
# vehicles.attributes during evaluation.
|
|
1247
|
+
sig { returns(String) }
|
|
1248
|
+
attr_accessor :value
|
|
1249
|
+
|
|
1250
|
+
sig do
|
|
1251
|
+
params(
|
|
1252
|
+
attribute: String,
|
|
1253
|
+
operator: String,
|
|
1254
|
+
priority: String,
|
|
1255
|
+
value: String
|
|
1256
|
+
).returns(T.attached_class)
|
|
1257
|
+
end
|
|
1258
|
+
def self.new(
|
|
1259
|
+
# Specify the name of the attribute. The attribute is compared to the keys (of
|
|
1260
|
+
# each key:value pair) in vehicles.attributes during evaluation.
|
|
1261
|
+
attribute:,
|
|
1262
|
+
# Specify the operator to denote the relation between attribute and the value
|
|
1263
|
+
# specified above. The attribute , operator and value together constitute the
|
|
1264
|
+
# condition that a vehicle must meet to assume the specified priority. We support
|
|
1265
|
+
# the following operators currently:
|
|
1266
|
+
#
|
|
1267
|
+
# - Equal to (==)
|
|
1268
|
+
# - Less than (<)
|
|
1269
|
+
# - Less tha equal to (<=)
|
|
1270
|
+
# - Greater than (>)
|
|
1271
|
+
# - Greater than equal to (>=)
|
|
1272
|
+
# - Contains (contains)
|
|
1273
|
+
#
|
|
1274
|
+
# Please note that when using "contains" operator only one value can be specified
|
|
1275
|
+
# and the corresponding attribute must contain multiple values when defined for a
|
|
1276
|
+
# vehicle.
|
|
1277
|
+
operator:,
|
|
1278
|
+
# Specify the priority score that should be assigned when a vehicle qualifies the
|
|
1279
|
+
# criteria specified above. A higher value indicates a higher priority. Valid
|
|
1280
|
+
# values are \[1,10\].
|
|
1281
|
+
priority:,
|
|
1282
|
+
# Specify the desired value of the attribute to be applied for this vehicle. value
|
|
1283
|
+
# provided here is compared to the values (of each key:value pair) in
|
|
1284
|
+
# vehicles.attributes during evaluation.
|
|
1285
|
+
value:
|
|
1286
|
+
)
|
|
1287
|
+
end
|
|
1288
|
+
|
|
1289
|
+
sig do
|
|
1290
|
+
override.returns(
|
|
1291
|
+
{
|
|
1292
|
+
attribute: String,
|
|
1293
|
+
operator: String,
|
|
1294
|
+
priority: String,
|
|
1295
|
+
value: String
|
|
1296
|
+
}
|
|
1297
|
+
)
|
|
1298
|
+
end
|
|
1299
|
+
def to_hash
|
|
1300
|
+
end
|
|
1301
|
+
end
|
|
1302
|
+
end
|
|
1303
|
+
end
|
|
1304
|
+
end
|
|
1305
|
+
end
|
|
1306
|
+
end
|