samsara-api 4.2.0__py3-none-any.whl → 4.3.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 (159) hide show
  1. samsara/__init__.py +69 -9
  2. samsara/addresses/client.py +7 -14
  3. samsara/addresses/raw_client.py +7 -11
  4. samsara/alerts/client.py +2 -10
  5. samsara/alerts/raw_client.py +180 -180
  6. samsara/assets/__init__.py +3 -3
  7. samsara/assets/client.py +14 -45
  8. samsara/assets/raw_client.py +156 -160
  9. samsara/assets/types/__init__.py +3 -3
  10. samsara/assets/types/{assets_list_request_type.py → list_assets_request_type.py} +1 -1
  11. samsara/attributes/client.py +0 -4
  12. samsara/beta_ap_is/client.py +137 -187
  13. samsara/beta_ap_is/raw_client.py +2035 -1702
  14. samsara/carrier_proposed_assignments/client.py +2 -10
  15. samsara/client.py +5 -0
  16. samsara/coaching/client.py +2 -22
  17. samsara/coaching/raw_client.py +108 -108
  18. samsara/contacts/client.py +2 -8
  19. samsara/core/__init__.py +5 -0
  20. samsara/core/client_wrapper.py +18 -10
  21. samsara/core/custom_pagination.py +152 -0
  22. samsara/core/http_client.py +176 -90
  23. samsara/core/http_sse/__init__.py +42 -0
  24. samsara/core/http_sse/_api.py +112 -0
  25. samsara/core/http_sse/_decoders.py +61 -0
  26. samsara/core/http_sse/_exceptions.py +7 -0
  27. samsara/core/http_sse/_models.py +17 -0
  28. samsara/core/pagination.py +14 -14
  29. samsara/core/pydantic_utilities.py +3 -1
  30. samsara/documents/client.py +2 -12
  31. samsara/documents/raw_client.py +180 -180
  32. samsara/driver_qr_codes/raw_client.py +108 -108
  33. samsara/driver_vehicle_assignments/client.py +0 -12
  34. samsara/driver_vehicle_assignments/raw_client.py +144 -144
  35. samsara/drivers/__init__.py +3 -3
  36. samsara/drivers/client.py +12 -23
  37. samsara/drivers/raw_client.py +48 -52
  38. samsara/drivers/types/__init__.py +3 -3
  39. samsara/drivers/types/{drivers_list_request_driver_activation_status.py → list_drivers_request_driver_activation_status.py} +1 -1
  40. samsara/equipment/client.py +6 -22
  41. samsara/errors/bad_gateway_error.py +1 -1
  42. samsara/errors/gateway_timeout_error.py +1 -1
  43. samsara/errors/internal_server_error.py +1 -1
  44. samsara/errors/method_not_allowed_error.py +1 -1
  45. samsara/errors/not_found_error.py +1 -1
  46. samsara/errors/not_implemented_error.py +1 -1
  47. samsara/errors/service_unavailable_error.py +1 -1
  48. samsara/errors/too_many_requests_error.py +1 -1
  49. samsara/errors/unauthorized_error.py +1 -1
  50. samsara/forms/__init__.py +9 -3
  51. samsara/forms/client.py +17 -10
  52. samsara/forms/raw_client.py +265 -254
  53. samsara/forms/types/__init__.py +6 -2
  54. samsara/forms/types/form_submissions_post_form_submission_request_body_status.py +5 -0
  55. samsara/fuel_and_energy/client.py +0 -30
  56. samsara/fuel_and_energy/raw_client.py +180 -180
  57. samsara/gateways/client.py +2 -6
  58. samsara/gateways/raw_client.py +108 -108
  59. samsara/hours_of_service/__init__.py +6 -3
  60. samsara/hours_of_service/client.py +13 -52
  61. samsara/hours_of_service/raw_client.py +77 -76
  62. samsara/hours_of_service/types/__init__.py +4 -2
  63. samsara/hours_of_service/types/get_hos_daily_logs_request_expand.py +5 -0
  64. samsara/hubs/client.py +2 -94
  65. samsara/hubs/raw_client.py +216 -216
  66. samsara/idling/client.py +0 -18
  67. samsara/idling/raw_client.py +36 -36
  68. samsara/ifta/client.py +4 -34
  69. samsara/ifta/raw_client.py +144 -144
  70. samsara/industrial/client.py +12 -56
  71. samsara/industrial/raw_client.py +40 -48
  72. samsara/issues/client.py +0 -4
  73. samsara/issues/raw_client.py +108 -108
  74. samsara/legacy_ap_is/client.py +4 -56
  75. samsara/legacy_ap_is/raw_client.py +108 -108
  76. samsara/live_sharing_links/client.py +2 -10
  77. samsara/live_sharing_links/raw_client.py +144 -144
  78. samsara/location_and_speed/client.py +2 -20
  79. samsara/location_and_speed/raw_client.py +36 -36
  80. samsara/maintenance/__init__.py +3 -3
  81. samsara/maintenance/client.py +15 -30
  82. samsara/maintenance/raw_client.py +191 -182
  83. samsara/maintenance/types/__init__.py +6 -2
  84. samsara/maintenance/types/create_dvir_request_type.py +5 -0
  85. samsara/media/client.py +0 -4
  86. samsara/media/raw_client.py +108 -108
  87. samsara/messages/client.py +2 -8
  88. samsara/plans/client.py +0 -21
  89. samsara/plans/raw_client.py +72 -72
  90. samsara/preview_ap_is/client.py +0 -140
  91. samsara/preview_ap_is/raw_client.py +72 -430
  92. samsara/route_events/client.py +2 -12
  93. samsara/route_events/raw_client.py +36 -36
  94. samsara/routes/__init__.py +30 -0
  95. samsara/routes/client.py +7 -35
  96. samsara/routes/raw_client.py +257 -256
  97. samsara/routes/types/__init__.py +34 -0
  98. samsara/routes/types/get_routes_feed_request_expand.py +5 -0
  99. samsara/safety/client.py +2 -10
  100. samsara/safety/raw_client.py +36 -36
  101. samsara/settings/raw_client.py +180 -180
  102. samsara/speeding_intervals/raw_client.py +36 -36
  103. samsara/tachograph_eu_only/client.py +0 -6
  104. samsara/tags/client.py +2 -8
  105. samsara/trailer_assignments/client.py +2 -18
  106. samsara/trailers/client.py +2 -12
  107. samsara/trailers/raw_client.py +180 -180
  108. samsara/types/__init__.py +54 -0
  109. samsara/types/create_routes_stop_request_object_request_body.py +7 -0
  110. samsara/types/driver_assignment_object_response_body.py +2 -1
  111. samsara/types/driver_assignment_object_response_body_assignment_type.py +5 -0
  112. samsara/types/driver_external_ids.py +1 -1
  113. samsara/types/forms_approval_config_object_response_body.py +2 -1
  114. samsara/types/forms_approval_config_object_response_body_type.py +5 -0
  115. samsara/types/fuel_level_trigger_details_object_request_body.py +2 -1
  116. samsara/types/fuel_level_trigger_details_object_request_body_operation.py +5 -0
  117. samsara/types/fuel_level_trigger_details_object_response_body.py +4 -1
  118. samsara/types/fuel_level_trigger_details_object_response_body_operation.py +5 -0
  119. samsara/types/idling_event_object_v_20251023_response_body.py +4 -3
  120. samsara/types/idling_event_object_v_20251023_response_body_pto_state.py +5 -0
  121. samsara/types/patch_issue_request_body_assigned_to_request_body.py +2 -1
  122. samsara/types/patch_issue_request_body_assigned_to_request_body_type.py +5 -0
  123. samsara/types/reading_datapoint_request_body.py +5 -4
  124. samsara/types/reading_datapoint_request_body_entity_type.py +5 -0
  125. samsara/types/reading_history_response_body.py +1 -1
  126. samsara/types/reading_snapshot_response_body.py +1 -1
  127. samsara/types/resolved_by.py +2 -1
  128. samsara/types/resolved_by_type.py +5 -0
  129. samsara/types/route_feed_object_response_body.py +2 -1
  130. samsara/types/route_feed_object_response_body_type.py +5 -0
  131. samsara/types/route_settings_request_body.py +8 -0
  132. samsara/types/route_settings_request_body_sequencing_method.py +7 -0
  133. samsara/types/route_settings_response_body.py +8 -0
  134. samsara/types/route_settings_response_body_sequencing_method.py +7 -0
  135. samsara/types/route_stop_details_object_response_body.py +2 -1
  136. samsara/types/route_stop_details_object_response_body_type.py +5 -0
  137. samsara/types/routes_stop_response_object_response_body.py +7 -0
  138. samsara/types/training_learner_object_response_body.py +2 -1
  139. samsara/types/training_learner_object_response_body_type.py +5 -0
  140. samsara/types/update_routes_stop_request_object_request_body.py +7 -0
  141. samsara/types/vehicle_assignment_object_response_body.py +4 -3
  142. samsara/types/vehicle_assignment_object_response_body_assignment_type.py +5 -0
  143. samsara/types/vehicle_external_ids.py +1 -1
  144. samsara/types/work_order_money_object_request_body.py +2 -1
  145. samsara/types/work_order_money_object_request_body_currency.py +5 -0
  146. samsara/types/work_order_money_object_response_body.py +2 -1
  147. samsara/types/work_order_money_object_response_body_currency.py +5 -0
  148. samsara/users/client.py +4 -16
  149. samsara/vehicle_locations/client.py +4 -16
  150. samsara/vehicles/client.py +7 -22
  151. samsara/vehicles/raw_client.py +43 -47
  152. samsara/webhooks/client.py +2 -10
  153. samsara/webhooks/raw_client.py +180 -180
  154. samsara/work_orders/client.py +4 -18
  155. samsara/work_orders/raw_client.py +216 -216
  156. {samsara_api-4.2.0.dist-info → samsara_api-4.3.0.dist-info}/METADATA +2 -1
  157. {samsara_api-4.2.0.dist-info → samsara_api-4.3.0.dist-info}/RECORD +159 -132
  158. {samsara_api-4.2.0.dist-info → samsara_api-4.3.0.dist-info}/LICENSE +0 -0
  159. {samsara_api-4.2.0.dist-info → samsara_api-4.3.0.dist-info}/WHEEL +0 -0
samsara/types/__init__.py CHANGED
@@ -795,6 +795,7 @@ if typing.TYPE_CHECKING:
795
795
  from .driver_app_sign_out_response_body import DriverAppSignOutResponseBody
796
796
  from .driver_assignment_metadata_tiny_object_response_body import DriverAssignmentMetadataTinyObjectResponseBody
797
797
  from .driver_assignment_object_response_body import DriverAssignmentObjectResponseBody
798
+ from .driver_assignment_object_response_body_assignment_type import DriverAssignmentObjectResponseBodyAssignmentType
798
799
  from .driver_carrier_settings import DriverCarrierSettings
799
800
  from .driver_coach_assignments_get_driver_coach_assignment_bad_gateway_error_response_body import (
800
801
  DriverCoachAssignmentsGetDriverCoachAssignmentBadGatewayErrorResponseBody,
@@ -1851,6 +1852,7 @@ if typing.TYPE_CHECKING:
1851
1852
  from .forms_action_object_response_body import FormsActionObjectResponseBody
1852
1853
  from .forms_action_object_response_body_type import FormsActionObjectResponseBodyType
1853
1854
  from .forms_approval_config_object_response_body import FormsApprovalConfigObjectResponseBody
1855
+ from .forms_approval_config_object_response_body_type import FormsApprovalConfigObjectResponseBodyType
1854
1856
  from .forms_asset_object_response_body import FormsAssetObjectResponseBody
1855
1857
  from .forms_asset_object_response_body_entry_type import FormsAssetObjectResponseBodyEntryType
1856
1858
  from .forms_asset_value_object_response_body import FormsAssetValueObjectResponseBody
@@ -1984,7 +1986,13 @@ if typing.TYPE_CHECKING:
1984
1986
  from .fuel_energy_vehicle_report_object_response_body import FuelEnergyVehicleReportObjectResponseBody
1985
1987
  from .fuel_level_percentage_response_body import FuelLevelPercentageResponseBody
1986
1988
  from .fuel_level_trigger_details_object_request_body import FuelLevelTriggerDetailsObjectRequestBody
1989
+ from .fuel_level_trigger_details_object_request_body_operation import (
1990
+ FuelLevelTriggerDetailsObjectRequestBodyOperation,
1991
+ )
1987
1992
  from .fuel_level_trigger_details_object_response_body import FuelLevelTriggerDetailsObjectResponseBody
1993
+ from .fuel_level_trigger_details_object_response_body_operation import (
1994
+ FuelLevelTriggerDetailsObjectResponseBodyOperation,
1995
+ )
1988
1996
  from .fuel_purchase_post_fuel_purchase_bad_gateway_error_response_body import (
1989
1997
  FuelPurchasePostFuelPurchaseBadGatewayErrorResponseBody,
1990
1998
  )
@@ -2635,6 +2643,7 @@ if typing.TYPE_CHECKING:
2635
2643
  )
2636
2644
  from .idling_event_asset_object_response_body import IdlingEventAssetObjectResponseBody
2637
2645
  from .idling_event_object_v_20251023_response_body import IdlingEventObjectV20251023ResponseBody
2646
+ from .idling_event_object_v_20251023_response_body_pto_state import IdlingEventObjectV20251023ResponseBodyPtoState
2638
2647
  from .idling_event_operator_object_response_body import IdlingEventOperatorObjectResponseBody
2639
2648
  from .idling_report_event_address_response_body import IdlingReportEventAddressResponseBody
2640
2649
  from .idling_report_event_response_body import IdlingReportEventResponseBody
@@ -3255,6 +3264,7 @@ if typing.TYPE_CHECKING:
3255
3264
  PatchDriverVehicleAssignmentsV2ResponseBodyResponseBody,
3256
3265
  )
3257
3266
  from .patch_issue_request_body_assigned_to_request_body import PatchIssueRequestBodyAssignedToRequestBody
3267
+ from .patch_issue_request_body_assigned_to_request_body_type import PatchIssueRequestBodyAssignedToRequestBodyType
3258
3268
  from .patch_job_object_request_body import PatchJobObjectRequestBody
3259
3269
  from .patch_job_objectjob_location_request_object_request_body import (
3260
3270
  PatchJobObjectjobLocationRequestObjectRequestBody,
@@ -3592,6 +3602,7 @@ if typing.TYPE_CHECKING:
3592
3602
  )
3593
3603
  from .quantity_object_response_body import QuantityObjectResponseBody
3594
3604
  from .reading_datapoint_request_body import ReadingDatapointRequestBody
3605
+ from .reading_datapoint_request_body_entity_type import ReadingDatapointRequestBodyEntityType
3595
3606
  from .reading_definition_response_body import ReadingDefinitionResponseBody
3596
3607
  from .reading_history_response_body import ReadingHistoryResponseBody
3597
3608
  from .reading_snapshot_response_body import ReadingSnapshotResponseBody
@@ -3731,6 +3742,7 @@ if typing.TYPE_CHECKING:
3731
3742
  from .recipient_object_response_body_type import RecipientObjectResponseBodyType
3732
3743
  from .reefer_temperature_response_body import ReeferTemperatureResponseBody
3733
3744
  from .resolved_by import ResolvedBy
3745
+ from .resolved_by_type import ResolvedByType
3734
3746
  from .reverse_geo import ReverseGeo
3735
3747
  from .reverse_geo_object_response_body import ReverseGeoObjectResponseBody
3736
3748
  from .rolling_stop_detection_alert_settings_object_response_body import (
@@ -3745,17 +3757,21 @@ if typing.TYPE_CHECKING:
3745
3757
  from .route_feed_object_response_body import RouteFeedObjectResponseBody
3746
3758
  from .route_feed_object_response_body_operation import RouteFeedObjectResponseBodyOperation
3747
3759
  from .route_feed_object_response_body_source import RouteFeedObjectResponseBodySource
3760
+ from .route_feed_object_response_body_type import RouteFeedObjectResponseBodyType
3748
3761
  from .route_object_response_body import RouteObjectResponseBody
3749
3762
  from .route_settings_request_body import RouteSettingsRequestBody
3750
3763
  from .route_settings_request_body_route_completion_condition import RouteSettingsRequestBodyRouteCompletionCondition
3751
3764
  from .route_settings_request_body_route_starting_condition import RouteSettingsRequestBodyRouteStartingCondition
3765
+ from .route_settings_request_body_sequencing_method import RouteSettingsRequestBodySequencingMethod
3752
3766
  from .route_settings_response_body import RouteSettingsResponseBody
3753
3767
  from .route_settings_response_body_route_completion_condition import (
3754
3768
  RouteSettingsResponseBodyRouteCompletionCondition,
3755
3769
  )
3756
3770
  from .route_settings_response_body_route_starting_condition import RouteSettingsResponseBodyRouteStartingCondition
3771
+ from .route_settings_response_body_sequencing_method import RouteSettingsResponseBodySequencingMethod
3757
3772
  from .route_stop_details_object_response_body import RouteStopDetailsObjectResponseBody
3758
3773
  from .route_stop_details_object_response_body_operation import RouteStopDetailsObjectResponseBodyOperation
3774
+ from .route_stop_details_object_response_body_type import RouteStopDetailsObjectResponseBodyType
3759
3775
  from .route_stop_estimated_arrival_details_object_request_body import (
3760
3776
  RouteStopEstimatedArrivalDetailsObjectRequestBody,
3761
3777
  )
@@ -5173,6 +5189,7 @@ if typing.TYPE_CHECKING:
5173
5189
  TrainingCoursesGetTrainingCoursesUnauthorizedErrorResponseBody,
5174
5190
  )
5175
5191
  from .training_learner_object_response_body import TrainingLearnerObjectResponseBody
5192
+ from .training_learner_object_response_body_type import TrainingLearnerObjectResponseBodyType
5176
5193
  from .trigger_params_object_request_body import TriggerParamsObjectRequestBody
5177
5194
  from .trigger_params_object_response_body import TriggerParamsObjectResponseBody
5178
5195
  from .trip_asset_response_body import TripAssetResponseBody
@@ -5375,6 +5392,9 @@ if typing.TYPE_CHECKING:
5375
5392
  from .v_1_vision_step_results_item_text_match import V1VisionStepResultsItemTextMatch
5376
5393
  from .vehicle import Vehicle
5377
5394
  from .vehicle_assignment_object_response_body import VehicleAssignmentObjectResponseBody
5395
+ from .vehicle_assignment_object_response_body_assignment_type import (
5396
+ VehicleAssignmentObjectResponseBodyAssignmentType,
5397
+ )
5378
5398
  from .vehicle_aux_input_name import VehicleAuxInputName
5379
5399
  from .vehicle_aux_input_type import VehicleAuxInputType
5380
5400
  from .vehicle_aux_input_type_1 import VehicleAuxInputType1
@@ -5984,7 +6004,9 @@ if typing.TYPE_CHECKING:
5984
6004
  from .work_order_item_object_response_body import WorkOrderItemObjectResponseBody
5985
6005
  from .work_order_item_object_response_body_type import WorkOrderItemObjectResponseBodyType
5986
6006
  from .work_order_money_object_request_body import WorkOrderMoneyObjectRequestBody
6007
+ from .work_order_money_object_request_body_currency import WorkOrderMoneyObjectRequestBodyCurrency
5987
6008
  from .work_order_money_object_response_body import WorkOrderMoneyObjectResponseBody
6009
+ from .work_order_money_object_response_body_currency import WorkOrderMoneyObjectResponseBodyCurrency
5988
6010
  from .work_order_object_response_body import WorkOrderObjectResponseBody
5989
6011
  from .work_order_object_response_body_category import WorkOrderObjectResponseBodyCategory
5990
6012
  from .work_order_object_response_body_priority import WorkOrderObjectResponseBodyPriority
@@ -6599,6 +6621,7 @@ _dynamic_imports: typing.Dict[str, str] = {
6599
6621
  "DriverAppSignOutResponseBody": ".driver_app_sign_out_response_body",
6600
6622
  "DriverAssignmentMetadataTinyObjectResponseBody": ".driver_assignment_metadata_tiny_object_response_body",
6601
6623
  "DriverAssignmentObjectResponseBody": ".driver_assignment_object_response_body",
6624
+ "DriverAssignmentObjectResponseBodyAssignmentType": ".driver_assignment_object_response_body_assignment_type",
6602
6625
  "DriverCarrierSettings": ".driver_carrier_settings",
6603
6626
  "DriverCoachAssignmentsGetDriverCoachAssignmentBadGatewayErrorResponseBody": ".driver_coach_assignments_get_driver_coach_assignment_bad_gateway_error_response_body",
6604
6627
  "DriverCoachAssignmentsGetDriverCoachAssignmentGatewayTimeoutErrorResponseBody": ".driver_coach_assignments_get_driver_coach_assignment_gateway_timeout_error_response_body",
@@ -7095,6 +7118,7 @@ _dynamic_imports: typing.Dict[str, str] = {
7095
7118
  "FormsActionObjectResponseBody": ".forms_action_object_response_body",
7096
7119
  "FormsActionObjectResponseBodyType": ".forms_action_object_response_body_type",
7097
7120
  "FormsApprovalConfigObjectResponseBody": ".forms_approval_config_object_response_body",
7121
+ "FormsApprovalConfigObjectResponseBodyType": ".forms_approval_config_object_response_body_type",
7098
7122
  "FormsAssetObjectResponseBody": ".forms_asset_object_response_body",
7099
7123
  "FormsAssetObjectResponseBodyEntryType": ".forms_asset_object_response_body_entry_type",
7100
7124
  "FormsAssetValueObjectResponseBody": ".forms_asset_value_object_response_body",
@@ -7174,7 +7198,9 @@ _dynamic_imports: typing.Dict[str, str] = {
7174
7198
  "FuelEnergyVehicleReportObjectResponseBody": ".fuel_energy_vehicle_report_object_response_body",
7175
7199
  "FuelLevelPercentageResponseBody": ".fuel_level_percentage_response_body",
7176
7200
  "FuelLevelTriggerDetailsObjectRequestBody": ".fuel_level_trigger_details_object_request_body",
7201
+ "FuelLevelTriggerDetailsObjectRequestBodyOperation": ".fuel_level_trigger_details_object_request_body_operation",
7177
7202
  "FuelLevelTriggerDetailsObjectResponseBody": ".fuel_level_trigger_details_object_response_body",
7203
+ "FuelLevelTriggerDetailsObjectResponseBodyOperation": ".fuel_level_trigger_details_object_response_body_operation",
7178
7204
  "FuelPurchasePostFuelPurchaseBadGatewayErrorResponseBody": ".fuel_purchase_post_fuel_purchase_bad_gateway_error_response_body",
7179
7205
  "FuelPurchasePostFuelPurchaseGatewayTimeoutErrorResponseBody": ".fuel_purchase_post_fuel_purchase_gateway_timeout_error_response_body",
7180
7206
  "FuelPurchasePostFuelPurchaseInternalServerErrorResponseBody": ".fuel_purchase_post_fuel_purchase_internal_server_error_response_body",
@@ -7483,6 +7509,7 @@ _dynamic_imports: typing.Dict[str, str] = {
7483
7509
  "IdlingEventAddressObjectResponseBodyAddressTypesItem": ".idling_event_address_object_response_body_address_types_item",
7484
7510
  "IdlingEventAssetObjectResponseBody": ".idling_event_asset_object_response_body",
7485
7511
  "IdlingEventObjectV20251023ResponseBody": ".idling_event_object_v_20251023_response_body",
7512
+ "IdlingEventObjectV20251023ResponseBodyPtoState": ".idling_event_object_v_20251023_response_body_pto_state",
7486
7513
  "IdlingEventOperatorObjectResponseBody": ".idling_event_operator_object_response_body",
7487
7514
  "IdlingReportEventAddressResponseBody": ".idling_report_event_address_response_body",
7488
7515
  "IdlingReportEventResponseBody": ".idling_report_event_response_body",
@@ -7815,6 +7842,7 @@ _dynamic_imports: typing.Dict[str, str] = {
7815
7842
  "PatchDriverVehicleAssignmentsV2RequestBodyMetadataRequestBody": ".patch_driver_vehicle_assignments_v_2_request_body_metadata_request_body",
7816
7843
  "PatchDriverVehicleAssignmentsV2ResponseBodyResponseBody": ".patch_driver_vehicle_assignments_v_2_response_body_response_body",
7817
7844
  "PatchIssueRequestBodyAssignedToRequestBody": ".patch_issue_request_body_assigned_to_request_body",
7845
+ "PatchIssueRequestBodyAssignedToRequestBodyType": ".patch_issue_request_body_assigned_to_request_body_type",
7818
7846
  "PatchJobObjectRequestBody": ".patch_job_object_request_body",
7819
7847
  "PatchJobObjectjobLocationRequestObjectRequestBody": ".patch_job_objectjob_location_request_object_request_body",
7820
7848
  "PatchResponseWorkflowConfigurationObjectResponseBody": ".patch_response_workflow_configuration_object_response_body",
@@ -7948,6 +7976,7 @@ _dynamic_imports: typing.Dict[str, str] = {
7948
7976
  "QualificationsUnarchiveQualificationRecordUnauthorizedErrorResponseBody": ".qualifications_unarchive_qualification_record_unauthorized_error_response_body",
7949
7977
  "QuantityObjectResponseBody": ".quantity_object_response_body",
7950
7978
  "ReadingDatapointRequestBody": ".reading_datapoint_request_body",
7979
+ "ReadingDatapointRequestBodyEntityType": ".reading_datapoint_request_body_entity_type",
7951
7980
  "ReadingDefinitionResponseBody": ".reading_definition_response_body",
7952
7981
  "ReadingHistoryResponseBody": ".reading_history_response_body",
7953
7982
  "ReadingSnapshotResponseBody": ".reading_snapshot_response_body",
@@ -8011,6 +8040,7 @@ _dynamic_imports: typing.Dict[str, str] = {
8011
8040
  "RecipientObjectResponseBodyType": ".recipient_object_response_body_type",
8012
8041
  "ReeferTemperatureResponseBody": ".reefer_temperature_response_body",
8013
8042
  "ResolvedBy": ".resolved_by",
8043
+ "ResolvedByType": ".resolved_by_type",
8014
8044
  "ReverseGeo": ".reverse_geo",
8015
8045
  "ReverseGeoObjectResponseBody": ".reverse_geo_object_response_body",
8016
8046
  "RollingStopDetectionAlertSettingsObjectResponseBody": ".rolling_stop_detection_alert_settings_object_response_body",
@@ -8023,15 +8053,19 @@ _dynamic_imports: typing.Dict[str, str] = {
8023
8053
  "RouteFeedObjectResponseBody": ".route_feed_object_response_body",
8024
8054
  "RouteFeedObjectResponseBodyOperation": ".route_feed_object_response_body_operation",
8025
8055
  "RouteFeedObjectResponseBodySource": ".route_feed_object_response_body_source",
8056
+ "RouteFeedObjectResponseBodyType": ".route_feed_object_response_body_type",
8026
8057
  "RouteObjectResponseBody": ".route_object_response_body",
8027
8058
  "RouteSettingsRequestBody": ".route_settings_request_body",
8028
8059
  "RouteSettingsRequestBodyRouteCompletionCondition": ".route_settings_request_body_route_completion_condition",
8029
8060
  "RouteSettingsRequestBodyRouteStartingCondition": ".route_settings_request_body_route_starting_condition",
8061
+ "RouteSettingsRequestBodySequencingMethod": ".route_settings_request_body_sequencing_method",
8030
8062
  "RouteSettingsResponseBody": ".route_settings_response_body",
8031
8063
  "RouteSettingsResponseBodyRouteCompletionCondition": ".route_settings_response_body_route_completion_condition",
8032
8064
  "RouteSettingsResponseBodyRouteStartingCondition": ".route_settings_response_body_route_starting_condition",
8065
+ "RouteSettingsResponseBodySequencingMethod": ".route_settings_response_body_sequencing_method",
8033
8066
  "RouteStopDetailsObjectResponseBody": ".route_stop_details_object_response_body",
8034
8067
  "RouteStopDetailsObjectResponseBodyOperation": ".route_stop_details_object_response_body_operation",
8068
+ "RouteStopDetailsObjectResponseBodyType": ".route_stop_details_object_response_body_type",
8035
8069
  "RouteStopEstimatedArrivalDetailsObjectRequestBody": ".route_stop_estimated_arrival_details_object_request_body",
8036
8070
  "RouteStopEstimatedArrivalDetailsObjectResponseBody": ".route_stop_estimated_arrival_details_object_response_body",
8037
8071
  "RouteStopEtaResponseBody": ".route_stop_eta_response_body",
@@ -8657,6 +8691,7 @@ _dynamic_imports: typing.Dict[str, str] = {
8657
8691
  "TrainingCoursesGetTrainingCoursesTooManyRequestsErrorResponseBody": ".training_courses_get_training_courses_too_many_requests_error_response_body",
8658
8692
  "TrainingCoursesGetTrainingCoursesUnauthorizedErrorResponseBody": ".training_courses_get_training_courses_unauthorized_error_response_body",
8659
8693
  "TrainingLearnerObjectResponseBody": ".training_learner_object_response_body",
8694
+ "TrainingLearnerObjectResponseBodyType": ".training_learner_object_response_body_type",
8660
8695
  "TriggerParamsObjectRequestBody": ".trigger_params_object_request_body",
8661
8696
  "TriggerParamsObjectResponseBody": ".trigger_params_object_response_body",
8662
8697
  "TripAssetResponseBody": ".trip_asset_response_body",
@@ -8831,6 +8866,7 @@ _dynamic_imports: typing.Dict[str, str] = {
8831
8866
  "V1VisionStepResultsItemTextMatch": ".v_1_vision_step_results_item_text_match",
8832
8867
  "Vehicle": ".vehicle",
8833
8868
  "VehicleAssignmentObjectResponseBody": ".vehicle_assignment_object_response_body",
8869
+ "VehicleAssignmentObjectResponseBodyAssignmentType": ".vehicle_assignment_object_response_body_assignment_type",
8834
8870
  "VehicleAuxInputName": ".vehicle_aux_input_name",
8835
8871
  "VehicleAuxInputType": ".vehicle_aux_input_type",
8836
8872
  "VehicleAuxInputType1": ".vehicle_aux_input_type_1",
@@ -9226,7 +9262,9 @@ _dynamic_imports: typing.Dict[str, str] = {
9226
9262
  "WorkOrderItemObjectResponseBody": ".work_order_item_object_response_body",
9227
9263
  "WorkOrderItemObjectResponseBodyType": ".work_order_item_object_response_body_type",
9228
9264
  "WorkOrderMoneyObjectRequestBody": ".work_order_money_object_request_body",
9265
+ "WorkOrderMoneyObjectRequestBodyCurrency": ".work_order_money_object_request_body_currency",
9229
9266
  "WorkOrderMoneyObjectResponseBody": ".work_order_money_object_response_body",
9267
+ "WorkOrderMoneyObjectResponseBodyCurrency": ".work_order_money_object_response_body_currency",
9230
9268
  "WorkOrderObjectResponseBody": ".work_order_object_response_body",
9231
9269
  "WorkOrderObjectResponseBodyCategory": ".work_order_object_response_body_category",
9232
9270
  "WorkOrderObjectResponseBodyPriority": ".work_order_object_response_body_priority",
@@ -9755,6 +9793,7 @@ __all__ = [
9755
9793
  "DriverAppSignOutResponseBody",
9756
9794
  "DriverAssignmentMetadataTinyObjectResponseBody",
9757
9795
  "DriverAssignmentObjectResponseBody",
9796
+ "DriverAssignmentObjectResponseBodyAssignmentType",
9758
9797
  "DriverCarrierSettings",
9759
9798
  "DriverCoachAssignmentsGetDriverCoachAssignmentBadGatewayErrorResponseBody",
9760
9799
  "DriverCoachAssignmentsGetDriverCoachAssignmentGatewayTimeoutErrorResponseBody",
@@ -10251,6 +10290,7 @@ __all__ = [
10251
10290
  "FormsActionObjectResponseBody",
10252
10291
  "FormsActionObjectResponseBodyType",
10253
10292
  "FormsApprovalConfigObjectResponseBody",
10293
+ "FormsApprovalConfigObjectResponseBodyType",
10254
10294
  "FormsAssetObjectResponseBody",
10255
10295
  "FormsAssetObjectResponseBodyEntryType",
10256
10296
  "FormsAssetValueObjectResponseBody",
@@ -10330,7 +10370,9 @@ __all__ = [
10330
10370
  "FuelEnergyVehicleReportObjectResponseBody",
10331
10371
  "FuelLevelPercentageResponseBody",
10332
10372
  "FuelLevelTriggerDetailsObjectRequestBody",
10373
+ "FuelLevelTriggerDetailsObjectRequestBodyOperation",
10333
10374
  "FuelLevelTriggerDetailsObjectResponseBody",
10375
+ "FuelLevelTriggerDetailsObjectResponseBodyOperation",
10334
10376
  "FuelPurchasePostFuelPurchaseBadGatewayErrorResponseBody",
10335
10377
  "FuelPurchasePostFuelPurchaseGatewayTimeoutErrorResponseBody",
10336
10378
  "FuelPurchasePostFuelPurchaseInternalServerErrorResponseBody",
@@ -10639,6 +10681,7 @@ __all__ = [
10639
10681
  "IdlingEventAddressObjectResponseBodyAddressTypesItem",
10640
10682
  "IdlingEventAssetObjectResponseBody",
10641
10683
  "IdlingEventObjectV20251023ResponseBody",
10684
+ "IdlingEventObjectV20251023ResponseBodyPtoState",
10642
10685
  "IdlingEventOperatorObjectResponseBody",
10643
10686
  "IdlingReportEventAddressResponseBody",
10644
10687
  "IdlingReportEventResponseBody",
@@ -10971,6 +11014,7 @@ __all__ = [
10971
11014
  "PatchDriverVehicleAssignmentsV2RequestBodyMetadataRequestBody",
10972
11015
  "PatchDriverVehicleAssignmentsV2ResponseBodyResponseBody",
10973
11016
  "PatchIssueRequestBodyAssignedToRequestBody",
11017
+ "PatchIssueRequestBodyAssignedToRequestBodyType",
10974
11018
  "PatchJobObjectRequestBody",
10975
11019
  "PatchJobObjectjobLocationRequestObjectRequestBody",
10976
11020
  "PatchResponseWorkflowConfigurationObjectResponseBody",
@@ -11104,6 +11148,7 @@ __all__ = [
11104
11148
  "QualificationsUnarchiveQualificationRecordUnauthorizedErrorResponseBody",
11105
11149
  "QuantityObjectResponseBody",
11106
11150
  "ReadingDatapointRequestBody",
11151
+ "ReadingDatapointRequestBodyEntityType",
11107
11152
  "ReadingDefinitionResponseBody",
11108
11153
  "ReadingHistoryResponseBody",
11109
11154
  "ReadingSnapshotResponseBody",
@@ -11167,6 +11212,7 @@ __all__ = [
11167
11212
  "RecipientObjectResponseBodyType",
11168
11213
  "ReeferTemperatureResponseBody",
11169
11214
  "ResolvedBy",
11215
+ "ResolvedByType",
11170
11216
  "ReverseGeo",
11171
11217
  "ReverseGeoObjectResponseBody",
11172
11218
  "RollingStopDetectionAlertSettingsObjectResponseBody",
@@ -11179,15 +11225,19 @@ __all__ = [
11179
11225
  "RouteFeedObjectResponseBody",
11180
11226
  "RouteFeedObjectResponseBodyOperation",
11181
11227
  "RouteFeedObjectResponseBodySource",
11228
+ "RouteFeedObjectResponseBodyType",
11182
11229
  "RouteObjectResponseBody",
11183
11230
  "RouteSettingsRequestBody",
11184
11231
  "RouteSettingsRequestBodyRouteCompletionCondition",
11185
11232
  "RouteSettingsRequestBodyRouteStartingCondition",
11233
+ "RouteSettingsRequestBodySequencingMethod",
11186
11234
  "RouteSettingsResponseBody",
11187
11235
  "RouteSettingsResponseBodyRouteCompletionCondition",
11188
11236
  "RouteSettingsResponseBodyRouteStartingCondition",
11237
+ "RouteSettingsResponseBodySequencingMethod",
11189
11238
  "RouteStopDetailsObjectResponseBody",
11190
11239
  "RouteStopDetailsObjectResponseBodyOperation",
11240
+ "RouteStopDetailsObjectResponseBodyType",
11191
11241
  "RouteStopEstimatedArrivalDetailsObjectRequestBody",
11192
11242
  "RouteStopEstimatedArrivalDetailsObjectResponseBody",
11193
11243
  "RouteStopEtaResponseBody",
@@ -11813,6 +11863,7 @@ __all__ = [
11813
11863
  "TrainingCoursesGetTrainingCoursesTooManyRequestsErrorResponseBody",
11814
11864
  "TrainingCoursesGetTrainingCoursesUnauthorizedErrorResponseBody",
11815
11865
  "TrainingLearnerObjectResponseBody",
11866
+ "TrainingLearnerObjectResponseBodyType",
11816
11867
  "TriggerParamsObjectRequestBody",
11817
11868
  "TriggerParamsObjectResponseBody",
11818
11869
  "TripAssetResponseBody",
@@ -11987,6 +12038,7 @@ __all__ = [
11987
12038
  "V1VisionStepResultsItemTextMatch",
11988
12039
  "Vehicle",
11989
12040
  "VehicleAssignmentObjectResponseBody",
12041
+ "VehicleAssignmentObjectResponseBodyAssignmentType",
11990
12042
  "VehicleAuxInputName",
11991
12043
  "VehicleAuxInputType",
11992
12044
  "VehicleAuxInputType1",
@@ -12382,7 +12434,9 @@ __all__ = [
12382
12434
  "WorkOrderItemObjectResponseBody",
12383
12435
  "WorkOrderItemObjectResponseBodyType",
12384
12436
  "WorkOrderMoneyObjectRequestBody",
12437
+ "WorkOrderMoneyObjectRequestBodyCurrency",
12385
12438
  "WorkOrderMoneyObjectResponseBody",
12439
+ "WorkOrderMoneyObjectResponseBodyCurrency",
12386
12440
  "WorkOrderObjectResponseBody",
12387
12441
  "WorkOrderObjectResponseBodyCategory",
12388
12442
  "WorkOrderObjectResponseBodyPriority",
@@ -63,6 +63,13 @@ class CreateRoutesStopRequestObjectRequestBody(UniversalBaseModel):
63
63
  This is a required field for all stops EXCEPT the start and end, based on route start and stop settings selected.
64
64
  """
65
65
 
66
+ sequence_number: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="sequenceNumber")] = (
67
+ pydantic.Field(default=None)
68
+ )
69
+ """
70
+ Manual sequence position for this stop. Only meaningful when route.settings.sequencingMethod=manual. Must be unique and positive when specified.
71
+ """
72
+
66
73
  single_use_location: typing_extensions.Annotated[
67
74
  typing.Optional[RoutesSingleUseAddressObjectRequestBody], FieldMetadata(alias="singleUseLocation")
68
75
  ] = None
@@ -6,12 +6,13 @@ import pydantic
6
6
  import typing_extensions
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
8
  from ..core.serialization import FieldMetadata
9
+ from .driver_assignment_object_response_body_assignment_type import DriverAssignmentObjectResponseBodyAssignmentType
9
10
  from .goa_driver_tiny_response_response_body import GoaDriverTinyResponseResponseBody
10
11
 
11
12
 
12
13
  class DriverAssignmentObjectResponseBody(UniversalBaseModel):
13
14
  assignment_type: typing_extensions.Annotated[
14
- typing.Optional[typing.Literal["driverApp"]], FieldMetadata(alias="assignmentType")
15
+ typing.Optional[DriverAssignmentObjectResponseBodyAssignmentType], FieldMetadata(alias="assignmentType")
15
16
  ] = pydantic.Field(default=None)
16
17
  """
17
18
  Assignment type of the driver-vehicle assignment, indicating the provenance of the assignment. The only type of assignment supported right now is `driverApp` assignments. This list could change, so it is recommended that clients gracefully handle any types not enumerated in this list. Valid values: `driverApp`
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ DriverAssignmentObjectResponseBodyAssignmentType = typing.Union[typing.Literal["driverApp"], typing.Any]
@@ -2,4 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- DriverExternalIds = typing.Dict[str, typing.Optional[typing.Any]]
5
+ DriverExternalIds = typing.Dict[str, typing.Any]
@@ -6,6 +6,7 @@ import pydantic
6
6
  import typing_extensions
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
8
  from ..core.serialization import FieldMetadata
9
+ from .forms_approval_config_object_response_body_type import FormsApprovalConfigObjectResponseBodyType
9
10
  from .forms_single_approval_config_object_response_body import FormsSingleApprovalConfigObjectResponseBody
10
11
 
11
12
 
@@ -17,7 +18,7 @@ class FormsApprovalConfigObjectResponseBody(UniversalBaseModel):
17
18
  single_approval_config: typing_extensions.Annotated[
18
19
  typing.Optional[FormsSingleApprovalConfigObjectResponseBody], FieldMetadata(alias="singleApprovalConfig")
19
20
  ] = None
20
- type: typing.Literal["singleApproval"] = pydantic.Field(default="singleApproval")
21
+ type: FormsApprovalConfigObjectResponseBodyType = pydantic.Field()
21
22
  """
22
23
  Type of approval. Valid values: `singleApproval`
23
24
  """
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ FormsApprovalConfigObjectResponseBodyType = typing.Union[typing.Literal["singleApproval"], typing.Any]
@@ -6,6 +6,7 @@ import pydantic
6
6
  import typing_extensions
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
8
  from ..core.serialization import FieldMetadata
9
+ from .fuel_level_trigger_details_object_request_body_operation import FuelLevelTriggerDetailsObjectRequestBodyOperation
9
10
 
10
11
 
11
12
  class FuelLevelTriggerDetailsObjectRequestBody(UniversalBaseModel):
@@ -25,7 +26,7 @@ class FuelLevelTriggerDetailsObjectRequestBody(UniversalBaseModel):
25
26
  The number of milliseconds the trigger needs to stay active before alerting.
26
27
  """
27
28
 
28
- operation: typing.Literal["LESS"] = pydantic.Field(default="LESS")
29
+ operation: FuelLevelTriggerDetailsObjectRequestBodyOperation = pydantic.Field()
29
30
  """
30
31
  How to evaluate the threshold. Valid values: `LESS`
31
32
  """
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ FuelLevelTriggerDetailsObjectRequestBodyOperation = typing.Union[typing.Literal["LESS"], typing.Any]
@@ -6,6 +6,9 @@ import pydantic
6
6
  import typing_extensions
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
8
  from ..core.serialization import FieldMetadata
9
+ from .fuel_level_trigger_details_object_response_body_operation import (
10
+ FuelLevelTriggerDetailsObjectResponseBodyOperation,
11
+ )
9
12
 
10
13
 
11
14
  class FuelLevelTriggerDetailsObjectResponseBody(UniversalBaseModel):
@@ -25,7 +28,7 @@ class FuelLevelTriggerDetailsObjectResponseBody(UniversalBaseModel):
25
28
  The number of milliseconds the trigger needs to stay active before alerting.
26
29
  """
27
30
 
28
- operation: typing.Literal["LESS"] = pydantic.Field(default="LESS")
31
+ operation: FuelLevelTriggerDetailsObjectResponseBodyOperation = pydantic.Field()
29
32
  """
30
33
  How to evaluate the threshold. Valid values: `LESS`
31
34
  """
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ FuelLevelTriggerDetailsObjectResponseBodyOperation = typing.Union[typing.Literal["LESS"], typing.Any]
@@ -10,6 +10,7 @@ from .fuel_cost_object_response_body import FuelCostObjectResponseBody
10
10
  from .gaseous_fuel_cost_object_response_body import GaseousFuelCostObjectResponseBody
11
11
  from .idling_event_address_object_response_body import IdlingEventAddressObjectResponseBody
12
12
  from .idling_event_asset_object_response_body import IdlingEventAssetObjectResponseBody
13
+ from .idling_event_object_v_20251023_response_body_pto_state import IdlingEventObjectV20251023ResponseBodyPtoState
13
14
  from .idling_event_operator_object_response_body import IdlingEventOperatorObjectResponseBody
14
15
 
15
16
 
@@ -68,9 +69,9 @@ class IdlingEventObjectV20251023ResponseBody(UniversalBaseModel):
68
69
  """
69
70
 
70
71
  operator: typing.Optional[IdlingEventOperatorObjectResponseBody] = None
71
- pto_state: typing_extensions.Annotated[typing.Literal["active, inactive"], FieldMetadata(alias="ptoState")] = (
72
- pydantic.Field(default="active, inactive")
73
- )
72
+ pto_state: typing_extensions.Annotated[
73
+ IdlingEventObjectV20251023ResponseBodyPtoState, FieldMetadata(alias="ptoState")
74
+ ] = pydantic.Field()
74
75
  """
75
76
  The PTO (Power Take-Off) state during the idling event. Valid values: `active, inactive`
76
77
  """
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ IdlingEventObjectV20251023ResponseBodyPtoState = typing.Union[typing.Literal["active, inactive"], typing.Any]
@@ -4,6 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .patch_issue_request_body_assigned_to_request_body_type import PatchIssueRequestBodyAssignedToRequestBodyType
7
8
 
8
9
 
9
10
  class PatchIssueRequestBodyAssignedToRequestBody(UniversalBaseModel):
@@ -16,7 +17,7 @@ class PatchIssueRequestBodyAssignedToRequestBody(UniversalBaseModel):
16
17
  ID of the issue assignee.
17
18
  """
18
19
 
19
- type: typing.Literal["user"] = pydantic.Field(default="user")
20
+ type: PatchIssueRequestBodyAssignedToRequestBodyType = pydantic.Field()
20
21
  """
21
22
  Type of the issue assignee. Valid values: `user`
22
23
  """
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ PatchIssueRequestBodyAssignedToRequestBodyType = typing.Union[typing.Literal["user"], typing.Any]
@@ -6,6 +6,7 @@ import pydantic
6
6
  import typing_extensions
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
8
  from ..core.serialization import FieldMetadata
9
+ from .reading_datapoint_request_body_entity_type import ReadingDatapointRequestBodyEntityType
9
10
 
10
11
 
11
12
  class ReadingDatapointRequestBody(UniversalBaseModel):
@@ -18,9 +19,9 @@ class ReadingDatapointRequestBody(UniversalBaseModel):
18
19
  Samsara entity ID. In case of an asset, it’s the assetId. If the asset is not yet present in the system, it is required to create a new one via the /assets endpoint.
19
20
  """
20
21
 
21
- entity_type: typing_extensions.Annotated[typing.Literal["asset"], FieldMetadata(alias="entityType")] = (
22
- pydantic.Field(default="asset")
23
- )
22
+ entity_type: typing_extensions.Annotated[
23
+ ReadingDatapointRequestBodyEntityType, FieldMetadata(alias="entityType")
24
+ ] = pydantic.Field()
24
25
  """
25
26
  The type of the entity (e.g., asset). Valid values: `asset`
26
27
  """
@@ -35,7 +36,7 @@ class ReadingDatapointRequestBody(UniversalBaseModel):
35
36
  The ID of the reading, you can get it from the /readings/definitions endpoint.
36
37
  """
37
38
 
38
- value: typing.Dict[str, typing.Optional[typing.Any]] = pydantic.Field()
39
+ value: typing.Dict[str, typing.Any] = pydantic.Field()
39
40
  """
40
41
  The value of the reading. Can be any object. See the /readings/definitions endpoint for the value type for each reading.
41
42
  """
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ReadingDatapointRequestBodyEntityType = typing.Union[typing.Literal["asset"], typing.Any]
@@ -32,7 +32,7 @@ class ReadingHistoryResponseBody(UniversalBaseModel):
32
32
  The time in RFC 3339 format when the reading was measured.
33
33
  """
34
34
 
35
- value: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
35
+ value: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None)
36
36
  """
37
37
  The value of the reading.
38
38
  """
@@ -37,7 +37,7 @@ class ReadingSnapshotResponseBody(UniversalBaseModel):
37
37
  The ID of the reading for which the data is being returned.
38
38
  """
39
39
 
40
- value: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
40
+ value: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None)
41
41
  """
42
42
  The value of the reading.
43
43
  """
@@ -4,6 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .resolved_by_type import ResolvedByType
7
8
 
8
9
 
9
10
  class ResolvedBy(UniversalBaseModel):
@@ -16,7 +17,7 @@ class ResolvedBy(UniversalBaseModel):
16
17
  The Id of user who is resolving the defect.
17
18
  """
18
19
 
19
- type: typing.Literal["mechanic"] = pydantic.Field(default="mechanic")
20
+ type: ResolvedByType = pydantic.Field()
20
21
  """
21
22
  The type of user who is resolving the defect. Must be "mechanic".
22
23
  """
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ResolvedByType = typing.Union[typing.Literal["mechanic"], typing.Any]
@@ -9,6 +9,7 @@ from .base_route_response_object_response_body import BaseRouteResponseObjectRes
9
9
  from .route_changes_response_body import RouteChangesResponseBody
10
10
  from .route_feed_object_response_body_operation import RouteFeedObjectResponseBodyOperation
11
11
  from .route_feed_object_response_body_source import RouteFeedObjectResponseBodySource
12
+ from .route_feed_object_response_body_type import RouteFeedObjectResponseBodyType
12
13
 
13
14
 
14
15
  class RouteFeedObjectResponseBody(UniversalBaseModel):
@@ -33,7 +34,7 @@ class RouteFeedObjectResponseBody(UniversalBaseModel):
33
34
  The timestamp of the route in RFC 3339 format.
34
35
  """
35
36
 
36
- type: typing.Literal["route tracking"] = pydantic.Field(default="route tracking")
37
+ type: RouteFeedObjectResponseBodyType = pydantic.Field()
37
38
  """
38
39
  The type of route update. The route tracking updates occur as a route is completed and stops transition from one state to another. Currently only Route Tracking updates are supported, but this will change in the future when additional types are added. Valid values: `route tracking`
39
40
  """
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ RouteFeedObjectResponseBodyType = typing.Union[typing.Literal["route tracking"], typing.Any]
@@ -8,6 +8,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
8
  from ..core.serialization import FieldMetadata
9
9
  from .route_settings_request_body_route_completion_condition import RouteSettingsRequestBodyRouteCompletionCondition
10
10
  from .route_settings_request_body_route_starting_condition import RouteSettingsRequestBodyRouteStartingCondition
11
+ from .route_settings_request_body_sequencing_method import RouteSettingsRequestBodySequencingMethod
11
12
 
12
13
 
13
14
  class RouteSettingsRequestBody(UniversalBaseModel):
@@ -33,6 +34,13 @@ class RouteSettingsRequestBody(UniversalBaseModel):
33
34
  the arrival time of the first stop should not be set. Valid values: `departFirstStop`, `arriveFirstStop`
34
35
  """
35
36
 
37
+ sequencing_method: typing_extensions.Annotated[
38
+ typing.Optional[RouteSettingsRequestBodySequencingMethod], FieldMetadata(alias="sequencingMethod")
39
+ ] = pydantic.Field(default=None)
40
+ """
41
+ Determines how stops are sequenced on the route. 'scheduledArrivalTime' sequences stops by their scheduled arrival times (default). 'manual' allows custom sequencing via stop.sequenceNumber. 'unknown' indicates the method is not specified. Valid values: `unknown`, `scheduledArrivalTime`, `manual`
42
+ """
43
+
36
44
  if IS_PYDANTIC_V2:
37
45
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
38
46
  else:
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ RouteSettingsRequestBodySequencingMethod = typing.Union[
6
+ typing.Literal["unknown", "scheduledArrivalTime", "manual"], typing.Any
7
+ ]