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,1442 @@
1
+ # typed: strong
2
+
3
+ module Nextbillionai
4
+ module Models
5
+ class DirectionComputeRouteParams < Nextbillionai::Internal::Type::BaseModel
6
+ extend Nextbillionai::Internal::Type::RequestParameters::Converter
7
+ include Nextbillionai::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Nextbillionai::DirectionComputeRouteParams,
13
+ Nextbillionai::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :destination
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :origin
22
+
23
+ # Sets the number of alternative routes to return. It is effective only when
24
+ # alternatives=true. Default to 3.
25
+ #
26
+ # Please note that adding alternative route count does not guarantee matching
27
+ # number of routes to be returned if potential alternative routes do not exist.
28
+ sig { returns(T.nilable(Integer)) }
29
+ attr_reader :altcount
30
+
31
+ sig { params(altcount: Integer).void }
32
+ attr_writer :altcount
33
+
34
+ # When true the API will return alternate routes.
35
+ #
36
+ # The alternatives is effective only when there are no waypoints included in the
37
+ # request.
38
+ #
39
+ # You can set the number of alternate routes to be returned in the altcount
40
+ # property.
41
+ sig { returns(T.nilable(T::Boolean)) }
42
+ attr_reader :alternatives
43
+
44
+ sig { params(alternatives: T::Boolean).void }
45
+ attr_writer :alternatives
46
+
47
+ # A semicolon-separated list indicating the side of the road from which to
48
+ # approach waypoints in a requested route.
49
+ #
50
+ # When set to unrestricted a route can arrive at the waypoint from either side of
51
+ # the road and when set to curb the route will arrive at the waypoint on the
52
+ # driving side of the region.
53
+ #
54
+ # Please note the number of values provided must be one more than the number of
55
+ # waypoints. The last value of approaches will determine the approach for the
56
+ # destination. However, you can skip a coordinate and show its position in the
57
+ # list with the ; separator.
58
+ sig { returns(T.nilable(String)) }
59
+ attr_reader :approaches
60
+
61
+ sig { params(approaches: String).void }
62
+ attr_writer :approaches
63
+
64
+ # When option=fast (by default):
65
+ #
66
+ # Setting this will ensure the route avoids ferries, tolls, highways or nothing.
67
+ # Multiple values should be separated by a pipe "|". If none is provided along
68
+ # with other values, an error is returned as a valid route is not feasible.
69
+ #
70
+ # Please note that when this parameter is not provided in the input, ferries are
71
+ # set to be avoided by default. When this parameter is provided, only the
72
+ # mentioned objects are avoided.
73
+ #
74
+ # When option=flexible:
75
+ #
76
+ # Set this parameter to find alternative routes that bypass specified objects. Use
77
+ # a pipe "|" to separate multiple values. This is a flexible filter; if no
78
+ # alternative routes exist, the service will still provide a route that includes
79
+ # the objects. For a strict filter, consider using the exclude parameter.
80
+ #
81
+ # \- This parameter is effective only when route_type=fastest.
82
+ # \- Following objects are exceptions to the flexible filtering behavior of avoid
83
+ # parameter: bbox, tunnel and geofence_id. When used, the service will return an
84
+ # error in case there are no alternative routes available.
85
+ # \- When using avoid=bbox users also need to specify the boundaries of the
86
+ # bounding box to be avoided. Multiple bounding boxes can be specified
87
+ # simultaneously. The perimeter of a bounding box can not exceed 500 KM. Format:
88
+ # bbox=min_latitude,min_longtitude,max_latitude,max_longitude. Example:
89
+ # avoid=bbox: 34.0635,-118.2547, 34.0679,-118.2478 | bbox: 34.0521,-118.2342,
90
+ # 34.0478,-118.2437
91
+ # \- When using avoid=sharp_turn, default range of permissible turn angles is
92
+ # \[120,240\] in the clockwise direction from the current road. In order to
93
+ # override default range, please use turn_angle_range parameter.
94
+ # \- When using avoid=geofence_id, only the the geofences created using
95
+ # [NextBillion.ai](http://NextBillion.ai) Geofence API are valid.
96
+ # \- When this parameter is not provided in the input, ferry routes are set to be
97
+ # avoided by default. When this parameter is provided, only the mentioned
98
+ # object(s) are avoided.
99
+ # \- If none is provided along with other values, an error is returned as a valid
100
+ # route is not feasible.
101
+ sig do
102
+ returns(
103
+ T.nilable(Nextbillionai::DirectionComputeRouteParams::Avoid::OrSymbol)
104
+ )
105
+ end
106
+ attr_reader :avoid
107
+
108
+ sig do
109
+ params(
110
+ avoid: Nextbillionai::DirectionComputeRouteParams::Avoid::OrSymbol
111
+ ).void
112
+ end
113
+ attr_writer :avoid
114
+
115
+ # Limits the search to road segments with given bearing, in degrees, towards true
116
+ # north in clockwise direction. Each bearings should be in the format of
117
+ # degree,range, where the degree should be a value between \[0, 360\] and range
118
+ # should be a value between \[0, 180\].
119
+ #
120
+ # Please note that the number of bearings should be two more than the number of
121
+ # waypoints. This is to account for the bearing of origin and destination. If a
122
+ # route can approach a waypoint or the destination from any direction, the bearing
123
+ # for that point can be specified as "0,180".
124
+ sig { returns(T.nilable(String)) }
125
+ attr_reader :bearings
126
+
127
+ sig { params(bearings: String).void }
128
+ attr_writer :bearings
129
+
130
+ # Requires option=flexible.
131
+ #
132
+ # Specify if crossing an international border is expected for operations near
133
+ # border areas. When set to false, the API will prohibit routes crossing the
134
+ # borders. When set to true, the service will return routes which cross the
135
+ # borders between countries, if required for the given set destination and
136
+ # waypoints.
137
+ #
138
+ # This feature is available in North America region only. Please get in touch with
139
+ # [support@nextbillion.ai](mailto:support@nextbillion.ai) to enquire/enable other
140
+ # areas.
141
+ sig { returns(T.nilable(T::Boolean)) }
142
+ attr_reader :cross_border
143
+
144
+ sig { params(cross_border: T::Boolean).void }
145
+ attr_writer :cross_border
146
+
147
+ # Requires option=flexible.
148
+ #
149
+ # Use this parameter to set a departure time, expressed as UNIX epoch timestamp in
150
+ # seconds, for calculating the isochrone contour. The response will consider the
151
+ # typical traffic conditions at the given time and return a contour which can be
152
+ # reached under those traffic conditions.
153
+ #
154
+ # Please note that if no input is provided for this parameter then the traffic
155
+ # conditions at the time of making the request are considered.
156
+ sig { returns(T.nilable(Integer)) }
157
+ attr_reader :departure_time
158
+
159
+ sig { params(departure_time: Integer).void }
160
+ attr_writer :departure_time
161
+
162
+ # Requires option=flexible.
163
+ #
164
+ # An array of durations, in seconds, for which the driver can drive continuously
165
+ # before taking a rest. Multiple drive time limits can be separated by a comma
166
+ # character ",". After driving for the given duration the driver will take a rest
167
+ # for a fixed period, specified in rest_times . Once the rest duration is over,
168
+ # the subsequent driving duration starts and the process continues until all drive
169
+ # times and rest periods are exhausted or if the driver reaches the destination.
170
+ # This feature is useful in complying with Hours of Service regulations and
171
+ # calculates actual ETAs with regulated driving periods.
172
+ #
173
+ # As an example, a drive_time_limits=\[500, 300\] means that driver can drive for
174
+ # 500 seconds before the first rest period and then drive for another 300 seconds
175
+ # before taking a rest next time.
176
+ #
177
+ # \- If the trip duration is smaller than the first input of drive_time_limits,
178
+ # then there will be no rest actions scheduled by the service.
179
+ # \- If the trip duration is larger than the scheduled time, then a "warning" is
180
+ # returned in the response - along with details of last leg of the trip - to
181
+ # indicate the same.
182
+ sig { returns(T.nilable(String)) }
183
+ attr_reader :drive_time_limits
184
+
185
+ sig { params(drive_time_limits: String).void }
186
+ attr_writer :drive_time_limits
187
+
188
+ # Requires option=flexible.
189
+ #
190
+ # Specify the emission class to which the vehicle (engine) belongs to. The service
191
+ # will use this setting to generate routes that are permissible for that engine
192
+ # class. Only the emission classifications in the EU regions are supported
193
+ # currently. Please reach out to
194
+ # [support@nextbillion.ai](mailto:support@nextbillion.ai) to enable for your
195
+ # region.
196
+ sig do
197
+ returns(
198
+ T.nilable(
199
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::OrSymbol
200
+ )
201
+ )
202
+ end
203
+ attr_reader :emission_class
204
+
205
+ sig do
206
+ params(
207
+ emission_class:
208
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::OrSymbol
209
+ ).void
210
+ end
211
+ attr_writer :emission_class
212
+
213
+ # Requires option=flexible.
214
+ #
215
+ # This parameter serves as a mandatory filter, ensuring the service returns only
216
+ # those routes that strictly avoid the object(s) indicated. Multiple values should
217
+ # be separated by a pipe |). If no routes can be found that exclude the specified
218
+ # object(s), the service will return an error. For a less strict filtering
219
+ # approach, consider using the avoid parameter.
220
+ #
221
+ # \- This parameter is effective only when route_type=fastest.
222
+ # \- When using exclude=sharp_turn, default range of permissible turn angles is
223
+ # \[120,240\]. In order to override default range, please use turn_angle_range
224
+ # parameter.
225
+ # \- If none is provided along with other values, an error is returned as a valid
226
+ # route is not feasible.
227
+ sig do
228
+ returns(
229
+ T.nilable(
230
+ Nextbillionai::DirectionComputeRouteParams::Exclude::OrSymbol
231
+ )
232
+ )
233
+ end
234
+ attr_reader :exclude
235
+
236
+ sig do
237
+ params(
238
+ exclude: Nextbillionai::DirectionComputeRouteParams::Exclude::OrSymbol
239
+ ).void
240
+ end
241
+ attr_writer :exclude
242
+
243
+ # Sets the output format of the route geometry in the response.
244
+ #
245
+ # On providing polyline and polyline6 as input, respective encoded geometry is
246
+ # returned. However, when geojson is provided as the input value, polyline encoded
247
+ # geometry is returned in the response along with the geojson details of the
248
+ # route.
249
+ sig do
250
+ returns(
251
+ T.nilable(
252
+ Nextbillionai::DirectionComputeRouteParams::Geometry::OrSymbol
253
+ )
254
+ )
255
+ end
256
+ attr_reader :geometry
257
+
258
+ sig do
259
+ params(
260
+ geometry:
261
+ Nextbillionai::DirectionComputeRouteParams::Geometry::OrSymbol
262
+ ).void
263
+ end
264
+ attr_writer :geometry
265
+
266
+ # Requires option=flexible.
267
+ #
268
+ # Specify the type of hazardous material being carried and the service will avoid
269
+ # roads which are not suitable for the type of goods specified. Multiple values
270
+ # can be separated using a pipe operator "|".
271
+ #
272
+ # Please note that this parameter is effective only when mode=truck.
273
+ sig do
274
+ returns(
275
+ T.nilable(
276
+ Nextbillionai::DirectionComputeRouteParams::HazmatType::OrSymbol
277
+ )
278
+ )
279
+ end
280
+ attr_reader :hazmat_type
281
+
282
+ sig do
283
+ params(
284
+ hazmat_type:
285
+ Nextbillionai::DirectionComputeRouteParams::HazmatType::OrSymbol
286
+ ).void
287
+ end
288
+ attr_writer :hazmat_type
289
+
290
+ # Set the driving mode the service should use to determine a route. In "car" mode,
291
+ # the API will return a route that a car can take. Using "truck" mode will return
292
+ # a route a truck can use, taking into account appropriate truck routing
293
+ # restrictions.
294
+ #
295
+ # When mode=truck, following are the default dimensions that are used:
296
+ #
297
+ # \- truck_height = 214 centimeters
298
+ # \- truck_width = 183 centimeters
299
+ # \- truck_length = 519 centimeters
300
+ # \- truck_weight = 5000 kg
301
+ #
302
+ # When option=flexible, you can use custom truck dimensions with truck_weight and
303
+ # truck_size parameters.
304
+ #
305
+ # Note: Only the car profile is enabled by default. Please note that customized
306
+ # profiles (including truck) might not be available for all regions. Please
307
+ # contact your [NextBillion.ai](http://NextBillion.ai) account manager, sales
308
+ # representative or reach out at
309
+ # [support@nextbillion.ai](mailto:support@nextbillion.ai) in case you need
310
+ # additional profiles.
311
+ sig do
312
+ returns(
313
+ T.nilable(Nextbillionai::DirectionComputeRouteParams::Mode::OrSymbol)
314
+ )
315
+ end
316
+ attr_reader :mode
317
+
318
+ sig do
319
+ params(
320
+ mode: Nextbillionai::DirectionComputeRouteParams::Mode::OrSymbol
321
+ ).void
322
+ end
323
+ attr_writer :mode
324
+
325
+ # The option parameter specifies the version of the directions service to use.
326
+ # Setting option=flexible activates the Flexible API, which supports advanced
327
+ # features like truck routing, time-based routing, route type selection
328
+ # (fastest/shortest), and segment-wise speed limits. If not set, the API defaults
329
+ # to the Fast version for real-time routing.
330
+ sig do
331
+ returns(
332
+ T.nilable(
333
+ Nextbillionai::DirectionComputeRouteParams::Option::OrSymbol
334
+ )
335
+ )
336
+ end
337
+ attr_reader :option
338
+
339
+ sig do
340
+ params(
341
+ option: Nextbillionai::DirectionComputeRouteParams::Option::OrSymbol
342
+ ).void
343
+ end
344
+ attr_writer :option
345
+
346
+ # Specify the verbosity of route geometry.
347
+ #
348
+ # When set to full, the most detailed geometry available is returned. When set to
349
+ # simplified, a simplified version of the full geometry is returned. No overview
350
+ # geometry is returned when set to false.
351
+ sig do
352
+ returns(
353
+ T.nilable(
354
+ Nextbillionai::DirectionComputeRouteParams::Overview::OrSymbol
355
+ )
356
+ )
357
+ end
358
+ attr_reader :overview
359
+
360
+ sig do
361
+ params(
362
+ overview:
363
+ Nextbillionai::DirectionComputeRouteParams::Overview::OrSymbol
364
+ ).void
365
+ end
366
+ attr_writer :overview
367
+
368
+ # Requires option=flexible.
369
+ #
370
+ # An array of durations, in seconds, for which the driver should rest after
371
+ # completing the corresponding continuous driving interval (provided in
372
+ # drive_time_limits). Multiple rest times can be separated by a comma character
373
+ # ",". Ideally, the number of rest_times provided should be equal to the number of
374
+ # drive_time_limits provided for proper scheduling of driver breaks.
375
+ #
376
+ # As an example, a rest_times=\[500, 300\] means that driver can rest for 500
377
+ # seconds after the first continuous driving session and rest for 300 seconds
378
+ # after the next continuous driving session.
379
+ #
380
+ # \- If the number of rest_times provided are less than the number of
381
+ # drive_time_limits, the service will schedule a rest period of "0" seconds after
382
+ # each such drive time period which does not have a corresponding entry in
383
+ # rest_times.
384
+ # \- If the number of rest_times provided is more than the number of drive times
385
+ # provided, the additional rest times are never applied.
386
+ sig { returns(T.nilable(String)) }
387
+ attr_reader :rest_times
388
+
389
+ sig { params(rest_times: String).void }
390
+ attr_writer :rest_times
391
+
392
+ # Requires option=flexible.
393
+ #
394
+ # Use this parameter to receive additional information about the road segments
395
+ # returned in the response. Currently, following inputs are supported:
396
+ #
397
+ # \- max_speed : segment-wise maximum speed information of roads in the
398
+ # response.
399
+ # \- toll_distance : returns the total distance travelled on the road segments
400
+ # having tolls.
401
+ # \- toll_cost: returns the range of toll charges, in local currency, that can be
402
+ # incurred for the suggested route.
403
+ sig do
404
+ returns(
405
+ T.nilable(
406
+ Nextbillionai::DirectionComputeRouteParams::RoadInfo::OrSymbol
407
+ )
408
+ )
409
+ end
410
+ attr_reader :road_info
411
+
412
+ sig do
413
+ params(
414
+ road_info:
415
+ Nextbillionai::DirectionComputeRouteParams::RoadInfo::OrSymbol
416
+ ).void
417
+ end
418
+ attr_writer :road_info
419
+
420
+ # Requires option=flexible.
421
+ #
422
+ # Set the route type that needs to be returned.
423
+ sig do
424
+ returns(
425
+ T.nilable(
426
+ Nextbillionai::DirectionComputeRouteParams::RouteType::OrSymbol
427
+ )
428
+ )
429
+ end
430
+ attr_reader :route_type
431
+
432
+ sig do
433
+ params(
434
+ route_type:
435
+ Nextbillionai::DirectionComputeRouteParams::RouteType::OrSymbol
436
+ ).void
437
+ end
438
+ attr_writer :route_type
439
+
440
+ # Set this to true to receive additional details about the routes and each of its
441
+ # legs (details of geometry, start & end locations) in the response.
442
+ sig { returns(T.nilable(T::Boolean)) }
443
+ attr_reader :steps
444
+
445
+ sig { params(steps: T::Boolean).void }
446
+ attr_writer :steps
447
+
448
+ # Requires option=flexible.
449
+ #
450
+ # Specify the total load per axle (including the weight of trailers and shipped
451
+ # goods) of the truck, in tonnes. When used, the service will return routes which
452
+ # are legally allowed to carry the load specified per axle.
453
+ #
454
+ # Please note this parameter is effective only when mode=truck.
455
+ sig { returns(T.nilable(Float)) }
456
+ attr_reader :truck_axle_load
457
+
458
+ sig { params(truck_axle_load: Float).void }
459
+ attr_writer :truck_axle_load
460
+
461
+ # Requires option=flexible.
462
+ #
463
+ # This defines the dimensions of a truck in centimeters (CM). This parameter is
464
+ # effective only when the mode=truck. Maximum dimensions are as follows:
465
+ #
466
+ # \- Height = 1000 cm
467
+ # \- Width = 5000 cm
468
+ # \- Length = 5000 cm
469
+ sig { returns(T.nilable(String)) }
470
+ attr_reader :truck_size
471
+
472
+ sig { params(truck_size: String).void }
473
+ attr_writer :truck_size
474
+
475
+ # Requires option=flexible.
476
+ #
477
+ # This parameter defines the weight of the truck including trailers and shipped
478
+ # goods in kilograms (KG). This parameter is effective only when mode=truck.
479
+ sig { returns(T.nilable(Integer)) }
480
+ attr_reader :truck_weight
481
+
482
+ sig { params(truck_weight: Integer).void }
483
+ attr_writer :truck_weight
484
+
485
+ # Requires option=flexible.
486
+ #
487
+ # Specify the turn angles that can be taken safely by the vehicle. The permissible
488
+ # turn angles are calculated as \[0 + turn_angle_range , 360 - turn_angle_range\].
489
+ # Please note that this parameter is effective only when avoid=sharp_turn.
490
+ #
491
+ # It is worth highlighting here that providing smaller angles might lead to 4xx
492
+ # errors as route engine might not be able find routes satisfying the smaller turn
493
+ # angle criteria for all turns in the route.
494
+ sig { returns(T.nilable(Integer)) }
495
+ attr_reader :turn_angle_range
496
+
497
+ sig { params(turn_angle_range: Integer).void }
498
+ attr_writer :turn_angle_range
499
+
500
+ # Pipe-separated list of coordinate pairs
501
+ sig { returns(T.nilable(String)) }
502
+ attr_reader :waypoints
503
+
504
+ sig { params(waypoints: String).void }
505
+ attr_writer :waypoints
506
+
507
+ sig do
508
+ params(
509
+ destination: String,
510
+ origin: String,
511
+ altcount: Integer,
512
+ alternatives: T::Boolean,
513
+ approaches: String,
514
+ avoid: Nextbillionai::DirectionComputeRouteParams::Avoid::OrSymbol,
515
+ bearings: String,
516
+ cross_border: T::Boolean,
517
+ departure_time: Integer,
518
+ drive_time_limits: String,
519
+ emission_class:
520
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::OrSymbol,
521
+ exclude:
522
+ Nextbillionai::DirectionComputeRouteParams::Exclude::OrSymbol,
523
+ geometry:
524
+ Nextbillionai::DirectionComputeRouteParams::Geometry::OrSymbol,
525
+ hazmat_type:
526
+ Nextbillionai::DirectionComputeRouteParams::HazmatType::OrSymbol,
527
+ mode: Nextbillionai::DirectionComputeRouteParams::Mode::OrSymbol,
528
+ option: Nextbillionai::DirectionComputeRouteParams::Option::OrSymbol,
529
+ overview:
530
+ Nextbillionai::DirectionComputeRouteParams::Overview::OrSymbol,
531
+ rest_times: String,
532
+ road_info:
533
+ Nextbillionai::DirectionComputeRouteParams::RoadInfo::OrSymbol,
534
+ route_type:
535
+ Nextbillionai::DirectionComputeRouteParams::RouteType::OrSymbol,
536
+ steps: T::Boolean,
537
+ truck_axle_load: Float,
538
+ truck_size: String,
539
+ truck_weight: Integer,
540
+ turn_angle_range: Integer,
541
+ waypoints: String,
542
+ request_options: Nextbillionai::RequestOptions::OrHash
543
+ ).returns(T.attached_class)
544
+ end
545
+ def self.new(
546
+ destination:,
547
+ origin:,
548
+ # Sets the number of alternative routes to return. It is effective only when
549
+ # alternatives=true. Default to 3.
550
+ #
551
+ # Please note that adding alternative route count does not guarantee matching
552
+ # number of routes to be returned if potential alternative routes do not exist.
553
+ altcount: nil,
554
+ # When true the API will return alternate routes.
555
+ #
556
+ # The alternatives is effective only when there are no waypoints included in the
557
+ # request.
558
+ #
559
+ # You can set the number of alternate routes to be returned in the altcount
560
+ # property.
561
+ alternatives: nil,
562
+ # A semicolon-separated list indicating the side of the road from which to
563
+ # approach waypoints in a requested route.
564
+ #
565
+ # When set to unrestricted a route can arrive at the waypoint from either side of
566
+ # the road and when set to curb the route will arrive at the waypoint on the
567
+ # driving side of the region.
568
+ #
569
+ # Please note the number of values provided must be one more than the number of
570
+ # waypoints. The last value of approaches will determine the approach for the
571
+ # destination. However, you can skip a coordinate and show its position in the
572
+ # list with the ; separator.
573
+ approaches: nil,
574
+ # When option=fast (by default):
575
+ #
576
+ # Setting this will ensure the route avoids ferries, tolls, highways or nothing.
577
+ # Multiple values should be separated by a pipe "|". If none is provided along
578
+ # with other values, an error is returned as a valid route is not feasible.
579
+ #
580
+ # Please note that when this parameter is not provided in the input, ferries are
581
+ # set to be avoided by default. When this parameter is provided, only the
582
+ # mentioned objects are avoided.
583
+ #
584
+ # When option=flexible:
585
+ #
586
+ # Set this parameter to find alternative routes that bypass specified objects. Use
587
+ # a pipe "|" to separate multiple values. This is a flexible filter; if no
588
+ # alternative routes exist, the service will still provide a route that includes
589
+ # the objects. For a strict filter, consider using the exclude parameter.
590
+ #
591
+ # \- This parameter is effective only when route_type=fastest.
592
+ # \- Following objects are exceptions to the flexible filtering behavior of avoid
593
+ # parameter: bbox, tunnel and geofence_id. When used, the service will return an
594
+ # error in case there are no alternative routes available.
595
+ # \- When using avoid=bbox users also need to specify the boundaries of the
596
+ # bounding box to be avoided. Multiple bounding boxes can be specified
597
+ # simultaneously. The perimeter of a bounding box can not exceed 500 KM. Format:
598
+ # bbox=min_latitude,min_longtitude,max_latitude,max_longitude. Example:
599
+ # avoid=bbox: 34.0635,-118.2547, 34.0679,-118.2478 | bbox: 34.0521,-118.2342,
600
+ # 34.0478,-118.2437
601
+ # \- When using avoid=sharp_turn, default range of permissible turn angles is
602
+ # \[120,240\] in the clockwise direction from the current road. In order to
603
+ # override default range, please use turn_angle_range parameter.
604
+ # \- When using avoid=geofence_id, only the the geofences created using
605
+ # [NextBillion.ai](http://NextBillion.ai) Geofence API are valid.
606
+ # \- When this parameter is not provided in the input, ferry routes are set to be
607
+ # avoided by default. When this parameter is provided, only the mentioned
608
+ # object(s) are avoided.
609
+ # \- If none is provided along with other values, an error is returned as a valid
610
+ # route is not feasible.
611
+ avoid: nil,
612
+ # Limits the search to road segments with given bearing, in degrees, towards true
613
+ # north in clockwise direction. Each bearings should be in the format of
614
+ # degree,range, where the degree should be a value between \[0, 360\] and range
615
+ # should be a value between \[0, 180\].
616
+ #
617
+ # Please note that the number of bearings should be two more than the number of
618
+ # waypoints. This is to account for the bearing of origin and destination. If a
619
+ # route can approach a waypoint or the destination from any direction, the bearing
620
+ # for that point can be specified as "0,180".
621
+ bearings: nil,
622
+ # Requires option=flexible.
623
+ #
624
+ # Specify if crossing an international border is expected for operations near
625
+ # border areas. When set to false, the API will prohibit routes crossing the
626
+ # borders. When set to true, the service will return routes which cross the
627
+ # borders between countries, if required for the given set destination and
628
+ # waypoints.
629
+ #
630
+ # This feature is available in North America region only. Please get in touch with
631
+ # [support@nextbillion.ai](mailto:support@nextbillion.ai) to enquire/enable other
632
+ # areas.
633
+ cross_border: nil,
634
+ # Requires option=flexible.
635
+ #
636
+ # Use this parameter to set a departure time, expressed as UNIX epoch timestamp in
637
+ # seconds, for calculating the isochrone contour. The response will consider the
638
+ # typical traffic conditions at the given time and return a contour which can be
639
+ # reached under those traffic conditions.
640
+ #
641
+ # Please note that if no input is provided for this parameter then the traffic
642
+ # conditions at the time of making the request are considered.
643
+ departure_time: nil,
644
+ # Requires option=flexible.
645
+ #
646
+ # An array of durations, in seconds, for which the driver can drive continuously
647
+ # before taking a rest. Multiple drive time limits can be separated by a comma
648
+ # character ",". After driving for the given duration the driver will take a rest
649
+ # for a fixed period, specified in rest_times . Once the rest duration is over,
650
+ # the subsequent driving duration starts and the process continues until all drive
651
+ # times and rest periods are exhausted or if the driver reaches the destination.
652
+ # This feature is useful in complying with Hours of Service regulations and
653
+ # calculates actual ETAs with regulated driving periods.
654
+ #
655
+ # As an example, a drive_time_limits=\[500, 300\] means that driver can drive for
656
+ # 500 seconds before the first rest period and then drive for another 300 seconds
657
+ # before taking a rest next time.
658
+ #
659
+ # \- If the trip duration is smaller than the first input of drive_time_limits,
660
+ # then there will be no rest actions scheduled by the service.
661
+ # \- If the trip duration is larger than the scheduled time, then a "warning" is
662
+ # returned in the response - along with details of last leg of the trip - to
663
+ # indicate the same.
664
+ drive_time_limits: nil,
665
+ # Requires option=flexible.
666
+ #
667
+ # Specify the emission class to which the vehicle (engine) belongs to. The service
668
+ # will use this setting to generate routes that are permissible for that engine
669
+ # class. Only the emission classifications in the EU regions are supported
670
+ # currently. Please reach out to
671
+ # [support@nextbillion.ai](mailto:support@nextbillion.ai) to enable for your
672
+ # region.
673
+ emission_class: nil,
674
+ # Requires option=flexible.
675
+ #
676
+ # This parameter serves as a mandatory filter, ensuring the service returns only
677
+ # those routes that strictly avoid the object(s) indicated. Multiple values should
678
+ # be separated by a pipe |). If no routes can be found that exclude the specified
679
+ # object(s), the service will return an error. For a less strict filtering
680
+ # approach, consider using the avoid parameter.
681
+ #
682
+ # \- This parameter is effective only when route_type=fastest.
683
+ # \- When using exclude=sharp_turn, default range of permissible turn angles is
684
+ # \[120,240\]. In order to override default range, please use turn_angle_range
685
+ # parameter.
686
+ # \- If none is provided along with other values, an error is returned as a valid
687
+ # route is not feasible.
688
+ exclude: nil,
689
+ # Sets the output format of the route geometry in the response.
690
+ #
691
+ # On providing polyline and polyline6 as input, respective encoded geometry is
692
+ # returned. However, when geojson is provided as the input value, polyline encoded
693
+ # geometry is returned in the response along with the geojson details of the
694
+ # route.
695
+ geometry: nil,
696
+ # Requires option=flexible.
697
+ #
698
+ # Specify the type of hazardous material being carried and the service will avoid
699
+ # roads which are not suitable for the type of goods specified. Multiple values
700
+ # can be separated using a pipe operator "|".
701
+ #
702
+ # Please note that this parameter is effective only when mode=truck.
703
+ hazmat_type: nil,
704
+ # Set the driving mode the service should use to determine a route. In "car" mode,
705
+ # the API will return a route that a car can take. Using "truck" mode will return
706
+ # a route a truck can use, taking into account appropriate truck routing
707
+ # restrictions.
708
+ #
709
+ # When mode=truck, following are the default dimensions that are used:
710
+ #
711
+ # \- truck_height = 214 centimeters
712
+ # \- truck_width = 183 centimeters
713
+ # \- truck_length = 519 centimeters
714
+ # \- truck_weight = 5000 kg
715
+ #
716
+ # When option=flexible, you can use custom truck dimensions with truck_weight and
717
+ # truck_size parameters.
718
+ #
719
+ # Note: Only the car profile is enabled by default. Please note that customized
720
+ # profiles (including truck) might not be available for all regions. Please
721
+ # contact your [NextBillion.ai](http://NextBillion.ai) account manager, sales
722
+ # representative or reach out at
723
+ # [support@nextbillion.ai](mailto:support@nextbillion.ai) in case you need
724
+ # additional profiles.
725
+ mode: nil,
726
+ # The option parameter specifies the version of the directions service to use.
727
+ # Setting option=flexible activates the Flexible API, which supports advanced
728
+ # features like truck routing, time-based routing, route type selection
729
+ # (fastest/shortest), and segment-wise speed limits. If not set, the API defaults
730
+ # to the Fast version for real-time routing.
731
+ option: nil,
732
+ # Specify the verbosity of route geometry.
733
+ #
734
+ # When set to full, the most detailed geometry available is returned. When set to
735
+ # simplified, a simplified version of the full geometry is returned. No overview
736
+ # geometry is returned when set to false.
737
+ overview: nil,
738
+ # Requires option=flexible.
739
+ #
740
+ # An array of durations, in seconds, for which the driver should rest after
741
+ # completing the corresponding continuous driving interval (provided in
742
+ # drive_time_limits). Multiple rest times can be separated by a comma character
743
+ # ",". Ideally, the number of rest_times provided should be equal to the number of
744
+ # drive_time_limits provided for proper scheduling of driver breaks.
745
+ #
746
+ # As an example, a rest_times=\[500, 300\] means that driver can rest for 500
747
+ # seconds after the first continuous driving session and rest for 300 seconds
748
+ # after the next continuous driving session.
749
+ #
750
+ # \- If the number of rest_times provided are less than the number of
751
+ # drive_time_limits, the service will schedule a rest period of "0" seconds after
752
+ # each such drive time period which does not have a corresponding entry in
753
+ # rest_times.
754
+ # \- If the number of rest_times provided is more than the number of drive times
755
+ # provided, the additional rest times are never applied.
756
+ rest_times: nil,
757
+ # Requires option=flexible.
758
+ #
759
+ # Use this parameter to receive additional information about the road segments
760
+ # returned in the response. Currently, following inputs are supported:
761
+ #
762
+ # \- max_speed : segment-wise maximum speed information of roads in the
763
+ # response.
764
+ # \- toll_distance : returns the total distance travelled on the road segments
765
+ # having tolls.
766
+ # \- toll_cost: returns the range of toll charges, in local currency, that can be
767
+ # incurred for the suggested route.
768
+ road_info: nil,
769
+ # Requires option=flexible.
770
+ #
771
+ # Set the route type that needs to be returned.
772
+ route_type: nil,
773
+ # Set this to true to receive additional details about the routes and each of its
774
+ # legs (details of geometry, start & end locations) in the response.
775
+ steps: nil,
776
+ # Requires option=flexible.
777
+ #
778
+ # Specify the total load per axle (including the weight of trailers and shipped
779
+ # goods) of the truck, in tonnes. When used, the service will return routes which
780
+ # are legally allowed to carry the load specified per axle.
781
+ #
782
+ # Please note this parameter is effective only when mode=truck.
783
+ truck_axle_load: nil,
784
+ # Requires option=flexible.
785
+ #
786
+ # This defines the dimensions of a truck in centimeters (CM). This parameter is
787
+ # effective only when the mode=truck. Maximum dimensions are as follows:
788
+ #
789
+ # \- Height = 1000 cm
790
+ # \- Width = 5000 cm
791
+ # \- Length = 5000 cm
792
+ truck_size: nil,
793
+ # Requires option=flexible.
794
+ #
795
+ # This parameter defines the weight of the truck including trailers and shipped
796
+ # goods in kilograms (KG). This parameter is effective only when mode=truck.
797
+ truck_weight: nil,
798
+ # Requires option=flexible.
799
+ #
800
+ # Specify the turn angles that can be taken safely by the vehicle. The permissible
801
+ # turn angles are calculated as \[0 + turn_angle_range , 360 - turn_angle_range\].
802
+ # Please note that this parameter is effective only when avoid=sharp_turn.
803
+ #
804
+ # It is worth highlighting here that providing smaller angles might lead to 4xx
805
+ # errors as route engine might not be able find routes satisfying the smaller turn
806
+ # angle criteria for all turns in the route.
807
+ turn_angle_range: nil,
808
+ # Pipe-separated list of coordinate pairs
809
+ waypoints: nil,
810
+ request_options: {}
811
+ )
812
+ end
813
+
814
+ sig do
815
+ override.returns(
816
+ {
817
+ destination: String,
818
+ origin: String,
819
+ altcount: Integer,
820
+ alternatives: T::Boolean,
821
+ approaches: String,
822
+ avoid: Nextbillionai::DirectionComputeRouteParams::Avoid::OrSymbol,
823
+ bearings: String,
824
+ cross_border: T::Boolean,
825
+ departure_time: Integer,
826
+ drive_time_limits: String,
827
+ emission_class:
828
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::OrSymbol,
829
+ exclude:
830
+ Nextbillionai::DirectionComputeRouteParams::Exclude::OrSymbol,
831
+ geometry:
832
+ Nextbillionai::DirectionComputeRouteParams::Geometry::OrSymbol,
833
+ hazmat_type:
834
+ Nextbillionai::DirectionComputeRouteParams::HazmatType::OrSymbol,
835
+ mode: Nextbillionai::DirectionComputeRouteParams::Mode::OrSymbol,
836
+ option:
837
+ Nextbillionai::DirectionComputeRouteParams::Option::OrSymbol,
838
+ overview:
839
+ Nextbillionai::DirectionComputeRouteParams::Overview::OrSymbol,
840
+ rest_times: String,
841
+ road_info:
842
+ Nextbillionai::DirectionComputeRouteParams::RoadInfo::OrSymbol,
843
+ route_type:
844
+ Nextbillionai::DirectionComputeRouteParams::RouteType::OrSymbol,
845
+ steps: T::Boolean,
846
+ truck_axle_load: Float,
847
+ truck_size: String,
848
+ truck_weight: Integer,
849
+ turn_angle_range: Integer,
850
+ waypoints: String,
851
+ request_options: Nextbillionai::RequestOptions
852
+ }
853
+ )
854
+ end
855
+ def to_hash
856
+ end
857
+
858
+ # When option=fast (by default):
859
+ #
860
+ # Setting this will ensure the route avoids ferries, tolls, highways or nothing.
861
+ # Multiple values should be separated by a pipe "|". If none is provided along
862
+ # with other values, an error is returned as a valid route is not feasible.
863
+ #
864
+ # Please note that when this parameter is not provided in the input, ferries are
865
+ # set to be avoided by default. When this parameter is provided, only the
866
+ # mentioned objects are avoided.
867
+ #
868
+ # When option=flexible:
869
+ #
870
+ # Set this parameter to find alternative routes that bypass specified objects. Use
871
+ # a pipe "|" to separate multiple values. This is a flexible filter; if no
872
+ # alternative routes exist, the service will still provide a route that includes
873
+ # the objects. For a strict filter, consider using the exclude parameter.
874
+ #
875
+ # \- This parameter is effective only when route_type=fastest.
876
+ # \- Following objects are exceptions to the flexible filtering behavior of avoid
877
+ # parameter: bbox, tunnel and geofence_id. When used, the service will return an
878
+ # error in case there are no alternative routes available.
879
+ # \- When using avoid=bbox users also need to specify the boundaries of the
880
+ # bounding box to be avoided. Multiple bounding boxes can be specified
881
+ # simultaneously. The perimeter of a bounding box can not exceed 500 KM. Format:
882
+ # bbox=min_latitude,min_longtitude,max_latitude,max_longitude. Example:
883
+ # avoid=bbox: 34.0635,-118.2547, 34.0679,-118.2478 | bbox: 34.0521,-118.2342,
884
+ # 34.0478,-118.2437
885
+ # \- When using avoid=sharp_turn, default range of permissible turn angles is
886
+ # \[120,240\] in the clockwise direction from the current road. In order to
887
+ # override default range, please use turn_angle_range parameter.
888
+ # \- When using avoid=geofence_id, only the the geofences created using
889
+ # [NextBillion.ai](http://NextBillion.ai) Geofence API are valid.
890
+ # \- When this parameter is not provided in the input, ferry routes are set to be
891
+ # avoided by default. When this parameter is provided, only the mentioned
892
+ # object(s) are avoided.
893
+ # \- If none is provided along with other values, an error is returned as a valid
894
+ # route is not feasible.
895
+ module Avoid
896
+ extend Nextbillionai::Internal::Type::Enum
897
+
898
+ TaggedSymbol =
899
+ T.type_alias do
900
+ T.all(Symbol, Nextbillionai::DirectionComputeRouteParams::Avoid)
901
+ end
902
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
903
+
904
+ TOLL =
905
+ T.let(
906
+ :toll,
907
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
908
+ )
909
+ FERRY =
910
+ T.let(
911
+ :ferry,
912
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
913
+ )
914
+ HIGHWAY =
915
+ T.let(
916
+ :highway,
917
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
918
+ )
919
+ NONE =
920
+ T.let(
921
+ :none,
922
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
923
+ )
924
+ SHARP_TURN =
925
+ T.let(
926
+ :sharp_turn,
927
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
928
+ )
929
+ UTURN =
930
+ T.let(
931
+ :uturn,
932
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
933
+ )
934
+ SERVICE_ROAD =
935
+ T.let(
936
+ :service_road,
937
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
938
+ )
939
+ LEFT_TURN =
940
+ T.let(
941
+ :left_turn,
942
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
943
+ )
944
+ RIGHT_TURN =
945
+ T.let(
946
+ :right_turn,
947
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
948
+ )
949
+ BBOX =
950
+ T.let(
951
+ :bbox,
952
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
953
+ )
954
+ GEOFENCE_ID =
955
+ T.let(
956
+ :geofence_id,
957
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
958
+ )
959
+ TUNNEL =
960
+ T.let(
961
+ :tunnel,
962
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
963
+ )
964
+
965
+ sig do
966
+ override.returns(
967
+ T::Array[
968
+ Nextbillionai::DirectionComputeRouteParams::Avoid::TaggedSymbol
969
+ ]
970
+ )
971
+ end
972
+ def self.values
973
+ end
974
+ end
975
+
976
+ # Requires option=flexible.
977
+ #
978
+ # Specify the emission class to which the vehicle (engine) belongs to. The service
979
+ # will use this setting to generate routes that are permissible for that engine
980
+ # class. Only the emission classifications in the EU regions are supported
981
+ # currently. Please reach out to
982
+ # [support@nextbillion.ai](mailto:support@nextbillion.ai) to enable for your
983
+ # region.
984
+ module EmissionClass
985
+ extend Nextbillionai::Internal::Type::Enum
986
+
987
+ TaggedSymbol =
988
+ T.type_alias do
989
+ T.all(
990
+ Symbol,
991
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass
992
+ )
993
+ end
994
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
995
+
996
+ EURO0 =
997
+ T.let(
998
+ :euro0,
999
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1000
+ )
1001
+ EURO1 =
1002
+ T.let(
1003
+ :euro1,
1004
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1005
+ )
1006
+ EURO2 =
1007
+ T.let(
1008
+ :euro2,
1009
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1010
+ )
1011
+ EURO3 =
1012
+ T.let(
1013
+ :euro3,
1014
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1015
+ )
1016
+ EURO4 =
1017
+ T.let(
1018
+ :euro4,
1019
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1020
+ )
1021
+ EURO5 =
1022
+ T.let(
1023
+ :euro5,
1024
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1025
+ )
1026
+ EURO6 =
1027
+ T.let(
1028
+ :euro6,
1029
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1030
+ )
1031
+ EURO7 =
1032
+ T.let(
1033
+ :euro7,
1034
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1035
+ )
1036
+ EURO8 =
1037
+ T.let(
1038
+ :euro8,
1039
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1040
+ )
1041
+ EURO9 =
1042
+ T.let(
1043
+ :euro9,
1044
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1045
+ )
1046
+
1047
+ sig do
1048
+ override.returns(
1049
+ T::Array[
1050
+ Nextbillionai::DirectionComputeRouteParams::EmissionClass::TaggedSymbol
1051
+ ]
1052
+ )
1053
+ end
1054
+ def self.values
1055
+ end
1056
+ end
1057
+
1058
+ # Requires option=flexible.
1059
+ #
1060
+ # This parameter serves as a mandatory filter, ensuring the service returns only
1061
+ # those routes that strictly avoid the object(s) indicated. Multiple values should
1062
+ # be separated by a pipe |). If no routes can be found that exclude the specified
1063
+ # object(s), the service will return an error. For a less strict filtering
1064
+ # approach, consider using the avoid parameter.
1065
+ #
1066
+ # \- This parameter is effective only when route_type=fastest.
1067
+ # \- When using exclude=sharp_turn, default range of permissible turn angles is
1068
+ # \[120,240\]. In order to override default range, please use turn_angle_range
1069
+ # parameter.
1070
+ # \- If none is provided along with other values, an error is returned as a valid
1071
+ # route is not feasible.
1072
+ module Exclude
1073
+ extend Nextbillionai::Internal::Type::Enum
1074
+
1075
+ TaggedSymbol =
1076
+ T.type_alias do
1077
+ T.all(Symbol, Nextbillionai::DirectionComputeRouteParams::Exclude)
1078
+ end
1079
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1080
+
1081
+ TOLL =
1082
+ T.let(
1083
+ :toll,
1084
+ Nextbillionai::DirectionComputeRouteParams::Exclude::TaggedSymbol
1085
+ )
1086
+ FERRY =
1087
+ T.let(
1088
+ :ferry,
1089
+ Nextbillionai::DirectionComputeRouteParams::Exclude::TaggedSymbol
1090
+ )
1091
+ HIGHWAY =
1092
+ T.let(
1093
+ :highway,
1094
+ Nextbillionai::DirectionComputeRouteParams::Exclude::TaggedSymbol
1095
+ )
1096
+ SERVICE_ROAD =
1097
+ T.let(
1098
+ :service_road,
1099
+ Nextbillionai::DirectionComputeRouteParams::Exclude::TaggedSymbol
1100
+ )
1101
+ UTURN =
1102
+ T.let(
1103
+ :uturn,
1104
+ Nextbillionai::DirectionComputeRouteParams::Exclude::TaggedSymbol
1105
+ )
1106
+ SHARP_TURN =
1107
+ T.let(
1108
+ :sharp_turn,
1109
+ Nextbillionai::DirectionComputeRouteParams::Exclude::TaggedSymbol
1110
+ )
1111
+ LEFT_TURN =
1112
+ T.let(
1113
+ :left_turn,
1114
+ Nextbillionai::DirectionComputeRouteParams::Exclude::TaggedSymbol
1115
+ )
1116
+ RIGHT_TURN =
1117
+ T.let(
1118
+ :right_turn,
1119
+ Nextbillionai::DirectionComputeRouteParams::Exclude::TaggedSymbol
1120
+ )
1121
+ NONE =
1122
+ T.let(
1123
+ :none,
1124
+ Nextbillionai::DirectionComputeRouteParams::Exclude::TaggedSymbol
1125
+ )
1126
+
1127
+ sig do
1128
+ override.returns(
1129
+ T::Array[
1130
+ Nextbillionai::DirectionComputeRouteParams::Exclude::TaggedSymbol
1131
+ ]
1132
+ )
1133
+ end
1134
+ def self.values
1135
+ end
1136
+ end
1137
+
1138
+ # Sets the output format of the route geometry in the response.
1139
+ #
1140
+ # On providing polyline and polyline6 as input, respective encoded geometry is
1141
+ # returned. However, when geojson is provided as the input value, polyline encoded
1142
+ # geometry is returned in the response along with the geojson details of the
1143
+ # route.
1144
+ module Geometry
1145
+ extend Nextbillionai::Internal::Type::Enum
1146
+
1147
+ TaggedSymbol =
1148
+ T.type_alias do
1149
+ T.all(Symbol, Nextbillionai::DirectionComputeRouteParams::Geometry)
1150
+ end
1151
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1152
+
1153
+ POLYLINE =
1154
+ T.let(
1155
+ :polyline,
1156
+ Nextbillionai::DirectionComputeRouteParams::Geometry::TaggedSymbol
1157
+ )
1158
+ POLYLINE6 =
1159
+ T.let(
1160
+ :polyline6,
1161
+ Nextbillionai::DirectionComputeRouteParams::Geometry::TaggedSymbol
1162
+ )
1163
+ GEOJSON =
1164
+ T.let(
1165
+ :geojson,
1166
+ Nextbillionai::DirectionComputeRouteParams::Geometry::TaggedSymbol
1167
+ )
1168
+
1169
+ sig do
1170
+ override.returns(
1171
+ T::Array[
1172
+ Nextbillionai::DirectionComputeRouteParams::Geometry::TaggedSymbol
1173
+ ]
1174
+ )
1175
+ end
1176
+ def self.values
1177
+ end
1178
+ end
1179
+
1180
+ # Requires option=flexible.
1181
+ #
1182
+ # Specify the type of hazardous material being carried and the service will avoid
1183
+ # roads which are not suitable for the type of goods specified. Multiple values
1184
+ # can be separated using a pipe operator "|".
1185
+ #
1186
+ # Please note that this parameter is effective only when mode=truck.
1187
+ module HazmatType
1188
+ extend Nextbillionai::Internal::Type::Enum
1189
+
1190
+ TaggedSymbol =
1191
+ T.type_alias do
1192
+ T.all(
1193
+ Symbol,
1194
+ Nextbillionai::DirectionComputeRouteParams::HazmatType
1195
+ )
1196
+ end
1197
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1198
+
1199
+ GENERAL =
1200
+ T.let(
1201
+ :general,
1202
+ Nextbillionai::DirectionComputeRouteParams::HazmatType::TaggedSymbol
1203
+ )
1204
+ CIRCUMSTANTIAL =
1205
+ T.let(
1206
+ :circumstantial,
1207
+ Nextbillionai::DirectionComputeRouteParams::HazmatType::TaggedSymbol
1208
+ )
1209
+ EXPLOSIVE =
1210
+ T.let(
1211
+ :explosive,
1212
+ Nextbillionai::DirectionComputeRouteParams::HazmatType::TaggedSymbol
1213
+ )
1214
+ HARMFUL_TO_WATER =
1215
+ T.let(
1216
+ :harmful_to_water,
1217
+ Nextbillionai::DirectionComputeRouteParams::HazmatType::TaggedSymbol
1218
+ )
1219
+
1220
+ sig do
1221
+ override.returns(
1222
+ T::Array[
1223
+ Nextbillionai::DirectionComputeRouteParams::HazmatType::TaggedSymbol
1224
+ ]
1225
+ )
1226
+ end
1227
+ def self.values
1228
+ end
1229
+ end
1230
+
1231
+ # Set the driving mode the service should use to determine a route. In "car" mode,
1232
+ # the API will return a route that a car can take. Using "truck" mode will return
1233
+ # a route a truck can use, taking into account appropriate truck routing
1234
+ # restrictions.
1235
+ #
1236
+ # When mode=truck, following are the default dimensions that are used:
1237
+ #
1238
+ # \- truck_height = 214 centimeters
1239
+ # \- truck_width = 183 centimeters
1240
+ # \- truck_length = 519 centimeters
1241
+ # \- truck_weight = 5000 kg
1242
+ #
1243
+ # When option=flexible, you can use custom truck dimensions with truck_weight and
1244
+ # truck_size parameters.
1245
+ #
1246
+ # Note: Only the car profile is enabled by default. Please note that customized
1247
+ # profiles (including truck) might not be available for all regions. Please
1248
+ # contact your [NextBillion.ai](http://NextBillion.ai) account manager, sales
1249
+ # representative or reach out at
1250
+ # [support@nextbillion.ai](mailto:support@nextbillion.ai) in case you need
1251
+ # additional profiles.
1252
+ module Mode
1253
+ extend Nextbillionai::Internal::Type::Enum
1254
+
1255
+ TaggedSymbol =
1256
+ T.type_alias do
1257
+ T.all(Symbol, Nextbillionai::DirectionComputeRouteParams::Mode)
1258
+ end
1259
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1260
+
1261
+ CAR =
1262
+ T.let(
1263
+ :car,
1264
+ Nextbillionai::DirectionComputeRouteParams::Mode::TaggedSymbol
1265
+ )
1266
+ TRUCK =
1267
+ T.let(
1268
+ :truck,
1269
+ Nextbillionai::DirectionComputeRouteParams::Mode::TaggedSymbol
1270
+ )
1271
+
1272
+ sig do
1273
+ override.returns(
1274
+ T::Array[
1275
+ Nextbillionai::DirectionComputeRouteParams::Mode::TaggedSymbol
1276
+ ]
1277
+ )
1278
+ end
1279
+ def self.values
1280
+ end
1281
+ end
1282
+
1283
+ # The option parameter specifies the version of the directions service to use.
1284
+ # Setting option=flexible activates the Flexible API, which supports advanced
1285
+ # features like truck routing, time-based routing, route type selection
1286
+ # (fastest/shortest), and segment-wise speed limits. If not set, the API defaults
1287
+ # to the Fast version for real-time routing.
1288
+ module Option
1289
+ extend Nextbillionai::Internal::Type::Enum
1290
+
1291
+ TaggedSymbol =
1292
+ T.type_alias do
1293
+ T.all(Symbol, Nextbillionai::DirectionComputeRouteParams::Option)
1294
+ end
1295
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1296
+
1297
+ FAST =
1298
+ T.let(
1299
+ :fast,
1300
+ Nextbillionai::DirectionComputeRouteParams::Option::TaggedSymbol
1301
+ )
1302
+ FLEXIBLE =
1303
+ T.let(
1304
+ :flexible,
1305
+ Nextbillionai::DirectionComputeRouteParams::Option::TaggedSymbol
1306
+ )
1307
+
1308
+ sig do
1309
+ override.returns(
1310
+ T::Array[
1311
+ Nextbillionai::DirectionComputeRouteParams::Option::TaggedSymbol
1312
+ ]
1313
+ )
1314
+ end
1315
+ def self.values
1316
+ end
1317
+ end
1318
+
1319
+ # Specify the verbosity of route geometry.
1320
+ #
1321
+ # When set to full, the most detailed geometry available is returned. When set to
1322
+ # simplified, a simplified version of the full geometry is returned. No overview
1323
+ # geometry is returned when set to false.
1324
+ module Overview
1325
+ extend Nextbillionai::Internal::Type::Enum
1326
+
1327
+ TaggedSymbol =
1328
+ T.type_alias do
1329
+ T.all(Symbol, Nextbillionai::DirectionComputeRouteParams::Overview)
1330
+ end
1331
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1332
+
1333
+ FULL =
1334
+ T.let(
1335
+ :full,
1336
+ Nextbillionai::DirectionComputeRouteParams::Overview::TaggedSymbol
1337
+ )
1338
+ SIMPLIFIED =
1339
+ T.let(
1340
+ :simplified,
1341
+ Nextbillionai::DirectionComputeRouteParams::Overview::TaggedSymbol
1342
+ )
1343
+ FALSE =
1344
+ T.let(
1345
+ :false,
1346
+ Nextbillionai::DirectionComputeRouteParams::Overview::TaggedSymbol
1347
+ )
1348
+
1349
+ sig do
1350
+ override.returns(
1351
+ T::Array[
1352
+ Nextbillionai::DirectionComputeRouteParams::Overview::TaggedSymbol
1353
+ ]
1354
+ )
1355
+ end
1356
+ def self.values
1357
+ end
1358
+ end
1359
+
1360
+ # Requires option=flexible.
1361
+ #
1362
+ # Use this parameter to receive additional information about the road segments
1363
+ # returned in the response. Currently, following inputs are supported:
1364
+ #
1365
+ # \- max_speed : segment-wise maximum speed information of roads in the
1366
+ # response.
1367
+ # \- toll_distance : returns the total distance travelled on the road segments
1368
+ # having tolls.
1369
+ # \- toll_cost: returns the range of toll charges, in local currency, that can be
1370
+ # incurred for the suggested route.
1371
+ module RoadInfo
1372
+ extend Nextbillionai::Internal::Type::Enum
1373
+
1374
+ TaggedSymbol =
1375
+ T.type_alias do
1376
+ T.all(Symbol, Nextbillionai::DirectionComputeRouteParams::RoadInfo)
1377
+ end
1378
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1379
+
1380
+ MAX_SPEED =
1381
+ T.let(
1382
+ :max_speed,
1383
+ Nextbillionai::DirectionComputeRouteParams::RoadInfo::TaggedSymbol
1384
+ )
1385
+ TOLL_DISTANCE =
1386
+ T.let(
1387
+ :toll_distance,
1388
+ Nextbillionai::DirectionComputeRouteParams::RoadInfo::TaggedSymbol
1389
+ )
1390
+ TOLL_COST =
1391
+ T.let(
1392
+ :toll_cost,
1393
+ Nextbillionai::DirectionComputeRouteParams::RoadInfo::TaggedSymbol
1394
+ )
1395
+
1396
+ sig do
1397
+ override.returns(
1398
+ T::Array[
1399
+ Nextbillionai::DirectionComputeRouteParams::RoadInfo::TaggedSymbol
1400
+ ]
1401
+ )
1402
+ end
1403
+ def self.values
1404
+ end
1405
+ end
1406
+
1407
+ # Requires option=flexible.
1408
+ #
1409
+ # Set the route type that needs to be returned.
1410
+ module RouteType
1411
+ extend Nextbillionai::Internal::Type::Enum
1412
+
1413
+ TaggedSymbol =
1414
+ T.type_alias do
1415
+ T.all(Symbol, Nextbillionai::DirectionComputeRouteParams::RouteType)
1416
+ end
1417
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1418
+
1419
+ FASTEST =
1420
+ T.let(
1421
+ :fastest,
1422
+ Nextbillionai::DirectionComputeRouteParams::RouteType::TaggedSymbol
1423
+ )
1424
+ SHORTEST =
1425
+ T.let(
1426
+ :shortest,
1427
+ Nextbillionai::DirectionComputeRouteParams::RouteType::TaggedSymbol
1428
+ )
1429
+
1430
+ sig do
1431
+ override.returns(
1432
+ T::Array[
1433
+ Nextbillionai::DirectionComputeRouteParams::RouteType::TaggedSymbol
1434
+ ]
1435
+ )
1436
+ end
1437
+ def self.values
1438
+ end
1439
+ end
1440
+ end
1441
+ end
1442
+ end