samsara-api 4.0.1__py3-none-any.whl → 4.1.0__py3-none-any.whl

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 (135) hide show
  1. samsara/__init__.py +138 -0
  2. samsara/client.py +19 -0
  3. samsara/core/client_wrapper.py +2 -2
  4. samsara/route_events/__init__.py +4 -0
  5. samsara/route_events/client.py +176 -0
  6. samsara/route_events/raw_client.py +362 -0
  7. samsara/types/__init__.py +155 -0
  8. samsara/types/door_open_response_body.py +28 -0
  9. samsara/types/route_event_details_response_body.py +36 -0
  10. samsara/types/route_event_response_response_body.py +56 -0
  11. samsara/types/route_event_response_response_body_event_type.py +17 -0
  12. samsara/types/route_event_route_response_response_body.py +35 -0
  13. samsara/types/route_event_stop_response_response_body.py +35 -0
  14. samsara/types/routes_get_route_events_stream_bad_gateway_error_response_body.py +33 -0
  15. samsara/types/routes_get_route_events_stream_gateway_timeout_error_response_body.py +33 -0
  16. samsara/types/routes_get_route_events_stream_internal_server_error_response_body.py +33 -0
  17. samsara/types/routes_get_route_events_stream_method_not_allowed_error_response_body.py +33 -0
  18. samsara/types/routes_get_route_events_stream_not_found_error_response_body.py +33 -0
  19. samsara/types/routes_get_route_events_stream_not_implemented_error_response_body.py +33 -0
  20. samsara/types/routes_get_route_events_stream_response_body.py +26 -0
  21. samsara/types/routes_get_route_events_stream_service_unavailable_error_response_body.py +33 -0
  22. samsara/types/routes_get_route_events_stream_too_many_requests_error_response_body.py +33 -0
  23. samsara/types/routes_get_route_events_stream_unauthorized_error_response_body.py +33 -0
  24. samsara/types/safety_event.py +6 -6
  25. samsara/types/safety_event_driver.py +5 -0
  26. samsara/types/safety_event_location.py +5 -0
  27. samsara/types/safety_event_vehicle.py +5 -0
  28. samsara/types/stop_eta_updated_event_details_response_body.py +33 -0
  29. samsara/types/stop_task_completed_event_details_response_body.py +36 -0
  30. samsara/types/stop_task_completed_event_details_response_body_task_type.py +5 -0
  31. samsara/types/stop_task_skipped_event_details_response_body.py +36 -0
  32. samsara/types/stop_task_skipped_event_details_response_body_task_type.py +5 -0
  33. samsara/types/vehicle.py +28 -16
  34. samsara/types/vehicle_aux_input_type_1.py +5 -0
  35. samsara/types/vehicle_aux_input_type_10.py +5 -0
  36. samsara/types/vehicle_aux_input_type_11.py +5 -0
  37. samsara/types/vehicle_aux_input_type_12.py +5 -0
  38. samsara/types/vehicle_aux_input_type_13.py +5 -0
  39. samsara/types/vehicle_aux_input_type_2.py +5 -0
  40. samsara/types/vehicle_aux_input_type_3.py +5 -0
  41. samsara/types/vehicle_aux_input_type_4.py +5 -0
  42. samsara/types/vehicle_aux_input_type_5.py +5 -0
  43. samsara/types/vehicle_aux_input_type_6.py +5 -0
  44. samsara/types/vehicle_aux_input_type_7.py +5 -0
  45. samsara/types/vehicle_aux_input_type_8.py +5 -0
  46. samsara/types/vehicle_aux_input_type_9.py +5 -0
  47. samsara/types/vehicle_location.py +6 -4
  48. samsara/types/vehicle_location_reverse_geo.py +5 -0
  49. samsara/types/vehicle_location_time.py +5 -0
  50. samsara/types/vehicle_static_assigned_driver.py +5 -0
  51. samsara/types/vehicle_stats_ambient_air_temp_milli_c.py +2 -2
  52. samsara/types/vehicle_stats_ambient_air_temp_milli_c_with_decoration.py +2 -2
  53. samsara/types/vehicle_stats_barometric_pressure_pa.py +2 -2
  54. samsara/types/vehicle_stats_barometric_pressure_pa_with_decoration.py +2 -2
  55. samsara/types/vehicle_stats_battery_voltage.py +2 -2
  56. samsara/types/vehicle_stats_battery_voltage_with_decoration.py +2 -2
  57. samsara/types/vehicle_stats_decorations.py +4 -0
  58. samsara/types/vehicle_stats_decorations_gps.py +4 -2
  59. samsara/types/vehicle_stats_def_level_milli_percent.py +2 -2
  60. samsara/types/vehicle_stats_def_level_milli_percent_with_decoration.py +2 -2
  61. samsara/types/vehicle_stats_ecu_door_status.py +29 -0
  62. samsara/types/vehicle_stats_ecu_door_status_value.py +5 -0
  63. samsara/types/vehicle_stats_ecu_speed_mph.py +2 -2
  64. samsara/types/vehicle_stats_ecu_speed_mph_with_decoration.py +2 -2
  65. samsara/types/vehicle_stats_engine_coolant_temp_milli_c.py +2 -2
  66. samsara/types/vehicle_stats_engine_coolant_temp_milli_c_with_decoration.py +2 -2
  67. samsara/types/vehicle_stats_engine_load_percent.py +2 -2
  68. samsara/types/vehicle_stats_engine_load_percent_with_decoration.py +2 -2
  69. samsara/types/vehicle_stats_engine_oil_pressure_k_pa.py +2 -2
  70. samsara/types/vehicle_stats_engine_oil_pressure_k_pa_with_decoration.py +2 -2
  71. samsara/types/vehicle_stats_engine_rpm.py +2 -2
  72. samsara/types/vehicle_stats_engine_rpm_with_decoration.py +2 -2
  73. samsara/types/vehicle_stats_engine_state.py +2 -2
  74. samsara/types/vehicle_stats_engine_state_with_decoration.py +2 -2
  75. samsara/types/vehicle_stats_ev_average_battery_temperature_milli_celsius.py +2 -2
  76. samsara/types/vehicle_stats_ev_battery_current_milli_amp.py +2 -2
  77. samsara/types/vehicle_stats_ev_battery_state_of_health_milli_percent.py +2 -2
  78. samsara/types/vehicle_stats_ev_battery_voltage_milli_volt.py +2 -2
  79. samsara/types/vehicle_stats_ev_charging_current_milli_amp.py +2 -2
  80. samsara/types/vehicle_stats_ev_charging_energy_micro_wh.py +2 -2
  81. samsara/types/vehicle_stats_ev_charging_status.py +2 -2
  82. samsara/types/vehicle_stats_ev_charging_voltage_milli_volt.py +2 -2
  83. samsara/types/vehicle_stats_ev_consumed_energy_micro_wh.py +2 -2
  84. samsara/types/vehicle_stats_ev_distance_driven_meters.py +2 -2
  85. samsara/types/vehicle_stats_ev_regenerated_energy_micro_wh.py +2 -2
  86. samsara/types/vehicle_stats_ev_state_of_charge_milli_percent.py +2 -2
  87. samsara/types/vehicle_stats_fault_codes_with_decoration.py +2 -2
  88. samsara/types/vehicle_stats_fuel_consumed_milliliters.py +2 -2
  89. samsara/types/vehicle_stats_fuel_consumed_milliliters_with_decoration.py +2 -2
  90. samsara/types/vehicle_stats_fuel_percent.py +2 -2
  91. samsara/types/vehicle_stats_fuel_percent_with_decoration.py +2 -2
  92. samsara/types/vehicle_stats_gps.py +6 -4
  93. samsara/types/vehicle_stats_gps_distance_meters.py +2 -2
  94. samsara/types/vehicle_stats_gps_distance_meters_with_decoration.py +2 -2
  95. samsara/types/vehicle_stats_gps_odometer_meters.py +2 -2
  96. samsara/types/vehicle_stats_gps_odometer_meters_with_decoration.py +2 -2
  97. samsara/types/vehicle_stats_idling_duration_milliseconds.py +2 -2
  98. samsara/types/vehicle_stats_idling_duration_milliseconds_with_decoration.py +2 -2
  99. samsara/types/vehicle_stats_intake_manifold_temp_milli_c.py +2 -2
  100. samsara/types/vehicle_stats_intake_manifold_temp_milli_c_with_decoration.py +2 -2
  101. samsara/types/vehicle_stats_list_gps.py +6 -4
  102. samsara/types/vehicle_stats_list_response_data.py +8 -0
  103. samsara/types/vehicle_stats_obd_engine_seconds.py +2 -2
  104. samsara/types/vehicle_stats_obd_engine_seconds_with_decoration.py +2 -2
  105. samsara/types/vehicle_stats_obd_odometer_meters.py +2 -2
  106. samsara/types/vehicle_stats_obd_odometer_meters_with_decoration.py +2 -2
  107. samsara/types/vehicle_stats_response_data.py +4 -0
  108. samsara/types/vehicle_stats_response_ecu_door_status.py +32 -0
  109. samsara/types/vehicle_stats_response_ecu_door_status_value.py +5 -0
  110. samsara/types/vehicle_stats_seatbelt_driver.py +2 -2
  111. samsara/types/vehicle_stats_spreader_active.py +2 -2
  112. samsara/types/vehicle_stats_spreader_air_temp.py +2 -2
  113. samsara/types/vehicle_stats_spreader_blast_state.py +2 -2
  114. samsara/types/vehicle_stats_spreader_granular_name.py +2 -2
  115. samsara/types/vehicle_stats_spreader_granular_rate.py +2 -2
  116. samsara/types/vehicle_stats_spreader_liquid_name.py +2 -2
  117. samsara/types/vehicle_stats_spreader_liquid_rate.py +2 -2
  118. samsara/types/vehicle_stats_spreader_on_state.py +2 -2
  119. samsara/types/vehicle_stats_spreader_plow_status.py +2 -2
  120. samsara/types/vehicle_stats_spreader_prewet_name.py +2 -2
  121. samsara/types/vehicle_stats_spreader_prewet_rate.py +2 -2
  122. samsara/types/vehicle_stats_spreader_road_temp.py +2 -2
  123. samsara/types/vehicle_stats_time.py +5 -0
  124. samsara/types/workflow_incident_details_object_response_body.py +4 -0
  125. samsara/vehicle_stats/client.py +10 -0
  126. samsara/vehicle_stats/raw_client.py +10 -0
  127. samsara/vehicle_stats/types/get_vehicle_stats_feed_request_decorations_item.py +1 -0
  128. samsara/vehicle_stats/types/get_vehicle_stats_feed_request_types_item.py +1 -0
  129. samsara/vehicle_stats/types/get_vehicle_stats_history_request_decorations_item.py +1 -0
  130. samsara/vehicle_stats/types/get_vehicle_stats_history_request_types_item.py +1 -0
  131. samsara/vehicle_stats/types/get_vehicle_stats_request_types_item.py +1 -0
  132. {samsara_api-4.0.1.dist-info → samsara_api-4.1.0.dist-info}/METADATA +1 -1
  133. {samsara_api-4.0.1.dist-info → samsara_api-4.1.0.dist-info}/RECORD +135 -87
  134. {samsara_api-4.0.1.dist-info → samsara_api-4.1.0.dist-info}/LICENSE +0 -0
  135. {samsara_api-4.0.1.dist-info → samsara_api-4.1.0.dist-info}/WHEEL +0 -0
samsara/types/__init__.py CHANGED
@@ -772,6 +772,7 @@ if typing.TYPE_CHECKING:
772
772
  from .documents_post_document_unauthorized_error_response_body import (
773
773
  DocumentsPostDocumentUnauthorizedErrorResponseBody,
774
774
  )
775
+ from .door_open_response_body import DoorOpenResponseBody
775
776
  from .drive_time_duration_ms import DriveTimeDurationMs
776
777
  from .driver import Driver
777
778
  from .driver_activation_status import DriverActivationStatus
@@ -3731,6 +3732,11 @@ if typing.TYPE_CHECKING:
3731
3732
  RollingStopDetectionAlertSettingsObjectResponseBody,
3732
3733
  )
3733
3734
  from .route_changes_response_body import RouteChangesResponseBody
3735
+ from .route_event_details_response_body import RouteEventDetailsResponseBody
3736
+ from .route_event_response_response_body import RouteEventResponseResponseBody
3737
+ from .route_event_response_response_body_event_type import RouteEventResponseResponseBodyEventType
3738
+ from .route_event_route_response_response_body import RouteEventRouteResponseResponseBody
3739
+ from .route_event_stop_response_response_body import RouteEventStopResponseResponseBody
3734
3740
  from .route_feed_object_response_body import RouteFeedObjectResponseBody
3735
3741
  from .route_feed_object_response_body_operation import RouteFeedObjectResponseBodyOperation
3736
3742
  from .route_feed_object_response_body_source import RouteFeedObjectResponseBodySource
@@ -3834,6 +3840,34 @@ if typing.TYPE_CHECKING:
3834
3840
  RoutesFetchRoutesTooManyRequestsErrorResponseBody,
3835
3841
  )
3836
3842
  from .routes_fetch_routes_unauthorized_error_response_body import RoutesFetchRoutesUnauthorizedErrorResponseBody
3843
+ from .routes_get_route_events_stream_bad_gateway_error_response_body import (
3844
+ RoutesGetRouteEventsStreamBadGatewayErrorResponseBody,
3845
+ )
3846
+ from .routes_get_route_events_stream_gateway_timeout_error_response_body import (
3847
+ RoutesGetRouteEventsStreamGatewayTimeoutErrorResponseBody,
3848
+ )
3849
+ from .routes_get_route_events_stream_internal_server_error_response_body import (
3850
+ RoutesGetRouteEventsStreamInternalServerErrorResponseBody,
3851
+ )
3852
+ from .routes_get_route_events_stream_method_not_allowed_error_response_body import (
3853
+ RoutesGetRouteEventsStreamMethodNotAllowedErrorResponseBody,
3854
+ )
3855
+ from .routes_get_route_events_stream_not_found_error_response_body import (
3856
+ RoutesGetRouteEventsStreamNotFoundErrorResponseBody,
3857
+ )
3858
+ from .routes_get_route_events_stream_not_implemented_error_response_body import (
3859
+ RoutesGetRouteEventsStreamNotImplementedErrorResponseBody,
3860
+ )
3861
+ from .routes_get_route_events_stream_response_body import RoutesGetRouteEventsStreamResponseBody
3862
+ from .routes_get_route_events_stream_service_unavailable_error_response_body import (
3863
+ RoutesGetRouteEventsStreamServiceUnavailableErrorResponseBody,
3864
+ )
3865
+ from .routes_get_route_events_stream_too_many_requests_error_response_body import (
3866
+ RoutesGetRouteEventsStreamTooManyRequestsErrorResponseBody,
3867
+ )
3868
+ from .routes_get_route_events_stream_unauthorized_error_response_body import (
3869
+ RoutesGetRouteEventsStreamUnauthorizedErrorResponseBody,
3870
+ )
3837
3871
  from .routes_get_routes_feed_bad_gateway_error_response_body import RoutesGetRoutesFeedBadGatewayErrorResponseBody
3838
3872
  from .routes_get_routes_feed_gateway_timeout_error_response_body import (
3839
3873
  RoutesGetRoutesFeedGatewayTimeoutErrorResponseBody,
@@ -3894,8 +3928,10 @@ if typing.TYPE_CHECKING:
3894
3928
  from .safety_event_download_forward_video_url import SafetyEventDownloadForwardVideoUrl
3895
3929
  from .safety_event_download_inward_video_url import SafetyEventDownloadInwardVideoUrl
3896
3930
  from .safety_event_download_tracked_inward_video_url import SafetyEventDownloadTrackedInwardVideoUrl
3931
+ from .safety_event_driver import SafetyEventDriver
3897
3932
  from .safety_event_driver_object_response_body import SafetyEventDriverObjectResponseBody
3898
3933
  from .safety_event_id import SafetyEventId
3934
+ from .safety_event_location import SafetyEventLocation
3899
3935
  from .safety_event_max_acceleration_g_force import SafetyEventMaxAccelerationGForce
3900
3936
  from .safety_event_object_response_body import SafetyEventObjectResponseBody
3901
3937
  from .safety_event_time import SafetyEventTime
@@ -3908,6 +3944,7 @@ if typing.TYPE_CHECKING:
3908
3944
  from .safety_event_v_2_driver_object_response_body import SafetyEventV2DriverObjectResponseBody
3909
3945
  from .safety_event_v_2_object_response_body import SafetyEventV2ObjectResponseBody
3910
3946
  from .safety_event_v_2_object_response_body_event_state import SafetyEventV2ObjectResponseBodyEventState
3947
+ from .safety_event_vehicle import SafetyEventVehicle
3911
3948
  from .safety_event_vehicle_object_response_body import SafetyEventVehicleObjectResponseBody
3912
3949
  from .safety_events_get_safety_activity_event_feed_bad_gateway_error_response_body import (
3913
3950
  SafetyEventsGetSafetyActivityEventFeedBadGatewayErrorResponseBody,
@@ -4427,6 +4464,13 @@ if typing.TYPE_CHECKING:
4427
4464
  from .speeding_severity_level_response_body_severity_level import SpeedingSeverityLevelResponseBodySeverityLevel
4428
4465
  from .standard_delete_response import StandardDeleteResponse
4429
4466
  from .start_function_run_response_body_response_body import StartFunctionRunResponseBodyResponseBody
4467
+ from .stop_eta_updated_event_details_response_body import StopEtaUpdatedEventDetailsResponseBody
4468
+ from .stop_task_completed_event_details_response_body import StopTaskCompletedEventDetailsResponseBody
4469
+ from .stop_task_completed_event_details_response_body_task_type import (
4470
+ StopTaskCompletedEventDetailsResponseBodyTaskType,
4471
+ )
4472
+ from .stop_task_skipped_event_details_response_body import StopTaskSkippedEventDetailsResponseBody
4473
+ from .stop_task_skipped_event_details_response_body_task_type import StopTaskSkippedEventDetailsResponseBodyTaskType
4430
4474
  from .string_data_point import StringDataPoint
4431
4475
  from .sudden_fuel_level_drop_response_body import SuddenFuelLevelDropResponseBody
4432
4476
  from .sudden_fuel_level_drop_trigger_details_object_request_body import (
@@ -5328,6 +5372,19 @@ if typing.TYPE_CHECKING:
5328
5372
  from .vehicle_assignment_object_response_body import VehicleAssignmentObjectResponseBody
5329
5373
  from .vehicle_aux_input_name import VehicleAuxInputName
5330
5374
  from .vehicle_aux_input_type import VehicleAuxInputType
5375
+ from .vehicle_aux_input_type_1 import VehicleAuxInputType1
5376
+ from .vehicle_aux_input_type_10 import VehicleAuxInputType10
5377
+ from .vehicle_aux_input_type_11 import VehicleAuxInputType11
5378
+ from .vehicle_aux_input_type_12 import VehicleAuxInputType12
5379
+ from .vehicle_aux_input_type_13 import VehicleAuxInputType13
5380
+ from .vehicle_aux_input_type_2 import VehicleAuxInputType2
5381
+ from .vehicle_aux_input_type_3 import VehicleAuxInputType3
5382
+ from .vehicle_aux_input_type_4 import VehicleAuxInputType4
5383
+ from .vehicle_aux_input_type_5 import VehicleAuxInputType5
5384
+ from .vehicle_aux_input_type_6 import VehicleAuxInputType6
5385
+ from .vehicle_aux_input_type_7 import VehicleAuxInputType7
5386
+ from .vehicle_aux_input_type_8 import VehicleAuxInputType8
5387
+ from .vehicle_aux_input_type_9 import VehicleAuxInputType9
5331
5388
  from .vehicle_batter_voltage_details_object_request_body import VehicleBatterVoltageDetailsObjectRequestBody
5332
5389
  from .vehicle_batter_voltage_details_object_request_body_operation import (
5333
5390
  VehicleBatterVoltageDetailsObjectRequestBodyOperation,
@@ -5354,7 +5411,9 @@ if typing.TYPE_CHECKING:
5354
5411
  from .vehicle_location_is_ecu_speed import VehicleLocationIsEcuSpeed
5355
5412
  from .vehicle_location_latitude import VehicleLocationLatitude
5356
5413
  from .vehicle_location_longitude import VehicleLocationLongitude
5414
+ from .vehicle_location_reverse_geo import VehicleLocationReverseGeo
5357
5415
  from .vehicle_location_speed import VehicleLocationSpeed
5416
+ from .vehicle_location_time import VehicleLocationTime
5358
5417
  from .vehicle_locations_list_response import VehicleLocationsListResponse
5359
5418
  from .vehicle_locations_list_response_data import VehicleLocationsListResponseData
5360
5419
  from .vehicle_locations_response import VehicleLocationsResponse
@@ -5387,6 +5446,7 @@ if typing.TYPE_CHECKING:
5387
5446
  VehicleSensorConfigurationDoorResponseBodyPosition,
5388
5447
  )
5389
5448
  from .vehicle_sensor_configuration_response_body import VehicleSensorConfigurationResponseBody
5449
+ from .vehicle_static_assigned_driver import VehicleStaticAssignedDriver
5390
5450
  from .vehicle_stats_ambient_air_temp_milli_c import VehicleStatsAmbientAirTempMilliC
5391
5451
  from .vehicle_stats_ambient_air_temp_milli_c_value import VehicleStatsAmbientAirTempMilliCValue
5392
5452
  from .vehicle_stats_ambient_air_temp_milli_c_with_decoration import VehicleStatsAmbientAirTempMilliCWithDecoration
@@ -5433,6 +5493,8 @@ if typing.TYPE_CHECKING:
5433
5493
  from .vehicle_stats_def_level_milli_percent import VehicleStatsDefLevelMilliPercent
5434
5494
  from .vehicle_stats_def_level_milli_percent_value import VehicleStatsDefLevelMilliPercentValue
5435
5495
  from .vehicle_stats_def_level_milli_percent_with_decoration import VehicleStatsDefLevelMilliPercentWithDecoration
5496
+ from .vehicle_stats_ecu_door_status import VehicleStatsEcuDoorStatus
5497
+ from .vehicle_stats_ecu_door_status_value import VehicleStatsEcuDoorStatusValue
5436
5498
  from .vehicle_stats_ecu_speed_mph import VehicleStatsEcuSpeedMph
5437
5499
  from .vehicle_stats_ecu_speed_mph_value import VehicleStatsEcuSpeedMphValue
5438
5500
  from .vehicle_stats_ecu_speed_mph_with_decoration import VehicleStatsEcuSpeedMphWithDecoration
@@ -5588,6 +5650,8 @@ if typing.TYPE_CHECKING:
5588
5650
  from .vehicle_stats_obd_odometer_meters_with_decoration import VehicleStatsObdOdometerMetersWithDecoration
5589
5651
  from .vehicle_stats_response import VehicleStatsResponse
5590
5652
  from .vehicle_stats_response_data import VehicleStatsResponseData
5653
+ from .vehicle_stats_response_ecu_door_status import VehicleStatsResponseEcuDoorStatus
5654
+ from .vehicle_stats_response_ecu_door_status_value import VehicleStatsResponseEcuDoorStatusValue
5591
5655
  from .vehicle_stats_response_ev_average_battery_temperature_milli_celsius import (
5592
5656
  VehicleStatsResponseEvAverageBatteryTemperatureMilliCelsius,
5593
5657
  )
@@ -5642,6 +5706,7 @@ if typing.TYPE_CHECKING:
5642
5706
  from .vehicle_stats_spreader_road_temp import VehicleStatsSpreaderRoadTemp
5643
5707
  from .vehicle_stats_synthetic_engine_seconds import VehicleStatsSyntheticEngineSeconds
5644
5708
  from .vehicle_stats_synthetic_engine_seconds_value import VehicleStatsSyntheticEngineSecondsValue
5709
+ from .vehicle_stats_time import VehicleStatsTime
5645
5710
  from .vehicle_stats_tire_pressures import VehicleStatsTirePressures
5646
5711
  from .vehicle_summary import VehicleSummary
5647
5712
  from .vehicle_tags import VehicleTags
@@ -6514,6 +6579,7 @@ _dynamic_imports: typing.Dict[str, str] = {
6514
6579
  "DocumentsPostDocumentServiceUnavailableErrorResponseBody": ".documents_post_document_service_unavailable_error_response_body",
6515
6580
  "DocumentsPostDocumentTooManyRequestsErrorResponseBody": ".documents_post_document_too_many_requests_error_response_body",
6516
6581
  "DocumentsPostDocumentUnauthorizedErrorResponseBody": ".documents_post_document_unauthorized_error_response_body",
6582
+ "DoorOpenResponseBody": ".door_open_response_body",
6517
6583
  "DriveTimeDurationMs": ".drive_time_duration_ms",
6518
6584
  "Driver": ".driver",
6519
6585
  "DriverActivationStatus": ".driver_activation_status",
@@ -7941,6 +8007,11 @@ _dynamic_imports: typing.Dict[str, str] = {
7941
8007
  "ReverseGeoObjectResponseBody": ".reverse_geo_object_response_body",
7942
8008
  "RollingStopDetectionAlertSettingsObjectResponseBody": ".rolling_stop_detection_alert_settings_object_response_body",
7943
8009
  "RouteChangesResponseBody": ".route_changes_response_body",
8010
+ "RouteEventDetailsResponseBody": ".route_event_details_response_body",
8011
+ "RouteEventResponseResponseBody": ".route_event_response_response_body",
8012
+ "RouteEventResponseResponseBodyEventType": ".route_event_response_response_body_event_type",
8013
+ "RouteEventRouteResponseResponseBody": ".route_event_route_response_response_body",
8014
+ "RouteEventStopResponseResponseBody": ".route_event_stop_response_response_body",
7944
8015
  "RouteFeedObjectResponseBody": ".route_feed_object_response_body",
7945
8016
  "RouteFeedObjectResponseBodyOperation": ".route_feed_object_response_body_operation",
7946
8017
  "RouteFeedObjectResponseBodySource": ".route_feed_object_response_body_source",
@@ -7996,6 +8067,16 @@ _dynamic_imports: typing.Dict[str, str] = {
7996
8067
  "RoutesFetchRoutesServiceUnavailableErrorResponseBody": ".routes_fetch_routes_service_unavailable_error_response_body",
7997
8068
  "RoutesFetchRoutesTooManyRequestsErrorResponseBody": ".routes_fetch_routes_too_many_requests_error_response_body",
7998
8069
  "RoutesFetchRoutesUnauthorizedErrorResponseBody": ".routes_fetch_routes_unauthorized_error_response_body",
8070
+ "RoutesGetRouteEventsStreamBadGatewayErrorResponseBody": ".routes_get_route_events_stream_bad_gateway_error_response_body",
8071
+ "RoutesGetRouteEventsStreamGatewayTimeoutErrorResponseBody": ".routes_get_route_events_stream_gateway_timeout_error_response_body",
8072
+ "RoutesGetRouteEventsStreamInternalServerErrorResponseBody": ".routes_get_route_events_stream_internal_server_error_response_body",
8073
+ "RoutesGetRouteEventsStreamMethodNotAllowedErrorResponseBody": ".routes_get_route_events_stream_method_not_allowed_error_response_body",
8074
+ "RoutesGetRouteEventsStreamNotFoundErrorResponseBody": ".routes_get_route_events_stream_not_found_error_response_body",
8075
+ "RoutesGetRouteEventsStreamNotImplementedErrorResponseBody": ".routes_get_route_events_stream_not_implemented_error_response_body",
8076
+ "RoutesGetRouteEventsStreamResponseBody": ".routes_get_route_events_stream_response_body",
8077
+ "RoutesGetRouteEventsStreamServiceUnavailableErrorResponseBody": ".routes_get_route_events_stream_service_unavailable_error_response_body",
8078
+ "RoutesGetRouteEventsStreamTooManyRequestsErrorResponseBody": ".routes_get_route_events_stream_too_many_requests_error_response_body",
8079
+ "RoutesGetRouteEventsStreamUnauthorizedErrorResponseBody": ".routes_get_route_events_stream_unauthorized_error_response_body",
7999
8080
  "RoutesGetRoutesFeedBadGatewayErrorResponseBody": ".routes_get_routes_feed_bad_gateway_error_response_body",
8000
8081
  "RoutesGetRoutesFeedGatewayTimeoutErrorResponseBody": ".routes_get_routes_feed_gateway_timeout_error_response_body",
8001
8082
  "RoutesGetRoutesFeedInternalServerErrorResponseBody": ".routes_get_routes_feed_internal_server_error_response_body",
@@ -8036,8 +8117,10 @@ _dynamic_imports: typing.Dict[str, str] = {
8036
8117
  "SafetyEventDownloadForwardVideoUrl": ".safety_event_download_forward_video_url",
8037
8118
  "SafetyEventDownloadInwardVideoUrl": ".safety_event_download_inward_video_url",
8038
8119
  "SafetyEventDownloadTrackedInwardVideoUrl": ".safety_event_download_tracked_inward_video_url",
8120
+ "SafetyEventDriver": ".safety_event_driver",
8039
8121
  "SafetyEventDriverObjectResponseBody": ".safety_event_driver_object_response_body",
8040
8122
  "SafetyEventId": ".safety_event_id",
8123
+ "SafetyEventLocation": ".safety_event_location",
8041
8124
  "SafetyEventMaxAccelerationGForce": ".safety_event_max_acceleration_g_force",
8042
8125
  "SafetyEventObjectResponseBody": ".safety_event_object_response_body",
8043
8126
  "SafetyEventTime": ".safety_event_time",
@@ -8050,6 +8133,7 @@ _dynamic_imports: typing.Dict[str, str] = {
8050
8133
  "SafetyEventV2DriverObjectResponseBody": ".safety_event_v_2_driver_object_response_body",
8051
8134
  "SafetyEventV2ObjectResponseBody": ".safety_event_v_2_object_response_body",
8052
8135
  "SafetyEventV2ObjectResponseBodyEventState": ".safety_event_v_2_object_response_body_event_state",
8136
+ "SafetyEventVehicle": ".safety_event_vehicle",
8053
8137
  "SafetyEventVehicleObjectResponseBody": ".safety_event_vehicle_object_response_body",
8054
8138
  "SafetyEventsGetSafetyActivityEventFeedBadGatewayErrorResponseBody": ".safety_events_get_safety_activity_event_feed_bad_gateway_error_response_body",
8055
8139
  "SafetyEventsGetSafetyActivityEventFeedGatewayTimeoutErrorResponseBody": ".safety_events_get_safety_activity_event_feed_gateway_timeout_error_response_body",
@@ -8265,6 +8349,11 @@ _dynamic_imports: typing.Dict[str, str] = {
8265
8349
  "SpeedingSeverityLevelResponseBodySeverityLevel": ".speeding_severity_level_response_body_severity_level",
8266
8350
  "StandardDeleteResponse": ".standard_delete_response",
8267
8351
  "StartFunctionRunResponseBodyResponseBody": ".start_function_run_response_body_response_body",
8352
+ "StopEtaUpdatedEventDetailsResponseBody": ".stop_eta_updated_event_details_response_body",
8353
+ "StopTaskCompletedEventDetailsResponseBody": ".stop_task_completed_event_details_response_body",
8354
+ "StopTaskCompletedEventDetailsResponseBodyTaskType": ".stop_task_completed_event_details_response_body_task_type",
8355
+ "StopTaskSkippedEventDetailsResponseBody": ".stop_task_skipped_event_details_response_body",
8356
+ "StopTaskSkippedEventDetailsResponseBodyTaskType": ".stop_task_skipped_event_details_response_body_task_type",
8268
8357
  "StringDataPoint": ".string_data_point",
8269
8358
  "SuddenFuelLevelDropResponseBody": ".sudden_fuel_level_drop_response_body",
8270
8359
  "SuddenFuelLevelDropTriggerDetailsObjectRequestBody": ".sudden_fuel_level_drop_trigger_details_object_request_body",
@@ -8736,6 +8825,19 @@ _dynamic_imports: typing.Dict[str, str] = {
8736
8825
  "VehicleAssignmentObjectResponseBody": ".vehicle_assignment_object_response_body",
8737
8826
  "VehicleAuxInputName": ".vehicle_aux_input_name",
8738
8827
  "VehicleAuxInputType": ".vehicle_aux_input_type",
8828
+ "VehicleAuxInputType1": ".vehicle_aux_input_type_1",
8829
+ "VehicleAuxInputType10": ".vehicle_aux_input_type_10",
8830
+ "VehicleAuxInputType11": ".vehicle_aux_input_type_11",
8831
+ "VehicleAuxInputType12": ".vehicle_aux_input_type_12",
8832
+ "VehicleAuxInputType13": ".vehicle_aux_input_type_13",
8833
+ "VehicleAuxInputType2": ".vehicle_aux_input_type_2",
8834
+ "VehicleAuxInputType3": ".vehicle_aux_input_type_3",
8835
+ "VehicleAuxInputType4": ".vehicle_aux_input_type_4",
8836
+ "VehicleAuxInputType5": ".vehicle_aux_input_type_5",
8837
+ "VehicleAuxInputType6": ".vehicle_aux_input_type_6",
8838
+ "VehicleAuxInputType7": ".vehicle_aux_input_type_7",
8839
+ "VehicleAuxInputType8": ".vehicle_aux_input_type_8",
8840
+ "VehicleAuxInputType9": ".vehicle_aux_input_type_9",
8739
8841
  "VehicleBatterVoltageDetailsObjectRequestBody": ".vehicle_batter_voltage_details_object_request_body",
8740
8842
  "VehicleBatterVoltageDetailsObjectRequestBodyOperation": ".vehicle_batter_voltage_details_object_request_body_operation",
8741
8843
  "VehicleBatterVoltageDetailsObjectResponseBody": ".vehicle_batter_voltage_details_object_response_body",
@@ -8758,7 +8860,9 @@ _dynamic_imports: typing.Dict[str, str] = {
8758
8860
  "VehicleLocationIsEcuSpeed": ".vehicle_location_is_ecu_speed",
8759
8861
  "VehicleLocationLatitude": ".vehicle_location_latitude",
8760
8862
  "VehicleLocationLongitude": ".vehicle_location_longitude",
8863
+ "VehicleLocationReverseGeo": ".vehicle_location_reverse_geo",
8761
8864
  "VehicleLocationSpeed": ".vehicle_location_speed",
8865
+ "VehicleLocationTime": ".vehicle_location_time",
8762
8866
  "VehicleLocationsListResponse": ".vehicle_locations_list_response",
8763
8867
  "VehicleLocationsListResponseData": ".vehicle_locations_list_response_data",
8764
8868
  "VehicleLocationsResponse": ".vehicle_locations_response",
@@ -8785,6 +8889,7 @@ _dynamic_imports: typing.Dict[str, str] = {
8785
8889
  "VehicleSensorConfigurationDoorResponseBody": ".vehicle_sensor_configuration_door_response_body",
8786
8890
  "VehicleSensorConfigurationDoorResponseBodyPosition": ".vehicle_sensor_configuration_door_response_body_position",
8787
8891
  "VehicleSensorConfigurationResponseBody": ".vehicle_sensor_configuration_response_body",
8892
+ "VehicleStaticAssignedDriver": ".vehicle_static_assigned_driver",
8788
8893
  "VehicleStatsAmbientAirTempMilliC": ".vehicle_stats_ambient_air_temp_milli_c",
8789
8894
  "VehicleStatsAmbientAirTempMilliCValue": ".vehicle_stats_ambient_air_temp_milli_c_value",
8790
8895
  "VehicleStatsAmbientAirTempMilliCWithDecoration": ".vehicle_stats_ambient_air_temp_milli_c_with_decoration",
@@ -8823,6 +8928,8 @@ _dynamic_imports: typing.Dict[str, str] = {
8823
8928
  "VehicleStatsDefLevelMilliPercent": ".vehicle_stats_def_level_milli_percent",
8824
8929
  "VehicleStatsDefLevelMilliPercentValue": ".vehicle_stats_def_level_milli_percent_value",
8825
8930
  "VehicleStatsDefLevelMilliPercentWithDecoration": ".vehicle_stats_def_level_milli_percent_with_decoration",
8931
+ "VehicleStatsEcuDoorStatus": ".vehicle_stats_ecu_door_status",
8932
+ "VehicleStatsEcuDoorStatusValue": ".vehicle_stats_ecu_door_status_value",
8826
8933
  "VehicleStatsEcuSpeedMph": ".vehicle_stats_ecu_speed_mph",
8827
8934
  "VehicleStatsEcuSpeedMphValue": ".vehicle_stats_ecu_speed_mph_value",
8828
8935
  "VehicleStatsEcuSpeedMphWithDecoration": ".vehicle_stats_ecu_speed_mph_with_decoration",
@@ -8932,6 +9039,8 @@ _dynamic_imports: typing.Dict[str, str] = {
8932
9039
  "VehicleStatsObdOdometerMetersWithDecoration": ".vehicle_stats_obd_odometer_meters_with_decoration",
8933
9040
  "VehicleStatsResponse": ".vehicle_stats_response",
8934
9041
  "VehicleStatsResponseData": ".vehicle_stats_response_data",
9042
+ "VehicleStatsResponseEcuDoorStatus": ".vehicle_stats_response_ecu_door_status",
9043
+ "VehicleStatsResponseEcuDoorStatusValue": ".vehicle_stats_response_ecu_door_status_value",
8935
9044
  "VehicleStatsResponseEvAverageBatteryTemperatureMilliCelsius": ".vehicle_stats_response_ev_average_battery_temperature_milli_celsius",
8936
9045
  "VehicleStatsResponseEvBatteryCurrentMilliAmp": ".vehicle_stats_response_ev_battery_current_milli_amp",
8937
9046
  "VehicleStatsResponseEvBatteryStateOfHealthMilliPercent": ".vehicle_stats_response_ev_battery_state_of_health_milli_percent",
@@ -8982,6 +9091,7 @@ _dynamic_imports: typing.Dict[str, str] = {
8982
9091
  "VehicleStatsSpreaderRoadTemp": ".vehicle_stats_spreader_road_temp",
8983
9092
  "VehicleStatsSyntheticEngineSeconds": ".vehicle_stats_synthetic_engine_seconds",
8984
9093
  "VehicleStatsSyntheticEngineSecondsValue": ".vehicle_stats_synthetic_engine_seconds_value",
9094
+ "VehicleStatsTime": ".vehicle_stats_time",
8985
9095
  "VehicleStatsTirePressures": ".vehicle_stats_tire_pressures",
8986
9096
  "VehicleSummary": ".vehicle_summary",
8987
9097
  "VehicleTags": ".vehicle_tags",
@@ -9622,6 +9732,7 @@ __all__ = [
9622
9732
  "DocumentsPostDocumentServiceUnavailableErrorResponseBody",
9623
9733
  "DocumentsPostDocumentTooManyRequestsErrorResponseBody",
9624
9734
  "DocumentsPostDocumentUnauthorizedErrorResponseBody",
9735
+ "DoorOpenResponseBody",
9625
9736
  "DriveTimeDurationMs",
9626
9737
  "Driver",
9627
9738
  "DriverActivationStatus",
@@ -11049,6 +11160,11 @@ __all__ = [
11049
11160
  "ReverseGeoObjectResponseBody",
11050
11161
  "RollingStopDetectionAlertSettingsObjectResponseBody",
11051
11162
  "RouteChangesResponseBody",
11163
+ "RouteEventDetailsResponseBody",
11164
+ "RouteEventResponseResponseBody",
11165
+ "RouteEventResponseResponseBodyEventType",
11166
+ "RouteEventRouteResponseResponseBody",
11167
+ "RouteEventStopResponseResponseBody",
11052
11168
  "RouteFeedObjectResponseBody",
11053
11169
  "RouteFeedObjectResponseBodyOperation",
11054
11170
  "RouteFeedObjectResponseBodySource",
@@ -11104,6 +11220,16 @@ __all__ = [
11104
11220
  "RoutesFetchRoutesServiceUnavailableErrorResponseBody",
11105
11221
  "RoutesFetchRoutesTooManyRequestsErrorResponseBody",
11106
11222
  "RoutesFetchRoutesUnauthorizedErrorResponseBody",
11223
+ "RoutesGetRouteEventsStreamBadGatewayErrorResponseBody",
11224
+ "RoutesGetRouteEventsStreamGatewayTimeoutErrorResponseBody",
11225
+ "RoutesGetRouteEventsStreamInternalServerErrorResponseBody",
11226
+ "RoutesGetRouteEventsStreamMethodNotAllowedErrorResponseBody",
11227
+ "RoutesGetRouteEventsStreamNotFoundErrorResponseBody",
11228
+ "RoutesGetRouteEventsStreamNotImplementedErrorResponseBody",
11229
+ "RoutesGetRouteEventsStreamResponseBody",
11230
+ "RoutesGetRouteEventsStreamServiceUnavailableErrorResponseBody",
11231
+ "RoutesGetRouteEventsStreamTooManyRequestsErrorResponseBody",
11232
+ "RoutesGetRouteEventsStreamUnauthorizedErrorResponseBody",
11107
11233
  "RoutesGetRoutesFeedBadGatewayErrorResponseBody",
11108
11234
  "RoutesGetRoutesFeedGatewayTimeoutErrorResponseBody",
11109
11235
  "RoutesGetRoutesFeedInternalServerErrorResponseBody",
@@ -11144,8 +11270,10 @@ __all__ = [
11144
11270
  "SafetyEventDownloadForwardVideoUrl",
11145
11271
  "SafetyEventDownloadInwardVideoUrl",
11146
11272
  "SafetyEventDownloadTrackedInwardVideoUrl",
11273
+ "SafetyEventDriver",
11147
11274
  "SafetyEventDriverObjectResponseBody",
11148
11275
  "SafetyEventId",
11276
+ "SafetyEventLocation",
11149
11277
  "SafetyEventMaxAccelerationGForce",
11150
11278
  "SafetyEventObjectResponseBody",
11151
11279
  "SafetyEventTime",
@@ -11158,6 +11286,7 @@ __all__ = [
11158
11286
  "SafetyEventV2DriverObjectResponseBody",
11159
11287
  "SafetyEventV2ObjectResponseBody",
11160
11288
  "SafetyEventV2ObjectResponseBodyEventState",
11289
+ "SafetyEventVehicle",
11161
11290
  "SafetyEventVehicleObjectResponseBody",
11162
11291
  "SafetyEventsGetSafetyActivityEventFeedBadGatewayErrorResponseBody",
11163
11292
  "SafetyEventsGetSafetyActivityEventFeedGatewayTimeoutErrorResponseBody",
@@ -11373,6 +11502,11 @@ __all__ = [
11373
11502
  "SpeedingSeverityLevelResponseBodySeverityLevel",
11374
11503
  "StandardDeleteResponse",
11375
11504
  "StartFunctionRunResponseBodyResponseBody",
11505
+ "StopEtaUpdatedEventDetailsResponseBody",
11506
+ "StopTaskCompletedEventDetailsResponseBody",
11507
+ "StopTaskCompletedEventDetailsResponseBodyTaskType",
11508
+ "StopTaskSkippedEventDetailsResponseBody",
11509
+ "StopTaskSkippedEventDetailsResponseBodyTaskType",
11376
11510
  "StringDataPoint",
11377
11511
  "SuddenFuelLevelDropResponseBody",
11378
11512
  "SuddenFuelLevelDropTriggerDetailsObjectRequestBody",
@@ -11844,6 +11978,19 @@ __all__ = [
11844
11978
  "VehicleAssignmentObjectResponseBody",
11845
11979
  "VehicleAuxInputName",
11846
11980
  "VehicleAuxInputType",
11981
+ "VehicleAuxInputType1",
11982
+ "VehicleAuxInputType10",
11983
+ "VehicleAuxInputType11",
11984
+ "VehicleAuxInputType12",
11985
+ "VehicleAuxInputType13",
11986
+ "VehicleAuxInputType2",
11987
+ "VehicleAuxInputType3",
11988
+ "VehicleAuxInputType4",
11989
+ "VehicleAuxInputType5",
11990
+ "VehicleAuxInputType6",
11991
+ "VehicleAuxInputType7",
11992
+ "VehicleAuxInputType8",
11993
+ "VehicleAuxInputType9",
11847
11994
  "VehicleBatterVoltageDetailsObjectRequestBody",
11848
11995
  "VehicleBatterVoltageDetailsObjectRequestBodyOperation",
11849
11996
  "VehicleBatterVoltageDetailsObjectResponseBody",
@@ -11866,7 +12013,9 @@ __all__ = [
11866
12013
  "VehicleLocationIsEcuSpeed",
11867
12014
  "VehicleLocationLatitude",
11868
12015
  "VehicleLocationLongitude",
12016
+ "VehicleLocationReverseGeo",
11869
12017
  "VehicleLocationSpeed",
12018
+ "VehicleLocationTime",
11870
12019
  "VehicleLocationsListResponse",
11871
12020
  "VehicleLocationsListResponseData",
11872
12021
  "VehicleLocationsResponse",
@@ -11893,6 +12042,7 @@ __all__ = [
11893
12042
  "VehicleSensorConfigurationDoorResponseBody",
11894
12043
  "VehicleSensorConfigurationDoorResponseBodyPosition",
11895
12044
  "VehicleSensorConfigurationResponseBody",
12045
+ "VehicleStaticAssignedDriver",
11896
12046
  "VehicleStatsAmbientAirTempMilliC",
11897
12047
  "VehicleStatsAmbientAirTempMilliCValue",
11898
12048
  "VehicleStatsAmbientAirTempMilliCWithDecoration",
@@ -11931,6 +12081,8 @@ __all__ = [
11931
12081
  "VehicleStatsDefLevelMilliPercent",
11932
12082
  "VehicleStatsDefLevelMilliPercentValue",
11933
12083
  "VehicleStatsDefLevelMilliPercentWithDecoration",
12084
+ "VehicleStatsEcuDoorStatus",
12085
+ "VehicleStatsEcuDoorStatusValue",
11934
12086
  "VehicleStatsEcuSpeedMph",
11935
12087
  "VehicleStatsEcuSpeedMphValue",
11936
12088
  "VehicleStatsEcuSpeedMphWithDecoration",
@@ -12040,6 +12192,8 @@ __all__ = [
12040
12192
  "VehicleStatsObdOdometerMetersWithDecoration",
12041
12193
  "VehicleStatsResponse",
12042
12194
  "VehicleStatsResponseData",
12195
+ "VehicleStatsResponseEcuDoorStatus",
12196
+ "VehicleStatsResponseEcuDoorStatusValue",
12043
12197
  "VehicleStatsResponseEvAverageBatteryTemperatureMilliCelsius",
12044
12198
  "VehicleStatsResponseEvBatteryCurrentMilliAmp",
12045
12199
  "VehicleStatsResponseEvBatteryStateOfHealthMilliPercent",
@@ -12090,6 +12244,7 @@ __all__ = [
12090
12244
  "VehicleStatsSpreaderRoadTemp",
12091
12245
  "VehicleStatsSyntheticEngineSeconds",
12092
12246
  "VehicleStatsSyntheticEngineSecondsValue",
12247
+ "VehicleStatsTime",
12093
12248
  "VehicleStatsTirePressures",
12094
12249
  "VehicleSummary",
12095
12250
  "VehicleTags",
@@ -0,0 +1,28 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .alert_object_driver_response_body import AlertObjectDriverResponseBody
8
+ from .alert_object_trailer_response_body import AlertObjectTrailerResponseBody
9
+ from .alert_object_vehicle_response_body import AlertObjectVehicleResponseBody
10
+
11
+
12
+ class DoorOpenResponseBody(UniversalBaseModel):
13
+ """
14
+ Details specific to Door Open.
15
+ """
16
+
17
+ driver: typing.Optional[AlertObjectDriverResponseBody] = None
18
+ trailer: typing.Optional[AlertObjectTrailerResponseBody] = None
19
+ vehicle: typing.Optional[AlertObjectVehicleResponseBody] = None
20
+
21
+ if IS_PYDANTIC_V2:
22
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
23
+ else:
24
+
25
+ class Config:
26
+ frozen = True
27
+ smart_union = True
28
+ extra = pydantic.Extra.allow
@@ -0,0 +1,36 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ..core.serialization import FieldMetadata
9
+ from .stop_eta_updated_event_details_response_body import StopEtaUpdatedEventDetailsResponseBody
10
+ from .stop_task_completed_event_details_response_body import StopTaskCompletedEventDetailsResponseBody
11
+ from .stop_task_skipped_event_details_response_body import StopTaskSkippedEventDetailsResponseBody
12
+
13
+
14
+ class RouteEventDetailsResponseBody(UniversalBaseModel):
15
+ """
16
+ Contains additional information specific to the event type.
17
+ """
18
+
19
+ stop_eta_updated: typing_extensions.Annotated[
20
+ typing.Optional[StopEtaUpdatedEventDetailsResponseBody], FieldMetadata(alias="stopEtaUpdated")
21
+ ] = None
22
+ stop_task_completed: typing_extensions.Annotated[
23
+ typing.Optional[StopTaskCompletedEventDetailsResponseBody], FieldMetadata(alias="stopTaskCompleted")
24
+ ] = None
25
+ stop_task_skipped: typing_extensions.Annotated[
26
+ typing.Optional[StopTaskSkippedEventDetailsResponseBody], FieldMetadata(alias="stopTaskSkipped")
27
+ ] = None
28
+
29
+ if IS_PYDANTIC_V2:
30
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
31
+ else:
32
+
33
+ class Config:
34
+ frozen = True
35
+ smart_union = True
36
+ extra = pydantic.Extra.allow
@@ -0,0 +1,56 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ import pydantic
7
+ import typing_extensions
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
+ from ..core.serialization import FieldMetadata
10
+ from .route_event_details_response_body import RouteEventDetailsResponseBody
11
+ from .route_event_response_response_body_event_type import RouteEventResponseResponseBodyEventType
12
+ from .route_event_route_response_response_body import RouteEventRouteResponseResponseBody
13
+ from .route_event_stop_response_response_body import RouteEventStopResponseResponseBody
14
+
15
+
16
+ class RouteEventResponseResponseBody(UniversalBaseModel):
17
+ """
18
+ A single route event.
19
+ """
20
+
21
+ event_details: typing_extensions.Annotated[
22
+ typing.Optional[RouteEventDetailsResponseBody], FieldMetadata(alias="eventDetails")
23
+ ] = None
24
+ event_time: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="eventTime")] = pydantic.Field()
25
+ """
26
+ Time the event was processed in RFC 3339 format
27
+ """
28
+
29
+ event_type: typing_extensions.Annotated[
30
+ RouteEventResponseResponseBodyEventType, FieldMetadata(alias="eventType")
31
+ ] = pydantic.Field()
32
+ """
33
+ Type of the event that occurred. Valid values: `stopArrived`, `stopCompleted`, `stopEnRoute`, `stopSkipped`, `stopTaskCompleted`, `stopTaskSkipped`, `stopEtaUpdated`, `unspecified`
34
+ """
35
+
36
+ happened_at_time: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="happenedAtTime")] = pydantic.Field()
37
+ """
38
+ Time the event happened in RFC 3339 format
39
+ """
40
+
41
+ id: str = pydantic.Field()
42
+ """
43
+ Unique ID of the route event.
44
+ """
45
+
46
+ route: RouteEventRouteResponseResponseBody
47
+ stop: typing.Optional[RouteEventStopResponseResponseBody] = None
48
+
49
+ if IS_PYDANTIC_V2:
50
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
51
+ else:
52
+
53
+ class Config:
54
+ frozen = True
55
+ smart_union = True
56
+ extra = pydantic.Extra.allow
@@ -0,0 +1,17 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ RouteEventResponseResponseBodyEventType = typing.Union[
6
+ typing.Literal[
7
+ "stopArrived",
8
+ "stopCompleted",
9
+ "stopEnRoute",
10
+ "stopSkipped",
11
+ "stopTaskCompleted",
12
+ "stopTaskSkipped",
13
+ "stopEtaUpdated",
14
+ "unspecified",
15
+ ],
16
+ typing.Any,
17
+ ]
@@ -0,0 +1,35 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ..core.serialization import FieldMetadata
9
+
10
+
11
+ class RouteEventRouteResponseResponseBody(UniversalBaseModel):
12
+ """
13
+ Normalized route object this event belongs to.
14
+ """
15
+
16
+ external_ids: typing_extensions.Annotated[
17
+ typing.Optional[typing.Dict[str, str]], FieldMetadata(alias="externalIds")
18
+ ] = pydantic.Field(default=None)
19
+ """
20
+ A map of external ids
21
+ """
22
+
23
+ id: str = pydantic.Field()
24
+ """
25
+ ID of the route this event belongs to.
26
+ """
27
+
28
+ if IS_PYDANTIC_V2:
29
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
30
+ else:
31
+
32
+ class Config:
33
+ frozen = True
34
+ smart_union = True
35
+ extra = pydantic.Extra.allow
@@ -0,0 +1,35 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ..core.serialization import FieldMetadata
9
+
10
+
11
+ class RouteEventStopResponseResponseBody(UniversalBaseModel):
12
+ """
13
+ Normalized stop object this event belongs to.
14
+ """
15
+
16
+ external_ids: typing_extensions.Annotated[
17
+ typing.Optional[typing.Dict[str, str]], FieldMetadata(alias="externalIds")
18
+ ] = pydantic.Field(default=None)
19
+ """
20
+ A map of external ids
21
+ """
22
+
23
+ id: str = pydantic.Field()
24
+ """
25
+ ID of the stop this event belongs to.
26
+ """
27
+
28
+ if IS_PYDANTIC_V2:
29
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
30
+ else:
31
+
32
+ class Config:
33
+ frozen = True
34
+ smart_union = True
35
+ extra = pydantic.Extra.allow
@@ -0,0 +1,33 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ..core.serialization import FieldMetadata
9
+
10
+
11
+ class RoutesGetRouteEventsStreamBadGatewayErrorResponseBody(UniversalBaseModel):
12
+ """
13
+ Bad Gateway
14
+ """
15
+
16
+ message: str = pydantic.Field()
17
+ """
18
+ Message of error
19
+ """
20
+
21
+ request_id: typing_extensions.Annotated[str, FieldMetadata(alias="requestId")] = pydantic.Field()
22
+ """
23
+ The request ID; used when reaching out to support for issues with requests.
24
+ """
25
+
26
+ if IS_PYDANTIC_V2:
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
+ else:
29
+
30
+ class Config:
31
+ frozen = True
32
+ smart_union = True
33
+ extra = pydantic.Extra.allow