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.
Files changed (794) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +44 -0
  4. data/README.md +259 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/nextbillionai/client.rb +168 -0
  7. data/lib/nextbillionai/errors.rb +214 -0
  8. data/lib/nextbillionai/file_part.rb +55 -0
  9. data/lib/nextbillionai/internal/transport/base_client.rb +573 -0
  10. data/lib/nextbillionai/internal/transport/pooled_net_requester.rb +209 -0
  11. data/lib/nextbillionai/internal/type/array_of.rb +167 -0
  12. data/lib/nextbillionai/internal/type/base_model.rb +539 -0
  13. data/lib/nextbillionai/internal/type/base_page.rb +55 -0
  14. data/lib/nextbillionai/internal/type/boolean.rb +77 -0
  15. data/lib/nextbillionai/internal/type/converter.rb +300 -0
  16. data/lib/nextbillionai/internal/type/enum.rb +156 -0
  17. data/lib/nextbillionai/internal/type/file_input.rb +108 -0
  18. data/lib/nextbillionai/internal/type/hash_of.rb +187 -0
  19. data/lib/nextbillionai/internal/type/request_parameters.rb +42 -0
  20. data/lib/nextbillionai/internal/type/union.rb +241 -0
  21. data/lib/nextbillionai/internal/type/unknown.rb +81 -0
  22. data/lib/nextbillionai/internal/util.rb +914 -0
  23. data/lib/nextbillionai/internal.rb +20 -0
  24. data/lib/nextbillionai/models/access.rb +27 -0
  25. data/lib/nextbillionai/models/address.rb +107 -0
  26. data/lib/nextbillionai/models/area_list_params.rb +26 -0
  27. data/lib/nextbillionai/models/area_list_response.rb +44 -0
  28. data/lib/nextbillionai/models/autocomplete_suggest_params.rb +99 -0
  29. data/lib/nextbillionai/models/autocomplete_suggest_response.rb +253 -0
  30. data/lib/nextbillionai/models/autosuggest_suggest_params.rb +99 -0
  31. data/lib/nextbillionai/models/autosuggest_suggest_response.rb +253 -0
  32. data/lib/nextbillionai/models/batch_create_params.rb +54 -0
  33. data/lib/nextbillionai/models/batch_create_response.rb +41 -0
  34. data/lib/nextbillionai/models/batch_retrieve_params.rb +35 -0
  35. data/lib/nextbillionai/models/batch_retrieve_response.rb +76 -0
  36. data/lib/nextbillionai/models/browse_search_params.rb +98 -0
  37. data/lib/nextbillionai/models/browse_search_response.rb +252 -0
  38. data/lib/nextbillionai/models/categories.rb +36 -0
  39. data/lib/nextbillionai/models/contact_object.rb +48 -0
  40. data/lib/nextbillionai/models/contacts.rb +47 -0
  41. data/lib/nextbillionai/models/direction_compute_route_params.rb +684 -0
  42. data/lib/nextbillionai/models/direction_compute_route_response.rb +629 -0
  43. data/lib/nextbillionai/models/discover_retrieve_params.rb +99 -0
  44. data/lib/nextbillionai/models/discover_retrieve_response.rb +253 -0
  45. data/lib/nextbillionai/models/distance_matrix/json_create_params.rb +16 -0
  46. data/lib/nextbillionai/models/distance_matrix/json_retrieve_params.rb +220 -0
  47. data/lib/nextbillionai/models/distance_matrix/json_retrieve_response.rb +82 -0
  48. data/lib/nextbillionai/models/fleetify/document_template_content_request.rb +189 -0
  49. data/lib/nextbillionai/models/fleetify/document_template_content_response.rb +168 -0
  50. data/lib/nextbillionai/models/fleetify/document_template_create_params.rb +50 -0
  51. data/lib/nextbillionai/models/fleetify/document_template_create_response.rb +79 -0
  52. data/lib/nextbillionai/models/fleetify/document_template_delete_params.rb +29 -0
  53. data/lib/nextbillionai/models/fleetify/document_template_delete_response.rb +32 -0
  54. data/lib/nextbillionai/models/fleetify/document_template_list_params.rb +28 -0
  55. data/lib/nextbillionai/models/fleetify/document_template_list_response.rb +85 -0
  56. data/lib/nextbillionai/models/fleetify/document_template_retrieve_params.rb +29 -0
  57. data/lib/nextbillionai/models/fleetify/document_template_retrieve_response.rb +80 -0
  58. data/lib/nextbillionai/models/fleetify/document_template_update_params.rb +50 -0
  59. data/lib/nextbillionai/models/fleetify/document_template_update_response.rb +78 -0
  60. data/lib/nextbillionai/models/fleetify/route_create_params.rb +276 -0
  61. data/lib/nextbillionai/models/fleetify/route_create_response.rb +196 -0
  62. data/lib/nextbillionai/models/fleetify/route_redispatch_params.rb +139 -0
  63. data/lib/nextbillionai/models/fleetify/route_redispatch_response.rb +432 -0
  64. data/lib/nextbillionai/models/fleetify/routes/document_submission.rb +12 -0
  65. data/lib/nextbillionai/models/fleetify/routes/route_step_completion_mode.rb +31 -0
  66. data/lib/nextbillionai/models/fleetify/routes/route_step_geofence_config.rb +53 -0
  67. data/lib/nextbillionai/models/fleetify/routes/route_steps_request.rb +174 -0
  68. data/lib/nextbillionai/models/fleetify/routes/route_steps_response.rb +273 -0
  69. data/lib/nextbillionai/models/fleetify/routes/step_complete_params.rb +69 -0
  70. data/lib/nextbillionai/models/fleetify/routes/step_create_params.rb +193 -0
  71. data/lib/nextbillionai/models/fleetify/routes/step_create_response.rb +40 -0
  72. data/lib/nextbillionai/models/fleetify/routes/step_delete_params.rb +37 -0
  73. data/lib/nextbillionai/models/fleetify/routes/step_delete_response.rb +33 -0
  74. data/lib/nextbillionai/models/fleetify/routes/step_update_params.rb +195 -0
  75. data/lib/nextbillionai/models/fleetify/routes/step_update_response.rb +40 -0
  76. data/lib/nextbillionai/models/fleetify/routing_response.rb +86 -0
  77. data/lib/nextbillionai/models/geocode_batch_create_params.rb +112 -0
  78. data/lib/nextbillionai/models/geocode_batch_create_response.rb +139 -0
  79. data/lib/nextbillionai/models/geocode_retrieve_params.rb +99 -0
  80. data/lib/nextbillionai/models/geocode_retrieve_response.rb +253 -0
  81. data/lib/nextbillionai/models/geocode_structured_retrieve_params.rb +132 -0
  82. data/lib/nextbillionai/models/geocode_structured_retrieve_response.rb +254 -0
  83. data/lib/nextbillionai/models/geofence/batch_create_params.rb +40 -0
  84. data/lib/nextbillionai/models/geofence/batch_create_response.rb +45 -0
  85. data/lib/nextbillionai/models/geofence/batch_delete_params.rb +37 -0
  86. data/lib/nextbillionai/models/geofence/batch_list_params.rb +36 -0
  87. data/lib/nextbillionai/models/geofence/batch_list_response.rb +47 -0
  88. data/lib/nextbillionai/models/geofence/console_preview_params.rb +16 -0
  89. data/lib/nextbillionai/models/geofence/console_preview_response.rb +41 -0
  90. data/lib/nextbillionai/models/geofence/console_search_params.rb +24 -0
  91. data/lib/nextbillionai/models/geofence/console_search_response.rb +62 -0
  92. data/lib/nextbillionai/models/geofence/polygon_geojson.rb +34 -0
  93. data/lib/nextbillionai/models/geofence.rb +202 -0
  94. data/lib/nextbillionai/models/geofence_contains_params.rb +56 -0
  95. data/lib/nextbillionai/models/geofence_contains_response.rb +99 -0
  96. data/lib/nextbillionai/models/geofence_create_params.rb +26 -0
  97. data/lib/nextbillionai/models/geofence_create_response.rb +49 -0
  98. data/lib/nextbillionai/models/geofence_delete_params.rb +26 -0
  99. data/lib/nextbillionai/models/geofence_entity_create.rb +328 -0
  100. data/lib/nextbillionai/models/geofence_list_params.rb +58 -0
  101. data/lib/nextbillionai/models/geofence_list_response.rb +52 -0
  102. data/lib/nextbillionai/models/geofence_retrieve_params.rb +26 -0
  103. data/lib/nextbillionai/models/geofence_retrieve_response.rb +41 -0
  104. data/lib/nextbillionai/models/geofence_update_params.rb +322 -0
  105. data/lib/nextbillionai/models/isochrone_compute_params.rb +153 -0
  106. data/lib/nextbillionai/models/isochrone_compute_response.rb +187 -0
  107. data/lib/nextbillionai/models/lookup_by_id_params.rb +35 -0
  108. data/lib/nextbillionai/models/lookup_by_id_response.rb +94 -0
  109. data/lib/nextbillionai/models/map_create_segment_params.rb +14 -0
  110. data/lib/nextbillionai/models/map_view.rb +43 -0
  111. data/lib/nextbillionai/models/mdm_create_distance_matrix_params.rb +385 -0
  112. data/lib/nextbillionai/models/mdm_create_distance_matrix_response.rb +50 -0
  113. data/lib/nextbillionai/models/mdm_get_distance_matrix_status_params.rb +35 -0
  114. data/lib/nextbillionai/models/mdm_get_distance_matrix_status_response.rb +64 -0
  115. data/lib/nextbillionai/models/multigeocode/place_create_params.rb +276 -0
  116. data/lib/nextbillionai/models/multigeocode/place_create_response.rb +24 -0
  117. data/lib/nextbillionai/models/multigeocode/place_delete_params.rb +28 -0
  118. data/lib/nextbillionai/models/multigeocode/place_delete_response.rb +31 -0
  119. data/lib/nextbillionai/models/multigeocode/place_item.rb +154 -0
  120. data/lib/nextbillionai/models/multigeocode/place_retrieve_params.rb +28 -0
  121. data/lib/nextbillionai/models/multigeocode/place_retrieve_response.rb +107 -0
  122. data/lib/nextbillionai/models/multigeocode/place_update_params.rb +118 -0
  123. data/lib/nextbillionai/models/multigeocode/place_update_response.rb +31 -0
  124. data/lib/nextbillionai/models/multigeocode_search_params.rb +135 -0
  125. data/lib/nextbillionai/models/multigeocode_search_response.rb +117 -0
  126. data/lib/nextbillionai/models/navigation_retrieve_route_params.rb +328 -0
  127. data/lib/nextbillionai/models/navigation_retrieve_route_response.rb +875 -0
  128. data/lib/nextbillionai/models/optimization/driver_assignment_assign_params.rb +679 -0
  129. data/lib/nextbillionai/models/optimization/driver_assignment_assign_response.rb +307 -0
  130. data/lib/nextbillionai/models/optimization/job.rb +460 -0
  131. data/lib/nextbillionai/models/optimization/location.rb +28 -0
  132. data/lib/nextbillionai/models/optimization/shipment.rb +589 -0
  133. data/lib/nextbillionai/models/optimization/v2_retrieve_result_params.rb +37 -0
  134. data/lib/nextbillionai/models/optimization/v2_retrieve_result_response.rb +743 -0
  135. data/lib/nextbillionai/models/optimization/v2_submit_params.rb +1841 -0
  136. data/lib/nextbillionai/models/optimization/vehicle.rb +92 -0
  137. data/lib/nextbillionai/models/optimization_compute_params.rb +212 -0
  138. data/lib/nextbillionai/models/optimization_compute_response.rb +347 -0
  139. data/lib/nextbillionai/models/optimization_re_optimize_params.rb +217 -0
  140. data/lib/nextbillionai/models/position.rb +26 -0
  141. data/lib/nextbillionai/models/post_response.rb +48 -0
  142. data/lib/nextbillionai/models/postalcode_retrieve_coordinates_params.rb +108 -0
  143. data/lib/nextbillionai/models/postalcode_retrieve_coordinates_response.rb +305 -0
  144. data/lib/nextbillionai/models/restriction_create_params.rb +51 -0
  145. data/lib/nextbillionai/models/restriction_delete_params.rb +26 -0
  146. data/lib/nextbillionai/models/restriction_delete_response.rb +25 -0
  147. data/lib/nextbillionai/models/restriction_list_by_bbox_params.rb +197 -0
  148. data/lib/nextbillionai/models/restriction_list_by_bbox_response.rb +9 -0
  149. data/lib/nextbillionai/models/restriction_list_params.rb +197 -0
  150. data/lib/nextbillionai/models/restriction_list_response.rb +62 -0
  151. data/lib/nextbillionai/models/restriction_retrieve_params.rb +34 -0
  152. data/lib/nextbillionai/models/restriction_set_state_params.rb +50 -0
  153. data/lib/nextbillionai/models/restriction_update_params.rb +37 -0
  154. data/lib/nextbillionai/models/restrictions_item_list_params.rb +123 -0
  155. data/lib/nextbillionai/models/restrictions_item_list_response.rb +171 -0
  156. data/lib/nextbillionai/models/revgeocode_retrieve_params.rb +77 -0
  157. data/lib/nextbillionai/models/revgeocode_retrieve_response.rb +253 -0
  158. data/lib/nextbillionai/models/rich_group_request.rb +292 -0
  159. data/lib/nextbillionai/models/rich_group_response.rb +249 -0
  160. data/lib/nextbillionai/models/route_report_create_params.rb +62 -0
  161. data/lib/nextbillionai/models/route_report_create_response.rb +452 -0
  162. data/lib/nextbillionai/models/skynet/asset/event_list_params.rb +96 -0
  163. data/lib/nextbillionai/models/skynet/asset/event_list_response.rb +361 -0
  164. data/lib/nextbillionai/models/skynet/asset/location_get_last_params.rb +48 -0
  165. data/lib/nextbillionai/models/skynet/asset/location_get_last_response.rb +65 -0
  166. data/lib/nextbillionai/models/skynet/asset/location_list_params.rb +130 -0
  167. data/lib/nextbillionai/models/skynet/asset/location_list_response.rb +242 -0
  168. data/lib/nextbillionai/models/skynet/asset/track_location.rb +124 -0
  169. data/lib/nextbillionai/models/skynet/asset_bind_params.rb +40 -0
  170. data/lib/nextbillionai/models/skynet/asset_create_params.rb +116 -0
  171. data/lib/nextbillionai/models/skynet/asset_create_response.rb +59 -0
  172. data/lib/nextbillionai/models/skynet/asset_delete_params.rb +46 -0
  173. data/lib/nextbillionai/models/skynet/asset_details.rb +223 -0
  174. data/lib/nextbillionai/models/skynet/asset_list_params.rb +120 -0
  175. data/lib/nextbillionai/models/skynet/asset_list_response.rb +67 -0
  176. data/lib/nextbillionai/models/skynet/asset_retrieve_params.rb +46 -0
  177. data/lib/nextbillionai/models/skynet/asset_retrieve_response.rb +55 -0
  178. data/lib/nextbillionai/models/skynet/asset_track_params.rb +184 -0
  179. data/lib/nextbillionai/models/skynet/asset_update_attributes_params.rb +48 -0
  180. data/lib/nextbillionai/models/skynet/asset_update_params.rb +104 -0
  181. data/lib/nextbillionai/models/skynet/config_retrieve_params.rb +46 -0
  182. data/lib/nextbillionai/models/skynet/config_retrieve_response.rb +71 -0
  183. data/lib/nextbillionai/models/skynet/config_test_webhook_params.rb +28 -0
  184. data/lib/nextbillionai/models/skynet/config_test_webhook_response.rb +28 -0
  185. data/lib/nextbillionai/models/skynet/config_update_params.rb +55 -0
  186. data/lib/nextbillionai/models/skynet/meta_data.rb +10 -0
  187. data/lib/nextbillionai/models/skynet/metadata.rb +10 -0
  188. data/lib/nextbillionai/models/skynet/monitor.rb +291 -0
  189. data/lib/nextbillionai/models/skynet/monitor_create_params.rb +418 -0
  190. data/lib/nextbillionai/models/skynet/monitor_create_response.rb +55 -0
  191. data/lib/nextbillionai/models/skynet/monitor_delete_params.rb +28 -0
  192. data/lib/nextbillionai/models/skynet/monitor_list_params.rb +89 -0
  193. data/lib/nextbillionai/models/skynet/monitor_list_response.rb +68 -0
  194. data/lib/nextbillionai/models/skynet/monitor_retrieve_params.rb +28 -0
  195. data/lib/nextbillionai/models/skynet/monitor_retrieve_response.rb +54 -0
  196. data/lib/nextbillionai/models/skynet/monitor_update_params.rb +360 -0
  197. data/lib/nextbillionai/models/skynet/namespaced_apikey_create_params.rb +39 -0
  198. data/lib/nextbillionai/models/skynet/namespaced_apikey_create_response.rb +101 -0
  199. data/lib/nextbillionai/models/skynet/namespaced_apikey_delete_params.rb +50 -0
  200. data/lib/nextbillionai/models/skynet/namespaced_apikey_delete_response.rb +35 -0
  201. data/lib/nextbillionai/models/skynet/pagination.rb +50 -0
  202. data/lib/nextbillionai/models/skynet/search/polygon_create_params.rb +295 -0
  203. data/lib/nextbillionai/models/skynet/search/polygon_get_params.rb +190 -0
  204. data/lib/nextbillionai/models/skynet/search_around_params.rb +186 -0
  205. data/lib/nextbillionai/models/skynet/search_bound_params.rb +180 -0
  206. data/lib/nextbillionai/models/skynet/search_response.rb +207 -0
  207. data/lib/nextbillionai/models/skynet/simple_resp.rb +33 -0
  208. data/lib/nextbillionai/models/skynet/trip_delete_params.rb +46 -0
  209. data/lib/nextbillionai/models/skynet/trip_end_params.rb +54 -0
  210. data/lib/nextbillionai/models/skynet/trip_get_summary_params.rb +46 -0
  211. data/lib/nextbillionai/models/skynet/trip_get_summary_response.rb +226 -0
  212. data/lib/nextbillionai/models/skynet/trip_retrieve_params.rb +46 -0
  213. data/lib/nextbillionai/models/skynet/trip_retrieve_response.rb +188 -0
  214. data/lib/nextbillionai/models/skynet/trip_start_params.rb +154 -0
  215. data/lib/nextbillionai/models/skynet/trip_start_response.rb +57 -0
  216. data/lib/nextbillionai/models/skynet/trip_stop.rb +40 -0
  217. data/lib/nextbillionai/models/skynet/trip_update_params.rb +148 -0
  218. data/lib/nextbillionai/models/skynet_subscribe_params.rb +91 -0
  219. data/lib/nextbillionai/models/skynet_subscribe_response.rb +46 -0
  220. data/lib/nextbillionai/models/snap_to_road_snap_params.rb +247 -0
  221. data/lib/nextbillionai/models/snap_to_road_snap_response.rb +272 -0
  222. data/lib/nextbillionai/models.rb +158 -0
  223. data/lib/nextbillionai/request_options.rb +78 -0
  224. data/lib/nextbillionai/resources/areas.rb +39 -0
  225. data/lib/nextbillionai/resources/autocomplete.rb +49 -0
  226. data/lib/nextbillionai/resources/autosuggest.rb +49 -0
  227. data/lib/nextbillionai/resources/batch.rb +70 -0
  228. data/lib/nextbillionai/resources/browse.rb +49 -0
  229. data/lib/nextbillionai/resources/directions.rb +89 -0
  230. data/lib/nextbillionai/resources/discover.rb +49 -0
  231. data/lib/nextbillionai/resources/distance_matrix/json.rb +79 -0
  232. data/lib/nextbillionai/resources/distance_matrix.rb +18 -0
  233. data/lib/nextbillionai/resources/fleetify/document_templates.rb +163 -0
  234. data/lib/nextbillionai/resources/fleetify/routes/steps.rb +202 -0
  235. data/lib/nextbillionai/resources/fleetify/routes.rb +92 -0
  236. data/lib/nextbillionai/resources/fleetify.rb +22 -0
  237. data/lib/nextbillionai/resources/geocode.rb +127 -0
  238. data/lib/nextbillionai/resources/geofence/batch.rb +101 -0
  239. data/lib/nextbillionai/resources/geofence/console.rb +77 -0
  240. data/lib/nextbillionai/resources/geofence.rb +224 -0
  241. data/lib/nextbillionai/resources/isochrone.rb +59 -0
  242. data/lib/nextbillionai/resources/lookup.rb +41 -0
  243. data/lib/nextbillionai/resources/map.rb +32 -0
  244. data/lib/nextbillionai/resources/mdm.rb +100 -0
  245. data/lib/nextbillionai/resources/multigeocode/place.rb +165 -0
  246. data/lib/nextbillionai/resources/multigeocode.rb +70 -0
  247. data/lib/nextbillionai/resources/navigation.rb +72 -0
  248. data/lib/nextbillionai/resources/optimization/driver_assignment.rb +53 -0
  249. data/lib/nextbillionai/resources/optimization/v2.rb +100 -0
  250. data/lib/nextbillionai/resources/optimization.rb +110 -0
  251. data/lib/nextbillionai/resources/postalcode.rb +49 -0
  252. data/lib/nextbillionai/resources/restrictions.rb +325 -0
  253. data/lib/nextbillionai/resources/restrictions_items.rb +44 -0
  254. data/lib/nextbillionai/resources/revgeocode.rb +45 -0
  255. data/lib/nextbillionai/resources/route_report.rb +45 -0
  256. data/lib/nextbillionai/resources/skynet/asset/event.rb +57 -0
  257. data/lib/nextbillionai/resources/skynet/asset/location.rb +88 -0
  258. data/lib/nextbillionai/resources/skynet/asset.rb +303 -0
  259. data/lib/nextbillionai/resources/skynet/config.rb +99 -0
  260. data/lib/nextbillionai/resources/skynet/monitor.rb +206 -0
  261. data/lib/nextbillionai/resources/skynet/namespaced_apikeys.rb +72 -0
  262. data/lib/nextbillionai/resources/skynet/search/polygon.rb +106 -0
  263. data/lib/nextbillionai/resources/skynet/search.rb +114 -0
  264. data/lib/nextbillionai/resources/skynet/trip.rb +220 -0
  265. data/lib/nextbillionai/resources/skynet.rb +67 -0
  266. data/lib/nextbillionai/resources/snap_to_roads.rb +62 -0
  267. data/lib/nextbillionai/version.rb +5 -0
  268. data/lib/nextbillionai.rb +294 -0
  269. data/manifest.yaml +15 -0
  270. data/rbi/nextbillionai/client.rbi +121 -0
  271. data/rbi/nextbillionai/errors.rbi +178 -0
  272. data/rbi/nextbillionai/file_part.rbi +37 -0
  273. data/rbi/nextbillionai/internal/transport/base_client.rbi +301 -0
  274. data/rbi/nextbillionai/internal/transport/pooled_net_requester.rbi +80 -0
  275. data/rbi/nextbillionai/internal/type/array_of.rbi +104 -0
  276. data/rbi/nextbillionai/internal/type/base_model.rbi +310 -0
  277. data/rbi/nextbillionai/internal/type/base_page.rbi +43 -0
  278. data/rbi/nextbillionai/internal/type/boolean.rbi +58 -0
  279. data/rbi/nextbillionai/internal/type/converter.rbi +167 -0
  280. data/rbi/nextbillionai/internal/type/enum.rbi +82 -0
  281. data/rbi/nextbillionai/internal/type/file_input.rbi +59 -0
  282. data/rbi/nextbillionai/internal/type/hash_of.rbi +104 -0
  283. data/rbi/nextbillionai/internal/type/request_parameters.rbi +31 -0
  284. data/rbi/nextbillionai/internal/type/union.rbi +121 -0
  285. data/rbi/nextbillionai/internal/type/unknown.rbi +58 -0
  286. data/rbi/nextbillionai/internal/util.rbi +487 -0
  287. data/rbi/nextbillionai/internal.rbi +18 -0
  288. data/rbi/nextbillionai/models/access.rbi +41 -0
  289. data/rbi/nextbillionai/models/address.rbi +163 -0
  290. data/rbi/nextbillionai/models/area_list_params.rbi +42 -0
  291. data/rbi/nextbillionai/models/area_list_response.rbi +84 -0
  292. data/rbi/nextbillionai/models/autocomplete_suggest_params.rbi +166 -0
  293. data/rbi/nextbillionai/models/autocomplete_suggest_response.rbi +539 -0
  294. data/rbi/nextbillionai/models/autosuggest_suggest_params.rbi +166 -0
  295. data/rbi/nextbillionai/models/autosuggest_suggest_response.rbi +539 -0
  296. data/rbi/nextbillionai/models/batch_create_params.rbi +103 -0
  297. data/rbi/nextbillionai/models/batch_create_response.rbi +67 -0
  298. data/rbi/nextbillionai/models/batch_retrieve_params.rbi +58 -0
  299. data/rbi/nextbillionai/models/batch_retrieve_response.rbi +152 -0
  300. data/rbi/nextbillionai/models/browse_search_params.rbi +167 -0
  301. data/rbi/nextbillionai/models/browse_search_response.rbi +530 -0
  302. data/rbi/nextbillionai/models/categories.rbi +54 -0
  303. data/rbi/nextbillionai/models/contact_object.rbi +98 -0
  304. data/rbi/nextbillionai/models/contacts.rbi +87 -0
  305. data/rbi/nextbillionai/models/direction_compute_route_params.rbi +1442 -0
  306. data/rbi/nextbillionai/models/direction_compute_route_response.rbi +1364 -0
  307. data/rbi/nextbillionai/models/discover_retrieve_params.rbi +166 -0
  308. data/rbi/nextbillionai/models/discover_retrieve_response.rbi +539 -0
  309. data/rbi/nextbillionai/models/distance_matrix/json_create_params.rbi +34 -0
  310. data/rbi/nextbillionai/models/distance_matrix/json_retrieve_params.rbi +439 -0
  311. data/rbi/nextbillionai/models/distance_matrix/json_retrieve_response.rbi +202 -0
  312. data/rbi/nextbillionai/models/fleetify/document_template_content_request.rbi +379 -0
  313. data/rbi/nextbillionai/models/fleetify/document_template_content_response.rbi +330 -0
  314. data/rbi/nextbillionai/models/fleetify/document_template_create_params.rbi +80 -0
  315. data/rbi/nextbillionai/models/fleetify/document_template_create_response.rbi +168 -0
  316. data/rbi/nextbillionai/models/fleetify/document_template_delete_params.rbi +47 -0
  317. data/rbi/nextbillionai/models/fleetify/document_template_delete_response.rbi +46 -0
  318. data/rbi/nextbillionai/models/fleetify/document_template_list_params.rbi +47 -0
  319. data/rbi/nextbillionai/models/fleetify/document_template_list_response.rbi +185 -0
  320. data/rbi/nextbillionai/models/fleetify/document_template_retrieve_params.rbi +47 -0
  321. data/rbi/nextbillionai/models/fleetify/document_template_retrieve_response.rbi +170 -0
  322. data/rbi/nextbillionai/models/fleetify/document_template_update_params.rbi +95 -0
  323. data/rbi/nextbillionai/models/fleetify/document_template_update_response.rbi +166 -0
  324. data/rbi/nextbillionai/models/fleetify/route_create_params.rbi +595 -0
  325. data/rbi/nextbillionai/models/fleetify/route_create_response.rbi +360 -0
  326. data/rbi/nextbillionai/models/fleetify/route_redispatch_params.rbi +307 -0
  327. data/rbi/nextbillionai/models/fleetify/route_redispatch_response.rbi +810 -0
  328. data/rbi/nextbillionai/models/fleetify/routes/document_submission.rbi +12 -0
  329. data/rbi/nextbillionai/models/fleetify/routes/route_step_completion_mode.rbi +59 -0
  330. data/rbi/nextbillionai/models/fleetify/routes/route_step_geofence_config.rbi +111 -0
  331. data/rbi/nextbillionai/models/fleetify/routes/route_steps_request.rbi +362 -0
  332. data/rbi/nextbillionai/models/fleetify/routes/route_steps_response.rbi +538 -0
  333. data/rbi/nextbillionai/models/fleetify/routes/step_complete_params.rbi +107 -0
  334. data/rbi/nextbillionai/models/fleetify/routes/step_create_params.rbi +384 -0
  335. data/rbi/nextbillionai/models/fleetify/routes/step_create_response.rbi +77 -0
  336. data/rbi/nextbillionai/models/fleetify/routes/step_delete_params.rbi +58 -0
  337. data/rbi/nextbillionai/models/fleetify/routes/step_delete_response.rbi +50 -0
  338. data/rbi/nextbillionai/models/fleetify/routes/step_update_params.rbi +393 -0
  339. data/rbi/nextbillionai/models/fleetify/routes/step_update_response.rbi +77 -0
  340. data/rbi/nextbillionai/models/fleetify/routing_response.rbi +136 -0
  341. data/rbi/nextbillionai/models/geocode_batch_create_params.rbi +191 -0
  342. data/rbi/nextbillionai/models/geocode_batch_create_response.rbi +268 -0
  343. data/rbi/nextbillionai/models/geocode_retrieve_params.rbi +166 -0
  344. data/rbi/nextbillionai/models/geocode_retrieve_response.rbi +539 -0
  345. data/rbi/nextbillionai/models/geocode_structured_retrieve_params.rbi +207 -0
  346. data/rbi/nextbillionai/models/geocode_structured_retrieve_response.rbi +543 -0
  347. data/rbi/nextbillionai/models/geofence/batch_create_params.rbi +69 -0
  348. data/rbi/nextbillionai/models/geofence/batch_create_response.rbi +97 -0
  349. data/rbi/nextbillionai/models/geofence/batch_delete_params.rbi +63 -0
  350. data/rbi/nextbillionai/models/geofence/batch_list_params.rbi +58 -0
  351. data/rbi/nextbillionai/models/geofence/batch_list_response.rbi +96 -0
  352. data/rbi/nextbillionai/models/geofence/console_preview_params.rbi +34 -0
  353. data/rbi/nextbillionai/models/geofence/console_preview_response.rbi +104 -0
  354. data/rbi/nextbillionai/models/geofence/console_search_params.rbi +45 -0
  355. data/rbi/nextbillionai/models/geofence/console_search_response.rbi +138 -0
  356. data/rbi/nextbillionai/models/geofence/polygon_geojson.rbi +56 -0
  357. data/rbi/nextbillionai/models/geofence.rbi +326 -0
  358. data/rbi/nextbillionai/models/geofence_contains_params.rbi +90 -0
  359. data/rbi/nextbillionai/models/geofence_contains_response.rbi +255 -0
  360. data/rbi/nextbillionai/models/geofence_create_params.rbi +45 -0
  361. data/rbi/nextbillionai/models/geofence_create_response.rbi +97 -0
  362. data/rbi/nextbillionai/models/geofence_delete_params.rbi +45 -0
  363. data/rbi/nextbillionai/models/geofence_entity_create.rbi +603 -0
  364. data/rbi/nextbillionai/models/geofence_list_params.rbi +97 -0
  365. data/rbi/nextbillionai/models/geofence_list_response.rbi +111 -0
  366. data/rbi/nextbillionai/models/geofence_retrieve_params.rbi +45 -0
  367. data/rbi/nextbillionai/models/geofence_retrieve_response.rbi +96 -0
  368. data/rbi/nextbillionai/models/geofence_update_params.rbi +601 -0
  369. data/rbi/nextbillionai/models/isochrone_compute_params.rbi +248 -0
  370. data/rbi/nextbillionai/models/isochrone_compute_response.rbi +369 -0
  371. data/rbi/nextbillionai/models/lookup_by_id_params.rbi +58 -0
  372. data/rbi/nextbillionai/models/lookup_by_id_response.rbi +174 -0
  373. data/rbi/nextbillionai/models/map_create_segment_params.rbi +32 -0
  374. data/rbi/nextbillionai/models/map_view.rbi +70 -0
  375. data/rbi/nextbillionai/models/mdm_create_distance_matrix_params.rbi +868 -0
  376. data/rbi/nextbillionai/models/mdm_create_distance_matrix_response.rbi +88 -0
  377. data/rbi/nextbillionai/models/mdm_get_distance_matrix_status_params.rbi +58 -0
  378. data/rbi/nextbillionai/models/mdm_get_distance_matrix_status_response.rbi +141 -0
  379. data/rbi/nextbillionai/models/multigeocode/place_create_params.rbi +518 -0
  380. data/rbi/nextbillionai/models/multigeocode/place_create_response.rbi +39 -0
  381. data/rbi/nextbillionai/models/multigeocode/place_delete_params.rbi +47 -0
  382. data/rbi/nextbillionai/models/multigeocode/place_delete_response.rbi +46 -0
  383. data/rbi/nextbillionai/models/multigeocode/place_item.rbi +255 -0
  384. data/rbi/nextbillionai/models/multigeocode/place_retrieve_params.rbi +47 -0
  385. data/rbi/nextbillionai/models/multigeocode/place_retrieve_response.rbi +226 -0
  386. data/rbi/nextbillionai/models/multigeocode/place_update_params.rbi +245 -0
  387. data/rbi/nextbillionai/models/multigeocode/place_update_response.rbi +46 -0
  388. data/rbi/nextbillionai/models/multigeocode_search_params.rbi +205 -0
  389. data/rbi/nextbillionai/models/multigeocode_search_response.rbi +277 -0
  390. data/rbi/nextbillionai/models/navigation_retrieve_route_params.rbi +692 -0
  391. data/rbi/nextbillionai/models/navigation_retrieve_route_response.rbi +1894 -0
  392. data/rbi/nextbillionai/models/optimization/driver_assignment_assign_params.rbi +1306 -0
  393. data/rbi/nextbillionai/models/optimization/driver_assignment_assign_response.rbi +720 -0
  394. data/rbi/nextbillionai/models/optimization/job.rbi +798 -0
  395. data/rbi/nextbillionai/models/optimization/location.rbi +39 -0
  396. data/rbi/nextbillionai/models/optimization/shipment.rbi +1030 -0
  397. data/rbi/nextbillionai/models/optimization/v2_retrieve_result_params.rbi +60 -0
  398. data/rbi/nextbillionai/models/optimization/v2_retrieve_result_response.rbi +1318 -0
  399. data/rbi/nextbillionai/models/optimization/v2_submit_params.rbi +3695 -0
  400. data/rbi/nextbillionai/models/optimization/vehicle.rbi +168 -0
  401. data/rbi/nextbillionai/models/optimization_compute_params.rbi +453 -0
  402. data/rbi/nextbillionai/models/optimization_compute_response.rbi +885 -0
  403. data/rbi/nextbillionai/models/optimization_re_optimize_params.rbi +439 -0
  404. data/rbi/nextbillionai/models/position.rbi +40 -0
  405. data/rbi/nextbillionai/models/post_response.rbi +81 -0
  406. data/rbi/nextbillionai/models/postalcode_retrieve_coordinates_params.rbi +211 -0
  407. data/rbi/nextbillionai/models/postalcode_retrieve_coordinates_response.rbi +661 -0
  408. data/rbi/nextbillionai/models/restriction_create_params.rbi +119 -0
  409. data/rbi/nextbillionai/models/restriction_delete_params.rbi +45 -0
  410. data/rbi/nextbillionai/models/restriction_delete_response.rbi +42 -0
  411. data/rbi/nextbillionai/models/restriction_list_by_bbox_params.rbi +447 -0
  412. data/rbi/nextbillionai/models/restriction_list_by_bbox_response.rbi +13 -0
  413. data/rbi/nextbillionai/models/restriction_list_params.rbi +414 -0
  414. data/rbi/nextbillionai/models/restriction_list_response.rbi +120 -0
  415. data/rbi/nextbillionai/models/restriction_retrieve_params.rbi +59 -0
  416. data/rbi/nextbillionai/models/restriction_set_state_params.rbi +99 -0
  417. data/rbi/nextbillionai/models/restriction_update_params.rbi +65 -0
  418. data/rbi/nextbillionai/models/restrictions_item_list_params.rbi +325 -0
  419. data/rbi/nextbillionai/models/restrictions_item_list_response.rbi +436 -0
  420. data/rbi/nextbillionai/models/revgeocode_retrieve_params.rbi +132 -0
  421. data/rbi/nextbillionai/models/revgeocode_retrieve_response.rbi +539 -0
  422. data/rbi/nextbillionai/models/rich_group_request.rbi +507 -0
  423. data/rbi/nextbillionai/models/rich_group_response.rbi +464 -0
  424. data/rbi/nextbillionai/models/route_report_create_params.rbi +121 -0
  425. data/rbi/nextbillionai/models/route_report_create_response.rbi +982 -0
  426. data/rbi/nextbillionai/models/skynet/asset/event_list_params.rbi +177 -0
  427. data/rbi/nextbillionai/models/skynet/asset/event_list_response.rbi +721 -0
  428. data/rbi/nextbillionai/models/skynet/asset/location_get_last_params.rbi +106 -0
  429. data/rbi/nextbillionai/models/skynet/asset/location_get_last_response.rbi +136 -0
  430. data/rbi/nextbillionai/models/skynet/asset/location_list_params.rbi +265 -0
  431. data/rbi/nextbillionai/models/skynet/asset/location_list_response.rbi +503 -0
  432. data/rbi/nextbillionai/models/skynet/asset/track_location.rbi +209 -0
  433. data/rbi/nextbillionai/models/skynet/asset_bind_params.rbi +66 -0
  434. data/rbi/nextbillionai/models/skynet/asset_create_params.rbi +208 -0
  435. data/rbi/nextbillionai/models/skynet/asset_create_response.rbi +114 -0
  436. data/rbi/nextbillionai/models/skynet/asset_delete_params.rbi +100 -0
  437. data/rbi/nextbillionai/models/skynet/asset_details.rbi +387 -0
  438. data/rbi/nextbillionai/models/skynet/asset_list_params.rbi +213 -0
  439. data/rbi/nextbillionai/models/skynet/asset_list_response.rbi +140 -0
  440. data/rbi/nextbillionai/models/skynet/asset_retrieve_params.rbi +101 -0
  441. data/rbi/nextbillionai/models/skynet/asset_retrieve_response.rbi +122 -0
  442. data/rbi/nextbillionai/models/skynet/asset_track_params.rbi +329 -0
  443. data/rbi/nextbillionai/models/skynet/asset_update_attributes_params.rbi +82 -0
  444. data/rbi/nextbillionai/models/skynet/asset_update_params.rbi +189 -0
  445. data/rbi/nextbillionai/models/skynet/config_retrieve_params.rbi +104 -0
  446. data/rbi/nextbillionai/models/skynet/config_retrieve_response.rbi +163 -0
  447. data/rbi/nextbillionai/models/skynet/config_test_webhook_params.rbi +47 -0
  448. data/rbi/nextbillionai/models/skynet/config_test_webhook_response.rbi +47 -0
  449. data/rbi/nextbillionai/models/skynet/config_update_params.rbi +114 -0
  450. data/rbi/nextbillionai/models/skynet/meta_data.rbi +9 -0
  451. data/rbi/nextbillionai/models/skynet/metadata.rbi +9 -0
  452. data/rbi/nextbillionai/models/skynet/monitor.rbi +568 -0
  453. data/rbi/nextbillionai/models/skynet/monitor_create_params.rbi +792 -0
  454. data/rbi/nextbillionai/models/skynet/monitor_create_response.rbi +114 -0
  455. data/rbi/nextbillionai/models/skynet/monitor_delete_params.rbi +47 -0
  456. data/rbi/nextbillionai/models/skynet/monitor_list_params.rbi +166 -0
  457. data/rbi/nextbillionai/models/skynet/monitor_list_response.rbi +143 -0
  458. data/rbi/nextbillionai/models/skynet/monitor_retrieve_params.rbi +47 -0
  459. data/rbi/nextbillionai/models/skynet/monitor_retrieve_response.rbi +119 -0
  460. data/rbi/nextbillionai/models/skynet/monitor_update_params.rbi +690 -0
  461. data/rbi/nextbillionai/models/skynet/namespaced_apikey_create_params.rbi +64 -0
  462. data/rbi/nextbillionai/models/skynet/namespaced_apikey_create_response.rbi +182 -0
  463. data/rbi/nextbillionai/models/skynet/namespaced_apikey_delete_params.rbi +78 -0
  464. data/rbi/nextbillionai/models/skynet/namespaced_apikey_delete_response.rbi +52 -0
  465. data/rbi/nextbillionai/models/skynet/pagination.rbi +84 -0
  466. data/rbi/nextbillionai/models/skynet/search/polygon_create_params.rbi +583 -0
  467. data/rbi/nextbillionai/models/skynet/search/polygon_get_params.rbi +358 -0
  468. data/rbi/nextbillionai/models/skynet/search_around_params.rbi +346 -0
  469. data/rbi/nextbillionai/models/skynet/search_bound_params.rbi +341 -0
  470. data/rbi/nextbillionai/models/skynet/search_response.rbi +390 -0
  471. data/rbi/nextbillionai/models/skynet/simple_resp.rbi +52 -0
  472. data/rbi/nextbillionai/models/skynet/trip_delete_params.rbi +99 -0
  473. data/rbi/nextbillionai/models/skynet/trip_end_params.rbi +104 -0
  474. data/rbi/nextbillionai/models/skynet/trip_get_summary_params.rbi +104 -0
  475. data/rbi/nextbillionai/models/skynet/trip_get_summary_response.rbi +414 -0
  476. data/rbi/nextbillionai/models/skynet/trip_retrieve_params.rbi +101 -0
  477. data/rbi/nextbillionai/models/skynet/trip_retrieve_response.rbi +354 -0
  478. data/rbi/nextbillionai/models/skynet/trip_start_params.rbi +279 -0
  479. data/rbi/nextbillionai/models/skynet/trip_start_response.rbi +112 -0
  480. data/rbi/nextbillionai/models/skynet/trip_stop.rbi +69 -0
  481. data/rbi/nextbillionai/models/skynet/trip_update_params.rbi +274 -0
  482. data/rbi/nextbillionai/models/skynet_subscribe_params.rbi +170 -0
  483. data/rbi/nextbillionai/models/skynet_subscribe_response.rbi +75 -0
  484. data/rbi/nextbillionai/models/snap_to_road_snap_params.rbi +492 -0
  485. data/rbi/nextbillionai/models/snap_to_road_snap_response.rbi +546 -0
  486. data/rbi/nextbillionai/models.rbi +125 -0
  487. data/rbi/nextbillionai/request_options.rbi +59 -0
  488. data/rbi/nextbillionai/resources/areas.rbi +27 -0
  489. data/rbi/nextbillionai/resources/autocomplete.rbi +75 -0
  490. data/rbi/nextbillionai/resources/autosuggest.rbi +75 -0
  491. data/rbi/nextbillionai/resources/batch.rbi +50 -0
  492. data/rbi/nextbillionai/resources/browse.rbi +74 -0
  493. data/rbi/nextbillionai/resources/directions.rbi +320 -0
  494. data/rbi/nextbillionai/resources/discover.rbi +75 -0
  495. data/rbi/nextbillionai/resources/distance_matrix/json.rbi +129 -0
  496. data/rbi/nextbillionai/resources/distance_matrix.rbi +15 -0
  497. data/rbi/nextbillionai/resources/fleetify/document_templates.rbi +130 -0
  498. data/rbi/nextbillionai/resources/fleetify/routes/steps.rbi +270 -0
  499. data/rbi/nextbillionai/resources/fleetify/routes.rbi +114 -0
  500. data/rbi/nextbillionai/resources/fleetify.rbi +18 -0
  501. data/rbi/nextbillionai/resources/geocode.rbi +164 -0
  502. data/rbi/nextbillionai/resources/geofence/batch.rbi +70 -0
  503. data/rbi/nextbillionai/resources/geofence/console.rbi +89 -0
  504. data/rbi/nextbillionai/resources/geofence.rbi +249 -0
  505. data/rbi/nextbillionai/resources/isochrone.rbi +89 -0
  506. data/rbi/nextbillionai/resources/lookup.rbi +31 -0
  507. data/rbi/nextbillionai/resources/map.rbi +19 -0
  508. data/rbi/nextbillionai/resources/mdm.rbi +182 -0
  509. data/rbi/nextbillionai/resources/multigeocode/place.rbi +155 -0
  510. data/rbi/nextbillionai/resources/multigeocode.rbi +73 -0
  511. data/rbi/nextbillionai/resources/navigation.rbi +152 -0
  512. data/rbi/nextbillionai/resources/optimization/driver_assignment.rbi +54 -0
  513. data/rbi/nextbillionai/resources/optimization/v2.rbi +217 -0
  514. data/rbi/nextbillionai/resources/optimization.rbi +165 -0
  515. data/rbi/nextbillionai/resources/postalcode.rbi +54 -0
  516. data/rbi/nextbillionai/resources/restrictions.rbi +487 -0
  517. data/rbi/nextbillionai/resources/restrictions_items.rbi +46 -0
  518. data/rbi/nextbillionai/resources/revgeocode.rbi +63 -0
  519. data/rbi/nextbillionai/resources/route_report.rbi +41 -0
  520. data/rbi/nextbillionai/resources/skynet/asset/event.rbi +64 -0
  521. data/rbi/nextbillionai/resources/skynet/asset/location.rbi +106 -0
  522. data/rbi/nextbillionai/resources/skynet/asset.rbi +336 -0
  523. data/rbi/nextbillionai/resources/skynet/config.rbi +71 -0
  524. data/rbi/nextbillionai/resources/skynet/monitor.rbi +305 -0
  525. data/rbi/nextbillionai/resources/skynet/namespaced_apikeys.rbi +66 -0
  526. data/rbi/nextbillionai/resources/skynet/search/polygon.rbi +175 -0
  527. data/rbi/nextbillionai/resources/skynet/search.rbi +191 -0
  528. data/rbi/nextbillionai/resources/skynet/trip.rbi +210 -0
  529. data/rbi/nextbillionai/resources/skynet.rbi +60 -0
  530. data/rbi/nextbillionai/resources/snap_to_roads.rbi +103 -0
  531. data/rbi/nextbillionai/version.rbi +5 -0
  532. data/sig/nextbillionai/client.rbs +74 -0
  533. data/sig/nextbillionai/errors.rbs +110 -0
  534. data/sig/nextbillionai/file_part.rbs +21 -0
  535. data/sig/nextbillionai/internal/transport/base_client.rbs +131 -0
  536. data/sig/nextbillionai/internal/transport/pooled_net_requester.rbs +45 -0
  537. data/sig/nextbillionai/internal/type/array_of.rbs +48 -0
  538. data/sig/nextbillionai/internal/type/base_model.rbs +104 -0
  539. data/sig/nextbillionai/internal/type/base_page.rbs +24 -0
  540. data/sig/nextbillionai/internal/type/boolean.rbs +26 -0
  541. data/sig/nextbillionai/internal/type/converter.rbs +62 -0
  542. data/sig/nextbillionai/internal/type/enum.rbs +32 -0
  543. data/sig/nextbillionai/internal/type/file_input.rbs +25 -0
  544. data/sig/nextbillionai/internal/type/hash_of.rbs +48 -0
  545. data/sig/nextbillionai/internal/type/request_parameters.rbs +19 -0
  546. data/sig/nextbillionai/internal/type/union.rbs +52 -0
  547. data/sig/nextbillionai/internal/type/unknown.rbs +26 -0
  548. data/sig/nextbillionai/internal/util.rbs +185 -0
  549. data/sig/nextbillionai/internal.rbs +10 -0
  550. data/sig/nextbillionai/models/access.rbs +19 -0
  551. data/sig/nextbillionai/models/address.rbs +92 -0
  552. data/sig/nextbillionai/models/area_list_params.rbs +23 -0
  553. data/sig/nextbillionai/models/area_list_response.rbs +43 -0
  554. data/sig/nextbillionai/models/autocomplete_suggest_params.rbs +59 -0
  555. data/sig/nextbillionai/models/autocomplete_suggest_response.rbs +236 -0
  556. data/sig/nextbillionai/models/autosuggest_suggest_params.rbs +59 -0
  557. data/sig/nextbillionai/models/autosuggest_suggest_response.rbs +236 -0
  558. data/sig/nextbillionai/models/batch_create_params.rbs +47 -0
  559. data/sig/nextbillionai/models/batch_create_response.rbs +24 -0
  560. data/sig/nextbillionai/models/batch_retrieve_params.rbs +28 -0
  561. data/sig/nextbillionai/models/batch_retrieve_response.rbs +61 -0
  562. data/sig/nextbillionai/models/browse_search_params.rbs +61 -0
  563. data/sig/nextbillionai/models/browse_search_response.rbs +234 -0
  564. data/sig/nextbillionai/models/categories.rbs +23 -0
  565. data/sig/nextbillionai/models/contact_object.rbs +50 -0
  566. data/sig/nextbillionai/models/contacts.rbs +69 -0
  567. data/sig/nextbillionai/models/direction_compute_route_params.rbs +391 -0
  568. data/sig/nextbillionai/models/direction_compute_route_response.rbs +554 -0
  569. data/sig/nextbillionai/models/discover_retrieve_params.rbs +59 -0
  570. data/sig/nextbillionai/models/discover_retrieve_response.rbs +234 -0
  571. data/sig/nextbillionai/models/distance_matrix/json_create_params.rbs +17 -0
  572. data/sig/nextbillionai/models/distance_matrix/json_retrieve_params.rbs +114 -0
  573. data/sig/nextbillionai/models/distance_matrix/json_retrieve_response.rbs +77 -0
  574. data/sig/nextbillionai/models/fleetify/document_template_content_request.rbs +148 -0
  575. data/sig/nextbillionai/models/fleetify/document_template_content_response.rbs +135 -0
  576. data/sig/nextbillionai/models/fleetify/document_template_create_params.rbs +38 -0
  577. data/sig/nextbillionai/models/fleetify/document_template_create_response.rbs +75 -0
  578. data/sig/nextbillionai/models/fleetify/document_template_delete_params.rbs +25 -0
  579. data/sig/nextbillionai/models/fleetify/document_template_delete_response.rbs +21 -0
  580. data/sig/nextbillionai/models/fleetify/document_template_list_params.rbs +25 -0
  581. data/sig/nextbillionai/models/fleetify/document_template_list_response.rbs +75 -0
  582. data/sig/nextbillionai/models/fleetify/document_template_retrieve_params.rbs +25 -0
  583. data/sig/nextbillionai/models/fleetify/document_template_retrieve_response.rbs +75 -0
  584. data/sig/nextbillionai/models/fleetify/document_template_update_params.rbs +44 -0
  585. data/sig/nextbillionai/models/fleetify/document_template_update_response.rbs +75 -0
  586. data/sig/nextbillionai/models/fleetify/route_create_params.rbs +199 -0
  587. data/sig/nextbillionai/models/fleetify/route_create_response.rbs +159 -0
  588. data/sig/nextbillionai/models/fleetify/route_redispatch_params.rbs +118 -0
  589. data/sig/nextbillionai/models/fleetify/route_redispatch_response.rbs +359 -0
  590. data/sig/nextbillionai/models/fleetify/routes/document_submission.rbs +9 -0
  591. data/sig/nextbillionai/models/fleetify/routes/route_step_completion_mode.rbs +22 -0
  592. data/sig/nextbillionai/models/fleetify/routes/route_step_geofence_config.rbs +47 -0
  593. data/sig/nextbillionai/models/fleetify/routes/route_steps_request.rbs +134 -0
  594. data/sig/nextbillionai/models/fleetify/routes/route_steps_response.rbs +223 -0
  595. data/sig/nextbillionai/models/fleetify/routes/step_complete_params.rbs +56 -0
  596. data/sig/nextbillionai/models/fleetify/routes/step_create_params.rbs +148 -0
  597. data/sig/nextbillionai/models/fleetify/routes/step_create_response.rbs +42 -0
  598. data/sig/nextbillionai/models/fleetify/routes/step_delete_params.rbs +32 -0
  599. data/sig/nextbillionai/models/fleetify/routes/step_delete_response.rbs +23 -0
  600. data/sig/nextbillionai/models/fleetify/routes/step_update_params.rbs +159 -0
  601. data/sig/nextbillionai/models/fleetify/routes/step_update_response.rbs +42 -0
  602. data/sig/nextbillionai/models/fleetify/routing_response.rbs +66 -0
  603. data/sig/nextbillionai/models/geocode_batch_create_params.rbs +70 -0
  604. data/sig/nextbillionai/models/geocode_batch_create_response.rbs +128 -0
  605. data/sig/nextbillionai/models/geocode_retrieve_params.rbs +59 -0
  606. data/sig/nextbillionai/models/geocode_retrieve_response.rbs +234 -0
  607. data/sig/nextbillionai/models/geocode_structured_retrieve_params.rbs +94 -0
  608. data/sig/nextbillionai/models/geocode_structured_retrieve_response.rbs +236 -0
  609. data/sig/nextbillionai/models/geofence/batch_create_params.rbs +34 -0
  610. data/sig/nextbillionai/models/geofence/batch_create_response.rbs +45 -0
  611. data/sig/nextbillionai/models/geofence/batch_delete_params.rbs +32 -0
  612. data/sig/nextbillionai/models/geofence/batch_list_params.rbs +30 -0
  613. data/sig/nextbillionai/models/geofence/batch_list_response.rbs +37 -0
  614. data/sig/nextbillionai/models/geofence/console_preview_params.rbs +17 -0
  615. data/sig/nextbillionai/models/geofence/console_preview_response.rbs +49 -0
  616. data/sig/nextbillionai/models/geofence/console_search_params.rbs +25 -0
  617. data/sig/nextbillionai/models/geofence/console_search_response.rbs +56 -0
  618. data/sig/nextbillionai/models/geofence/polygon_geojson.rbs +25 -0
  619. data/sig/nextbillionai/models/geofence.rbs +161 -0
  620. data/sig/nextbillionai/models/geofence_contains_params.rbs +40 -0
  621. data/sig/nextbillionai/models/geofence_contains_response.rbs +105 -0
  622. data/sig/nextbillionai/models/geofence_create_params.rbs +25 -0
  623. data/sig/nextbillionai/models/geofence_create_response.rbs +43 -0
  624. data/sig/nextbillionai/models/geofence_delete_params.rbs +23 -0
  625. data/sig/nextbillionai/models/geofence_entity_create.rbs +216 -0
  626. data/sig/nextbillionai/models/geofence_list_params.rbs +42 -0
  627. data/sig/nextbillionai/models/geofence_list_response.rbs +61 -0
  628. data/sig/nextbillionai/models/geofence_retrieve_params.rbs +23 -0
  629. data/sig/nextbillionai/models/geofence_retrieve_response.rbs +45 -0
  630. data/sig/nextbillionai/models/geofence_update_params.rbs +227 -0
  631. data/sig/nextbillionai/models/isochrone_compute_params.rbs +96 -0
  632. data/sig/nextbillionai/models/isochrone_compute_response.rbs +159 -0
  633. data/sig/nextbillionai/models/lookup_by_id_params.rbs +28 -0
  634. data/sig/nextbillionai/models/lookup_by_id_response.rbs +94 -0
  635. data/sig/nextbillionai/models/map_create_segment_params.rbs +15 -0
  636. data/sig/nextbillionai/models/map_view.rbs +37 -0
  637. data/sig/nextbillionai/models/mdm_create_distance_matrix_params.rbs +270 -0
  638. data/sig/nextbillionai/models/mdm_create_distance_matrix_response.rbs +43 -0
  639. data/sig/nextbillionai/models/mdm_get_distance_matrix_status_params.rbs +28 -0
  640. data/sig/nextbillionai/models/mdm_get_distance_matrix_status_response.rbs +57 -0
  641. data/sig/nextbillionai/models/multigeocode/place_create_params.rbs +226 -0
  642. data/sig/nextbillionai/models/multigeocode/place_create_response.rbs +17 -0
  643. data/sig/nextbillionai/models/multigeocode/place_delete_params.rbs +25 -0
  644. data/sig/nextbillionai/models/multigeocode/place_delete_response.rbs +21 -0
  645. data/sig/nextbillionai/models/multigeocode/place_item.rbs +133 -0
  646. data/sig/nextbillionai/models/multigeocode/place_retrieve_params.rbs +25 -0
  647. data/sig/nextbillionai/models/multigeocode/place_retrieve_response.rbs +95 -0
  648. data/sig/nextbillionai/models/multigeocode/place_update_params.rbs +99 -0
  649. data/sig/nextbillionai/models/multigeocode/place_update_response.rbs +21 -0
  650. data/sig/nextbillionai/models/multigeocode_search_params.rbs +104 -0
  651. data/sig/nextbillionai/models/multigeocode_search_response.rbs +114 -0
  652. data/sig/nextbillionai/models/navigation_retrieve_route_params.rbs +206 -0
  653. data/sig/nextbillionai/models/navigation_retrieve_route_response.rbs +812 -0
  654. data/sig/nextbillionai/models/optimization/driver_assignment_assign_params.rbs +412 -0
  655. data/sig/nextbillionai/models/optimization/driver_assignment_assign_response.rbs +281 -0
  656. data/sig/nextbillionai/models/optimization/job.rbs +225 -0
  657. data/sig/nextbillionai/models/optimization/location.rbs +17 -0
  658. data/sig/nextbillionai/models/optimization/shipment.rbs +313 -0
  659. data/sig/nextbillionai/models/optimization/v2_retrieve_result_params.rbs +30 -0
  660. data/sig/nextbillionai/models/optimization/v2_retrieve_result_response.rbs +555 -0
  661. data/sig/nextbillionai/models/optimization/v2_submit_params.rbs +1138 -0
  662. data/sig/nextbillionai/models/optimization/vehicle.rbs +66 -0
  663. data/sig/nextbillionai/models/optimization_compute_params.rbs +146 -0
  664. data/sig/nextbillionai/models/optimization_compute_response.rbs +386 -0
  665. data/sig/nextbillionai/models/optimization_re_optimize_params.rbs +176 -0
  666. data/sig/nextbillionai/models/position.rbs +19 -0
  667. data/sig/nextbillionai/models/post_response.rbs +38 -0
  668. data/sig/nextbillionai/models/postalcode_retrieve_coordinates_params.rbs +84 -0
  669. data/sig/nextbillionai/models/postalcode_retrieve_coordinates_response.rbs +260 -0
  670. data/sig/nextbillionai/models/restriction_create_params.rbs +48 -0
  671. data/sig/nextbillionai/models/restriction_delete_params.rbs +23 -0
  672. data/sig/nextbillionai/models/restriction_delete_response.rbs +19 -0
  673. data/sig/nextbillionai/models/restriction_list_by_bbox_params.rbs +162 -0
  674. data/sig/nextbillionai/models/restriction_list_by_bbox_response.rbs +8 -0
  675. data/sig/nextbillionai/models/restriction_list_params.rbs +164 -0
  676. data/sig/nextbillionai/models/restriction_list_response.rbs +57 -0
  677. data/sig/nextbillionai/models/restriction_retrieve_params.rbs +30 -0
  678. data/sig/nextbillionai/models/restriction_set_state_params.rbs +43 -0
  679. data/sig/nextbillionai/models/restriction_update_params.rbs +32 -0
  680. data/sig/nextbillionai/models/restrictions_item_list_params.rbs +145 -0
  681. data/sig/nextbillionai/models/restrictions_item_list_response.rbs +166 -0
  682. data/sig/nextbillionai/models/revgeocode_retrieve_params.rbs +40 -0
  683. data/sig/nextbillionai/models/revgeocode_retrieve_response.rbs +236 -0
  684. data/sig/nextbillionai/models/rich_group_request.rbs +207 -0
  685. data/sig/nextbillionai/models/rich_group_response.rbs +207 -0
  686. data/sig/nextbillionai/models/route_report_create_params.rbs +47 -0
  687. data/sig/nextbillionai/models/route_report_create_response.rbs +408 -0
  688. data/sig/nextbillionai/models/skynet/asset/event_list_params.rbs +84 -0
  689. data/sig/nextbillionai/models/skynet/asset/event_list_response.rbs +303 -0
  690. data/sig/nextbillionai/models/skynet/asset/location_get_last_params.rbs +49 -0
  691. data/sig/nextbillionai/models/skynet/asset/location_get_last_response.rbs +60 -0
  692. data/sig/nextbillionai/models/skynet/asset/location_list_params.rbs +105 -0
  693. data/sig/nextbillionai/models/skynet/asset/location_list_response.rbs +216 -0
  694. data/sig/nextbillionai/models/skynet/asset/track_location.rbs +100 -0
  695. data/sig/nextbillionai/models/skynet/asset_bind_params.rbs +30 -0
  696. data/sig/nextbillionai/models/skynet/asset_create_params.rbs +89 -0
  697. data/sig/nextbillionai/models/skynet/asset_create_response.rbs +52 -0
  698. data/sig/nextbillionai/models/skynet/asset_delete_params.rbs +47 -0
  699. data/sig/nextbillionai/models/skynet/asset_details.rbs +175 -0
  700. data/sig/nextbillionai/models/skynet/asset_list_params.rbs +89 -0
  701. data/sig/nextbillionai/models/skynet/asset_list_response.rbs +70 -0
  702. data/sig/nextbillionai/models/skynet/asset_retrieve_params.rbs +47 -0
  703. data/sig/nextbillionai/models/skynet/asset_retrieve_response.rbs +54 -0
  704. data/sig/nextbillionai/models/skynet/asset_track_params.rbs +140 -0
  705. data/sig/nextbillionai/models/skynet/asset_update_attributes_params.rbs +30 -0
  706. data/sig/nextbillionai/models/skynet/asset_update_params.rbs +82 -0
  707. data/sig/nextbillionai/models/skynet/config_retrieve_params.rbs +47 -0
  708. data/sig/nextbillionai/models/skynet/config_retrieve_response.rbs +73 -0
  709. data/sig/nextbillionai/models/skynet/config_test_webhook_params.rbs +25 -0
  710. data/sig/nextbillionai/models/skynet/config_test_webhook_response.rbs +17 -0
  711. data/sig/nextbillionai/models/skynet/config_update_params.rbs +54 -0
  712. data/sig/nextbillionai/models/skynet/meta_data.rbs +7 -0
  713. data/sig/nextbillionai/models/skynet/metadata.rbs +7 -0
  714. data/sig/nextbillionai/models/skynet/monitor.rbs +220 -0
  715. data/sig/nextbillionai/models/skynet/monitor_create_params.rbs +226 -0
  716. data/sig/nextbillionai/models/skynet/monitor_create_response.rbs +52 -0
  717. data/sig/nextbillionai/models/skynet/monitor_delete_params.rbs +25 -0
  718. data/sig/nextbillionai/models/skynet/monitor_list_params.rbs +75 -0
  719. data/sig/nextbillionai/models/skynet/monitor_list_response.rbs +70 -0
  720. data/sig/nextbillionai/models/skynet/monitor_retrieve_params.rbs +25 -0
  721. data/sig/nextbillionai/models/skynet/monitor_retrieve_response.rbs +56 -0
  722. data/sig/nextbillionai/models/skynet/monitor_update_params.rbs +206 -0
  723. data/sig/nextbillionai/models/skynet/namespaced_apikey_create_params.rbs +30 -0
  724. data/sig/nextbillionai/models/skynet/namespaced_apikey_create_response.rbs +94 -0
  725. data/sig/nextbillionai/models/skynet/namespaced_apikey_delete_params.rbs +34 -0
  726. data/sig/nextbillionai/models/skynet/namespaced_apikey_delete_response.rbs +21 -0
  727. data/sig/nextbillionai/models/skynet/pagination.rbs +40 -0
  728. data/sig/nextbillionai/models/skynet/search/polygon_create_params.rbs +193 -0
  729. data/sig/nextbillionai/models/skynet/search/polygon_get_params.rbs +125 -0
  730. data/sig/nextbillionai/models/skynet/search_around_params.rbs +128 -0
  731. data/sig/nextbillionai/models/skynet/search_bound_params.rbs +123 -0
  732. data/sig/nextbillionai/models/skynet/search_response.rbs +185 -0
  733. data/sig/nextbillionai/models/skynet/simple_resp.rbs +21 -0
  734. data/sig/nextbillionai/models/skynet/trip_delete_params.rbs +47 -0
  735. data/sig/nextbillionai/models/skynet/trip_end_params.rbs +52 -0
  736. data/sig/nextbillionai/models/skynet/trip_get_summary_params.rbs +47 -0
  737. data/sig/nextbillionai/models/skynet/trip_get_summary_response.rbs +198 -0
  738. data/sig/nextbillionai/models/skynet/trip_retrieve_params.rbs +47 -0
  739. data/sig/nextbillionai/models/skynet/trip_retrieve_response.rbs +168 -0
  740. data/sig/nextbillionai/models/skynet/trip_start_params.rbs +120 -0
  741. data/sig/nextbillionai/models/skynet/trip_start_response.rbs +52 -0
  742. data/sig/nextbillionai/models/skynet/trip_stop.rbs +29 -0
  743. data/sig/nextbillionai/models/skynet/trip_update_params.rbs +113 -0
  744. data/sig/nextbillionai/models/skynet_subscribe_params.rbs +64 -0
  745. data/sig/nextbillionai/models/skynet_subscribe_response.rbs +38 -0
  746. data/sig/nextbillionai/models/snap_to_road_snap_params.rbs +173 -0
  747. data/sig/nextbillionai/models/snap_to_road_snap_response.rbs +215 -0
  748. data/sig/nextbillionai/models.rbs +115 -0
  749. data/sig/nextbillionai/request_options.rbs +36 -0
  750. data/sig/nextbillionai/resources/areas.rbs +12 -0
  751. data/sig/nextbillionai/resources/autocomplete.rbs +17 -0
  752. data/sig/nextbillionai/resources/autosuggest.rbs +17 -0
  753. data/sig/nextbillionai/resources/batch.rbs +19 -0
  754. data/sig/nextbillionai/resources/browse.rbs +17 -0
  755. data/sig/nextbillionai/resources/directions.rbs +37 -0
  756. data/sig/nextbillionai/resources/discover.rbs +17 -0
  757. data/sig/nextbillionai/resources/distance_matrix/json.rbs +23 -0
  758. data/sig/nextbillionai/resources/distance_matrix.rbs +9 -0
  759. data/sig/nextbillionai/resources/fleetify/document_templates.rbs +41 -0
  760. data/sig/nextbillionai/resources/fleetify/routes/steps.rbs +61 -0
  761. data/sig/nextbillionai/resources/fleetify/routes.rbs +30 -0
  762. data/sig/nextbillionai/resources/fleetify.rbs +11 -0
  763. data/sig/nextbillionai/resources/geocode.rbs +38 -0
  764. data/sig/nextbillionai/resources/geofence/batch.rbs +27 -0
  765. data/sig/nextbillionai/resources/geofence/console.rbs +26 -0
  766. data/sig/nextbillionai/resources/geofence.rbs +65 -0
  767. data/sig/nextbillionai/resources/isochrone.rbs +21 -0
  768. data/sig/nextbillionai/resources/lookup.rbs +13 -0
  769. data/sig/nextbillionai/resources/map.rbs +9 -0
  770. data/sig/nextbillionai/resources/mdm.rbs +34 -0
  771. data/sig/nextbillionai/resources/multigeocode/place.rbs +39 -0
  772. data/sig/nextbillionai/resources/multigeocode.rbs +24 -0
  773. data/sig/nextbillionai/resources/navigation.rbs +26 -0
  774. data/sig/nextbillionai/resources/optimization/driver_assignment.rbs +18 -0
  775. data/sig/nextbillionai/resources/optimization/v2.rbs +35 -0
  776. data/sig/nextbillionai/resources/optimization.rbs +34 -0
  777. data/sig/nextbillionai/resources/postalcode.rbs +16 -0
  778. data/sig/nextbillionai/resources/restrictions.rbs +107 -0
  779. data/sig/nextbillionai/resources/restrictions_items.rbs +21 -0
  780. data/sig/nextbillionai/resources/revgeocode.rbs +15 -0
  781. data/sig/nextbillionai/resources/route_report.rbs +14 -0
  782. data/sig/nextbillionai/resources/skynet/asset/event.rbs +23 -0
  783. data/sig/nextbillionai/resources/skynet/asset/location.rbs +31 -0
  784. data/sig/nextbillionai/resources/skynet/asset.rbs +86 -0
  785. data/sig/nextbillionai/resources/skynet/config.rbs +27 -0
  786. data/sig/nextbillionai/resources/skynet/monitor.rbs +64 -0
  787. data/sig/nextbillionai/resources/skynet/namespaced_apikeys.rbs +22 -0
  788. data/sig/nextbillionai/resources/skynet/search/polygon.rbs +38 -0
  789. data/sig/nextbillionai/resources/skynet/search.rbs +42 -0
  790. data/sig/nextbillionai/resources/skynet/trip.rbs +63 -0
  791. data/sig/nextbillionai/resources/skynet.rbs +26 -0
  792. data/sig/nextbillionai/resources/snap_to_roads.rbs +22 -0
  793. data/sig/nextbillionai/version.rbs +3 -0
  794. 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