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,1894 @@
1
+ # typed: strong
2
+
3
+ module Nextbillionai
4
+ module Models
5
+ class NavigationRetrieveRouteResponse < Nextbillionai::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Nextbillionai::Models::NavigationRetrieveRouteResponse,
10
+ Nextbillionai::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Displays the error message in case of a failed request or operation. Please note
15
+ # that this parameter is not returned in the response in case of a successful
16
+ # request.
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :msg
19
+
20
+ sig { params(msg: String).void }
21
+ attr_writer :msg
22
+
23
+ # An array of objects describing different possible routes from the starting
24
+ # location to the destination. Each object represents one route.
25
+ sig do
26
+ returns(
27
+ T.nilable(
28
+ T::Array[
29
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route
30
+ ]
31
+ )
32
+ )
33
+ end
34
+ attr_reader :routes
35
+
36
+ sig do
37
+ params(
38
+ routes:
39
+ T::Array[
40
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::OrHash
41
+ ]
42
+ ).void
43
+ end
44
+ attr_writer :routes
45
+
46
+ # A string indicating the state of the response. On normal responses, the value
47
+ # will be Ok. Indicative HTTP error codes are returned for different errors. See
48
+ # the [API Errors Codes](#api-error-codes) section below for more information.
49
+ sig { returns(T.nilable(String)) }
50
+ attr_reader :status
51
+
52
+ sig { params(status: String).void }
53
+ attr_writer :status
54
+
55
+ # warning when facing unexpected behaviour
56
+ sig { returns(T.nilable(T::Array[String])) }
57
+ attr_reader :warning
58
+
59
+ sig { params(warning: T::Array[String]).void }
60
+ attr_writer :warning
61
+
62
+ sig do
63
+ params(
64
+ msg: String,
65
+ routes:
66
+ T::Array[
67
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::OrHash
68
+ ],
69
+ status: String,
70
+ warning: T::Array[String]
71
+ ).returns(T.attached_class)
72
+ end
73
+ def self.new(
74
+ # Displays the error message in case of a failed request or operation. Please note
75
+ # that this parameter is not returned in the response in case of a successful
76
+ # request.
77
+ msg: nil,
78
+ # An array of objects describing different possible routes from the starting
79
+ # location to the destination. Each object represents one route.
80
+ routes: nil,
81
+ # A string indicating the state of the response. On normal responses, the value
82
+ # will be Ok. Indicative HTTP error codes are returned for different errors. See
83
+ # the [API Errors Codes](#api-error-codes) section below for more information.
84
+ status: nil,
85
+ # warning when facing unexpected behaviour
86
+ warning: nil
87
+ )
88
+ end
89
+
90
+ sig do
91
+ override.returns(
92
+ {
93
+ msg: String,
94
+ routes:
95
+ T::Array[
96
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route
97
+ ],
98
+ status: String,
99
+ warning: T::Array[String]
100
+ }
101
+ )
102
+ end
103
+ def to_hash
104
+ end
105
+
106
+ class Route < Nextbillionai::Internal::Type::BaseModel
107
+ OrHash =
108
+ T.type_alias do
109
+ T.any(
110
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route,
111
+ Nextbillionai::Internal::AnyHash
112
+ )
113
+ end
114
+
115
+ # The distance, in meters, of the complete trip.
116
+ sig { returns(T.nilable(Float)) }
117
+ attr_reader :distance
118
+
119
+ sig { params(distance: Float).void }
120
+ attr_writer :distance
121
+
122
+ # The total distance of the route, including additional details such as extra
123
+ # maneuvers or loops, in meters.
124
+ sig { returns(T.nilable(Float)) }
125
+ attr_reader :distance_full
126
+
127
+ sig { params(distance_full: Float).void }
128
+ attr_writer :distance_full
129
+
130
+ # The duration, in seconds, of the complete trip.
131
+ sig { returns(T.nilable(Integer)) }
132
+ attr_reader :duration
133
+
134
+ sig { params(duration: Integer).void }
135
+ attr_writer :duration
136
+
137
+ # Location coordinates of the point where the route ends.
138
+ sig do
139
+ returns(
140
+ T.nilable(
141
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::EndLocation
142
+ )
143
+ )
144
+ end
145
+ attr_reader :end_location
146
+
147
+ sig do
148
+ params(
149
+ end_location:
150
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::EndLocation::OrHash
151
+ ).void
152
+ end
153
+ attr_writer :end_location
154
+
155
+ # The GeoJSON representation of the route.
156
+ sig do
157
+ returns(
158
+ T.nilable(
159
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson
160
+ )
161
+ )
162
+ end
163
+ attr_reader :geojson
164
+
165
+ sig do
166
+ params(
167
+ geojson:
168
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::OrHash
169
+ ).void
170
+ end
171
+ attr_writer :geojson
172
+
173
+ # Encoded geometry of the returned route as per the selected format in geometry
174
+ # and specified overview verbosity. Please note the overview will always be full
175
+ # when original_shape parameter is used in the input request.
176
+ sig { returns(T.nilable(String)) }
177
+ attr_reader :geometry
178
+
179
+ sig { params(geometry: String).void }
180
+ attr_writer :geometry
181
+
182
+ # An array of objects returning the details about each leg of the route. waypoints
183
+ # split the route into legs.
184
+ sig do
185
+ returns(
186
+ T.nilable(
187
+ T::Array[
188
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg
189
+ ]
190
+ )
191
+ )
192
+ end
193
+ attr_reader :legs
194
+
195
+ sig do
196
+ params(
197
+ legs:
198
+ T::Array[
199
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::OrHash
200
+ ]
201
+ ).void
202
+ end
203
+ attr_writer :legs
204
+
205
+ # The predicted duration of the route based on real-time traffic conditions.
206
+ sig { returns(T.nilable(Float)) }
207
+ attr_reader :predicted_duration
208
+
209
+ sig { params(predicted_duration: Float).void }
210
+ attr_writer :predicted_duration
211
+
212
+ # The raw estimated duration of the route in seconds.
213
+ sig { returns(T.nilable(Float)) }
214
+ attr_reader :raw_duration
215
+
216
+ sig { params(raw_duration: Float).void }
217
+ attr_writer :raw_duration
218
+
219
+ # Special geospatial objects or landmarks crossed along the route.
220
+ sig { returns(T.nilable(T.anything)) }
221
+ attr_reader :special_objects
222
+
223
+ sig { params(special_objects: T.anything).void }
224
+ attr_writer :special_objects
225
+
226
+ # Location coordinates of the point where the route starts.
227
+ sig do
228
+ returns(
229
+ T.nilable(
230
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::StartLocation
231
+ )
232
+ )
233
+ end
234
+ attr_reader :start_location
235
+
236
+ sig do
237
+ params(
238
+ start_location:
239
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::StartLocation::OrHash
240
+ ).void
241
+ end
242
+ attr_writer :start_location
243
+
244
+ # A weight value associated with the route or leg.
245
+ sig { returns(T.nilable(Float)) }
246
+ attr_reader :weight
247
+
248
+ sig { params(weight: Float).void }
249
+ attr_writer :weight
250
+
251
+ sig do
252
+ params(
253
+ distance: Float,
254
+ distance_full: Float,
255
+ duration: Integer,
256
+ end_location:
257
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::EndLocation::OrHash,
258
+ geojson:
259
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::OrHash,
260
+ geometry: String,
261
+ legs:
262
+ T::Array[
263
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::OrHash
264
+ ],
265
+ predicted_duration: Float,
266
+ raw_duration: Float,
267
+ special_objects: T.anything,
268
+ start_location:
269
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::StartLocation::OrHash,
270
+ weight: Float
271
+ ).returns(T.attached_class)
272
+ end
273
+ def self.new(
274
+ # The distance, in meters, of the complete trip.
275
+ distance: nil,
276
+ # The total distance of the route, including additional details such as extra
277
+ # maneuvers or loops, in meters.
278
+ distance_full: nil,
279
+ # The duration, in seconds, of the complete trip.
280
+ duration: nil,
281
+ # Location coordinates of the point where the route ends.
282
+ end_location: nil,
283
+ # The GeoJSON representation of the route.
284
+ geojson: nil,
285
+ # Encoded geometry of the returned route as per the selected format in geometry
286
+ # and specified overview verbosity. Please note the overview will always be full
287
+ # when original_shape parameter is used in the input request.
288
+ geometry: nil,
289
+ # An array of objects returning the details about each leg of the route. waypoints
290
+ # split the route into legs.
291
+ legs: nil,
292
+ # The predicted duration of the route based on real-time traffic conditions.
293
+ predicted_duration: nil,
294
+ # The raw estimated duration of the route in seconds.
295
+ raw_duration: nil,
296
+ # Special geospatial objects or landmarks crossed along the route.
297
+ special_objects: nil,
298
+ # Location coordinates of the point where the route starts.
299
+ start_location: nil,
300
+ # A weight value associated with the route or leg.
301
+ weight: nil
302
+ )
303
+ end
304
+
305
+ sig do
306
+ override.returns(
307
+ {
308
+ distance: Float,
309
+ distance_full: Float,
310
+ duration: Integer,
311
+ end_location:
312
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::EndLocation,
313
+ geojson:
314
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson,
315
+ geometry: String,
316
+ legs:
317
+ T::Array[
318
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg
319
+ ],
320
+ predicted_duration: Float,
321
+ raw_duration: Float,
322
+ special_objects: T.anything,
323
+ start_location:
324
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::StartLocation,
325
+ weight: Float
326
+ }
327
+ )
328
+ end
329
+ def to_hash
330
+ end
331
+
332
+ class EndLocation < Nextbillionai::Internal::Type::BaseModel
333
+ OrHash =
334
+ T.type_alias do
335
+ T.any(
336
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::EndLocation,
337
+ Nextbillionai::Internal::AnyHash
338
+ )
339
+ end
340
+
341
+ # Latitude of the end_location.
342
+ sig { returns(T.nilable(Float)) }
343
+ attr_reader :latitude
344
+
345
+ sig { params(latitude: Float).void }
346
+ attr_writer :latitude
347
+
348
+ # Longitude of the end_location.
349
+ sig { returns(T.nilable(Float)) }
350
+ attr_reader :longitude
351
+
352
+ sig { params(longitude: Float).void }
353
+ attr_writer :longitude
354
+
355
+ # Location coordinates of the point where the route ends.
356
+ sig do
357
+ params(latitude: Float, longitude: Float).returns(T.attached_class)
358
+ end
359
+ def self.new(
360
+ # Latitude of the end_location.
361
+ latitude: nil,
362
+ # Longitude of the end_location.
363
+ longitude: nil
364
+ )
365
+ end
366
+
367
+ sig { override.returns({ latitude: Float, longitude: Float }) }
368
+ def to_hash
369
+ end
370
+ end
371
+
372
+ class Geojson < Nextbillionai::Internal::Type::BaseModel
373
+ OrHash =
374
+ T.type_alias do
375
+ T.any(
376
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson,
377
+ Nextbillionai::Internal::AnyHash
378
+ )
379
+ end
380
+
381
+ sig { returns(T.nilable(String)) }
382
+ attr_reader :geometry
383
+
384
+ sig { params(geometry: String).void }
385
+ attr_writer :geometry
386
+
387
+ sig { returns(T.nilable(String)) }
388
+ attr_reader :properties
389
+
390
+ sig { params(properties: String).void }
391
+ attr_writer :properties
392
+
393
+ sig do
394
+ returns(
395
+ T.nilable(
396
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
397
+ )
398
+ )
399
+ end
400
+ attr_reader :type
401
+
402
+ sig do
403
+ params(
404
+ type:
405
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::OrSymbol
406
+ ).void
407
+ end
408
+ attr_writer :type
409
+
410
+ # The GeoJSON representation of the route.
411
+ sig do
412
+ params(
413
+ geometry: String,
414
+ properties: String,
415
+ type:
416
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::OrSymbol
417
+ ).returns(T.attached_class)
418
+ end
419
+ def self.new(geometry: nil, properties: nil, type: nil)
420
+ end
421
+
422
+ sig do
423
+ override.returns(
424
+ {
425
+ geometry: String,
426
+ properties: String,
427
+ type:
428
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
429
+ }
430
+ )
431
+ end
432
+ def to_hash
433
+ end
434
+
435
+ module Type
436
+ extend Nextbillionai::Internal::Type::Enum
437
+
438
+ TaggedSymbol =
439
+ T.type_alias do
440
+ T.all(
441
+ Symbol,
442
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type
443
+ )
444
+ end
445
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
446
+
447
+ POINT =
448
+ T.let(
449
+ :Point,
450
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
451
+ )
452
+ MULTI_POINT =
453
+ T.let(
454
+ :MultiPoint,
455
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
456
+ )
457
+ LINE_STRING =
458
+ T.let(
459
+ :LineString,
460
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
461
+ )
462
+ MULTI_LINE_STRING =
463
+ T.let(
464
+ :MultiLineString,
465
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
466
+ )
467
+ POLYGON =
468
+ T.let(
469
+ :Polygon,
470
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
471
+ )
472
+ MULTI_POLYGON =
473
+ T.let(
474
+ :MultiPolygon,
475
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
476
+ )
477
+ GEOMETRY_COLLECTION =
478
+ T.let(
479
+ :GeometryCollection,
480
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
481
+ )
482
+ FEATURE =
483
+ T.let(
484
+ :Feature,
485
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
486
+ )
487
+ FEATURE_COLLECTION =
488
+ T.let(
489
+ :FeatureCollection,
490
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
491
+ )
492
+ LINK =
493
+ T.let(
494
+ :Link,
495
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
496
+ )
497
+
498
+ sig do
499
+ override.returns(
500
+ T::Array[
501
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Geojson::Type::TaggedSymbol
502
+ ]
503
+ )
504
+ end
505
+ def self.values
506
+ end
507
+ end
508
+ end
509
+
510
+ class Leg < Nextbillionai::Internal::Type::BaseModel
511
+ OrHash =
512
+ T.type_alias do
513
+ T.any(
514
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg,
515
+ Nextbillionai::Internal::AnyHash
516
+ )
517
+ end
518
+
519
+ # An object containing leg distance value, in meters.
520
+ sig do
521
+ returns(
522
+ T.nilable(
523
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Distance
524
+ )
525
+ )
526
+ end
527
+ attr_reader :distance
528
+
529
+ sig do
530
+ params(
531
+ distance:
532
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Distance::OrHash
533
+ ).void
534
+ end
535
+ attr_writer :distance
536
+
537
+ # An object containing leg duration value, in seconds.
538
+ sig do
539
+ returns(
540
+ T.nilable(
541
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Duration
542
+ )
543
+ )
544
+ end
545
+ attr_reader :duration
546
+
547
+ sig do
548
+ params(
549
+ duration:
550
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Duration::OrHash
551
+ ).void
552
+ end
553
+ attr_writer :duration
554
+
555
+ # Location coordinates of the point where the leg ends.
556
+ sig do
557
+ returns(
558
+ T.nilable(
559
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::EndLocation
560
+ )
561
+ )
562
+ end
563
+ attr_reader :end_location
564
+
565
+ sig do
566
+ params(
567
+ end_location:
568
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::EndLocation::OrHash
569
+ ).void
570
+ end
571
+ attr_writer :end_location
572
+
573
+ # The raw estimated duration of the leg in seconds.
574
+ sig { returns(T.nilable(T.anything)) }
575
+ attr_reader :raw_duration
576
+
577
+ sig { params(raw_duration: T.anything).void }
578
+ attr_writer :raw_duration
579
+
580
+ # Location coordinates of the point where the leg starts.
581
+ sig do
582
+ returns(
583
+ T.nilable(
584
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::StartLocation
585
+ )
586
+ )
587
+ end
588
+ attr_reader :start_location
589
+
590
+ sig do
591
+ params(
592
+ start_location:
593
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::StartLocation::OrHash
594
+ ).void
595
+ end
596
+ attr_writer :start_location
597
+
598
+ # An array of step objects containing turn-by-turn guidance for easy navigation.
599
+ sig do
600
+ returns(
601
+ T.nilable(
602
+ T::Array[
603
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step
604
+ ]
605
+ )
606
+ )
607
+ end
608
+ attr_reader :steps
609
+
610
+ sig do
611
+ params(
612
+ steps:
613
+ T::Array[
614
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::OrHash
615
+ ]
616
+ ).void
617
+ end
618
+ attr_writer :steps
619
+
620
+ sig do
621
+ params(
622
+ distance:
623
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Distance::OrHash,
624
+ duration:
625
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Duration::OrHash,
626
+ end_location:
627
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::EndLocation::OrHash,
628
+ raw_duration: T.anything,
629
+ start_location:
630
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::StartLocation::OrHash,
631
+ steps:
632
+ T::Array[
633
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::OrHash
634
+ ]
635
+ ).returns(T.attached_class)
636
+ end
637
+ def self.new(
638
+ # An object containing leg distance value, in meters.
639
+ distance: nil,
640
+ # An object containing leg duration value, in seconds.
641
+ duration: nil,
642
+ # Location coordinates of the point where the leg ends.
643
+ end_location: nil,
644
+ # The raw estimated duration of the leg in seconds.
645
+ raw_duration: nil,
646
+ # Location coordinates of the point where the leg starts.
647
+ start_location: nil,
648
+ # An array of step objects containing turn-by-turn guidance for easy navigation.
649
+ steps: nil
650
+ )
651
+ end
652
+
653
+ sig do
654
+ override.returns(
655
+ {
656
+ distance:
657
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Distance,
658
+ duration:
659
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Duration,
660
+ end_location:
661
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::EndLocation,
662
+ raw_duration: T.anything,
663
+ start_location:
664
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::StartLocation,
665
+ steps:
666
+ T::Array[
667
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step
668
+ ]
669
+ }
670
+ )
671
+ end
672
+ def to_hash
673
+ end
674
+
675
+ class Distance < Nextbillionai::Internal::Type::BaseModel
676
+ OrHash =
677
+ T.type_alias do
678
+ T.any(
679
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Distance,
680
+ Nextbillionai::Internal::AnyHash
681
+ )
682
+ end
683
+
684
+ sig { returns(T.nilable(Integer)) }
685
+ attr_reader :value
686
+
687
+ sig { params(value: Integer).void }
688
+ attr_writer :value
689
+
690
+ # An object containing leg distance value, in meters.
691
+ sig { params(value: Integer).returns(T.attached_class) }
692
+ def self.new(value: nil)
693
+ end
694
+
695
+ sig { override.returns({ value: Integer }) }
696
+ def to_hash
697
+ end
698
+ end
699
+
700
+ class Duration < Nextbillionai::Internal::Type::BaseModel
701
+ OrHash =
702
+ T.type_alias do
703
+ T.any(
704
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Duration,
705
+ Nextbillionai::Internal::AnyHash
706
+ )
707
+ end
708
+
709
+ sig { returns(T.nilable(Integer)) }
710
+ attr_reader :value
711
+
712
+ sig { params(value: Integer).void }
713
+ attr_writer :value
714
+
715
+ # An object containing leg duration value, in seconds.
716
+ sig { params(value: Integer).returns(T.attached_class) }
717
+ def self.new(value: nil)
718
+ end
719
+
720
+ sig { override.returns({ value: Integer }) }
721
+ def to_hash
722
+ end
723
+ end
724
+
725
+ class EndLocation < Nextbillionai::Internal::Type::BaseModel
726
+ OrHash =
727
+ T.type_alias do
728
+ T.any(
729
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::EndLocation,
730
+ Nextbillionai::Internal::AnyHash
731
+ )
732
+ end
733
+
734
+ # Latitude of end_location of the leg.
735
+ sig { returns(T.nilable(Float)) }
736
+ attr_reader :latitude
737
+
738
+ sig { params(latitude: Float).void }
739
+ attr_writer :latitude
740
+
741
+ # Longitude of end_location of the leg.
742
+ sig { returns(T.nilable(Float)) }
743
+ attr_reader :longitude
744
+
745
+ sig { params(longitude: Float).void }
746
+ attr_writer :longitude
747
+
748
+ # Location coordinates of the point where the leg ends.
749
+ sig do
750
+ params(latitude: Float, longitude: Float).returns(
751
+ T.attached_class
752
+ )
753
+ end
754
+ def self.new(
755
+ # Latitude of end_location of the leg.
756
+ latitude: nil,
757
+ # Longitude of end_location of the leg.
758
+ longitude: nil
759
+ )
760
+ end
761
+
762
+ sig { override.returns({ latitude: Float, longitude: Float }) }
763
+ def to_hash
764
+ end
765
+ end
766
+
767
+ class StartLocation < Nextbillionai::Internal::Type::BaseModel
768
+ OrHash =
769
+ T.type_alias do
770
+ T.any(
771
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::StartLocation,
772
+ Nextbillionai::Internal::AnyHash
773
+ )
774
+ end
775
+
776
+ # Latitude of start_location of the leg.
777
+ sig { returns(T.nilable(Float)) }
778
+ attr_reader :latitude
779
+
780
+ sig { params(latitude: Float).void }
781
+ attr_writer :latitude
782
+
783
+ # Longitude of start_location of the leg.
784
+ sig { returns(T.nilable(Float)) }
785
+ attr_reader :longitude
786
+
787
+ sig { params(longitude: Float).void }
788
+ attr_writer :longitude
789
+
790
+ # Location coordinates of the point where the leg starts.
791
+ sig do
792
+ params(latitude: Float, longitude: Float).returns(
793
+ T.attached_class
794
+ )
795
+ end
796
+ def self.new(
797
+ # Latitude of start_location of the leg.
798
+ latitude: nil,
799
+ # Longitude of start_location of the leg.
800
+ longitude: nil
801
+ )
802
+ end
803
+
804
+ sig { override.returns({ latitude: Float, longitude: Float }) }
805
+ def to_hash
806
+ end
807
+ end
808
+
809
+ class Step < Nextbillionai::Internal::Type::BaseModel
810
+ OrHash =
811
+ T.type_alias do
812
+ T.any(
813
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step,
814
+ Nextbillionai::Internal::AnyHash
815
+ )
816
+ end
817
+
818
+ # An object containing step distance value, in meters.
819
+ sig do
820
+ returns(
821
+ T.nilable(
822
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Distance
823
+ )
824
+ )
825
+ end
826
+ attr_reader :distance
827
+
828
+ sig do
829
+ params(
830
+ distance:
831
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Distance::OrHash
832
+ ).void
833
+ end
834
+ attr_writer :distance
835
+
836
+ # Indicates the driving side of the road in case bidirectional traffic is allowed
837
+ # on the given segment. It can have two values: "left" & "right".
838
+ sig { returns(T.nilable(String)) }
839
+ attr_reader :driving_side
840
+
841
+ sig { params(driving_side: String).void }
842
+ attr_writer :driving_side
843
+
844
+ # An object containing step duration value, in seconds.
845
+ sig do
846
+ returns(
847
+ T.nilable(
848
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Duration
849
+ )
850
+ )
851
+ end
852
+ attr_reader :duration
853
+
854
+ sig do
855
+ params(
856
+ duration:
857
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Duration::OrHash
858
+ ).void
859
+ end
860
+ attr_writer :duration
861
+
862
+ # Location coordinates of the point where the step ends.
863
+ sig do
864
+ returns(
865
+ T.nilable(
866
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::EndLocation
867
+ )
868
+ )
869
+ end
870
+ attr_reader :end_location
871
+
872
+ sig do
873
+ params(
874
+ end_location:
875
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::EndLocation::OrHash
876
+ ).void
877
+ end
878
+ attr_writer :end_location
879
+
880
+ # The GeoJSON representation of the step.
881
+ sig do
882
+ returns(
883
+ T.nilable(
884
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Geojson
885
+ )
886
+ )
887
+ end
888
+ attr_reader :geojson
889
+
890
+ sig do
891
+ params(
892
+ geojson:
893
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Geojson::OrHash
894
+ ).void
895
+ end
896
+ attr_writer :geojson
897
+
898
+ # Encoded geometry of the step in the selected format.
899
+ sig { returns(T.nilable(String)) }
900
+ attr_reader :geometry
901
+
902
+ sig { params(geometry: String).void }
903
+ attr_writer :geometry
904
+
905
+ # An array of objects representing intersections (or cross-way) that the route
906
+ # passes by along the step. For every step, the very first intersection
907
+ # corresponds to the location of the maneuver. All intersections until the next
908
+ # maneuver are listed in this object.
909
+ sig do
910
+ returns(
911
+ T.nilable(
912
+ T::Array[
913
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection
914
+ ]
915
+ )
916
+ )
917
+ end
918
+ attr_reader :intersections
919
+
920
+ sig do
921
+ params(
922
+ intersections:
923
+ T::Array[
924
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::OrHash
925
+ ]
926
+ ).void
927
+ end
928
+ attr_writer :intersections
929
+
930
+ # An object with maneuver details for the step.
931
+ sig do
932
+ returns(
933
+ T.nilable(
934
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver
935
+ )
936
+ )
937
+ end
938
+ attr_reader :maneuver
939
+
940
+ sig do
941
+ params(
942
+ maneuver:
943
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::OrHash
944
+ ).void
945
+ end
946
+ attr_writer :maneuver
947
+
948
+ # The name of the step.
949
+ sig { returns(T.nilable(String)) }
950
+ attr_reader :name
951
+
952
+ sig { params(name: String).void }
953
+ attr_writer :name
954
+
955
+ # A reference for the step.
956
+ sig { returns(T.nilable(String)) }
957
+ attr_reader :reference
958
+
959
+ sig { params(reference: String).void }
960
+ attr_writer :reference
961
+
962
+ # An object containing road shield information.
963
+ sig do
964
+ returns(
965
+ T.nilable(
966
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::RoadShieldType
967
+ )
968
+ )
969
+ end
970
+ attr_reader :road_shield_type
971
+
972
+ sig do
973
+ params(
974
+ road_shield_type:
975
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::RoadShieldType::OrHash
976
+ ).void
977
+ end
978
+ attr_writer :road_shield_type
979
+
980
+ # Location coordinates of the point where the step starts.
981
+ sig do
982
+ returns(
983
+ T.nilable(
984
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::StartLocation
985
+ )
986
+ )
987
+ end
988
+ attr_reader :start_location
989
+
990
+ sig do
991
+ params(
992
+ start_location:
993
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::StartLocation::OrHash
994
+ ).void
995
+ end
996
+ attr_writer :start_location
997
+
998
+ sig do
999
+ params(
1000
+ distance:
1001
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Distance::OrHash,
1002
+ driving_side: String,
1003
+ duration:
1004
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Duration::OrHash,
1005
+ end_location:
1006
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::EndLocation::OrHash,
1007
+ geojson:
1008
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Geojson::OrHash,
1009
+ geometry: String,
1010
+ intersections:
1011
+ T::Array[
1012
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::OrHash
1013
+ ],
1014
+ maneuver:
1015
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::OrHash,
1016
+ name: String,
1017
+ reference: String,
1018
+ road_shield_type:
1019
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::RoadShieldType::OrHash,
1020
+ start_location:
1021
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::StartLocation::OrHash
1022
+ ).returns(T.attached_class)
1023
+ end
1024
+ def self.new(
1025
+ # An object containing step distance value, in meters.
1026
+ distance: nil,
1027
+ # Indicates the driving side of the road in case bidirectional traffic is allowed
1028
+ # on the given segment. It can have two values: "left" & "right".
1029
+ driving_side: nil,
1030
+ # An object containing step duration value, in seconds.
1031
+ duration: nil,
1032
+ # Location coordinates of the point where the step ends.
1033
+ end_location: nil,
1034
+ # The GeoJSON representation of the step.
1035
+ geojson: nil,
1036
+ # Encoded geometry of the step in the selected format.
1037
+ geometry: nil,
1038
+ # An array of objects representing intersections (or cross-way) that the route
1039
+ # passes by along the step. For every step, the very first intersection
1040
+ # corresponds to the location of the maneuver. All intersections until the next
1041
+ # maneuver are listed in this object.
1042
+ intersections: nil,
1043
+ # An object with maneuver details for the step.
1044
+ maneuver: nil,
1045
+ # The name of the step.
1046
+ name: nil,
1047
+ # A reference for the step.
1048
+ reference: nil,
1049
+ # An object containing road shield information.
1050
+ road_shield_type: nil,
1051
+ # Location coordinates of the point where the step starts.
1052
+ start_location: nil
1053
+ )
1054
+ end
1055
+
1056
+ sig do
1057
+ override.returns(
1058
+ {
1059
+ distance:
1060
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Distance,
1061
+ driving_side: String,
1062
+ duration:
1063
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Duration,
1064
+ end_location:
1065
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::EndLocation,
1066
+ geojson:
1067
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Geojson,
1068
+ geometry: String,
1069
+ intersections:
1070
+ T::Array[
1071
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection
1072
+ ],
1073
+ maneuver:
1074
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver,
1075
+ name: String,
1076
+ reference: String,
1077
+ road_shield_type:
1078
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::RoadShieldType,
1079
+ start_location:
1080
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::StartLocation
1081
+ }
1082
+ )
1083
+ end
1084
+ def to_hash
1085
+ end
1086
+
1087
+ class Distance < Nextbillionai::Internal::Type::BaseModel
1088
+ OrHash =
1089
+ T.type_alias do
1090
+ T.any(
1091
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Distance,
1092
+ Nextbillionai::Internal::AnyHash
1093
+ )
1094
+ end
1095
+
1096
+ sig { returns(T.nilable(Integer)) }
1097
+ attr_reader :value
1098
+
1099
+ sig { params(value: Integer).void }
1100
+ attr_writer :value
1101
+
1102
+ # An object containing step distance value, in meters.
1103
+ sig { params(value: Integer).returns(T.attached_class) }
1104
+ def self.new(value: nil)
1105
+ end
1106
+
1107
+ sig { override.returns({ value: Integer }) }
1108
+ def to_hash
1109
+ end
1110
+ end
1111
+
1112
+ class Duration < Nextbillionai::Internal::Type::BaseModel
1113
+ OrHash =
1114
+ T.type_alias do
1115
+ T.any(
1116
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Duration,
1117
+ Nextbillionai::Internal::AnyHash
1118
+ )
1119
+ end
1120
+
1121
+ sig { returns(T.nilable(Integer)) }
1122
+ attr_reader :value
1123
+
1124
+ sig { params(value: Integer).void }
1125
+ attr_writer :value
1126
+
1127
+ # An object containing step duration value, in seconds.
1128
+ sig { params(value: Integer).returns(T.attached_class) }
1129
+ def self.new(value: nil)
1130
+ end
1131
+
1132
+ sig { override.returns({ value: Integer }) }
1133
+ def to_hash
1134
+ end
1135
+ end
1136
+
1137
+ class EndLocation < Nextbillionai::Internal::Type::BaseModel
1138
+ OrHash =
1139
+ T.type_alias do
1140
+ T.any(
1141
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::EndLocation,
1142
+ Nextbillionai::Internal::AnyHash
1143
+ )
1144
+ end
1145
+
1146
+ # Latitude of the end_location of the step.
1147
+ sig { returns(T.nilable(Float)) }
1148
+ attr_reader :latitude
1149
+
1150
+ sig { params(latitude: Float).void }
1151
+ attr_writer :latitude
1152
+
1153
+ # Longitude of the end_location of the step.
1154
+ sig { returns(T.nilable(Float)) }
1155
+ attr_reader :longitude
1156
+
1157
+ sig { params(longitude: Float).void }
1158
+ attr_writer :longitude
1159
+
1160
+ # Location coordinates of the point where the step ends.
1161
+ sig do
1162
+ params(latitude: Float, longitude: Float).returns(
1163
+ T.attached_class
1164
+ )
1165
+ end
1166
+ def self.new(
1167
+ # Latitude of the end_location of the step.
1168
+ latitude: nil,
1169
+ # Longitude of the end_location of the step.
1170
+ longitude: nil
1171
+ )
1172
+ end
1173
+
1174
+ sig { override.returns({ latitude: Float, longitude: Float }) }
1175
+ def to_hash
1176
+ end
1177
+ end
1178
+
1179
+ class Geojson < Nextbillionai::Internal::Type::BaseModel
1180
+ OrHash =
1181
+ T.type_alias do
1182
+ T.any(
1183
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Geojson,
1184
+ Nextbillionai::Internal::AnyHash
1185
+ )
1186
+ end
1187
+
1188
+ sig { returns(T.nilable(String)) }
1189
+ attr_reader :geometry
1190
+
1191
+ sig { params(geometry: String).void }
1192
+ attr_writer :geometry
1193
+
1194
+ sig { returns(T.nilable(String)) }
1195
+ attr_reader :type
1196
+
1197
+ sig { params(type: String).void }
1198
+ attr_writer :type
1199
+
1200
+ # The GeoJSON representation of the step.
1201
+ sig do
1202
+ params(geometry: String, type: String).returns(T.attached_class)
1203
+ end
1204
+ def self.new(geometry: nil, type: nil)
1205
+ end
1206
+
1207
+ sig { override.returns({ geometry: String, type: String }) }
1208
+ def to_hash
1209
+ end
1210
+ end
1211
+
1212
+ class Intersection < Nextbillionai::Internal::Type::BaseModel
1213
+ OrHash =
1214
+ T.type_alias do
1215
+ T.any(
1216
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection,
1217
+ Nextbillionai::Internal::AnyHash
1218
+ )
1219
+ end
1220
+
1221
+ # A list of bearing values (e.g. [0,90,180,270]) that are available at the
1222
+ # intersection. The bearings describe all available roads at the intersection.
1223
+ sig { returns(T.nilable(T::Array[Integer])) }
1224
+ attr_reader :bearings
1225
+
1226
+ sig { params(bearings: T::Array[Integer]).void }
1227
+ attr_writer :bearings
1228
+
1229
+ # An array of strings representing the classes or types of roads or paths at the
1230
+ # intersection. The classes can indicate the road hierarchy, such as a motorway,
1231
+ # primary road, secondary road, etc.
1232
+ sig { returns(T.nilable(T::Array[String])) }
1233
+ attr_reader :classes
1234
+
1235
+ sig { params(classes: T::Array[String]).void }
1236
+ attr_writer :classes
1237
+
1238
+ # A value of true indicates that the respective road could be entered on a valid
1239
+ # route. false indicates that the turn onto the respective road would violate a
1240
+ # restriction. Each entry value corresponds to the bearing angle at the same
1241
+ # index.
1242
+ sig { returns(T.nilable(T::Array[T::Boolean])) }
1243
+ attr_reader :entry
1244
+
1245
+ sig { params(entry: T::Array[T::Boolean]).void }
1246
+ attr_writer :entry
1247
+
1248
+ # The number of incoming roads or paths at the intersection.
1249
+ sig { returns(T.nilable(Integer)) }
1250
+ attr_reader :intersection_in
1251
+
1252
+ sig { params(intersection_in: Integer).void }
1253
+ attr_writer :intersection_in
1254
+
1255
+ # The number of outgoing roads or paths from the intersection.
1256
+ sig { returns(T.nilable(Integer)) }
1257
+ attr_reader :intersection_out
1258
+
1259
+ sig { params(intersection_out: Integer).void }
1260
+ attr_writer :intersection_out
1261
+
1262
+ # An array of lane objects representing the lanes available at the intersection.
1263
+ # If no lane information is available for an intersection, the lanes property will
1264
+ # not be present.
1265
+ sig do
1266
+ returns(
1267
+ T.nilable(
1268
+ T::Array[
1269
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::Lane
1270
+ ]
1271
+ )
1272
+ )
1273
+ end
1274
+ attr_reader :lanes
1275
+
1276
+ sig do
1277
+ params(
1278
+ lanes:
1279
+ T::Array[
1280
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::Lane::OrHash
1281
+ ]
1282
+ ).void
1283
+ end
1284
+ attr_writer :lanes
1285
+
1286
+ # A [longitude, latitude] pair describing the location of the intersection.
1287
+ sig do
1288
+ returns(
1289
+ T.nilable(
1290
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::Location
1291
+ )
1292
+ )
1293
+ end
1294
+ attr_reader :location
1295
+
1296
+ sig do
1297
+ params(
1298
+ location:
1299
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::Location::OrHash
1300
+ ).void
1301
+ end
1302
+ attr_writer :location
1303
+
1304
+ sig do
1305
+ params(
1306
+ bearings: T::Array[Integer],
1307
+ classes: T::Array[String],
1308
+ entry: T::Array[T::Boolean],
1309
+ intersection_in: Integer,
1310
+ intersection_out: Integer,
1311
+ lanes:
1312
+ T::Array[
1313
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::Lane::OrHash
1314
+ ],
1315
+ location:
1316
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::Location::OrHash
1317
+ ).returns(T.attached_class)
1318
+ end
1319
+ def self.new(
1320
+ # A list of bearing values (e.g. [0,90,180,270]) that are available at the
1321
+ # intersection. The bearings describe all available roads at the intersection.
1322
+ bearings: nil,
1323
+ # An array of strings representing the classes or types of roads or paths at the
1324
+ # intersection. The classes can indicate the road hierarchy, such as a motorway,
1325
+ # primary road, secondary road, etc.
1326
+ classes: nil,
1327
+ # A value of true indicates that the respective road could be entered on a valid
1328
+ # route. false indicates that the turn onto the respective road would violate a
1329
+ # restriction. Each entry value corresponds to the bearing angle at the same
1330
+ # index.
1331
+ entry: nil,
1332
+ # The number of incoming roads or paths at the intersection.
1333
+ intersection_in: nil,
1334
+ # The number of outgoing roads or paths from the intersection.
1335
+ intersection_out: nil,
1336
+ # An array of lane objects representing the lanes available at the intersection.
1337
+ # If no lane information is available for an intersection, the lanes property will
1338
+ # not be present.
1339
+ lanes: nil,
1340
+ # A [longitude, latitude] pair describing the location of the intersection.
1341
+ location: nil
1342
+ )
1343
+ end
1344
+
1345
+ sig do
1346
+ override.returns(
1347
+ {
1348
+ bearings: T::Array[Integer],
1349
+ classes: T::Array[String],
1350
+ entry: T::Array[T::Boolean],
1351
+ intersection_in: Integer,
1352
+ intersection_out: Integer,
1353
+ lanes:
1354
+ T::Array[
1355
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::Lane
1356
+ ],
1357
+ location:
1358
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::Location
1359
+ }
1360
+ )
1361
+ end
1362
+ def to_hash
1363
+ end
1364
+
1365
+ class Lane < Nextbillionai::Internal::Type::BaseModel
1366
+ OrHash =
1367
+ T.type_alias do
1368
+ T.any(
1369
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::Lane,
1370
+ Nextbillionai::Internal::AnyHash
1371
+ )
1372
+ end
1373
+
1374
+ # It represents actions associated with the lane. These indications describe the
1375
+ # permitted maneuvers or directions that can be taken from the lane. Common
1376
+ # indications include "turn left," "turn right," "go straight," "merge," "exit,"
1377
+ # etc.
1378
+ sig { returns(T.nilable(T::Array[String])) }
1379
+ attr_reader :indications
1380
+
1381
+ sig { params(indications: T::Array[String]).void }
1382
+ attr_writer :indications
1383
+
1384
+ # This indicates the validity of the lane. It specifies whether the lane is
1385
+ # considered valid for making the indicated maneuver or if there are any
1386
+ # restrictions or limitations associated with it.
1387
+ sig { returns(T.nilable(T::Boolean)) }
1388
+ attr_reader :valid
1389
+
1390
+ sig { params(valid: T::Boolean).void }
1391
+ attr_writer :valid
1392
+
1393
+ sig do
1394
+ params(
1395
+ indications: T::Array[String],
1396
+ valid: T::Boolean
1397
+ ).returns(T.attached_class)
1398
+ end
1399
+ def self.new(
1400
+ # It represents actions associated with the lane. These indications describe the
1401
+ # permitted maneuvers or directions that can be taken from the lane. Common
1402
+ # indications include "turn left," "turn right," "go straight," "merge," "exit,"
1403
+ # etc.
1404
+ indications: nil,
1405
+ # This indicates the validity of the lane. It specifies whether the lane is
1406
+ # considered valid for making the indicated maneuver or if there are any
1407
+ # restrictions or limitations associated with it.
1408
+ valid: nil
1409
+ )
1410
+ end
1411
+
1412
+ sig do
1413
+ override.returns(
1414
+ { indications: T::Array[String], valid: T::Boolean }
1415
+ )
1416
+ end
1417
+ def to_hash
1418
+ end
1419
+ end
1420
+
1421
+ class Location < Nextbillionai::Internal::Type::BaseModel
1422
+ OrHash =
1423
+ T.type_alias do
1424
+ T.any(
1425
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Intersection::Location,
1426
+ Nextbillionai::Internal::AnyHash
1427
+ )
1428
+ end
1429
+
1430
+ # The latitude coordinate of the intersection.
1431
+ sig { returns(T.nilable(Float)) }
1432
+ attr_reader :latitude
1433
+
1434
+ sig { params(latitude: Float).void }
1435
+ attr_writer :latitude
1436
+
1437
+ # The longitude coordinate of the intersection.
1438
+ sig { returns(T.nilable(Float)) }
1439
+ attr_reader :longitude
1440
+
1441
+ sig { params(longitude: Float).void }
1442
+ attr_writer :longitude
1443
+
1444
+ # The name or description of the intersection.
1445
+ sig { returns(T.nilable(String)) }
1446
+ attr_reader :name
1447
+
1448
+ sig { params(name: String).void }
1449
+ attr_writer :name
1450
+
1451
+ # A [longitude, latitude] pair describing the location of the intersection.
1452
+ sig do
1453
+ params(
1454
+ latitude: Float,
1455
+ longitude: Float,
1456
+ name: String
1457
+ ).returns(T.attached_class)
1458
+ end
1459
+ def self.new(
1460
+ # The latitude coordinate of the intersection.
1461
+ latitude: nil,
1462
+ # The longitude coordinate of the intersection.
1463
+ longitude: nil,
1464
+ # The name or description of the intersection.
1465
+ name: nil
1466
+ )
1467
+ end
1468
+
1469
+ sig do
1470
+ override.returns(
1471
+ { latitude: Float, longitude: Float, name: String }
1472
+ )
1473
+ end
1474
+ def to_hash
1475
+ end
1476
+ end
1477
+ end
1478
+
1479
+ class Maneuver < Nextbillionai::Internal::Type::BaseModel
1480
+ OrHash =
1481
+ T.type_alias do
1482
+ T.any(
1483
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver,
1484
+ Nextbillionai::Internal::AnyHash
1485
+ )
1486
+ end
1487
+
1488
+ # The clockwise angle from true north to the direction of travel immediately after
1489
+ # the maneuver. Range of values is between 0-359.
1490
+ sig { returns(T.nilable(Float)) }
1491
+ attr_reader :bearing_after
1492
+
1493
+ sig { params(bearing_after: Float).void }
1494
+ attr_writer :bearing_after
1495
+
1496
+ # The clockwise angle from true north to the direction of travel immediately
1497
+ # before the maneuver. Range of values is between 0-359.
1498
+ sig { returns(T.nilable(Float)) }
1499
+ attr_reader :bearing_before
1500
+
1501
+ sig { params(bearing_before: Float).void }
1502
+ attr_writer :bearing_before
1503
+
1504
+ # A coordinate pair describing the location of the maneuver.
1505
+ sig do
1506
+ returns(
1507
+ T.nilable(
1508
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::Coordinate
1509
+ )
1510
+ )
1511
+ end
1512
+ attr_reader :coordinate
1513
+
1514
+ sig do
1515
+ params(
1516
+ coordinate:
1517
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::Coordinate::OrHash
1518
+ ).void
1519
+ end
1520
+ attr_writer :coordinate
1521
+
1522
+ # A text instruction describing the maneuver to be performed. It provides guidance
1523
+ # on the action to take at the maneuver location, such as "Turn left," "Go
1524
+ # straight," "Exit the roundabout," etc.
1525
+ sig { returns(T.nilable(String)) }
1526
+ attr_reader :instruction
1527
+
1528
+ sig { params(instruction: String).void }
1529
+ attr_writer :instruction
1530
+
1531
+ # A string indicating the type of maneuver.
1532
+ sig { returns(T.nilable(String)) }
1533
+ attr_reader :maneuver_type
1534
+
1535
+ sig { params(maneuver_type: String).void }
1536
+ attr_writer :maneuver_type
1537
+
1538
+ # A boolean value indicating whether the voice instruction for the maneuver should
1539
+ # be muted or not.
1540
+ sig { returns(T.nilable(T::Boolean)) }
1541
+ attr_reader :muted
1542
+
1543
+ sig { params(muted: T::Boolean).void }
1544
+ attr_writer :muted
1545
+
1546
+ # The number of roundabouts encountered so far during the route. This parameter is
1547
+ # specific to roundabout maneuvers and indicates the count of roundabouts before
1548
+ # the current one.
1549
+ sig { returns(T.nilable(Integer)) }
1550
+ attr_reader :roundabout_count
1551
+
1552
+ sig { params(roundabout_count: Integer).void }
1553
+ attr_writer :roundabout_count
1554
+
1555
+ # An array of voice instruction objects associated with the maneuver. Each object
1556
+ # provides additional details about the voice instruction, including the distance
1557
+ # along the geometry where the instruction applies, the instruction text, and the
1558
+ # unit of measurement.
1559
+ sig do
1560
+ returns(
1561
+ T.nilable(
1562
+ T::Array[
1563
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::VoiceInstruction
1564
+ ]
1565
+ )
1566
+ )
1567
+ end
1568
+ attr_reader :voice_instruction
1569
+
1570
+ sig do
1571
+ params(
1572
+ voice_instruction:
1573
+ T::Array[
1574
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::VoiceInstruction::OrHash
1575
+ ]
1576
+ ).void
1577
+ end
1578
+ attr_writer :voice_instruction
1579
+
1580
+ # An object with maneuver details for the step.
1581
+ sig do
1582
+ params(
1583
+ bearing_after: Float,
1584
+ bearing_before: Float,
1585
+ coordinate:
1586
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::Coordinate::OrHash,
1587
+ instruction: String,
1588
+ maneuver_type: String,
1589
+ muted: T::Boolean,
1590
+ roundabout_count: Integer,
1591
+ voice_instruction:
1592
+ T::Array[
1593
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::VoiceInstruction::OrHash
1594
+ ]
1595
+ ).returns(T.attached_class)
1596
+ end
1597
+ def self.new(
1598
+ # The clockwise angle from true north to the direction of travel immediately after
1599
+ # the maneuver. Range of values is between 0-359.
1600
+ bearing_after: nil,
1601
+ # The clockwise angle from true north to the direction of travel immediately
1602
+ # before the maneuver. Range of values is between 0-359.
1603
+ bearing_before: nil,
1604
+ # A coordinate pair describing the location of the maneuver.
1605
+ coordinate: nil,
1606
+ # A text instruction describing the maneuver to be performed. It provides guidance
1607
+ # on the action to take at the maneuver location, such as "Turn left," "Go
1608
+ # straight," "Exit the roundabout," etc.
1609
+ instruction: nil,
1610
+ # A string indicating the type of maneuver.
1611
+ maneuver_type: nil,
1612
+ # A boolean value indicating whether the voice instruction for the maneuver should
1613
+ # be muted or not.
1614
+ muted: nil,
1615
+ # The number of roundabouts encountered so far during the route. This parameter is
1616
+ # specific to roundabout maneuvers and indicates the count of roundabouts before
1617
+ # the current one.
1618
+ roundabout_count: nil,
1619
+ # An array of voice instruction objects associated with the maneuver. Each object
1620
+ # provides additional details about the voice instruction, including the distance
1621
+ # along the geometry where the instruction applies, the instruction text, and the
1622
+ # unit of measurement.
1623
+ voice_instruction: nil
1624
+ )
1625
+ end
1626
+
1627
+ sig do
1628
+ override.returns(
1629
+ {
1630
+ bearing_after: Float,
1631
+ bearing_before: Float,
1632
+ coordinate:
1633
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::Coordinate,
1634
+ instruction: String,
1635
+ maneuver_type: String,
1636
+ muted: T::Boolean,
1637
+ roundabout_count: Integer,
1638
+ voice_instruction:
1639
+ T::Array[
1640
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::VoiceInstruction
1641
+ ]
1642
+ }
1643
+ )
1644
+ end
1645
+ def to_hash
1646
+ end
1647
+
1648
+ class Coordinate < Nextbillionai::Internal::Type::BaseModel
1649
+ OrHash =
1650
+ T.type_alias do
1651
+ T.any(
1652
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::Coordinate,
1653
+ Nextbillionai::Internal::AnyHash
1654
+ )
1655
+ end
1656
+
1657
+ # The latitude coordinate of the maneuver.
1658
+ sig { returns(T.nilable(Float)) }
1659
+ attr_reader :latitude
1660
+
1661
+ sig { params(latitude: Float).void }
1662
+ attr_writer :latitude
1663
+
1664
+ # The longitude coordinate of the maneuver.
1665
+ sig { returns(T.nilable(Float)) }
1666
+ attr_reader :longitude
1667
+
1668
+ sig { params(longitude: Float).void }
1669
+ attr_writer :longitude
1670
+
1671
+ # The name or description of the maneuver location.
1672
+ sig { returns(T.nilable(String)) }
1673
+ attr_reader :name
1674
+
1675
+ sig { params(name: String).void }
1676
+ attr_writer :name
1677
+
1678
+ # A coordinate pair describing the location of the maneuver.
1679
+ sig do
1680
+ params(
1681
+ latitude: Float,
1682
+ longitude: Float,
1683
+ name: String
1684
+ ).returns(T.attached_class)
1685
+ end
1686
+ def self.new(
1687
+ # The latitude coordinate of the maneuver.
1688
+ latitude: nil,
1689
+ # The longitude coordinate of the maneuver.
1690
+ longitude: nil,
1691
+ # The name or description of the maneuver location.
1692
+ name: nil
1693
+ )
1694
+ end
1695
+
1696
+ sig do
1697
+ override.returns(
1698
+ { latitude: Float, longitude: Float, name: String }
1699
+ )
1700
+ end
1701
+ def to_hash
1702
+ end
1703
+ end
1704
+
1705
+ class VoiceInstruction < Nextbillionai::Internal::Type::BaseModel
1706
+ OrHash =
1707
+ T.type_alias do
1708
+ T.any(
1709
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::Maneuver::VoiceInstruction,
1710
+ Nextbillionai::Internal::AnyHash
1711
+ )
1712
+ end
1713
+
1714
+ sig { returns(T.nilable(Integer)) }
1715
+ attr_reader :distance_along_geometry
1716
+
1717
+ sig { params(distance_along_geometry: Integer).void }
1718
+ attr_writer :distance_along_geometry
1719
+
1720
+ # The guidance instructions for the upcoming maneuver
1721
+ sig { returns(T.nilable(String)) }
1722
+ attr_reader :instruction
1723
+
1724
+ sig { params(instruction: String).void }
1725
+ attr_writer :instruction
1726
+
1727
+ # Unit of the distance_along_geometry metric
1728
+ sig { returns(T.nilable(String)) }
1729
+ attr_reader :unit
1730
+
1731
+ sig { params(unit: String).void }
1732
+ attr_writer :unit
1733
+
1734
+ sig do
1735
+ params(
1736
+ distance_along_geometry: Integer,
1737
+ instruction: String,
1738
+ unit: String
1739
+ ).returns(T.attached_class)
1740
+ end
1741
+ def self.new(
1742
+ distance_along_geometry: nil,
1743
+ # The guidance instructions for the upcoming maneuver
1744
+ instruction: nil,
1745
+ # Unit of the distance_along_geometry metric
1746
+ unit: nil
1747
+ )
1748
+ end
1749
+
1750
+ sig do
1751
+ override.returns(
1752
+ {
1753
+ distance_along_geometry: Integer,
1754
+ instruction: String,
1755
+ unit: String
1756
+ }
1757
+ )
1758
+ end
1759
+ def to_hash
1760
+ end
1761
+ end
1762
+ end
1763
+
1764
+ class RoadShieldType < Nextbillionai::Internal::Type::BaseModel
1765
+ OrHash =
1766
+ T.type_alias do
1767
+ T.any(
1768
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::RoadShieldType,
1769
+ Nextbillionai::Internal::AnyHash
1770
+ )
1771
+ end
1772
+
1773
+ # The URL to fetch the road shield image.
1774
+ sig { returns(T.nilable(String)) }
1775
+ attr_reader :image_url
1776
+
1777
+ sig { params(image_url: String).void }
1778
+ attr_writer :image_url
1779
+
1780
+ # A label identifying the inscription on the road shield, such as containing the
1781
+ # road number.
1782
+ sig { returns(T.nilable(String)) }
1783
+ attr_reader :label
1784
+
1785
+ sig { params(label: String).void }
1786
+ attr_writer :label
1787
+
1788
+ # An object containing road shield information.
1789
+ sig do
1790
+ params(image_url: String, label: String).returns(
1791
+ T.attached_class
1792
+ )
1793
+ end
1794
+ def self.new(
1795
+ # The URL to fetch the road shield image.
1796
+ image_url: nil,
1797
+ # A label identifying the inscription on the road shield, such as containing the
1798
+ # road number.
1799
+ label: nil
1800
+ )
1801
+ end
1802
+
1803
+ sig { override.returns({ image_url: String, label: String }) }
1804
+ def to_hash
1805
+ end
1806
+ end
1807
+
1808
+ class StartLocation < Nextbillionai::Internal::Type::BaseModel
1809
+ OrHash =
1810
+ T.type_alias do
1811
+ T.any(
1812
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::Leg::Step::StartLocation,
1813
+ Nextbillionai::Internal::AnyHash
1814
+ )
1815
+ end
1816
+
1817
+ # Latitude of start_location of the step.
1818
+ sig { returns(T.nilable(Float)) }
1819
+ attr_reader :latitude
1820
+
1821
+ sig { params(latitude: Float).void }
1822
+ attr_writer :latitude
1823
+
1824
+ # Longitude of start_location of the step.
1825
+ sig { returns(T.nilable(Float)) }
1826
+ attr_reader :longitude
1827
+
1828
+ sig { params(longitude: Float).void }
1829
+ attr_writer :longitude
1830
+
1831
+ # Location coordinates of the point where the step starts.
1832
+ sig do
1833
+ params(latitude: Float, longitude: Float).returns(
1834
+ T.attached_class
1835
+ )
1836
+ end
1837
+ def self.new(
1838
+ # Latitude of start_location of the step.
1839
+ latitude: nil,
1840
+ # Longitude of start_location of the step.
1841
+ longitude: nil
1842
+ )
1843
+ end
1844
+
1845
+ sig { override.returns({ latitude: Float, longitude: Float }) }
1846
+ def to_hash
1847
+ end
1848
+ end
1849
+ end
1850
+ end
1851
+
1852
+ class StartLocation < Nextbillionai::Internal::Type::BaseModel
1853
+ OrHash =
1854
+ T.type_alias do
1855
+ T.any(
1856
+ Nextbillionai::Models::NavigationRetrieveRouteResponse::Route::StartLocation,
1857
+ Nextbillionai::Internal::AnyHash
1858
+ )
1859
+ end
1860
+
1861
+ # Latitude of thestart_location.
1862
+ sig { returns(T.nilable(Float)) }
1863
+ attr_reader :latitude
1864
+
1865
+ sig { params(latitude: Float).void }
1866
+ attr_writer :latitude
1867
+
1868
+ # Longitude of the start_location.
1869
+ sig { returns(T.nilable(Float)) }
1870
+ attr_reader :longitude
1871
+
1872
+ sig { params(longitude: Float).void }
1873
+ attr_writer :longitude
1874
+
1875
+ # Location coordinates of the point where the route starts.
1876
+ sig do
1877
+ params(latitude: Float, longitude: Float).returns(T.attached_class)
1878
+ end
1879
+ def self.new(
1880
+ # Latitude of thestart_location.
1881
+ latitude: nil,
1882
+ # Longitude of the start_location.
1883
+ longitude: nil
1884
+ )
1885
+ end
1886
+
1887
+ sig { override.returns({ latitude: Float, longitude: Float }) }
1888
+ def to_hash
1889
+ end
1890
+ end
1891
+ end
1892
+ end
1893
+ end
1894
+ end