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,679 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nextbillionai
4
+ module Models
5
+ module Optimization
6
+ # @see Nextbillionai::Resources::Optimization::DriverAssignment#assign
7
+ class DriverAssignmentAssignParams < Nextbillionai::Internal::Type::BaseModel
8
+ extend Nextbillionai::Internal::Type::RequestParameters::Converter
9
+ include Nextbillionai::Internal::Type::RequestParameters
10
+
11
+ # @!attribute key
12
+ # A key is a unique identifier that is required to authenticate a request to the
13
+ # API.
14
+ #
15
+ # @return [String]
16
+ required :key, String
17
+
18
+ # @!attribute filter
19
+ # Specify the filtering criterion for the vehicles with respect to each order's
20
+ # location. filter is a mandatory input for all requests.
21
+ #
22
+ # @return [Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Filter]
23
+ required :filter, -> { Nextbillionai::Optimization::DriverAssignmentAssignParams::Filter }
24
+
25
+ # @!attribute orders
26
+ # Collects the details of open orders to be fulfilled. Each object represents one
27
+ # order. All requests must include orders as a mandatory input. A maximum of 200
28
+ # orders is allowed per request.
29
+ #
30
+ # @return [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order>]
31
+ required :orders,
32
+ -> {
33
+ Nextbillionai::Internal::Type::ArrayOf[Nextbillionai::Optimization::DriverAssignmentAssignParams::Order]
34
+ }
35
+
36
+ # @!attribute vehicles
37
+ # Collects the details of vehicles available to fulfill the orders. Each object
38
+ # represents one vehicle. All requests must include vehicles as a mandatory input.
39
+ # A maximum of 100 vehicles is allowed per request.
40
+ #
41
+ # @return [Array<Nextbillionai::Models::Optimization::Vehicle>]
42
+ required :vehicles,
43
+ -> {
44
+ Nextbillionai::Internal::Type::ArrayOf[Nextbillionai::Optimization::Vehicle]
45
+ }
46
+
47
+ # @!attribute options
48
+ # Configure the assignment constraints and response settings.
49
+ #
50
+ # @return [Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options, nil]
51
+ optional :options, -> { Nextbillionai::Optimization::DriverAssignmentAssignParams::Options }
52
+
53
+ # @!method initialize(key:, filter:, orders:, vehicles:, options: nil, request_options: {})
54
+ # Some parameter documentations has been truncated, see
55
+ # {Nextbillionai::Models::Optimization::DriverAssignmentAssignParams} for more
56
+ # details.
57
+ #
58
+ # @param key [String] A key is a unique identifier that is required to authenticate a request to the A
59
+ #
60
+ # @param filter [Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Filter] Specify the filtering criterion for the vehicles with respect to each order's lo
61
+ #
62
+ # @param orders [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order>] Collects the details of open orders to be fulfilled. Each object represents one
63
+ #
64
+ # @param vehicles [Array<Nextbillionai::Models::Optimization::Vehicle>] Collects the details of vehicles available to fulfill the orders. Each object re
65
+ #
66
+ # @param options [Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options] Configure the assignment constraints and response settings.
67
+ #
68
+ # @param request_options [Nextbillionai::RequestOptions, Hash{Symbol=>Object}]
69
+
70
+ class Filter < Nextbillionai::Internal::Type::BaseModel
71
+ # @!attribute driving_distance
72
+ # Defines a driving_distance filter, in meters. If a vehicle needs to drive
73
+ # further than this distance to reach a pickup location, it will not be assigned
74
+ # to that order. Valid range of values for this filter is \[1, 10000\].
75
+ #
76
+ # @return [Float, nil]
77
+ optional :driving_distance, Float
78
+
79
+ # @!attribute pickup_eta
80
+ # Specify a duration, in seconds, which will be used to filter out ineligible
81
+ # vehicles for each order. Any vehicle which would take more time than specified
82
+ # here, to reach the pickup location of a given order, will be ruled out for
83
+ # assignment for that particular order. Valid values for pickup_eta are \[1,
84
+ # 3600\].
85
+ #
86
+ # @return [Integer, nil]
87
+ optional :pickup_eta, Integer
88
+
89
+ # @!attribute radius
90
+ # Specify a radius, in meters, which will be used to filter out ineligible
91
+ # vehicles for each order. The pickup location of an order will act as the center
92
+ # of the circle when identifying eligible vehicles. Valid values for radius are
93
+ # \[1, 10000\].
94
+ #
95
+ # @return [Float, nil]
96
+ optional :radius, Float
97
+
98
+ # @!method initialize(driving_distance: nil, pickup_eta: nil, radius: nil)
99
+ # Some parameter documentations has been truncated, see
100
+ # {Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Filter} for
101
+ # more details.
102
+ #
103
+ # Specify the filtering criterion for the vehicles with respect to each order's
104
+ # location. filter is a mandatory input for all requests.
105
+ #
106
+ # @param driving_distance [Float] Defines a driving_distance filter, in meters. If a vehicle needs to drive furthe
107
+ #
108
+ # @param pickup_eta [Integer] Specify a duration, in seconds, which will be used to filter out ineligible vehi
109
+ #
110
+ # @param radius [Float] Specify a radius, in meters, which will be used to filter out ineligible vehicle
111
+ end
112
+
113
+ class Order < Nextbillionai::Internal::Type::BaseModel
114
+ # @!attribute id
115
+ # Specify a unique ID for the order.
116
+ #
117
+ # @return [String]
118
+ required :id, String
119
+
120
+ # @!attribute pickup
121
+ # Specify the location coordinates of the pickup location of the order. This input
122
+ # is mandatory for each order.
123
+ #
124
+ # @return [Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::Pickup]
125
+ required :pickup, -> { Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Pickup }
126
+
127
+ # @!attribute attributes
128
+ # Specify custom attributes for the orders. Each attribute should be created as a
129
+ # key:value pair. The **keys** provided can be used in
130
+ # options.order_attribute_priority_mappings to assign a custom priority for this
131
+ # order based on its attributes.
132
+ #
133
+ # The maximum number of key:value pairs that can be specified under attributes for
134
+ # a given order, is limited to 30.
135
+ #
136
+ # @return [Object, nil]
137
+ optional :attributes, Nextbillionai::Internal::Type::Unknown
138
+
139
+ # @!attribute dropoffs
140
+ # Use this parameter to specify the location coordinates of the destination of the
141
+ # trip or the intermediate stops to be completed before it.
142
+ #
143
+ # Please note
144
+ #
145
+ # - The last location provided is treated as the destination of the trip.
146
+ # - dropoffs is mandatory when dropoff_details is set to **true**.
147
+ #
148
+ # @return [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::Dropoff>, nil]
149
+ optional :dropoffs,
150
+ -> {
151
+ Nextbillionai::Internal::Type::ArrayOf[Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::Dropoff]
152
+ }
153
+
154
+ # @!attribute priority
155
+ # Specify the priority for this order. A higher value indicates a higher priority.
156
+ # When specified, it will override any priority score deduced from
157
+ # order_attribute_priority_mappings for this order. Valid values are \[1, 10\] and
158
+ # default is 0.
159
+ #
160
+ # @return [Integer, nil]
161
+ optional :priority, Integer
162
+
163
+ # @!attribute service_time
164
+ # Specify the service time, in seconds, for the order. Service time is the
165
+ # duration that the driver is likely to wait at the pickup location after
166
+ # arriving. The impact of the service time is realized in the ETA for the
167
+ # "dropoff" type step.
168
+ #
169
+ # @return [Integer, nil]
170
+ optional :service_time, Integer
171
+
172
+ # @!attribute vehicle_preferences
173
+ # Define custom preferences for task assignment based on vehicle's attributes. If
174
+ # multiple criteria are provided, they are evaluated using an AND
175
+ # condition—meaning all specified criteria must be met individually for a vehicle
176
+ # to be considered.
177
+ #
178
+ # For example, if required_all_of_attributes, required_any_of_attributes, and
179
+ # exclude_all_of_attributes are all provided, an eligible vehicle must satisfy the
180
+ # following to be considered for assignments:
181
+ #
182
+ # 1. Meet all conditions specified in required_all_of_attributes.
183
+ # 2. Meet at least one of the conditions listed in required_any_of_attributes.
184
+ # 3. Not meet any conditions mentioned in exclude_all_of_attributes.
185
+ #
186
+ # Consequently, a vehicle which does not have any attributes defined can't be
187
+ # assigned to an order which has vehicle_preferences configured.
188
+ #
189
+ # @return [Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences, nil]
190
+ optional :vehicle_preferences,
191
+ -> { Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences }
192
+
193
+ # @!method initialize(id:, pickup:, attributes: nil, dropoffs: nil, priority: nil, service_time: nil, vehicle_preferences: nil)
194
+ # Some parameter documentations has been truncated, see
195
+ # {Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order} for
196
+ # more details.
197
+ #
198
+ # @param id [String] Specify a unique ID for the order.
199
+ #
200
+ # @param pickup [Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::Pickup] Specify the location coordinates of the pickup location of the order. This input
201
+ #
202
+ # @param attributes [Object] Specify custom attributes for the orders. Each attribute should be created as a
203
+ #
204
+ # @param dropoffs [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::Dropoff>] Use this parameter to specify the location coordinates of the destination of the
205
+ #
206
+ # @param priority [Integer] Specify the priority for this order. A higher value indicates a higher priority.
207
+ #
208
+ # @param service_time [Integer] Specify the service time, in seconds, for the order. Service time is the duratio
209
+ #
210
+ # @param vehicle_preferences [Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences] Define custom preferences for task assignment based on vehicle's attributes. If
211
+
212
+ # @see Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order#pickup
213
+ class Pickup < Nextbillionai::Internal::Type::BaseModel
214
+ # @!attribute lat
215
+ # Latitude of the pickup location.
216
+ #
217
+ # @return [Float, nil]
218
+ optional :lat, Float
219
+
220
+ # @!attribute lng
221
+ # Longitude of the pickup location.
222
+ #
223
+ # @return [Float, nil]
224
+ optional :lng, Float
225
+
226
+ # @!method initialize(lat: nil, lng: nil)
227
+ # Specify the location coordinates of the pickup location of the order. This input
228
+ # is mandatory for each order.
229
+ #
230
+ # @param lat [Float] Latitude of the pickup location.
231
+ #
232
+ # @param lng [Float] Longitude of the pickup location.
233
+ end
234
+
235
+ class Dropoff < Nextbillionai::Internal::Type::BaseModel
236
+ # @!attribute lat
237
+ # Latitude of the stop location.
238
+ #
239
+ # @return [Float, nil]
240
+ optional :lat, Float
241
+
242
+ # @!attribute lng
243
+ # Longitude of the stop location.
244
+ #
245
+ # @return [Float, nil]
246
+ optional :lng, Float
247
+
248
+ # @!method initialize(lat: nil, lng: nil)
249
+ # @param lat [Float] Latitude of the stop location.
250
+ #
251
+ # @param lng [Float] Longitude of the stop location.
252
+ end
253
+
254
+ # @see Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order#vehicle_preferences
255
+ class VehiclePreferences < Nextbillionai::Internal::Type::BaseModel
256
+ # @!attribute exclude_all_of_attributes
257
+ # An array of objects to add exclusion requirements for the order. A vehicle must
258
+ # **not meet any of the conditions** specified here to be considered for
259
+ # assignment. Each object represents a single condition. Please note that a
260
+ # maximum of 10 conditions can be added here for a given order.
261
+ #
262
+ # @return [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::ExcludeAllOfAttribute>, nil]
263
+ optional :exclude_all_of_attributes,
264
+ -> do
265
+ Nextbillionai::Internal::Type::ArrayOf[
266
+ Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::ExcludeAllOfAttribute
267
+ ]
268
+ end
269
+
270
+ # @!attribute required_all_of_attributes
271
+ # An array of objects to add mandatory requirements for the order. A vehicle must
272
+ # **meet** **all conditions** specified here to be considered for assignment. Each
273
+ # object represents a single condition. Please note that a maximum of 10
274
+ # conditions can be added here for a given order.
275
+ #
276
+ # @return [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAllOfAttribute>, nil]
277
+ optional :required_all_of_attributes,
278
+ -> do
279
+ Nextbillionai::Internal::Type::ArrayOf[
280
+ Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAllOfAttribute
281
+ ]
282
+ end
283
+
284
+ # @!attribute required_any_of_attributes
285
+ # An array of objects to add optional requirements for the order. A vehicle must
286
+ # **meet** **at least one of the conditions** specified here to be considered for
287
+ # assignment. Each object represents a single condition. Please note that a
288
+ # maximum of 10 conditions can be added here for a given order.
289
+ #
290
+ # @return [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAnyOfAttribute>, nil]
291
+ optional :required_any_of_attributes,
292
+ -> do
293
+ Nextbillionai::Internal::Type::ArrayOf[
294
+ Nextbillionai::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAnyOfAttribute
295
+ ]
296
+ end
297
+
298
+ # @!method initialize(exclude_all_of_attributes: nil, required_all_of_attributes: nil, required_any_of_attributes: nil)
299
+ # Some parameter documentations has been truncated, see
300
+ # {Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences}
301
+ # for more details.
302
+ #
303
+ # Define custom preferences for task assignment based on vehicle's attributes. If
304
+ # multiple criteria are provided, they are evaluated using an AND
305
+ # condition—meaning all specified criteria must be met individually for a vehicle
306
+ # to be considered.
307
+ #
308
+ # For example, if required_all_of_attributes, required_any_of_attributes, and
309
+ # exclude_all_of_attributes are all provided, an eligible vehicle must satisfy the
310
+ # following to be considered for assignments:
311
+ #
312
+ # 1. Meet all conditions specified in required_all_of_attributes.
313
+ # 2. Meet at least one of the conditions listed in required_any_of_attributes.
314
+ # 3. Not meet any conditions mentioned in exclude_all_of_attributes.
315
+ #
316
+ # Consequently, a vehicle which does not have any attributes defined can't be
317
+ # assigned to an order which has vehicle_preferences configured.
318
+ #
319
+ # @param exclude_all_of_attributes [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::ExcludeAllOfAttribute>] An array of objects to add exclusion requirements for the order. A vehicle must
320
+ #
321
+ # @param required_all_of_attributes [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAllOfAttribute>] An array of objects to add mandatory requirements for the order. A vehicle must
322
+ #
323
+ # @param required_any_of_attributes [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAnyOfAttribute>] An array of objects to add optional requirements for the order. A vehicle
324
+ # must \*
325
+
326
+ class ExcludeAllOfAttribute < Nextbillionai::Internal::Type::BaseModel
327
+ # @!attribute attribute
328
+ # Specify the name of the attribute. The attribute is compared to the keys (of
329
+ # each key:value pair) in vehicles.attributes during evaluation.
330
+ #
331
+ # @return [String]
332
+ required :attribute, String
333
+
334
+ # @!attribute operator
335
+ # Specify the operator to denote the relation between attribute and the value
336
+ # specified above. The attribute , operator and value together constitute the
337
+ # condition that a vehicle must meet to be eligible for assignment. Currently, we
338
+ # support following operators currently:
339
+ #
340
+ # - Equal to (==)
341
+ # - Less than (<)
342
+ # - Less tha equal to (<=)
343
+ # - Greater than (>)
344
+ # - Greater than equal to (>=)
345
+ # - Contains (contains)
346
+ #
347
+ # Please note that when using "contains" operator only one value can be specified
348
+ # and the corresponding attribute must contain multiple values when defined for a
349
+ # vehicle.
350
+ #
351
+ # @return [String]
352
+ required :operator, String
353
+
354
+ # @!attribute value
355
+ # Specify the desired value of the attribute to be applied for this order. value
356
+ # provided here is compared to the values (of each key:value pair) in
357
+ # vehicles.attributes during evaluation.
358
+ #
359
+ # @return [String]
360
+ required :value, String
361
+
362
+ # @!method initialize(attribute:, operator:, value:)
363
+ # Some parameter documentations has been truncated, see
364
+ # {Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::ExcludeAllOfAttribute}
365
+ # for more details.
366
+ #
367
+ # @param attribute [String] Specify the name of the attribute. The attribute is compared to the keys (of eac
368
+ #
369
+ # @param operator [String] Specify the operator to denote the relation between attribute and the value spec
370
+ #
371
+ # @param value [String] Specify the desired value of the attribute to be applied for this order. value p
372
+ end
373
+
374
+ class RequiredAllOfAttribute < Nextbillionai::Internal::Type::BaseModel
375
+ # @!attribute attribute
376
+ # Specify the name of the attribute. The attribute is compared to the keys (of
377
+ # each key:value pair) in vehicles.attributes during evaluation.
378
+ #
379
+ # @return [String]
380
+ required :attribute, String
381
+
382
+ # @!attribute operator
383
+ # Specify the operator to denote the relation between attribute and the value
384
+ # specified above. The attribute , operator and value together constitute the
385
+ # condition that a vehicle must meet to be eligible for assignment. Currently, we
386
+ # support following operators currently:
387
+ #
388
+ # - Equal to (==)
389
+ # - Less than (<)
390
+ # - Less tha equal to (<=)
391
+ # - Greater than (>)
392
+ # - Greater than equal to (>=)
393
+ # - Contains (contains)
394
+ #
395
+ # Please note that when using "contains" operator only one value can be specified
396
+ # and the corresponding attribute must contain multiple values when defined for a
397
+ # vehicle.
398
+ #
399
+ # @return [String]
400
+ required :operator, String
401
+
402
+ # @!attribute value
403
+ # Specify the desired value of the attribute to be applied for this order. value
404
+ # provided here is compared to the values (of each key:value pair) in
405
+ # vehicles.attributes during evaluation.
406
+ #
407
+ # @return [String]
408
+ required :value, String
409
+
410
+ # @!method initialize(attribute:, operator:, value:)
411
+ # Some parameter documentations has been truncated, see
412
+ # {Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAllOfAttribute}
413
+ # for more details.
414
+ #
415
+ # @param attribute [String] Specify the name of the attribute. The attribute is compared to the keys (of eac
416
+ #
417
+ # @param operator [String] Specify the operator to denote the relation between attribute and the value spec
418
+ #
419
+ # @param value [String] Specify the desired value of the attribute to be applied for this order. value p
420
+ end
421
+
422
+ class RequiredAnyOfAttribute < Nextbillionai::Internal::Type::BaseModel
423
+ # @!attribute attribute
424
+ # Specify the name of the attribute. The attribute is compared to the keys (of
425
+ # each key:value pair) in vehicles.attributes during evaluation.
426
+ #
427
+ # @return [String]
428
+ required :attribute, String
429
+
430
+ # @!attribute operator
431
+ # Specify the operator to denote the relation between attribute and the value
432
+ # specified above. The attribute , operator and value together constitute the
433
+ # condition that a vehicle must meet to be eligible for assignment. Currently, we
434
+ # support following operators currently:
435
+ #
436
+ # - Equal to (==)
437
+ # - Less than (<)
438
+ # - Less tha equal to (<=)
439
+ # - Greater than (>)
440
+ # - Greater than equal to (>=)
441
+ # - Contains (contains)
442
+ #
443
+ # Please note that when using "contains" operator only one value can be specified
444
+ # and the corresponding attribute must contain multiple values when defined for a
445
+ # vehicle.
446
+ #
447
+ # @return [String]
448
+ required :operator, String
449
+
450
+ # @!attribute value
451
+ # Specify the desired value of the attribute to be applied for this order. value
452
+ # provided here is compared to the values (of each key:value pair) in
453
+ # vehicles.attributes during evaluation.
454
+ #
455
+ # @return [String]
456
+ required :value, String
457
+
458
+ # @!method initialize(attribute:, operator:, value:)
459
+ # Some parameter documentations has been truncated, see
460
+ # {Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Order::VehiclePreferences::RequiredAnyOfAttribute}
461
+ # for more details.
462
+ #
463
+ # @param attribute [String] Specify the name of the attribute. The attribute is compared to the keys (of eac
464
+ #
465
+ # @param operator [String] Specify the operator to denote the relation between attribute and the value spec
466
+ #
467
+ # @param value [String] Specify the desired value of the attribute to be applied for this order. value p
468
+ end
469
+ end
470
+ end
471
+
472
+ class Options < Nextbillionai::Internal::Type::BaseModel
473
+ # @!attribute alternate_assignments
474
+ # Specify the maximum number of potential, alternate vehicle assignments to be
475
+ # returned for each order, apart from the vehicle which was assigned as
476
+ # recommended. Please note that:
477
+ #
478
+ # - The maximum number of alternate assignments that can be requested are 3.
479
+ # - It is not necessary that the service will return the specified number of
480
+ # alternate assignments for each order. The number of alternate assignments
481
+ # returned will depend on the number of vehicles provided in the input.
482
+ # - Order which could not be assigned to any vehicles due to their filter or
483
+ # attribute matching criteria will not be eligible for alternate assignments as
484
+ # well.
485
+ #
486
+ # @return [Integer, nil]
487
+ optional :alternate_assignments, Integer
488
+
489
+ # @!attribute dropoff_details
490
+ # When **true**, the service returns the drop-off steps for each trip and related
491
+ # details in the response. Defaults to **false**.
492
+ #
493
+ # @return [Boolean, nil]
494
+ optional :dropoff_details, Nextbillionai::Internal::Type::Boolean
495
+
496
+ # @!attribute order_attribute_priority_mappings
497
+ # Collection of rules for assigning custom priority to orders based on their
498
+ # attributes. In case an order satisfies more than one rule, the highest priority
499
+ # score from all the rules satisfied, would be the effective priority score for
500
+ # such an order.
501
+ #
502
+ # @return [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options::OrderAttributePriorityMapping>, nil]
503
+ optional :order_attribute_priority_mappings,
504
+ -> {
505
+ Nextbillionai::Internal::Type::ArrayOf[Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::OrderAttributePriorityMapping]
506
+ }
507
+
508
+ # @!attribute travel_cost
509
+ # Choose a travel cost that will be used by the service for assigning vehicles
510
+ # efficiently from a set of qualifying ones.
511
+ #
512
+ # @return [Symbol, Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options::TravelCost, nil]
513
+ optional :travel_cost,
514
+ enum: -> { Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::TravelCost }
515
+
516
+ # @!attribute vehicle_attribute_priority_mappings
517
+ # Collection of rules for assigning custom priority to vehicles based on their
518
+ # attributes. In case a vehicle satisfies more than one rule, the highest priority
519
+ # score from all the rules satisfied, would be the effective priority score for
520
+ # such a vehicle.
521
+ #
522
+ # @return [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options::VehicleAttributePriorityMapping>, nil]
523
+ optional :vehicle_attribute_priority_mappings,
524
+ -> {
525
+ Nextbillionai::Internal::Type::ArrayOf[Nextbillionai::Optimization::DriverAssignmentAssignParams::Options::VehicleAttributePriorityMapping]
526
+ }
527
+
528
+ # @!method initialize(alternate_assignments: nil, dropoff_details: nil, order_attribute_priority_mappings: nil, travel_cost: nil, vehicle_attribute_priority_mappings: nil)
529
+ # Some parameter documentations has been truncated, see
530
+ # {Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options} for
531
+ # more details.
532
+ #
533
+ # Configure the assignment constraints and response settings.
534
+ #
535
+ # @param alternate_assignments [Integer] Specify the maximum number of potential, alternate vehicle assignments to be ret
536
+ #
537
+ # @param dropoff_details [Boolean] When **true**, the service returns the drop-off steps for each trip and related
538
+ #
539
+ # @param order_attribute_priority_mappings [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options::OrderAttributePriorityMapping>] Collection of rules for assigning custom priority to orders based on their attri
540
+ #
541
+ # @param travel_cost [Symbol, Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options::TravelCost] Choose a travel cost that will be used by the service for assigning vehicles eff
542
+ #
543
+ # @param vehicle_attribute_priority_mappings [Array<Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options::VehicleAttributePriorityMapping>] Collection of rules for assigning custom priority to vehicles based on their att
544
+
545
+ class OrderAttributePriorityMapping < Nextbillionai::Internal::Type::BaseModel
546
+ # @!attribute attribute
547
+ # Specify the name of the attribute. The attribute is compared to the keys (of
548
+ # each key:value pair) in orders.attributes during evaluation.
549
+ #
550
+ # @return [String]
551
+ required :attribute, String
552
+
553
+ # @!attribute operator
554
+ # Specify the operator to denote the relation between attribute and the value
555
+ # specified above. The attribute , operator and value together constitute the
556
+ # condition that an order must meet to assume the specified priority. We support
557
+ # the following operators currently:
558
+ #
559
+ # - Equal to (==)
560
+ # - Less than (<)
561
+ # - Less tha equal to (<=)
562
+ # - Greater than (>)
563
+ # - Greater than equal to (>=)
564
+ # - Contains (contains)
565
+ #
566
+ # Please note that when using "contains" operator only one value can be specified
567
+ # and the corresponding attribute must contain multiple values when defined for an
568
+ # order.
569
+ #
570
+ # @return [String]
571
+ required :operator, String
572
+
573
+ # @!attribute priority
574
+ # Specify the priority score that should be assigned when an order qualifies the
575
+ # criteria specified above. A higher value indicates a higher priority. Valid
576
+ # values are \[1,10\].
577
+ #
578
+ # @return [String]
579
+ required :priority, String
580
+
581
+ # @!attribute value
582
+ # Specify the desired value of the attribute to be applied for this order. value
583
+ # provided here is compared to the values (of each key:value pair) in
584
+ # orders.attributes during evaluation.
585
+ #
586
+ # @return [String]
587
+ required :value, String
588
+
589
+ # @!method initialize(attribute:, operator:, priority:, value:)
590
+ # Some parameter documentations has been truncated, see
591
+ # {Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options::OrderAttributePriorityMapping}
592
+ # for more details.
593
+ #
594
+ # @param attribute [String] Specify the name of the attribute. The attribute is compared to the keys (of eac
595
+ #
596
+ # @param operator [String] Specify the operator to denote the relation between attribute and the value spec
597
+ #
598
+ # @param priority [String] Specify the priority score that should be assigned when an order qualifies the c
599
+ #
600
+ # @param value [String] Specify the desired value of the attribute to be applied for this order. value p
601
+ end
602
+
603
+ # Choose a travel cost that will be used by the service for assigning vehicles
604
+ # efficiently from a set of qualifying ones.
605
+ #
606
+ # @see Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options#travel_cost
607
+ module TravelCost
608
+ extend Nextbillionai::Internal::Type::Enum
609
+
610
+ DRIVING_ETA = :driving_eta
611
+ DRIVING_DISTANCE = :driving_distance
612
+ STRAIGHT_LINE_DISTANCE = :straight_line_distance
613
+
614
+ # @!method self.values
615
+ # @return [Array<Symbol>]
616
+ end
617
+
618
+ class VehicleAttributePriorityMapping < Nextbillionai::Internal::Type::BaseModel
619
+ # @!attribute attribute
620
+ # Specify the name of the attribute. The attribute is compared to the keys (of
621
+ # each key:value pair) in vehicles.attributes during evaluation.
622
+ #
623
+ # @return [String]
624
+ required :attribute, String
625
+
626
+ # @!attribute operator
627
+ # Specify the operator to denote the relation between attribute and the value
628
+ # specified above. The attribute , operator and value together constitute the
629
+ # condition that a vehicle must meet to assume the specified priority. We support
630
+ # the following operators currently:
631
+ #
632
+ # - Equal to (==)
633
+ # - Less than (<)
634
+ # - Less tha equal to (<=)
635
+ # - Greater than (>)
636
+ # - Greater than equal to (>=)
637
+ # - Contains (contains)
638
+ #
639
+ # Please note that when using "contains" operator only one value can be specified
640
+ # and the corresponding attribute must contain multiple values when defined for a
641
+ # vehicle.
642
+ #
643
+ # @return [String]
644
+ required :operator, String
645
+
646
+ # @!attribute priority
647
+ # Specify the priority score that should be assigned when a vehicle qualifies the
648
+ # criteria specified above. A higher value indicates a higher priority. Valid
649
+ # values are \[1,10\].
650
+ #
651
+ # @return [String]
652
+ required :priority, String
653
+
654
+ # @!attribute value
655
+ # Specify the desired value of the attribute to be applied for this vehicle. value
656
+ # provided here is compared to the values (of each key:value pair) in
657
+ # vehicles.attributes during evaluation.
658
+ #
659
+ # @return [String]
660
+ required :value, String
661
+
662
+ # @!method initialize(attribute:, operator:, priority:, value:)
663
+ # Some parameter documentations has been truncated, see
664
+ # {Nextbillionai::Models::Optimization::DriverAssignmentAssignParams::Options::VehicleAttributePriorityMapping}
665
+ # for more details.
666
+ #
667
+ # @param attribute [String] Specify the name of the attribute. The attribute is compared to the keys (of eac
668
+ #
669
+ # @param operator [String] Specify the operator to denote the relation between attribute and the value spec
670
+ #
671
+ # @param priority [String] Specify the priority score that should be assigned when a vehicle qualifies the
672
+ #
673
+ # @param value [String] Specify the desired value of the attribute to be applied for this vehicle. value
674
+ end
675
+ end
676
+ end
677
+ end
678
+ end
679
+ end