@fleetbase/fleetops-engine 0.6.51 → 0.6.53

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 (396) hide show
  1. package/README.md +0 -2
  2. package/addon/components/cell/telematic-provider.hbs +16 -0
  3. package/addon/components/cell/telematic-provider.js +36 -0
  4. package/addon/components/cell/telematic-status.hbs +1 -0
  5. package/addon/components/cell/telematic-status.js +39 -0
  6. package/addon/components/device/manager.hbs +5 -6
  7. package/addon/components/device/manager.js +12 -15
  8. package/addon/components/driver/details.hbs +1 -1
  9. package/addon/components/fleet/vehicle-listing.js +1 -0
  10. package/addon/components/fuel-integration/form.hbs +200 -0
  11. package/addon/components/fuel-integration/form.js +242 -0
  12. package/addon/components/fuel-integration/hub.hbs +154 -0
  13. package/addon/components/fuel-integration/hub.js +165 -0
  14. package/addon/components/fuel-integration/matching-priority.hbs +76 -0
  15. package/addon/components/fuel-integration/matching-priority.js +145 -0
  16. package/addon/components/fuel-report/details.hbs +13 -1
  17. package/addon/components/issue/details.hbs +3 -57
  18. package/addon/components/issue/details.js +0 -96
  19. package/addon/components/layout/fleet-ops-sidebar/operations-monitor.hbs +201 -0
  20. package/addon/components/layout/fleet-ops-sidebar/operations-monitor.js +589 -0
  21. package/addon/components/layout/fleet-ops-sidebar.hbs +19 -233
  22. package/addon/components/layout/fleet-ops-sidebar.js +287 -376
  23. package/addon/components/maintenance-schedule/form.js +1 -0
  24. package/addon/components/map/drawer/device-event-listing.hbs +12 -2
  25. package/addon/components/map/drawer/driver-listing.hbs +14 -1
  26. package/addon/components/map/drawer/place-listing.hbs +14 -1
  27. package/addon/components/map/drawer/position-listing.hbs +12 -2
  28. package/addon/components/map/drawer/vehicle-listing.hbs +14 -1
  29. package/addon/components/modals/assigned-orders.hbs +40 -0
  30. package/addon/components/modals/attach-device.hbs +4 -3
  31. package/addon/components/modals/attach-telematic-device.hbs +25 -0
  32. package/addon/components/modals/attach-telematic-device.js +3 -0
  33. package/addon/components/modals/driver-assign-order.hbs +7 -58
  34. package/addon/components/modals/driver-assign-vehicle.hbs +10 -2
  35. package/addon/components/modals/fleet-assign-driver.hbs +18 -0
  36. package/addon/components/modals/fleet-assign-driver.js +3 -0
  37. package/addon/components/modals/fleet-assign-vehicle.hbs +18 -0
  38. package/addon/components/modals/fleet-assign-vehicle.js +3 -0
  39. package/addon/components/modals/telematic-connection-diagnostics.hbs +75 -0
  40. package/addon/components/modals/telematic-connection-diagnostics.js +287 -0
  41. package/addon/components/modals/vehicle-details.hbs +6 -1
  42. package/addon/components/modals/vehicle-form.hbs +8 -1
  43. package/addon/components/order/card.hbs +106 -0
  44. package/addon/components/order/card.js +257 -0
  45. package/addon/components/order/form/payload.js +3 -1
  46. package/addon/components/order/form/service-rate.hbs +2 -0
  47. package/addon/components/service-rate/form.hbs +3 -2
  48. package/addon/components/telematic/details.hbs +98 -87
  49. package/addon/components/telematic/details.js +230 -1
  50. package/addon/components/telematic/form.hbs +303 -72
  51. package/addon/components/telematic/form.js +519 -3
  52. package/addon/components/telematic/hub.hbs +149 -0
  53. package/addon/components/telematic/hub.js +142 -0
  54. package/addon/components/telematic/settings.hbs +152 -0
  55. package/addon/components/telematic/settings.js +45 -0
  56. package/addon/components/telematic/tab-empty-state.hbs +29 -0
  57. package/addon/components/telematic/tab-empty-state.js +33 -0
  58. package/addon/components/vehicle/details.hbs +6 -1
  59. package/addon/components/vehicle/form.hbs +2 -1
  60. package/addon/components/widget/fuel-providers.hbs +43 -0
  61. package/addon/components/widget/fuel-providers.js +27 -0
  62. package/addon/controllers/connectivity/devices/index/details.js +27 -1
  63. package/addon/controllers/connectivity/devices/index.js +18 -1
  64. package/addon/controllers/connectivity/fuel-providers/details/sync.js +18 -0
  65. package/addon/controllers/connectivity/fuel-providers/details/transactions.js +24 -0
  66. package/addon/controllers/connectivity/fuel-providers/details.js +69 -0
  67. package/addon/controllers/connectivity/fuel-providers/edit.js +24 -0
  68. package/addon/controllers/connectivity/fuel-providers/index.js +177 -0
  69. package/addon/controllers/connectivity/fuel-providers/new.js +37 -0
  70. package/addon/controllers/connectivity/telematics/details/attachments.js +247 -0
  71. package/addon/controllers/connectivity/telematics/details/devices.js +368 -0
  72. package/addon/controllers/connectivity/telematics/details/events.js +244 -0
  73. package/addon/controllers/connectivity/telematics/details/index.js +3 -0
  74. package/addon/controllers/connectivity/telematics/details/logs.js +43 -0
  75. package/addon/controllers/connectivity/telematics/details/sensors.js +270 -0
  76. package/addon/controllers/connectivity/telematics/details.js +149 -0
  77. package/addon/controllers/connectivity/telematics/{index/edit.js → edit.js} +15 -4
  78. package/addon/controllers/connectivity/telematics/index.js +25 -5
  79. package/addon/controllers/connectivity/telematics/{index/new.js → new.js} +8 -2
  80. package/addon/controllers/maintenance/index.js +100 -0
  81. package/addon/controllers/management/drivers/index/details.js +78 -1
  82. package/addon/controllers/management/drivers/index.js +39 -0
  83. package/addon/controllers/management/fleets/index/details.js +23 -1
  84. package/addon/controllers/management/fleets/index.js +6 -1
  85. package/addon/controllers/management/fuel-reports/index.js +37 -1
  86. package/addon/controllers/management/fuel-transactions/index/details.js +70 -0
  87. package/addon/controllers/management/fuel-transactions/index.js +240 -0
  88. package/addon/controllers/management/index.js +88 -0
  89. package/addon/controllers/management/vehicles/index/details.js +32 -0
  90. package/addon/controllers/management/vehicles/index.js +26 -0
  91. package/addon/controllers/operations/orders/index.js +4 -0
  92. package/addon/controllers/settings/index.js +142 -0
  93. package/addon/controllers/settings/payments/index.js +5 -0
  94. package/addon/extension.js +31 -0
  95. package/addon/routes/analytics/index.js +3 -0
  96. package/addon/routes/connectivity/devices/index.js +3 -0
  97. package/addon/routes/connectivity/fuel-providers/details/index.js +7 -0
  98. package/addon/routes/connectivity/fuel-providers/details/matching.js +7 -0
  99. package/addon/routes/connectivity/fuel-providers/details/settings.js +7 -0
  100. package/addon/routes/connectivity/fuel-providers/details/sync.js +18 -0
  101. package/addon/routes/connectivity/fuel-providers/details/transactions.js +14 -0
  102. package/addon/routes/connectivity/fuel-providers/details.js +18 -0
  103. package/addon/routes/connectivity/fuel-providers/edit.js +18 -0
  104. package/addon/routes/connectivity/fuel-providers/index.js +20 -0
  105. package/addon/routes/connectivity/fuel-providers/new.js +3 -0
  106. package/addon/routes/connectivity/fuel-providers.js +3 -0
  107. package/addon/routes/connectivity/telematics/details/attachments.js +28 -0
  108. package/addon/routes/connectivity/telematics/details/devices.js +30 -0
  109. package/addon/routes/connectivity/telematics/details/events.js +33 -0
  110. package/addon/routes/connectivity/telematics/details/index.js +3 -0
  111. package/addon/routes/connectivity/telematics/details/logs.js +17 -0
  112. package/addon/routes/connectivity/telematics/details/sensors.js +29 -0
  113. package/addon/routes/connectivity/telematics/{index/details.js → details.js} +1 -1
  114. package/addon/routes/connectivity/telematics/{index/edit.js → edit.js} +1 -1
  115. package/addon/routes/connectivity/telematics/new.js +3 -0
  116. package/addon/routes/maintenance/index.js +3 -0
  117. package/addon/routes/maintenance/work-orders/index.js +2 -0
  118. package/addon/routes/management/drivers/index/details/activity.js +3 -0
  119. package/addon/routes/management/fuel-reports/index.js +2 -0
  120. package/addon/routes/management/fuel-transactions/index/details.js +18 -0
  121. package/addon/routes/management/fuel-transactions/index.js +21 -0
  122. package/addon/routes/management/fuel-transactions.js +3 -0
  123. package/addon/routes/settings/index.js +3 -0
  124. package/addon/routes.js +28 -9
  125. package/addon/services/device-actions.js +64 -1
  126. package/addon/services/device-event-actions.js +12 -1
  127. package/addon/services/driver-actions.js +147 -11
  128. package/addon/services/fleet-actions.js +66 -1
  129. package/addon/services/fuel-integration-actions.js +31 -0
  130. package/addon/services/issue-actions.js +1 -1
  131. package/addon/services/telematic-actions.js +9 -3
  132. package/addon/services/vehicle-actions.js +125 -0
  133. package/addon/styles/fleetops-engine.css +2237 -162
  134. package/addon/templates/analytics/index.hbs +14 -0
  135. package/addon/templates/analytics/reports/index.hbs +19 -1
  136. package/addon/templates/connectivity/devices/index.hbs +19 -1
  137. package/addon/templates/connectivity/events/index.hbs +16 -1
  138. package/addon/templates/connectivity/fuel-providers/details/index.hbs +38 -0
  139. package/addon/templates/connectivity/fuel-providers/details/matching.hbs +13 -0
  140. package/addon/templates/connectivity/fuel-providers/details/settings.hbs +11 -0
  141. package/addon/templates/connectivity/fuel-providers/details/sync.hbs +48 -0
  142. package/addon/templates/connectivity/fuel-providers/details/transactions.hbs +21 -0
  143. package/addon/templates/connectivity/fuel-providers/details.hbs +51 -0
  144. package/addon/templates/connectivity/fuel-providers/edit.hbs +24 -0
  145. package/addon/templates/connectivity/fuel-providers/index.hbs +12 -0
  146. package/addon/templates/connectivity/fuel-providers/new.hbs +22 -0
  147. package/addon/templates/connectivity/fuel-providers.hbs +1 -0
  148. package/addon/templates/connectivity/sensors/index.hbs +19 -1
  149. package/addon/templates/connectivity/telematics/details/attachments.hbs +163 -0
  150. package/addon/templates/connectivity/telematics/details/devices.hbs +88 -0
  151. package/addon/templates/connectivity/telematics/details/events.hbs +101 -0
  152. package/addon/templates/connectivity/telematics/{index/details → details}/index.hbs +0 -1
  153. package/addon/templates/connectivity/telematics/details/logs.hbs +69 -0
  154. package/addon/templates/connectivity/telematics/details/sensors.hbs +88 -0
  155. package/addon/templates/connectivity/telematics/details.hbs +53 -0
  156. package/addon/templates/connectivity/telematics/edit.hbs +27 -0
  157. package/addon/templates/connectivity/telematics/index.hbs +6 -8
  158. package/addon/templates/connectivity/telematics/new.hbs +24 -0
  159. package/addon/templates/maintenance/equipment/index.hbs +19 -1
  160. package/addon/templates/maintenance/index.hbs +113 -0
  161. package/addon/templates/maintenance/maintenances/index.hbs +15 -1
  162. package/addon/templates/maintenance/parts/index.hbs +19 -1
  163. package/addon/templates/maintenance/schedules/index.hbs +19 -1
  164. package/addon/templates/maintenance/work-orders/index.hbs +19 -1
  165. package/addon/templates/management/contacts/customers.hbs +15 -1
  166. package/addon/templates/management/contacts/index.hbs +19 -1
  167. package/addon/templates/management/drivers/index/details/activity.hbs +1 -0
  168. package/addon/templates/management/drivers/index.hbs +19 -1
  169. package/addon/templates/management/fleets/index.hbs +19 -1
  170. package/addon/templates/management/fuel-reports/index.hbs +19 -1
  171. package/addon/templates/management/fuel-transactions/index/details.hbs +73 -0
  172. package/addon/templates/management/fuel-transactions/index.hbs +58 -0
  173. package/addon/templates/management/fuel-transactions.hbs +1 -0
  174. package/addon/templates/management/index.hbs +109 -73
  175. package/addon/templates/management/issues/index.hbs +19 -1
  176. package/addon/templates/management/places/index.hbs +19 -1
  177. package/addon/templates/management/vehicles/index.hbs +19 -1
  178. package/addon/templates/management/vendors/index.hbs +19 -1
  179. package/addon/templates/management/vendors/integrated.hbs +13 -1
  180. package/addon/templates/operations/orders/index.hbs +19 -1
  181. package/addon/templates/operations/service-rates/index.hbs +19 -1
  182. package/addon/templates/settings/index.hbs +83 -0
  183. package/addon/templates/settings/payments/index.hbs +15 -1
  184. package/addon/templates/settings/routing.hbs +2 -2
  185. package/addon/utils/fleet-ops-options.js +3 -0
  186. package/app/components/cell/telematic-provider.js +1 -0
  187. package/app/components/cell/telematic-status.js +1 -0
  188. package/app/components/fuel-integration/form.js +1 -0
  189. package/app/components/fuel-integration/hub.js +1 -0
  190. package/app/components/fuel-integration/matching-priority.js +1 -0
  191. package/app/components/modals/assigned-orders.js +1 -0
  192. package/app/components/modals/attach-telematic-device.js +1 -0
  193. package/app/components/modals/fleet-assign-driver.js +1 -0
  194. package/app/components/modals/fleet-assign-vehicle.js +1 -0
  195. package/app/components/modals/telematic-connection-diagnostics.js +1 -0
  196. package/app/components/order/card.js +1 -0
  197. package/app/components/telematic/hub.js +1 -0
  198. package/app/components/telematic/settings.js +1 -0
  199. package/app/components/telematic/tab-empty-state.js +1 -0
  200. package/app/components/widget/fuel-providers.js +1 -0
  201. package/app/controllers/connectivity/fuel-providers/details/sync.js +1 -0
  202. package/app/controllers/connectivity/{telematics/index/details/devices.js → fuel-providers/details/transactions.js} +1 -1
  203. package/app/controllers/connectivity/{telematics/index → fuel-providers}/details.js +1 -1
  204. package/app/controllers/connectivity/{telematics/index → fuel-providers}/edit.js +1 -1
  205. package/app/controllers/connectivity/{telematics/index/details → fuel-providers}/index.js +1 -1
  206. package/app/controllers/connectivity/{telematics/index → fuel-providers}/new.js +1 -1
  207. package/app/controllers/connectivity/telematics/details/attachments.js +1 -0
  208. package/app/controllers/connectivity/telematics/details/devices.js +1 -0
  209. package/app/controllers/connectivity/telematics/details/events.js +1 -0
  210. package/app/controllers/connectivity/telematics/details/index.js +1 -0
  211. package/app/controllers/connectivity/telematics/details/logs.js +1 -0
  212. package/app/controllers/connectivity/telematics/details/sensors.js +1 -0
  213. package/app/controllers/connectivity/telematics/details.js +1 -0
  214. package/app/controllers/connectivity/telematics/edit.js +1 -0
  215. package/app/controllers/connectivity/telematics/new.js +1 -0
  216. package/app/controllers/maintenance/index.js +1 -0
  217. package/app/controllers/management/fuel-transactions/index/details.js +1 -0
  218. package/app/controllers/management/fuel-transactions/index.js +1 -0
  219. package/app/controllers/management/index.js +1 -0
  220. package/app/controllers/settings/index.js +1 -0
  221. package/app/routes/analytics/index.js +1 -0
  222. package/app/routes/connectivity/{telematics/index → fuel-providers}/details/index.js +1 -1
  223. package/app/routes/connectivity/{telematics/index/details/events.js → fuel-providers/details/matching.js} +1 -1
  224. package/app/routes/connectivity/fuel-providers/details/settings.js +1 -0
  225. package/app/routes/connectivity/fuel-providers/details/sync.js +1 -0
  226. package/app/routes/connectivity/{telematics/index/details/devices.js → fuel-providers/details/transactions.js} +1 -1
  227. package/app/routes/connectivity/{telematics/index → fuel-providers}/details.js +1 -1
  228. package/app/routes/connectivity/{telematics/index → fuel-providers}/edit.js +1 -1
  229. package/app/routes/connectivity/fuel-providers/index.js +1 -0
  230. package/app/routes/connectivity/{telematics/index → fuel-providers}/new.js +1 -1
  231. package/app/routes/connectivity/fuel-providers.js +1 -0
  232. package/app/routes/connectivity/telematics/details/attachments.js +1 -0
  233. package/app/routes/connectivity/telematics/details/devices.js +1 -0
  234. package/app/routes/connectivity/telematics/details/events.js +1 -0
  235. package/app/routes/connectivity/telematics/details/index.js +1 -0
  236. package/app/routes/connectivity/telematics/details/logs.js +1 -0
  237. package/app/routes/connectivity/telematics/details/sensors.js +1 -0
  238. package/app/routes/connectivity/telematics/details.js +1 -0
  239. package/app/routes/connectivity/telematics/edit.js +1 -0
  240. package/app/routes/connectivity/telematics/new.js +1 -0
  241. package/app/routes/maintenance/index.js +1 -0
  242. package/app/routes/management/drivers/index/details/activity.js +1 -0
  243. package/app/routes/management/fuel-transactions/index/details.js +1 -0
  244. package/app/routes/management/fuel-transactions/index.js +1 -0
  245. package/app/routes/management/fuel-transactions.js +1 -0
  246. package/app/routes/settings/index.js +1 -0
  247. package/app/services/fuel-integration-actions.js +1 -0
  248. package/app/templates/analytics/index.js +1 -0
  249. package/app/templates/connectivity/{telematics/index → fuel-providers}/details/index.js +1 -1
  250. package/app/templates/connectivity/{telematics/index/details/events.js → fuel-providers/details/matching.js} +1 -1
  251. package/app/templates/connectivity/fuel-providers/details/settings.js +1 -0
  252. package/app/templates/connectivity/fuel-providers/details/sync.js +1 -0
  253. package/app/templates/connectivity/{telematics/index/details/devices.js → fuel-providers/details/transactions.js} +1 -1
  254. package/app/templates/connectivity/{telematics/index → fuel-providers}/details.js +1 -1
  255. package/app/templates/connectivity/{telematics/index → fuel-providers}/edit.js +1 -1
  256. package/app/templates/connectivity/fuel-providers/index.js +1 -0
  257. package/app/templates/connectivity/{telematics/index → fuel-providers}/new.js +1 -1
  258. package/app/templates/connectivity/fuel-providers.js +1 -0
  259. package/app/templates/connectivity/telematics/details/attachments.js +1 -0
  260. package/app/templates/connectivity/telematics/details/devices.js +1 -0
  261. package/app/templates/connectivity/telematics/details/events.js +1 -0
  262. package/app/templates/connectivity/telematics/details/index.js +1 -0
  263. package/app/templates/connectivity/telematics/details/logs.js +1 -0
  264. package/app/templates/connectivity/telematics/details/sensors.js +1 -0
  265. package/app/templates/connectivity/telematics/details.js +1 -0
  266. package/app/templates/connectivity/telematics/edit.js +1 -0
  267. package/app/templates/connectivity/telematics/new.js +1 -0
  268. package/app/templates/maintenance/index.js +1 -0
  269. package/app/templates/management/drivers/index/details/activity.js +1 -0
  270. package/app/templates/management/fuel-transactions/index/details.js +1 -0
  271. package/app/templates/management/fuel-transactions/index.js +1 -0
  272. package/app/templates/management/fuel-transactions.js +1 -0
  273. package/app/templates/management/index.js +1 -0
  274. package/app/templates/settings/index.js +1 -0
  275. package/assets/images/telematics/providers/afaqy.webp +0 -0
  276. package/assets/images/telematics/providers/default.webp +0 -0
  277. package/assets/images/telematics/providers/flespi.webp +0 -0
  278. package/assets/images/telematics/providers/geotab.webp +0 -0
  279. package/assets/images/telematics/providers/safee.webp +0 -0
  280. package/assets/images/telematics/providers/samsara.webp +0 -0
  281. package/composer.json +1 -1
  282. package/extension.json +1 -1
  283. package/package.json +4 -4
  284. package/server/config/fuel-providers.php +42 -0
  285. package/server/config/telematics.php +139 -130
  286. package/server/migrations/2026_06_06_000001_harden_device_events_telematics_contract.php +59 -0
  287. package/server/migrations/2026_06_08_000001_create_fuel_provider_connections_table.php +37 -0
  288. package/server/migrations/2026_06_08_000002_create_fuel_provider_transactions_table.php +53 -0
  289. package/server/migrations/2026_06_08_000003_create_fuel_provider_sync_runs_table.php +40 -0
  290. package/server/migrations/2026_06_10_000001_add_fuel_card_number_to_vehicles_table.php +25 -0
  291. package/server/migrations/2026_06_10_000002_add_vehicle_identity_columns_to_fuel_provider_transactions_table.php +39 -0
  292. package/server/migrations/2026_06_15_000001_normalize_device_attachable_vehicle_morph_types.php +30 -0
  293. package/server/src/Console/Commands/FixInvalidPolymorphicRelationTypeNamespaces.php +1 -0
  294. package/server/src/Contracts/FuelProvider.php +30 -0
  295. package/server/src/Contracts/TelematicProviderDescriptor.php +3 -1
  296. package/server/src/Events/FuelProviderTransactionImported.php +17 -0
  297. package/server/src/Events/FuelProviderTransactionMatched.php +17 -0
  298. package/server/src/Events/FuelProviderTransactionUnmatched.php +17 -0
  299. package/server/src/Events/FuelReportCreatedFromProvider.php +18 -0
  300. package/server/src/Http/Controllers/Internal/v1/AnalyticsController.php +6 -0
  301. package/server/src/Http/Controllers/Internal/v1/DeviceController.php +140 -2
  302. package/server/src/Http/Controllers/Internal/v1/DeviceEventController.php +44 -0
  303. package/server/src/Http/Controllers/Internal/v1/DriverController.php +158 -7
  304. package/server/src/Http/Controllers/Internal/v1/FuelProviderConnectionController.php +124 -0
  305. package/server/src/Http/Controllers/Internal/v1/FuelProviderSyncRunController.php +10 -0
  306. package/server/src/Http/Controllers/Internal/v1/FuelProviderTransactionController.php +76 -0
  307. package/server/src/Http/Controllers/Internal/v1/HubController.php +300 -0
  308. package/server/src/Http/Controllers/Internal/v1/SearchController.php +506 -0
  309. package/server/src/Http/Controllers/Internal/v1/SensorController.php +1 -1
  310. package/server/src/Http/Controllers/Internal/v1/TelematicController.php +179 -16
  311. package/server/src/Http/Controllers/Internal/v1/VehicleController.php +249 -0
  312. package/server/src/Http/Controllers/TelematicWebhookController.php +103 -19
  313. package/server/src/Http/Filter/DeviceFilter.php +74 -0
  314. package/server/src/Http/Filter/DriverFilter.php +6 -0
  315. package/server/src/Http/Filter/FuelProviderConnectionFilter.php +33 -0
  316. package/server/src/Http/Filter/FuelProviderSyncRunFilter.php +28 -0
  317. package/server/src/Http/Filter/FuelProviderTransactionFilter.php +59 -0
  318. package/server/src/Http/Filter/FuelReportFilter.php +10 -0
  319. package/server/src/Http/Filter/VehicleFilter.php +6 -0
  320. package/server/src/Http/Resources/v1/Driver.php +15 -0
  321. package/server/src/Http/Resources/v1/FuelProviderConnection.php +30 -0
  322. package/server/src/Http/Resources/v1/FuelProviderSyncRun.php +36 -0
  323. package/server/src/Http/Resources/v1/FuelProviderTransaction.php +54 -0
  324. package/server/src/Http/Resources/v1/FuelReport.php +28 -22
  325. package/server/src/Http/Resources/v1/Index/Driver.php +26 -20
  326. package/server/src/Http/Resources/v1/Index/Vehicle.php +29 -22
  327. package/server/src/Http/Resources/v1/Vehicle.php +17 -0
  328. package/server/src/Http/Resources/v1/VehicleWithoutDriver.php +2 -0
  329. package/server/src/Jobs/SyncFuelProviderTransactionsJob.php +57 -0
  330. package/server/src/Jobs/SyncTelematicDevicesJob.php +105 -17
  331. package/server/src/Jobs/TestTelematicConnectionJob.php +9 -22
  332. package/server/src/Models/Asset.php +2 -1
  333. package/server/src/Models/Contact.php +2 -1
  334. package/server/src/Models/Device.php +27 -4
  335. package/server/src/Models/DeviceEvent.php +40 -3
  336. package/server/src/Models/Driver.php +3 -2
  337. package/server/src/Models/Equipment.php +2 -1
  338. package/server/src/Models/Fleet.php +2 -1
  339. package/server/src/Models/FuelProviderConnection.php +60 -0
  340. package/server/src/Models/FuelProviderSyncRun.php +58 -0
  341. package/server/src/Models/FuelProviderTransaction.php +119 -0
  342. package/server/src/Models/FuelReport.php +16 -1
  343. package/server/src/Models/Part.php +2 -1
  344. package/server/src/Models/Sensor.php +21 -4
  345. package/server/src/Models/ServiceRate.php +39 -2
  346. package/server/src/Models/Vehicle.php +14 -2
  347. package/server/src/Models/Vendor.php +2 -1
  348. package/server/src/Providers/FleetOpsServiceProvider.php +20 -0
  349. package/server/src/Support/Analytics/FuelProviderSummary.php +42 -0
  350. package/server/src/Support/FuelProviders/FuelProviderDescriptor.php +55 -0
  351. package/server/src/Support/FuelProviders/FuelProviderRegistry.php +75 -0
  352. package/server/src/Support/FuelProviders/FuelProviderService.php +447 -0
  353. package/server/src/Support/FuelProviders/Providers/AbstractFuelProvider.php +98 -0
  354. package/server/src/Support/FuelProviders/Providers/PetroAppFuelProvider.php +167 -0
  355. package/server/src/Support/Telematics/Providers/AbstractProvider.php +27 -6
  356. package/server/src/Support/Telematics/Providers/AfaqyProvider.php +105 -38
  357. package/server/src/Support/Telematics/Providers/FlespiProvider.php +1 -0
  358. package/server/src/Support/Telematics/Providers/GeotabProvider.php +1 -0
  359. package/server/src/Support/Telematics/Providers/SafeeProvider.php +32 -22
  360. package/server/src/Support/Telematics/Providers/SamsaraProvider.php +3 -1
  361. package/server/src/Support/Telematics/TelematicService.php +340 -21
  362. package/server/src/routes.php +50 -4
  363. package/server/tests/FuelProviderRegistryTest.php +416 -0
  364. package/server/tests/HubRoutesTest.php +62 -0
  365. package/server/tests/ServiceRateAlgorithmWeightVariablesTest.php +44 -0
  366. package/server/tests/TelematicsHardeningTest.php +359 -0
  367. package/server/tests/VehicleDriverAssignmentTest.php +51 -0
  368. package/translations/ar-ae.yml +23 -1
  369. package/translations/bg-bg.yaml +72 -0
  370. package/translations/en-us.yaml +83 -0
  371. package/translations/es-pa.yaml +72 -0
  372. package/translations/fr-fr.yaml +72 -0
  373. package/translations/mn-mn.yaml +72 -0
  374. package/translations/pt-br.yaml +72 -0
  375. package/translations/ru-ru.yaml +72 -0
  376. package/translations/vi-vn.yaml +98 -1
  377. package/addon/controllers/connectivity/telematics/index/details/devices.js +0 -3
  378. package/addon/controllers/connectivity/telematics/index/details/events.js +0 -3
  379. package/addon/controllers/connectivity/telematics/index/details/index.js +0 -3
  380. package/addon/controllers/connectivity/telematics/index/details/sensors.js +0 -3
  381. package/addon/controllers/connectivity/telematics/index/details.js +0 -24
  382. package/addon/routes/connectivity/telematics/index/details/devices.js +0 -3
  383. package/addon/routes/connectivity/telematics/index/details/events.js +0 -3
  384. package/addon/routes/connectivity/telematics/index/details/index.js +0 -3
  385. package/addon/routes/connectivity/telematics/index/details/sensors.js +0 -3
  386. package/addon/routes/connectivity/telematics/index/new.js +0 -3
  387. package/addon/templates/connectivity/telematics/index/details/devices.hbs +0 -1
  388. package/addon/templates/connectivity/telematics/index/details/events.hbs +0 -1
  389. package/addon/templates/connectivity/telematics/index/details/sensors.hbs +0 -1
  390. package/addon/templates/connectivity/telematics/index/details.hbs +0 -14
  391. package/addon/templates/connectivity/telematics/index/edit.hbs +0 -12
  392. package/addon/templates/connectivity/telematics/index/new.hbs +0 -12
  393. package/app/controllers/connectivity/telematics/index/details/events.js +0 -1
  394. package/app/controllers/connectivity/telematics/index/details/sensors.js +0 -1
  395. package/app/routes/connectivity/telematics/index/details/sensors.js +0 -1
  396. package/app/templates/connectivity/telematics/index/details/sensors.js +0 -1
@@ -40,6 +40,7 @@ common:
40
40
  activity: Activity
41
41
  eta: ETA
42
42
  position: Position
43
+ positions: Positions
43
44
  pos: POS
44
45
  edit-address: Edit Address
45
46
  new-address: New Address
@@ -74,6 +75,7 @@ menu:
74
75
  contacts: Contacts
75
76
  places: Places
76
77
  fuel-reports: Fuel Reports
78
+ fuel-transactions: Fuel Transactions
77
79
  issues: Issues
78
80
  maintenance: Maintenance
79
81
  schedules: Schedules
@@ -83,6 +85,7 @@ menu:
83
85
  maintenance-history: Maintenance History
84
86
  connectivity: Connectivity
85
87
  telematics: Telematics
88
+ fuel-providers: Fuel Integrations
86
89
  devices: Devices
87
90
  sensors: Sensors
88
91
  events: Events
@@ -441,10 +444,31 @@ driver:
441
444
  license-expiry: License Expiry
442
445
  no-vehicle-assigned: No Vehicle Assigned
443
446
  actions:
447
+ unassign-orders: Unassign Orders
448
+ unassign-vehicle: Unassign Vehicle
449
+ create-issue: Create Issue
444
450
  assign-order: Assign Order to Driver
445
451
  assign-vehicle: Assign Vehicle to Driver
446
452
  locate-driver: Locate Driver on Map
447
453
 
454
+ prompts:
455
+ assign-order-title: "Assign order to {driverName}"
456
+ assign-order-success: Order assigned to {driverName}.
457
+ select-order-warning: "Select an order to assign."
458
+ assign-vehicle-title: "Assign vehicle to {driverName}"
459
+ assign-vehicle-success: "Vehicle assigned to {driverName}."
460
+ select-vehicle-warning: Select a vehicle to assign.
461
+ no-assigned-orders-warning: No assigned orders found for {driverName}.
462
+ select-orders-warning: Select at least one order to unassign.
463
+ unassign-orders-title: Unassign orders from {driverName}
464
+ confirm-unassign-orders-title: Unassign {count} order(s) from {driverName}?
465
+ confirm-unassign-orders-body: "This will remove {driverName} from these orders: {orders}."
466
+ unassign-orders-success: Unassigned {driverName} from {count} order(s).
467
+ no-vehicle-assigned-warning: No vehicle is assigned to {driverName}.
468
+ unassign-vehicle-title: Unassign {vehicleName} from {driverName}?
469
+ unassign-vehicle-body: This removes {driverName} from {vehicleName}. Order assignments are not changed.
470
+ unassign-vehicle-success: Unassigned {vehicleName} from {driverName}.
471
+ issue-title: Issue reported for {driverName}
448
472
  device:
449
473
  fields:
450
474
  title: Device Details
@@ -479,6 +503,29 @@ device:
479
503
  notes: Notes
480
504
  notes-placeholder: Notes
481
505
 
506
+ actions:
507
+ attach-device: Attach Device
508
+ attach-to-vehicle: Attach to Vehicle
509
+ detach-from-vehicle: Detach from Vehicle
510
+ prompts:
511
+ attach-to-vehicle-title: Attach device to vehicle
512
+ attach-device-to-vehicle-title: "Attach {deviceName} to vehicle"
513
+ select-vehicle-warning: Select a vehicle to attach this device to.
514
+ attach-to-vehicle-success: Device attached to vehicle.
515
+ not-attached-warning: "{deviceName} is not attached to a vehicle."
516
+ detach-from-vehicle-title: "Detach {deviceName} from vehicle?"
517
+ detach-from-vehicle-body: "This detaches {deviceName} from {vehicleName} and stops vehicle telemetry updates until it is attached again."
518
+ detach-from-vehicle-success: Device detached from vehicle.
519
+ select-device-to-attach-title: "Select device to attach to {resourceName}"
520
+ confirm-attach-device: "Confirm & Attach Device"
521
+ attach-device-success: Device attached successfully.
522
+ detach-from-resource-title: "Detach {deviceName} from {resourceName}?"
523
+ detach-from-resource-body: "This detaches {deviceName} from {resourceName} and stops telemetry updates and events for this {resourceType}."
524
+ detach-from-resource-success: "Detached {deviceName} from {resourceName}."
525
+ detach-telematic-device-title: "Detach {deviceName} from vehicle?"
526
+ detach-telematic-device-body: "{deviceName} will remain synced from the provider but will no longer be mapped to a vehicle."
527
+ no-devices-attached-title: No Devices Attached
528
+ no-devices-attached-body: "Click Attach Device above to start receiving telematic data for this {resourceType}."
482
529
  entity:
483
530
  fields:
484
531
  declare: Declare
@@ -530,8 +577,16 @@ fleet:
530
577
  add-vehicle: Add vehicle to fleet
531
578
  loading-message: Loading fleet vehicle...
532
579
  actions:
580
+ assign-vehicle: Assign Vehicle to Fleet
533
581
  assign-driver: Assign Driver to Fleet
534
582
 
583
+ prompts:
584
+ assign-driver-title: Assign driver to {fleetName}
585
+ assign-vehicle-title: Assign vehicle to {fleetName}
586
+ select-driver-warning: Select a driver to assign.
587
+ select-vehicle-warning: Select a vehicle to assign.
588
+ assign-driver-success: Driver assigned to {fleetName}.
589
+ assign-vehicle-success: Vehicle assigned to {fleetName}.
535
590
  fuel-report:
536
591
  fields:
537
592
  details: Fuel Report Details
@@ -562,6 +617,20 @@ issue:
562
617
  type: Issue Type
563
618
 
564
619
  order:
620
+ card:
621
+ linked-order: Linked Order
622
+ unknown-order: Unknown order
623
+ no-type: No type
624
+ pickup: Pickup
625
+ dropoff: Dropoff
626
+ return: Return
627
+ waypoints: Waypoints
628
+ additional-stop: additional stop
629
+ additional-stops: additional stops
630
+ no-pickup-address: No pickup address
631
+ no-dropoff-address: No dropoff address
632
+ no-route-details: No route details available.
633
+ no-order-linked: No order is linked to this issue.
565
634
  fields:
566
635
  ad-hoc: Ad-Hoc
567
636
  ad-hoc-help-text: Toggling Ad-Hoc will enable the order to intelligently ping drivers within the order pickup vicinity about the order allowing the first available driver to accept the order. This is an alternative to manually assigning the driver for real-time orders.
@@ -949,11 +1018,25 @@ vehicle:
949
1018
  vin-number: VIN Number
950
1019
  year: Year
951
1020
  actions:
1021
+ attach-device: Attach Device
1022
+ unassign-orders: Unassign Orders
1023
+ create-issue: Create Issue
952
1024
  locate-vehicle: Locate Vehicle on Map
953
1025
  schedule-maintenance: Schedule Maintenance
954
1026
  create-work-order: Create Work Order
955
1027
  log-maintenance: Log Maintenance
956
1028
 
1029
+ prompts:
1030
+ attach-device-title: Attach device to {vehicleName}
1031
+ select-device-warning: Select a device to attach.
1032
+ attach-device-success: Device attached to {vehicleName}.
1033
+ no-assigned-orders-warning: No assigned orders found for {vehicleName}.
1034
+ select-orders-warning: Select at least one order to unassign.
1035
+ unassign-orders-title: Unassign orders from {vehicleName}
1036
+ confirm-unassign-orders-title: Unassign {count} order(s) from {vehicleName}?
1037
+ confirm-unassign-orders-body: "This will remove {vehicleName} from these orders: {orders}."
1038
+ unassign-orders-success: Unassigned {vehicleName} from {count} order(s).
1039
+ issue-title: Issue reported for {vehicleName}
957
1040
  vendor:
958
1041
  fields:
959
1042
  setup-vendor: Setup Vendor
@@ -42,6 +42,7 @@ common:
42
42
  new-address: Nueva dirección
43
43
  select-address: Seleccionar dirección
44
44
 
45
+ current-job: Current Job
45
46
  menu:
46
47
  operations: Operaciones
47
48
  dashboard: Panel
@@ -57,6 +58,7 @@ menu:
57
58
  contacts: Contactos
58
59
  places: Lugares
59
60
  fuel-reports: Informes de combustible
61
+ fuel-transactions: Transacciones de combustible
60
62
  issues: Asuntos
61
63
  maintenance: Mantenimiento
62
64
  work-orders: Órdenes de trabajo
@@ -64,6 +66,7 @@ menu:
64
66
  parts: Partes
65
67
  connectivity: Conectividad
66
68
  telematics: Telemática
69
+ fuel-providers: Integraciones de combustible
67
70
  devices: Dispositivos
68
71
  sensors: Sensores
69
72
  events: Eventos
@@ -396,10 +399,31 @@ driver:
396
399
  driver-license: Licencia de conducir
397
400
  no-vehicle-assigned: Ningún vehículo asignado
398
401
  actions:
402
+ unassign-orders: Unassign Orders
403
+ unassign-vehicle: Unassign Vehicle
404
+ create-issue: Create Issue
399
405
  assign-order: Asignar orden al conductor
400
406
  assign-vehicle: Asignar vehículo al conductor
401
407
  locate-driver: Localizar al conductor en el mapa
402
408
 
409
+ prompts:
410
+ assign-order-success: Order assigned to {driverName}.
411
+ assign-order-title: "Assign order to {driverName}"
412
+ select-order-warning: "Select an order to assign."
413
+ assign-vehicle-title: "Assign vehicle to {driverName}"
414
+ assign-vehicle-success: "Vehicle assigned to {driverName}."
415
+ select-vehicle-warning: Select a vehicle to assign.
416
+ no-assigned-orders-warning: No assigned orders found for {driverName}.
417
+ select-orders-warning: Select at least one order to unassign.
418
+ unassign-orders-title: Unassign orders from {driverName}
419
+ confirm-unassign-orders-title: Unassign {count} order(s) from {driverName}?
420
+ confirm-unassign-orders-body: "This will remove {driverName} from these orders: {orders}."
421
+ unassign-orders-success: Unassigned {driverName} from {count} order(s).
422
+ no-vehicle-assigned-warning: No vehicle is assigned to {driverName}.
423
+ unassign-vehicle-title: Unassign {vehicleName} from {driverName}?
424
+ unassign-vehicle-body: This removes {driverName} from {vehicleName}. Order assignments are not changed.
425
+ unassign-vehicle-success: Unassigned {vehicleName} from {driverName}.
426
+ issue-title: Issue reported for {driverName}
403
427
  device:
404
428
  fields:
405
429
  title: Detalles del dispositivo
@@ -434,6 +458,18 @@ device:
434
458
  notes: Notas
435
459
  notes-placeholder: Notas
436
460
 
461
+ actions:
462
+ attach-to-vehicle: Attach to Vehicle
463
+ detach-from-vehicle: Detach from Vehicle
464
+ prompts:
465
+ attach-to-vehicle-title: Attach device to vehicle
466
+ attach-device-to-vehicle-title: "Attach {deviceName} to vehicle"
467
+ select-vehicle-warning: Select a vehicle to attach this device to.
468
+ attach-to-vehicle-success: Device attached to vehicle.
469
+ not-attached-warning: "{deviceName} is not attached to a vehicle."
470
+ detach-from-vehicle-title: "Detach {deviceName} from vehicle?"
471
+ detach-from-vehicle-body: "This detaches {deviceName} from {vehicleName} and stops vehicle telemetry updates until it is attached again."
472
+ detach-from-vehicle-success: Device detached from vehicle.
437
473
  entity:
438
474
  fields:
439
475
  declare: Declarar
@@ -485,8 +521,16 @@ fleet:
485
521
  add-vehicle: Agregar vehículo a la flota
486
522
  loading-message: Cargando vehículo de flota...
487
523
  actions:
524
+ assign-vehicle: Assign Vehicle to Fleet
488
525
  assign-driver: Asignar conductor a la flota
489
526
 
527
+ prompts:
528
+ assign-driver-title: Assign driver to {fleetName}
529
+ assign-vehicle-title: Assign vehicle to {fleetName}
530
+ select-driver-warning: Select a driver to assign.
531
+ select-vehicle-warning: Select a vehicle to assign.
532
+ assign-driver-success: Driver assigned to {fleetName}.
533
+ assign-vehicle-success: Vehicle assigned to {fleetName}.
490
534
  fuel-report:
491
535
  fields:
492
536
  details: Detalles del informe de combustible
@@ -517,6 +561,20 @@ issue:
517
561
  type: Tipo de problema
518
562
 
519
563
  order:
564
+ card:
565
+ linked-order: Linked Order
566
+ unknown-order: Unknown order
567
+ no-type: No type
568
+ pickup: Pickup
569
+ dropoff: Dropoff
570
+ return: Return
571
+ waypoints: Waypoints
572
+ additional-stop: additional stop
573
+ additional-stops: additional stops
574
+ no-pickup-address: No pickup address
575
+ no-dropoff-address: No dropoff address
576
+ no-route-details: No route details available.
577
+ no-order-linked: No order is linked to this issue.
520
578
  fields:
521
579
  ad-hoc: ad hoc
522
580
  ad-hoc-help-text: Alternar Ad-Hoc permitirá que el pedido haga ping de manera inteligente a los conductores dentro del área de recogida del pedido sobre el pedido, lo que permitirá que el primer conductor disponible acepte el pedido. Esta es una alternativa a la asignación manual del conductor para pedidos en tiempo real.
@@ -903,8 +961,22 @@ vehicle:
903
961
  vin-number: Número de bastidor
904
962
  year: Año
905
963
  actions:
964
+ attach-device: Attach Device
965
+ unassign-orders: Unassign Orders
966
+ create-issue: Create Issue
906
967
  locate-vehicle: Localizar vehículo en el mapa
907
968
 
969
+ prompts:
970
+ attach-device-title: Attach device to {vehicleName}
971
+ select-device-warning: Select a device to attach.
972
+ attach-device-success: Device attached to {vehicleName}.
973
+ no-assigned-orders-warning: No assigned orders found for {vehicleName}.
974
+ select-orders-warning: Select at least one order to unassign.
975
+ unassign-orders-title: Unassign orders from {vehicleName}
976
+ confirm-unassign-orders-title: Unassign {count} order(s) from {vehicleName}?
977
+ confirm-unassign-orders-body: "This will remove {vehicleName} from these orders: {orders}."
978
+ unassign-orders-success: Unassigned {vehicleName} from {count} order(s).
979
+ issue-title: Issue reported for {vehicleName}
908
980
  vendor:
909
981
  fields:
910
982
  setup-vendor: Proveedor de configuración
@@ -46,6 +46,7 @@ common:
46
46
  overview: Overview
47
47
  notes: Notes
48
48
  schedule: Schedule
49
+ current-job: Current Job
49
50
  menu:
50
51
  operations: Opérations
51
52
  dashboard: Tableau de bord
@@ -61,6 +62,7 @@ menu:
61
62
  contacts: Contacts
62
63
  places: Lieux
63
64
  fuel-reports: Rapports de carburant
65
+ fuel-transactions: Transactions de carburant
64
66
  issues: Problèmes
65
67
  maintenance: Maintenance
66
68
  work-orders: Ordres de travail
@@ -68,6 +70,7 @@ menu:
68
70
  parts: Pièces
69
71
  connectivity: Connectivité
70
72
  telematics: Télématique
73
+ fuel-providers: Intégrations carburant
71
74
  devices: Appareils
72
75
  sensors: Capteurs
73
76
  events: Événements
@@ -413,9 +416,30 @@ driver:
413
416
  driver-license: Permis de conduire
414
417
  no-vehicle-assigned: Aucun véhicule attribué
415
418
  actions:
419
+ unassign-orders: Unassign Orders
420
+ unassign-vehicle: Unassign Vehicle
421
+ create-issue: Create Issue
416
422
  assign-order: Attribuer la commande au conducteur
417
423
  assign-vehicle: Attribuer un véhicule au conducteur
418
424
  locate-driver: Localiser le conducteur sur la carte
425
+ prompts:
426
+ assign-order-success: Order assigned to {driverName}.
427
+ assign-order-title: "Assign order to {driverName}"
428
+ select-order-warning: "Select an order to assign."
429
+ assign-vehicle-title: "Assign vehicle to {driverName}"
430
+ assign-vehicle-success: "Vehicle assigned to {driverName}."
431
+ select-vehicle-warning: Select a vehicle to assign.
432
+ no-assigned-orders-warning: No assigned orders found for {driverName}.
433
+ select-orders-warning: Select at least one order to unassign.
434
+ unassign-orders-title: Unassign orders from {driverName}
435
+ confirm-unassign-orders-title: Unassign {count} order(s) from {driverName}?
436
+ confirm-unassign-orders-body: "This will remove {driverName} from these orders: {orders}."
437
+ unassign-orders-success: Unassigned {driverName} from {count} order(s).
438
+ no-vehicle-assigned-warning: No vehicle is assigned to {driverName}.
439
+ unassign-vehicle-title: Unassign {vehicleName} from {driverName}?
440
+ unassign-vehicle-body: This removes {driverName} from {vehicleName}. Order assignments are not changed.
441
+ unassign-vehicle-success: Unassigned {vehicleName} from {driverName}.
442
+ issue-title: Issue reported for {driverName}
419
443
  device:
420
444
  fields:
421
445
  title: Détails de l'appareil
@@ -448,6 +472,18 @@ device:
448
472
  warranty: Garantie
449
473
  warranty-placeholder: Sélectionnez la garantie
450
474
  notes: Notes
475
+ actions:
476
+ attach-to-vehicle: Attach to Vehicle
477
+ detach-from-vehicle: Detach from Vehicle
478
+ prompts:
479
+ attach-to-vehicle-title: Attach device to vehicle
480
+ attach-device-to-vehicle-title: "Attach {deviceName} to vehicle"
481
+ select-vehicle-warning: Select a vehicle to attach this device to.
482
+ attach-to-vehicle-success: Device attached to vehicle.
483
+ not-attached-warning: "{deviceName} is not attached to a vehicle."
484
+ detach-from-vehicle-title: "Detach {deviceName} from vehicle?"
485
+ detach-from-vehicle-body: "This detaches {deviceName} from {vehicleName} and stops vehicle telemetry updates until it is attached again."
486
+ detach-from-vehicle-success: Device detached from vehicle.
451
487
  entity:
452
488
  fields:
453
489
  declare: Déclarer
@@ -499,7 +535,15 @@ fleet:
499
535
  add-vehicle: Ajouter un véhicule à la flotte
500
536
  loading-message: Chargement des véhicules de la flotte...
501
537
  actions:
538
+ assign-vehicle: Assign Vehicle to Fleet
502
539
  assign-driver: Affecter un conducteur à la flotte
540
+ prompts:
541
+ assign-driver-title: Assign driver to {fleetName}
542
+ assign-vehicle-title: Assign vehicle to {fleetName}
543
+ select-driver-warning: Select a driver to assign.
544
+ select-vehicle-warning: Select a vehicle to assign.
545
+ assign-driver-success: Driver assigned to {fleetName}.
546
+ assign-vehicle-success: Vehicle assigned to {fleetName}.
503
547
  fuel-report:
504
548
  fields:
505
549
  details: Détails du rapport de carburant
@@ -529,6 +573,20 @@ issue:
529
573
  tags: Étiquettes du problème
530
574
  type: Type de problème
531
575
  order:
576
+ card:
577
+ linked-order: Linked Order
578
+ unknown-order: Unknown order
579
+ no-type: No type
580
+ pickup: Pickup
581
+ dropoff: Dropoff
582
+ return: Return
583
+ waypoints: Waypoints
584
+ additional-stop: additional stop
585
+ additional-stops: additional stops
586
+ no-pickup-address: No pickup address
587
+ no-dropoff-address: No dropoff address
588
+ no-route-details: No route details available.
589
+ no-order-linked: No order is linked to this issue.
532
590
  fields:
533
591
  ad-hoc: Ad-Hoc
534
592
  ad-hoc-help-text: Activer Ad-Hoc permettra à la commande d'envoyer intelligemment
@@ -975,7 +1033,21 @@ vehicle:
975
1033
  vin-number: Numéro VIN
976
1034
  year: Année
977
1035
  actions:
1036
+ attach-device: Attach Device
1037
+ unassign-orders: Unassign Orders
1038
+ create-issue: Create Issue
978
1039
  locate-vehicle: Localiser le véhicule sur la carte
1040
+ prompts:
1041
+ attach-device-title: Attach device to {vehicleName}
1042
+ select-device-warning: Select a device to attach.
1043
+ attach-device-success: Device attached to {vehicleName}.
1044
+ no-assigned-orders-warning: No assigned orders found for {vehicleName}.
1045
+ select-orders-warning: Select at least one order to unassign.
1046
+ unassign-orders-title: Unassign orders from {vehicleName}
1047
+ confirm-unassign-orders-title: Unassign {count} order(s) from {vehicleName}?
1048
+ confirm-unassign-orders-body: "This will remove {vehicleName} from these orders: {orders}."
1049
+ unassign-orders-success: Unassigned {vehicleName} from {count} order(s).
1050
+ issue-title: Issue reported for {vehicleName}
979
1051
  vendor:
980
1052
  fields:
981
1053
  setup-vendor: Configurer le fournisseur
@@ -46,6 +46,7 @@ common:
46
46
  overview: Overview
47
47
  notes: Notes
48
48
  schedule: Schedule
49
+ current-job: Current Job
49
50
  menu:
50
51
  operations: Үйл ажиллагаа
51
52
  dashboard: Хяналтын самбар
@@ -61,6 +62,7 @@ menu:
61
62
  contacts: Холбоо барих
62
63
  places: Газрууд
63
64
  fuel-reports: Түлшний тайлан
65
+ fuel-transactions: Түлшний гүйлгээнүүд
64
66
  issues: Асуудлууд
65
67
  maintenance: Үйлчилгээ
66
68
  work-orders: Ажлын захиалгууд
@@ -68,6 +70,7 @@ menu:
68
70
  parts: Сэлбэгүүд
69
71
  connectivity: Холболт
70
72
  telematics: Телематикийн систем
73
+ fuel-providers: Түлшний интеграцууд
71
74
  devices: Төхөөрөмжүүд
72
75
  sensors: Мэдрэгчүүд
73
76
  events: Үйл явдлууд
@@ -406,9 +409,30 @@ driver:
406
409
  driver-license: Жолоочийн үнэмлэх
407
410
  no-vehicle-assigned: Тээврийн хэрэгсэл оноогдоогүй
408
411
  actions:
412
+ unassign-orders: Unassign Orders
413
+ unassign-vehicle: Unassign Vehicle
414
+ create-issue: Create Issue
409
415
  assign-order: Захиалгыг жолоочид оноох
410
416
  assign-vehicle: Тээврийн хэрэгслийг жолоочид оноох
411
417
  locate-driver: Жолоочийг газрын зураг дээр олох
418
+ prompts:
419
+ assign-order-success: Order assigned to {driverName}.
420
+ assign-order-title: "Assign order to {driverName}"
421
+ select-order-warning: "Select an order to assign."
422
+ assign-vehicle-title: "Assign vehicle to {driverName}"
423
+ assign-vehicle-success: "Vehicle assigned to {driverName}."
424
+ select-vehicle-warning: Select a vehicle to assign.
425
+ no-assigned-orders-warning: No assigned orders found for {driverName}.
426
+ select-orders-warning: Select at least one order to unassign.
427
+ unassign-orders-title: Unassign orders from {driverName}
428
+ confirm-unassign-orders-title: Unassign {count} order(s) from {driverName}?
429
+ confirm-unassign-orders-body: "This will remove {driverName} from these orders: {orders}."
430
+ unassign-orders-success: Unassigned {driverName} from {count} order(s).
431
+ no-vehicle-assigned-warning: No vehicle is assigned to {driverName}.
432
+ unassign-vehicle-title: Unassign {vehicleName} from {driverName}?
433
+ unassign-vehicle-body: This removes {driverName} from {vehicleName}. Order assignments are not changed.
434
+ unassign-vehicle-success: Unassigned {vehicleName} from {driverName}.
435
+ issue-title: Issue reported for {driverName}
412
436
  device:
413
437
  fields:
414
438
  title: Төхөөрөмжийн дэлгэрэнгүй
@@ -441,6 +465,18 @@ device:
441
465
  warranty: Баталгаа
442
466
  warranty-placeholder: Баталгааг сонгоно уу
443
467
  notes: Тэмдэглэл
468
+ actions:
469
+ attach-to-vehicle: Attach to Vehicle
470
+ detach-from-vehicle: Detach from Vehicle
471
+ prompts:
472
+ attach-to-vehicle-title: Attach device to vehicle
473
+ attach-device-to-vehicle-title: "Attach {deviceName} to vehicle"
474
+ select-vehicle-warning: Select a vehicle to attach this device to.
475
+ attach-to-vehicle-success: Device attached to vehicle.
476
+ not-attached-warning: "{deviceName} is not attached to a vehicle."
477
+ detach-from-vehicle-title: "Detach {deviceName} from vehicle?"
478
+ detach-from-vehicle-body: "This detaches {deviceName} from {vehicleName} and stops vehicle telemetry updates until it is attached again."
479
+ detach-from-vehicle-success: Device detached from vehicle.
444
480
  entity:
445
481
  fields:
446
482
  declare: Мэдэгдэх
@@ -492,7 +528,15 @@ fleet:
492
528
  add-vehicle: Флотод тээврийн хэрэгсэл нэмэх
493
529
  loading-message: Флотын тээврийн хэрэгслийг ачаалж байна...
494
530
  actions:
531
+ assign-vehicle: Assign Vehicle to Fleet
495
532
  assign-driver: Жолоочийг Флотод Хуваарилах
533
+ prompts:
534
+ assign-driver-title: Assign driver to {fleetName}
535
+ assign-vehicle-title: Assign vehicle to {fleetName}
536
+ select-driver-warning: Select a driver to assign.
537
+ select-vehicle-warning: Select a vehicle to assign.
538
+ assign-driver-success: Driver assigned to {fleetName}.
539
+ assign-vehicle-success: Vehicle assigned to {fleetName}.
496
540
  fuel-report:
497
541
  fields:
498
542
  details: Түлшний Тайлангийн Мэдээлэл
@@ -521,6 +565,20 @@ issue:
521
565
  tags: Асуудлын Тагууд
522
566
  type: Асуудлын Төрөл
523
567
  order:
568
+ card:
569
+ linked-order: Linked Order
570
+ unknown-order: Unknown order
571
+ no-type: No type
572
+ pickup: Pickup
573
+ dropoff: Dropoff
574
+ return: Return
575
+ waypoints: Waypoints
576
+ additional-stop: additional stop
577
+ additional-stops: additional stops
578
+ no-pickup-address: No pickup address
579
+ no-dropoff-address: No dropoff address
580
+ no-route-details: No route details available.
581
+ no-order-linked: No order is linked to this issue.
524
582
  fields:
525
583
  ad-hoc: Тусгай
526
584
  ad-hoc-help-text: Ad-Hoc-г асаах нь захиалгын хүрээний ойролцоо жолооч нарыг ухаалаг
@@ -945,7 +1003,21 @@ vehicle:
945
1003
  vin-number: VIN дугаар
946
1004
  year: Он
947
1005
  actions:
1006
+ attach-device: Attach Device
1007
+ unassign-orders: Unassign Orders
1008
+ create-issue: Create Issue
948
1009
  locate-vehicle: Тээврийн хэрэгслийг газрын зураг дээр олох
1010
+ prompts:
1011
+ attach-device-title: Attach device to {vehicleName}
1012
+ select-device-warning: Select a device to attach.
1013
+ attach-device-success: Device attached to {vehicleName}.
1014
+ no-assigned-orders-warning: No assigned orders found for {vehicleName}.
1015
+ select-orders-warning: Select at least one order to unassign.
1016
+ unassign-orders-title: Unassign orders from {vehicleName}
1017
+ confirm-unassign-orders-title: Unassign {count} order(s) from {vehicleName}?
1018
+ confirm-unassign-orders-body: "This will remove {vehicleName} from these orders: {orders}."
1019
+ unassign-orders-success: Unassigned {vehicleName} from {count} order(s).
1020
+ issue-title: Issue reported for {vehicleName}
949
1021
  vendor:
950
1022
  fields:
951
1023
  setup-vendor: Нийлүүлэгчийг тохируулах
@@ -46,6 +46,7 @@ common:
46
46
  overview: Overview
47
47
  notes: Notes
48
48
  schedule: Schedule
49
+ current-job: Current Job
49
50
  menu:
50
51
  operations: Operações
51
52
  dashboard: Painel
@@ -61,6 +62,7 @@ menu:
61
62
  contacts: Contatos
62
63
  places: Locais
63
64
  fuel-reports: Relatórios de Combustível
65
+ fuel-transactions: Transações de Combustível
64
66
  issues: Problemas
65
67
  maintenance: Manutenção
66
68
  work-orders: Ordens de Serviço
@@ -68,6 +70,7 @@ menu:
68
70
  parts: Peças
69
71
  connectivity: Conectividade
70
72
  telematics: Telemática
73
+ fuel-providers: Integrações de Combustível
71
74
  devices: Dispositivos
72
75
  sensors: Sensores
73
76
  events: Eventos
@@ -408,9 +411,30 @@ driver:
408
411
  driver-license: Carteira de Motorista
409
412
  no-vehicle-assigned: Nenhum Veículo Atribuído
410
413
  actions:
414
+ unassign-orders: Unassign Orders
415
+ unassign-vehicle: Unassign Vehicle
416
+ create-issue: Create Issue
411
417
  assign-order: Atribuir Pedido ao Motorista
412
418
  assign-vehicle: Atribuir Veículo ao Motorista
413
419
  locate-driver: Localizar Motorista no Mapa
420
+ prompts:
421
+ assign-order-success: Order assigned to {driverName}.
422
+ assign-order-title: "Assign order to {driverName}"
423
+ select-order-warning: "Select an order to assign."
424
+ assign-vehicle-title: "Assign vehicle to {driverName}"
425
+ assign-vehicle-success: "Vehicle assigned to {driverName}."
426
+ select-vehicle-warning: Select a vehicle to assign.
427
+ no-assigned-orders-warning: No assigned orders found for {driverName}.
428
+ select-orders-warning: Select at least one order to unassign.
429
+ unassign-orders-title: Unassign orders from {driverName}
430
+ confirm-unassign-orders-title: Unassign {count} order(s) from {driverName}?
431
+ confirm-unassign-orders-body: "This will remove {driverName} from these orders: {orders}."
432
+ unassign-orders-success: Unassigned {driverName} from {count} order(s).
433
+ no-vehicle-assigned-warning: No vehicle is assigned to {driverName}.
434
+ unassign-vehicle-title: Unassign {vehicleName} from {driverName}?
435
+ unassign-vehicle-body: This removes {driverName} from {vehicleName}. Order assignments are not changed.
436
+ unassign-vehicle-success: Unassigned {vehicleName} from {driverName}.
437
+ issue-title: Issue reported for {driverName}
414
438
  device:
415
439
  fields:
416
440
  title: Detalhes do Dispositivo
@@ -443,6 +467,18 @@ device:
443
467
  warranty: Garantia
444
468
  warranty-placeholder: Selecione a Garantia
445
469
  notes: Notas
470
+ actions:
471
+ attach-to-vehicle: Attach to Vehicle
472
+ detach-from-vehicle: Detach from Vehicle
473
+ prompts:
474
+ attach-to-vehicle-title: Attach device to vehicle
475
+ attach-device-to-vehicle-title: "Attach {deviceName} to vehicle"
476
+ select-vehicle-warning: Select a vehicle to attach this device to.
477
+ attach-to-vehicle-success: Device attached to vehicle.
478
+ not-attached-warning: "{deviceName} is not attached to a vehicle."
479
+ detach-from-vehicle-title: "Detach {deviceName} from vehicle?"
480
+ detach-from-vehicle-body: "This detaches {deviceName} from {vehicleName} and stops vehicle telemetry updates until it is attached again."
481
+ detach-from-vehicle-success: Device detached from vehicle.
446
482
  entity:
447
483
  fields:
448
484
  declare: Declarar
@@ -494,7 +530,15 @@ fleet:
494
530
  add-vehicle: Adicionar veículo à frota
495
531
  loading-message: Carregando veículo da frota...
496
532
  actions:
533
+ assign-vehicle: Assign Vehicle to Fleet
497
534
  assign-driver: Atribuir Motorista à Frota
535
+ prompts:
536
+ assign-driver-title: Assign driver to {fleetName}
537
+ assign-vehicle-title: Assign vehicle to {fleetName}
538
+ select-driver-warning: Select a driver to assign.
539
+ select-vehicle-warning: Select a vehicle to assign.
540
+ assign-driver-success: Driver assigned to {fleetName}.
541
+ assign-vehicle-success: Vehicle assigned to {fleetName}.
498
542
  fuel-report:
499
543
  fields:
500
544
  details: Detalhes do Relatório de Combustível
@@ -524,6 +568,20 @@ issue:
524
568
  tags: Tags do Problema
525
569
  type: Tipo de Problema
526
570
  order:
571
+ card:
572
+ linked-order: Linked Order
573
+ unknown-order: Unknown order
574
+ no-type: No type
575
+ pickup: Pickup
576
+ dropoff: Dropoff
577
+ return: Return
578
+ waypoints: Waypoints
579
+ additional-stop: additional stop
580
+ additional-stops: additional stops
581
+ no-pickup-address: No pickup address
582
+ no-dropoff-address: No dropoff address
583
+ no-route-details: No route details available.
584
+ no-order-linked: No order is linked to this issue.
527
585
  fields:
528
586
  ad-hoc: Ad-Hoc
529
587
  ad-hoc-help-text: Alternar Ad-Hoc permitirá que o pedido envie notificações inteligentes
@@ -953,7 +1011,21 @@ vehicle:
953
1011
  vin-number: Número VIN
954
1012
  year: Ano
955
1013
  actions:
1014
+ attach-device: Attach Device
1015
+ unassign-orders: Unassign Orders
1016
+ create-issue: Create Issue
956
1017
  locate-vehicle: Localizar Veículo no Mapa
1018
+ prompts:
1019
+ attach-device-title: Attach device to {vehicleName}
1020
+ select-device-warning: Select a device to attach.
1021
+ attach-device-success: Device attached to {vehicleName}.
1022
+ no-assigned-orders-warning: No assigned orders found for {vehicleName}.
1023
+ select-orders-warning: Select at least one order to unassign.
1024
+ unassign-orders-title: Unassign orders from {vehicleName}
1025
+ confirm-unassign-orders-title: Unassign {count} order(s) from {vehicleName}?
1026
+ confirm-unassign-orders-body: "This will remove {vehicleName} from these orders: {orders}."
1027
+ unassign-orders-success: Unassigned {vehicleName} from {count} order(s).
1028
+ issue-title: Issue reported for {vehicleName}
957
1029
  vendor:
958
1030
  fields:
959
1031
  setup-vendor: Configurar Fornecedor