@fleetbase/fleetops-engine 0.6.70 → 0.6.72

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 (510) hide show
  1. package/RELEASE.md +18 -47
  2. package/addon/components/admin/tracking-page-settings.hbs +56 -0
  3. package/addon/components/admin/tracking-page-settings.js +67 -0
  4. package/addon/components/device/form.hbs +2 -2
  5. package/addon/components/driver/details.hbs +1 -1
  6. package/addon/components/driver/form.hbs +1 -1
  7. package/addon/components/equipment/form.hbs +1 -1
  8. package/addon/components/layout/fleet-ops-sidebar.js +11 -3
  9. package/addon/components/maintenance/form.hbs +3 -3
  10. package/addon/components/map/google-live-map.js +2 -2
  11. package/addon/components/map/leaflet-live-map.js +45 -32
  12. package/addon/components/orchestrator/phase-builder.js +2 -1
  13. package/addon/components/orchestrator-workbench.hbs +7 -1
  14. package/addon/components/orchestrator-workbench.js +16 -2
  15. package/addon/components/order/details/activity.hbs +8 -6
  16. package/addon/components/order/details/activity.js +9 -0
  17. package/addon/components/order/details.hbs +29 -0
  18. package/addon/components/order/details.js +26 -0
  19. package/addon/components/order/form/details.hbs +30 -4
  20. package/addon/components/order/form/details.js +46 -0
  21. package/addon/components/order/form/route.hbs +5 -3
  22. package/addon/components/order/form/route.js +24 -1
  23. package/addon/components/order/form.hbs +12 -0
  24. package/addon/components/order/form.js +21 -1
  25. package/addon/components/order/kanban.js +72 -0
  26. package/addon/components/order-config-manager/activity-flow.js +45 -10
  27. package/addon/components/order-config-manager/lifecycle.hbs +250 -0
  28. package/addon/components/order-config-manager/lifecycle.js +358 -0
  29. package/addon/components/order-config-manager.js +5 -1
  30. package/addon/components/service-rate/details.hbs +1 -1
  31. package/addon/components/service-rate/form.hbs +1 -1
  32. package/addon/components/tracking-page/full-view.hbs +276 -0
  33. package/addon/components/tracking-page/full-view.js +474 -0
  34. package/addon/components/tracking-page/locale-selector.js +30 -0
  35. package/addon/components/tracking-page/map.hbs +44 -0
  36. package/addon/components/tracking-page/map.js +328 -0
  37. package/addon/components/tracking-page/order-list.hbs +35 -0
  38. package/addon/components/tracking-page/public-view.hbs +60 -0
  39. package/addon/components/tracking-page/settings-preview.hbs +21 -0
  40. package/addon/components/tracking-page/settings-preview.js +23 -0
  41. package/addon/components/tracking-page/verify-panel.hbs +109 -0
  42. package/addon/components/tracking-page.hbs +142 -0
  43. package/addon/components/tracking-page.js +564 -0
  44. package/addon/components/trailer/form.hbs +2 -2
  45. package/addon/components/vehicle/form.hbs +3 -3
  46. package/addon/components/warranty/form.hbs +2 -2
  47. package/addon/components/widget/live-fleet.js +54 -6
  48. package/addon/components/widget/proof-of-delivery.hbs +49 -0
  49. package/addon/components/widget/proof-of-delivery.js +62 -0
  50. package/addon/components/work-order/form.hbs +3 -3
  51. package/addon/controllers/analytics/reports/index.js +10 -1
  52. package/addon/controllers/connectivity/devices/index/details.js +1 -0
  53. package/addon/controllers/connectivity/devices/index.js +8 -2
  54. package/addon/controllers/connectivity/events/index.js +31 -1
  55. package/addon/controllers/connectivity/sensors/index/details.js +1 -1
  56. package/addon/controllers/connectivity/sensors/index.js +37 -1
  57. package/addon/controllers/maintenance/equipment/index/details.js +2 -2
  58. package/addon/controllers/maintenance/equipment/index.js +28 -9
  59. package/addon/controllers/maintenance/inspection-forms/index.js +32 -12
  60. package/addon/controllers/maintenance/inspection-submissions/index/details.js +2 -1
  61. package/addon/controllers/maintenance/inspection-submissions/index.js +49 -9
  62. package/addon/controllers/maintenance/maintenances/index/details.js +2 -0
  63. package/addon/controllers/maintenance/maintenances/index.js +20 -1
  64. package/addon/controllers/maintenance/parts/index/details.js +2 -2
  65. package/addon/controllers/maintenance/parts/index.js +28 -8
  66. package/addon/controllers/maintenance/schedules/index.js +33 -4
  67. package/addon/controllers/maintenance/work-orders/index/details.js +3 -3
  68. package/addon/controllers/maintenance/work-orders/index.js +39 -8
  69. package/addon/controllers/management/contacts/customers.js +13 -0
  70. package/addon/controllers/management/contacts/index.js +43 -1
  71. package/addon/controllers/management/drivers/index/details.js +1 -0
  72. package/addon/controllers/management/drivers/index.js +32 -2
  73. package/addon/controllers/management/fleets/index/details.js +1 -0
  74. package/addon/controllers/management/fleets/index.js +39 -1
  75. package/addon/controllers/management/fuel-reports/index.js +22 -2
  76. package/addon/controllers/management/fuel-transactions/index.js +43 -7
  77. package/addon/controllers/management/issues/index/details.js +1 -0
  78. package/addon/controllers/management/issues/index.js +22 -2
  79. package/addon/controllers/management/places/index.js +36 -1
  80. package/addon/controllers/management/trailers/index/details.js +1 -0
  81. package/addon/controllers/management/trailers/index.js +50 -2
  82. package/addon/controllers/management/vehicles/index/details.js +1 -0
  83. package/addon/controllers/management/vehicles/index.js +33 -2
  84. package/addon/controllers/management/vendors/index.js +26 -2
  85. package/addon/controllers/operations/orders/index/details.js +50 -7
  86. package/addon/controllers/operations/orders/index.js +59 -4
  87. package/addon/controllers/operations/scheduler/index.js +45 -14
  88. package/addon/controllers/operations/service-rates/index.js +15 -1
  89. package/addon/controllers/settings/index.js +6 -0
  90. package/addon/controllers/settings/map.js +75 -0
  91. package/addon/controllers/settings/orchestrator.js +8 -6
  92. package/addon/controllers/settings/tracking-page.js +212 -0
  93. package/addon/extension.js +97 -1
  94. package/addon/helpers/parcel-box-image.js +16 -0
  95. package/addon/routes/operations/orders/index/details.js +1 -0
  96. package/addon/routes/operations/orders/index/new.js +5 -4
  97. package/addon/routes/operations/scheduler/index.js +1 -1
  98. package/addon/routes/settings/tracking-page.js +31 -0
  99. package/addon/routes.js +1 -0
  100. package/addon/services/contact-actions.js +1 -0
  101. package/addon/services/customer-actions.js +2 -1
  102. package/addon/services/device-actions.js +1 -0
  103. package/addon/services/device-event-actions.js +1 -0
  104. package/addon/services/driver-actions.js +4 -13
  105. package/addon/services/equipment-actions.js +1 -0
  106. package/addon/services/fleet-actions.js +1 -0
  107. package/addon/services/fuel-report-actions.js +1 -0
  108. package/addon/services/inspection-form-actions.js +1 -0
  109. package/addon/services/inspection-submission-actions.js +1 -0
  110. package/addon/services/integrated-vendor-actions.js +1 -0
  111. package/addon/services/issue-actions.js +1 -0
  112. package/addon/services/location.js +69 -21
  113. package/addon/services/maintenance-actions.js +1 -0
  114. package/addon/services/maintenance-schedule-actions.js +2 -1
  115. package/addon/services/map-settings.js +28 -0
  116. package/addon/services/order-actions.js +7 -0
  117. package/addon/services/order-allocation.js +1 -1
  118. package/addon/services/order-presentation.js +129 -0
  119. package/addon/services/part-actions.js +1 -0
  120. package/addon/services/place-actions.js +1 -0
  121. package/addon/services/sensor-actions.js +1 -0
  122. package/addon/services/service-area-actions.js +1 -0
  123. package/addon/services/service-rate-actions.js +1 -0
  124. package/addon/services/telematic-actions.js +1 -0
  125. package/addon/services/trailer-actions.js +4 -14
  126. package/addon/services/vehicle-actions.js +4 -13
  127. package/addon/services/vendor-actions.js +1 -0
  128. package/addon/services/work-order-actions.js +1 -0
  129. package/addon/services/zone-actions.js +1 -0
  130. package/addon/styles/fleetops-engine.css +1391 -0
  131. package/addon/templates/analytics/reports/index/details.hbs +1 -0
  132. package/addon/templates/analytics/reports/index.hbs +1 -0
  133. package/addon/templates/connectivity/devices/index/details.hbs +1 -0
  134. package/addon/templates/connectivity/devices/index.hbs +1 -0
  135. package/addon/templates/connectivity/events/index.hbs +1 -0
  136. package/addon/templates/connectivity/sensors/index/details.hbs +1 -0
  137. package/addon/templates/connectivity/sensors/index.hbs +1 -0
  138. package/addon/templates/maintenance/equipment/index/details.hbs +1 -0
  139. package/addon/templates/maintenance/equipment/index.hbs +2 -0
  140. package/addon/templates/maintenance/inspection-forms/index/details.hbs +1 -0
  141. package/addon/templates/maintenance/inspection-forms/index.hbs +1 -0
  142. package/addon/templates/maintenance/inspection-submissions/index/details.hbs +1 -0
  143. package/addon/templates/maintenance/inspection-submissions/index.hbs +1 -0
  144. package/addon/templates/maintenance/maintenances/index/details.hbs +1 -0
  145. package/addon/templates/maintenance/maintenances/index.hbs +1 -0
  146. package/addon/templates/maintenance/parts/index/details.hbs +1 -0
  147. package/addon/templates/maintenance/parts/index.hbs +2 -0
  148. package/addon/templates/maintenance/schedules/index/details.hbs +1 -0
  149. package/addon/templates/maintenance/schedules/index.hbs +2 -0
  150. package/addon/templates/maintenance/work-orders/index/details.hbs +1 -0
  151. package/addon/templates/maintenance/work-orders/index.hbs +1 -0
  152. package/addon/templates/management/contacts/customers/details.hbs +1 -0
  153. package/addon/templates/management/contacts/customers.hbs +1 -0
  154. package/addon/templates/management/contacts/index/details.hbs +1 -0
  155. package/addon/templates/management/contacts/index.hbs +1 -0
  156. package/addon/templates/management/contacts.hbs +1 -0
  157. package/addon/templates/management/drivers/index/details.hbs +1 -0
  158. package/addon/templates/management/drivers/index.hbs +2 -0
  159. package/addon/templates/management/fleets/index/details.hbs +1 -0
  160. package/addon/templates/management/fleets/index.hbs +1 -0
  161. package/addon/templates/management/fuel-reports/index/details.hbs +1 -0
  162. package/addon/templates/management/fuel-reports/index.hbs +1 -0
  163. package/addon/templates/management/fuel-transactions/index.hbs +1 -0
  164. package/addon/templates/management/issues/index/details.hbs +1 -0
  165. package/addon/templates/management/issues/index.hbs +1 -0
  166. package/addon/templates/management/places/index/details.hbs +1 -0
  167. package/addon/templates/management/places/index.hbs +1 -0
  168. package/addon/templates/management/trailers/index/details.hbs +1 -0
  169. package/addon/templates/management/trailers/index.hbs +2 -0
  170. package/addon/templates/management/vehicles/index/details.hbs +1 -0
  171. package/addon/templates/management/vehicles/index.hbs +2 -0
  172. package/addon/templates/management/vendors/index/details.hbs +1 -0
  173. package/addon/templates/management/vendors/index.hbs +2 -0
  174. package/addon/templates/management/vendors/integrated.hbs +1 -0
  175. package/addon/templates/operations/orders/index/details.hbs +1 -0
  176. package/addon/templates/operations/orders/index.hbs +1 -0
  177. package/addon/templates/operations/service-rates/index/details.hbs +1 -0
  178. package/addon/templates/operations/service-rates/index.hbs +1 -0
  179. package/addon/templates/settings/map.hbs +46 -0
  180. package/addon/templates/settings/tracking-page.hbs +318 -0
  181. package/addon/utils/identity-cell-resource.js +2 -56
  182. package/addon/utils/map-default-view.js +132 -0
  183. package/addon/utils/normalize-order-config-flow.js +6 -1
  184. package/addon/utils/placeholder-images.js +4 -69
  185. package/addon/utils/resource-descriptors/assets.js +2 -57
  186. package/addon/utils/resource-descriptors/helpers.js +23 -122
  187. package/addon/utils/resource-descriptors/operations.js +2 -61
  188. package/addon/utils/resource-descriptors/people.js +3 -142
  189. package/addon/utils/resource-descriptors/shared.js +18 -0
  190. package/addon/utils/tracking-live-source.js +123 -0
  191. package/addon/utils/tracking-page-theme.js +123 -0
  192. package/app/components/admin/tracking-page-settings.js +1 -0
  193. package/app/components/tracking-page/full-view.js +1 -0
  194. package/app/components/tracking-page/locale-selector.js +1 -0
  195. package/app/components/tracking-page/map.js +1 -0
  196. package/app/components/tracking-page/order-list.js +1 -0
  197. package/app/components/tracking-page/public-view.js +1 -0
  198. package/app/components/tracking-page/settings-preview.js +1 -0
  199. package/app/components/tracking-page/verify-panel.js +1 -0
  200. package/app/components/tracking-page.js +1 -0
  201. package/app/components/widget/proof-of-delivery.js +1 -0
  202. package/app/controllers/settings/tracking-page.js +1 -0
  203. package/app/helpers/parcel-box-image.js +1 -0
  204. package/app/routes/settings/tracking-page.js +1 -0
  205. package/app/services/order-presentation.js +1 -0
  206. package/app/templates/settings/tracking-page.js +1 -0
  207. package/app/utils/map-default-view.js +1 -0
  208. package/app/utils/tracking-live-source.js +1 -0
  209. package/app/utils/tracking-page-theme.js +1 -0
  210. package/composer.json +2 -2
  211. package/extension.json +1 -1
  212. package/package.json +4 -4
  213. package/scripts/pest-bootstrap.php +4 -0
  214. package/server/config/fleetops.php +4 -0
  215. package/server/migrations/2026_10_08_000001_create_tracking_sessions_tables.php +51 -0
  216. package/server/migrations/2026_10_10_000001_add_trashed_index_to_device_events.php +40 -0
  217. package/server/migrations/2026_10_10_000002_add_trashed_index_to_positions.php +40 -0
  218. package/server/migrations/2026_10_12_000001_add_deleted_at_to_tracking_sessions_tables.php +32 -0
  219. package/server/resources/views/labels/default.php +2 -2
  220. package/server/resources/views/labels/entity-label.php +2 -2
  221. package/server/resources/views/labels/waypoint-label.php +2 -2
  222. package/server/src/Auth/Schemas/FleetOps.php +5 -0
  223. package/server/src/Console/Commands/ProcessOperationalAlerts.php +1 -0
  224. package/server/src/Console/Commands/PruneTelematicsData.php +101 -26
  225. package/server/src/Events/OrderChanged.php +257 -0
  226. package/server/src/Events/OrderDriverUnassigned.php +68 -0
  227. package/server/src/Exceptions/OrderEditLockedException.php +32 -0
  228. package/server/src/Expansions/CompanyExpansion.php +3 -2
  229. package/server/src/Expansions/UserExpansion.php +12 -10
  230. package/server/src/Http/Controllers/Api/v1/CustomerController.php +108 -18
  231. package/server/src/Http/Controllers/Api/v1/DriverController.php +95 -10
  232. package/server/src/Http/Controllers/Api/v1/EntityController.php +66 -0
  233. package/server/src/Http/Controllers/Api/v1/FleetController.php +10 -4
  234. package/server/src/Http/Controllers/Api/v1/OrderController.php +139 -36
  235. package/server/src/Http/Controllers/Api/v1/PayloadController.php +76 -8
  236. package/server/src/Http/Controllers/Api/v1/PlaceController.php +3 -3
  237. package/server/src/Http/Controllers/Api/v1/TrackingNumberController.php +6 -32
  238. package/server/src/Http/Controllers/Api/v1/VehicleController.php +5 -0
  239. package/server/src/Http/Controllers/Internal/v1/ContactController.php +3 -0
  240. package/server/src/Http/Controllers/Internal/v1/DriverController.php +10 -0
  241. package/server/src/Http/Controllers/Internal/v1/FleetController.php +16 -2
  242. package/server/src/Http/Controllers/Internal/v1/InspectionSubmissionController.php +13 -8
  243. package/server/src/Http/Controllers/Internal/v1/IssueController.php +2 -0
  244. package/server/src/Http/Controllers/Internal/v1/MaintenanceController.php +4 -2
  245. package/server/src/Http/Controllers/Internal/v1/OrchestrationController.php +93 -11
  246. package/server/src/Http/Controllers/Internal/v1/OrderController.php +118 -28
  247. package/server/src/Http/Controllers/Internal/v1/PositionController.php +22 -0
  248. package/server/src/Http/Controllers/Internal/v1/ProofController.php +55 -4
  249. package/server/src/Http/Controllers/Internal/v1/SettingController.php +303 -10
  250. package/server/src/Http/Controllers/Internal/v1/TrailerController.php +1 -0
  251. package/server/src/Http/Controllers/Internal/v1/VehicleController.php +1 -0
  252. package/server/src/Http/Controllers/Public/TrackingController.php +518 -0
  253. package/server/src/Http/Filter/ContactFilter.php +1 -1
  254. package/server/src/Http/Filter/InspectionFormFilter.php +23 -0
  255. package/server/src/Http/Filter/InspectionSubmissionFilter.php +23 -0
  256. package/server/src/Http/Filter/MaintenanceFilter.php +23 -0
  257. package/server/src/Http/Filter/OrderFilter.php +39 -4
  258. package/server/src/Http/Filter/ProofFilter.php +18 -0
  259. package/server/src/Http/Filter/RouteFilter.php +18 -0
  260. package/server/src/Http/Filter/TelematicFilter.php +23 -0
  261. package/server/src/Http/Filter/WarrantyFilter.php +23 -0
  262. package/server/src/Http/Requests/CancelOrderRequest.php +2 -1
  263. package/server/src/Http/Resources/v1/Concerns/ResolvesPublicRelationFields.php +14 -1
  264. package/server/src/Http/Resources/v1/Index/Customer.php +18 -0
  265. package/server/src/Http/Resources/v1/Index/Order.php +11 -2
  266. package/server/src/Http/Resources/v1/PublicOrderTracking.php +153 -0
  267. package/server/src/Http/Resources/v1/TrackingNumber.php +8 -34
  268. package/server/src/Http/Resources/v1/Zone.php +31 -23
  269. package/server/src/Jobs/FinalizeApiOrderCreation.php +3 -1
  270. package/server/src/Jobs/ProcessAllocationJob.php +16 -6
  271. package/server/src/Jobs/PublishTrackingUpdate.php +50 -0
  272. package/server/src/Listeners/HandleGeofenceEntered.php +31 -15
  273. package/server/src/Listeners/HandleOrderCanceled.php +9 -1
  274. package/server/src/Listeners/HandleUserRemovedFromCompany.php +2 -1
  275. package/server/src/Listeners/PublishTrackingUpdates.php +27 -0
  276. package/server/src/Mail/CustomerCredentialsMail.php +4 -2
  277. package/server/src/Models/AssetConnection.php +3 -0
  278. package/server/src/Models/Contact.php +3 -0
  279. package/server/src/Models/Device.php +28 -0
  280. package/server/src/Models/DeviceEvent.php +7 -0
  281. package/server/src/Models/Driver.php +20 -7
  282. package/server/src/Models/Entity.php +12 -4
  283. package/server/src/Models/Fleet.php +11 -32
  284. package/server/src/Models/FleetDriver.php +3 -0
  285. package/server/src/Models/FleetVehicle.php +3 -0
  286. package/server/src/Models/FuelReport.php +5 -13
  287. package/server/src/Models/Issue.php +4 -16
  288. package/server/src/Models/Order.php +234 -11
  289. package/server/src/Models/OrderConfig.php +129 -0
  290. package/server/src/Models/Payload.php +227 -35
  291. package/server/src/Models/Place.php +7 -1
  292. package/server/src/Models/ServiceArea.php +7 -0
  293. package/server/src/Models/ServiceRate.php +7 -17
  294. package/server/src/Models/TrackingNumber.php +109 -6
  295. package/server/src/Models/TrackingSession.php +33 -0
  296. package/server/src/Models/TrackingSessionGrant.php +22 -0
  297. package/server/src/Models/TrackingStatus.php +6 -0
  298. package/server/src/Models/Vehicle.php +21 -2
  299. package/server/src/Models/Vendor.php +7 -0
  300. package/server/src/Models/Waypoint.php +13 -4
  301. package/server/src/Notifications/OrderAssigned.php +2 -1
  302. package/server/src/Notifications/OrderCanceled.php +7 -1
  303. package/server/src/Notifications/OrderChanged.php +87 -0
  304. package/server/src/Notifications/OrderCompleted.php +2 -1
  305. package/server/src/Notifications/OrderDispatchFailed.php +2 -1
  306. package/server/src/Notifications/OrderDispatched.php +2 -1
  307. package/server/src/Notifications/OrderFailed.php +2 -1
  308. package/server/src/Notifications/OrderUnassigned.php +66 -0
  309. package/server/src/Notifications/WaypointCompleted.php +2 -1
  310. package/server/src/Observers/CompanyUserObserver.php +8 -7
  311. package/server/src/Observers/DriverObserver.php +6 -1
  312. package/server/src/Observers/OrderObserver.php +141 -1
  313. package/server/src/Observers/TrackingNumberObserver.php +18 -6
  314. package/server/src/Observers/UserObserver.php +2 -1
  315. package/server/src/Observers/VehicleObserver.php +8 -3
  316. package/server/src/Orchestration/Engines/RouteSequencingEngine.php +21 -3
  317. package/server/src/Orchestration/Engines/VroomOrchestrationEngine.php +38 -8
  318. package/server/src/Orchestration/OrchestrationEngineRegistry.php +61 -1
  319. package/server/src/Orchestration/Support/OrchestratorSettings.php +61 -0
  320. package/server/src/Orchestration/Support/RouteMetrics.php +165 -0
  321. package/server/src/Providers/EventServiceProvider.php +11 -0
  322. package/server/src/Providers/FleetOpsServiceProvider.php +13 -0
  323. package/server/src/Support/ApiCacheThrottle.php +76 -0
  324. package/server/src/Support/LiveOrderQuery.php +3 -1
  325. package/server/src/Support/OrderEdit.php +365 -0
  326. package/server/src/Support/OrderEditPolicy.php +292 -0
  327. package/server/src/Support/ProfileAccountManager.php +54 -1
  328. package/server/src/Support/ResolvesOrderServiceStops.php +5 -0
  329. package/server/src/Support/SocketChannels.php +346 -0
  330. package/server/src/Support/Telematics/TelematicService.php +7 -2
  331. package/server/src/Support/Telematics/Telemetry/Inbox.php +8 -1
  332. package/server/src/Support/TrackingChannel.php +55 -0
  333. package/server/src/Support/TrackingCode.php +242 -0
  334. package/server/src/Support/TrackingPage/TrackingAccess.php +356 -0
  335. package/server/src/Support/TrackingPage/TrackingPageConfig.php +264 -0
  336. package/server/src/Support/TrackingPage/TrackingRecipient.php +111 -0
  337. package/server/src/Support/TrackingPage/TrackingResolver.php +201 -0
  338. package/server/src/Support/TrackingPage/TrackingTarget.php +40 -0
  339. package/server/src/Support/TrackingPage/TrackingView.php +543 -0
  340. package/server/src/Support/TrackingPublisher.php +261 -0
  341. package/server/src/Support/TrackingScope.php +182 -0
  342. package/server/src/Support/TrackingUpdate.php +402 -0
  343. package/server/src/Support/Utils.php +15 -3
  344. package/server/src/Traits/HasTrackingNumber.php +2 -0
  345. package/server/src/routes.php +39 -7
  346. package/server/tests/ApiCustomerControllerContractsTest.php +54 -7
  347. package/server/tests/ApiDriverPasswordContractsTest.php +25 -21
  348. package/server/tests/ApiEntityControllerContractsTest.php +84 -0
  349. package/server/tests/ApiOrderControllerContractsTest.php +245 -0
  350. package/server/tests/ApiPayloadControllerContractsTest.php +121 -0
  351. package/server/tests/ApiPlaceControllerContractsTest.php +1 -1
  352. package/server/tests/ApiTrackingNumberControllerContractsTest.php +6 -9
  353. package/server/tests/CompactResourceSerializationTest.php +23 -59
  354. package/server/tests/ControllerFilterContractsTest.php +1 -1
  355. package/server/tests/CustomerContactIdentitySafetyTest.php +1 -1
  356. package/server/tests/EventContractsTest.php +26 -60
  357. package/server/tests/ExpansionContractsTest.php +15 -2
  358. package/server/tests/Feature/Http/Api/CustomerControllerHelperSeamsTest.php +29 -3
  359. package/server/tests/Feature/Http/Api/DriverControllerAuthFlowsTest.php +23 -0
  360. package/server/tests/Feature/Http/Api/OrderControllerNearbyFiltersTest.php +16 -16
  361. package/server/tests/Feature/Http/Api/OrderControllerQueryFiltersTest.php +41 -14
  362. package/server/tests/Feature/Http/Api/TrackingNumberControllerHelpersTest.php +57 -22
  363. package/server/tests/Feature/Http/Internal/DriverControllerCreateRecordTest.php +23 -9
  364. package/server/tests/Feature/Http/Internal/OrchestrationControllerContractsTest.php +171 -1
  365. package/server/tests/Feature/Http/Internal/OrderControllerActivityFlowsTest.php +72 -0
  366. package/server/tests/Feature/Http/Internal/OrderControllerContractsTest.php +110 -14
  367. package/server/tests/Feature/Http/Internal/OrderControllerCreateRecordTest.php +26 -0
  368. package/server/tests/Feature/Http/Internal/OrderControllerHelpersTest.php +7 -5
  369. package/server/tests/Feature/Http/Internal/PositionControllerReplayChannelTest.php +135 -0
  370. package/server/tests/Feature/Http/Internal/ProofControllerContractsTest.php +3 -3
  371. package/server/tests/Feature/Http/Internal/ProofControllerRecentTest.php +170 -0
  372. package/server/tests/Feature/Http/Public/TrackingControllerTest.php +495 -0
  373. package/server/tests/IndexCustomerPhotoTest.php +151 -0
  374. package/server/tests/ModelAccessorContractsTest.php +4 -3
  375. package/server/tests/NotificationAndMailContractsTest.php +5 -8
  376. package/server/tests/ObserverContractsTest.php +72 -10
  377. package/server/tests/OrderActivityFlowRegressionTest.php +3 -2
  378. package/server/tests/OrderConfigLifecycleTest.php +120 -0
  379. package/server/tests/OrderFilterExecutionTest.php +167 -2
  380. package/server/tests/ProcessAllocationJobContractsTest.php +20 -0
  381. package/server/tests/PublicOrderTrackingResourceTest.php +221 -0
  382. package/server/tests/QueueJobContractsTest.php +2 -1
  383. package/server/tests/RequestContractsTest.php +1 -1
  384. package/server/tests/RouteRegistrationExecutionTest.php +26 -0
  385. package/server/tests/RouteSequencingEngineTest.php +17 -0
  386. package/server/tests/SettingControllerContractsTest.php +110 -0
  387. package/server/tests/Support/TrackingPageDatabase.php +200 -0
  388. package/server/tests/TenantScopingTest.php +206 -0
  389. package/server/tests/TrackingPageSettingsTest.php +343 -0
  390. package/server/tests/Unit/Console/PruneTelematicsDataCommandTest.php +51 -0
  391. package/server/tests/Unit/Events/OrderDispatchFailedTest.php +2 -1
  392. package/server/tests/Unit/Http/Filter/ContactFilterAddressTest.php +61 -0
  393. package/server/tests/Unit/Http/Resources/IndexOrderResourceTest.php +30 -0
  394. package/server/tests/Unit/Jobs/FinalizeApiOrderCreationDispatchGuardTest.php +266 -0
  395. package/server/tests/Unit/Listeners/HandleGeofenceEnteredTest.php +182 -22
  396. package/server/tests/Unit/Listeners/HandleUserRemovedFromCompanyTest.php +5 -0
  397. package/server/tests/Unit/Models/DriverAssignVehicleTest.php +81 -0
  398. package/server/tests/Unit/Models/FleetTest.php +4 -3
  399. package/server/tests/Unit/Models/OrderCancelReasonTest.php +143 -0
  400. package/server/tests/Unit/Models/OrderPayloadConfigAndDistanceTest.php +60 -0
  401. package/server/tests/Unit/Models/OrderPayloadRouteTest.php +4 -2
  402. package/server/tests/Unit/Models/PayloadTest.php +18 -4
  403. package/server/tests/Unit/Models/ServiceRatePersistenceAndServicabilityTest.php +2 -2
  404. package/server/tests/Unit/Models/TrackingNumberTest.php +67 -6
  405. package/server/tests/Unit/Models/VehicleTest.php +16 -2
  406. package/server/tests/Unit/Models/WaypointTest.php +4 -3
  407. package/server/tests/Unit/Notifications/OrderChangeNotificationsTest.php +59 -0
  408. package/server/tests/Unit/Notifications/TerminalOrderNotificationsTest.php +3 -3
  409. package/server/tests/Unit/Observers/DriverDeletionCleanupTest.php +158 -0
  410. package/server/tests/Unit/Observers/FleetOpsCompanyUserAndServiceAreaObserversTest.php +20 -0
  411. package/server/tests/Unit/Observers/ObserverListenerSeamsTest.php +3 -3
  412. package/server/tests/Unit/Observers/OrderAssignmentObserverTest.php +100 -0
  413. package/server/tests/Unit/Observers/OrderDeleteCascadeTest.php +213 -0
  414. package/server/tests/Unit/Observers/VehicleObserverDeleteTest.php +67 -0
  415. package/server/tests/Unit/Orchestration/EngineSelectionAndRouteMetricsTest.php +336 -0
  416. package/server/tests/Unit/Orchestration/Engines/VroomOrchestrationEngineLifecycleTest.php +8 -1
  417. package/server/tests/Unit/Support/ApiCacheDependenciesTest.php +347 -0
  418. package/server/tests/Unit/Support/OrderEditPolicyTest.php +156 -0
  419. package/server/tests/Unit/Support/OrderOperationsTest.php +514 -0
  420. package/server/tests/Unit/Support/OsrmProofAndIssueFilterTest.php +4 -3
  421. package/server/tests/Unit/Support/ProfileAccountManagerTest.php +141 -0
  422. package/server/tests/Unit/Support/QuerySeamsTest.php +5 -1
  423. package/server/tests/Unit/Support/SocketChannelsTest.php +396 -0
  424. package/server/tests/Unit/Support/TrackingChannelTest.php +232 -0
  425. package/server/tests/Unit/Support/TrackingCodeTest.php +186 -0
  426. package/server/tests/Unit/Support/TrackingPage/TrackingAccessTest.php +200 -0
  427. package/server/tests/Unit/Support/TrackingPage/TrackingRecipientTest.php +51 -0
  428. package/server/tests/Unit/Support/TrackingPage/TrackingResolverTest.php +181 -0
  429. package/server/tests/Unit/Support/TrackingPage/TrackingViewTest.php +479 -0
  430. package/server/tests/Unit/Support/TrackingPublisherTest.php +425 -0
  431. package/server/tests/Unit/Support/TrackingUpdateTest.php +363 -0
  432. package/server/tests/Unit/Support/UtilsAdditionalTest.php +9 -0
  433. package/server/tests/Unit/Support/UtilsGeoMatrixAndVendorTest.php +25 -0
  434. package/server/tests/VehicleResourceContractsTest.php +46 -0
  435. package/server/tests/VroomOrchestrationEngineTest.php +34 -1
  436. package/server/tests/ZoneGeofenceSettingsResourceTest.php +121 -0
  437. package/translations/ar-ae.yml +274 -0
  438. package/translations/bg-bg.yaml +274 -0
  439. package/translations/en-us.yaml +347 -0
  440. package/translations/es-pa.yaml +274 -0
  441. package/translations/fr-fr.yaml +274 -0
  442. package/translations/mn-mn.yaml +274 -0
  443. package/translations/pt-br.yaml +274 -0
  444. package/translations/ru-ru.yaml +276 -2
  445. package/translations/uk-ua.yaml +275 -1
  446. package/translations/vi-vn.yaml +274 -0
  447. package/addon/components/cell/contact-identity.hbs +0 -1
  448. package/addon/components/cell/customer-identity.hbs +0 -1
  449. package/addon/components/cell/driver-identity.hbs +0 -1
  450. package/addon/components/cell/fleet-identity.hbs +0 -1
  451. package/addon/components/cell/order-identity.hbs +0 -1
  452. package/addon/components/cell/place-identity.hbs +0 -1
  453. package/addon/components/cell/vehicle-identity.hbs +0 -1
  454. package/addon/components/cell/vendor-identity.hbs +0 -1
  455. package/addon/components/contact/pill.hbs +0 -24
  456. package/addon/components/contact/summary.hbs +0 -1
  457. package/addon/components/customer/pill.hbs +0 -24
  458. package/addon/components/customer/summary.hbs +0 -1
  459. package/addon/components/driver/pill.hbs +0 -24
  460. package/addon/components/driver/summary.hbs +0 -1
  461. package/addon/components/fleet/pill.hbs +0 -24
  462. package/addon/components/fleet/summary.hbs +0 -1
  463. package/addon/components/order/pill.hbs +0 -24
  464. package/addon/components/order/summary.hbs +0 -1
  465. package/addon/components/place/pill.hbs +0 -24
  466. package/addon/components/place/summary.hbs +0 -1
  467. package/addon/components/select-option/contact.hbs +0 -12
  468. package/addon/components/select-option/customer.hbs +0 -12
  469. package/addon/components/select-option/driver.hbs +0 -12
  470. package/addon/components/select-option/fleet.hbs +0 -12
  471. package/addon/components/select-option/order.hbs +0 -12
  472. package/addon/components/select-option/place.hbs +0 -12
  473. package/addon/components/select-option/vehicle.hbs +0 -12
  474. package/addon/components/select-option/vendor.hbs +0 -12
  475. package/addon/components/vehicle/pill.hbs +0 -24
  476. package/addon/components/vehicle/summary.hbs +0 -1
  477. package/addon/components/vendor/pill.hbs +0 -24
  478. package/addon/components/vendor/summary.hbs +0 -1
  479. package/app/components/cell/contact-identity.js +0 -1
  480. package/app/components/cell/customer-identity.js +0 -1
  481. package/app/components/cell/driver-identity.js +0 -1
  482. package/app/components/cell/fleet-identity.js +0 -1
  483. package/app/components/cell/order-identity.js +0 -1
  484. package/app/components/cell/place-identity.js +0 -1
  485. package/app/components/cell/vehicle-identity.js +0 -1
  486. package/app/components/cell/vendor-identity.js +0 -1
  487. package/app/components/contact/pill.js +0 -1
  488. package/app/components/contact/summary.js +0 -1
  489. package/app/components/customer/pill.js +0 -1
  490. package/app/components/customer/summary.js +0 -1
  491. package/app/components/driver/pill.js +0 -1
  492. package/app/components/driver/summary.js +0 -1
  493. package/app/components/fleet/pill.js +0 -1
  494. package/app/components/fleet/summary.js +0 -1
  495. package/app/components/order/pill.js +0 -1
  496. package/app/components/order/summary.js +0 -1
  497. package/app/components/place/pill.js +0 -1
  498. package/app/components/place/summary.js +0 -1
  499. package/app/components/select-option/contact.js +0 -1
  500. package/app/components/select-option/customer.js +0 -1
  501. package/app/components/select-option/driver.js +0 -1
  502. package/app/components/select-option/fleet.js +0 -1
  503. package/app/components/select-option/order.js +0 -1
  504. package/app/components/select-option/place.js +0 -1
  505. package/app/components/select-option/vehicle.js +0 -1
  506. package/app/components/select-option/vendor.js +0 -1
  507. package/app/components/vehicle/pill.js +0 -1
  508. package/app/components/vehicle/summary.js +0 -1
  509. package/app/components/vendor/pill.js +0 -1
  510. package/app/components/vendor/summary.js +0 -1
@@ -3472,4 +3472,278 @@ resource-summary:
3472
3472
  window: Вікно (часове)
3473
3473
  work-order: Робоче завдання
3474
3474
  zone: Зона
3475
- zones: Зони
3475
+ zones: Зони
3476
+ tracking-page:
3477
+ settings:
3478
+ title: "Сторінка відстеження"
3479
+ menu: "Сторінка відстеження"
3480
+ saved: "Налаштування сторінки відстеження збережено."
3481
+ load-failed: "Не вдалося завантажити налаштування сторінки відстеження."
3482
+ load-failed-help: "Оновіть сторінку, щоб спробувати ще раз. Якщо помилка повторюється, перевірте, чи маєте ви доступ до цих налаштувань."
3483
+ pages: "Сторінки"
3484
+ org-page-enabled: "Власна сторінка відстеження"
3485
+ org-page-enabled-help: "Сторінка відстеження з вашим брендингом за окремою адресою. На ній знаходяться лише трек-номери вашої організації."
3486
+ slug: "Адреса сторінки"
3487
+ slug-checking: "Перевіряємо адресу..."
3488
+ open-page: "Відкрити сторінку"
3489
+ generic-page-allowed: "Дозволити відстеження на спільній сторінці"
3490
+ generic-page-allowed-help: "Клієнти зможуть шукати ваші трек-номери на {url}. Вимкніть, щоб відстеження працювало лише на вашій сторінці."
3491
+ links-target: "Посилання в листах і на етикетках"
3492
+ links-target-help: "На яку сторінку ведуть клієнтів ваші сповіщення та етикетки."
3493
+ links-target-auto: "Ваша сторінка, якщо вона увімкнена, інакше спільна"
3494
+ links-target-org: "Завжди ваша сторінка"
3495
+ links-target-generic: "Завжди спільна сторінка"
3496
+ branding: "Брендинг"
3497
+ display-name: "Назва для показу"
3498
+ logo-help: "На сторінці використовується логотип вашої організації. Якщо його немає, показується монограма з назви для показу."
3499
+ accent: "Акцентний колір"
3500
+ accent-hex: "Акцентний колір у форматі HEX"
3501
+ placeholder-slug: "vasha-kompaniia"
3502
+ placeholder-phone: "+1 555 010 0100"
3503
+ placeholder-email: "support@example.com"
3504
+ placeholder-website: "https://example.com"
3505
+ placeholder-select: "Виберіть варіант"
3506
+ contrast-ok: "Текст на цьому кольорі добре читається ({ratio}:1)."
3507
+ contrast-low: "Текст на цьому кольорі погано читається ({ratio}:1). Виберіть темніший або світліший колір."
3508
+ accent-help: "Використовується для кнопок, індикатора прогресу та виділень. Колір тексту на ньому добирається автоматично."
3509
+ accent-dark: "Акцентний колір у темній темі"
3510
+ accent-dark-auto: "Автоматично"
3511
+ support-phone: "Телефон підтримки"
3512
+ support-email: "Email підтримки"
3513
+ website: "Вебсайт"
3514
+ support-help: "Залиште поля порожніми, щоб використовувати дані вашої організації. Сюди надходять дзвінки й повідомлення клієнтів."
3515
+ powered-by: "Показувати «Працює на Fleetbase»"
3516
+ powered-by-help: "Невеликий рядок унизу сторінки."
3517
+ theme: "Світла й темна тема"
3518
+ theme-system: "Як на пристрої клієнта"
3519
+ theme-light: "Завжди світла"
3520
+ default-language: "Мова за замовчуванням"
3521
+ languages: "Мови, доступні клієнтам"
3522
+ access: "Доступ"
3523
+ public-status: "Показувати статус без підтвердження"
3524
+ public-status-help: "За самим трек-номером клієнти бачать етап доставки та дату останнього оновлення. Вимкніть, щоб нічого не показувати до підтвердження."
3525
+ channel-sms: "Підтвердження через SMS"
3526
+ channel-sms-help: "Надсилає 6-значний код на номер телефону із замовлення."
3527
+ channel-sms-unavailable: "Для цього екземпляра не налаштовано SMS-провайдера, тому коди не можна надіслати через SMS."
3528
+ channel-email: "Підтвердження через email"
3529
+ channel-email-help: "Надсилає 6-значний код на email із замовлення."
3530
+ session-hours: "Термін дії підтвердження (години)"
3531
+ session-hours-help: "Скільки пристрій залишається підтвердженим після введення правильного коду. Від 1 до 168 годин."
3532
+ account-sign-in: "Дозволити клієнтам вхід"
3533
+ account-sign-in-help: "Клієнти з акаунтом у клієнтському порталі можуть увійти й бачити всі свої замовлення без коду."
3534
+ account-upsell: "Пропонувати створити акаунт"
3535
+ account-upsell-help: "Після доставки підтвердженим клієнтам без акаунта пропонується його створити."
3536
+ customer-portal-missing: "Установіть розширення Customer Portal, щоб клієнти могли входити й бачити всі свої замовлення."
3537
+ code-rules: "Коди складаються з 6 цифр і діють 10 хвилин. Після 3 неправильних кодів надсилання призупиняється на 5 хвилин."
3538
+ visibility: "Що бачать підтверджені клієнти"
3539
+ visibility-map: "Карта в реальному часі"
3540
+ visibility-map-help: "Маршрут і положення авто, поки воно їде до клієнта."
3541
+ visibility-driver_name: "Ім'я водія"
3542
+ visibility-driver_name-help: "Лише ім'я — без прізвища та номера телефону."
3543
+ visibility-vehicle: "Опис авто"
3544
+ visibility-vehicle-help: "Наприклад, «Білий Ford Transit»."
3545
+ visibility-items: "Товари в доставці"
3546
+ visibility-items-help: "Назви, описи, кількість і фото."
3547
+ visibility-item_prices: "Ціни товарів"
3548
+ visibility-item_prices-help: "Видно лише клієнтам, які увійшли та оформили замовлення."
3549
+ visibility-pod_photo: "Фото доставки"
3550
+ visibility-pod_photo-help: "Фото, зроблене як підтвердження доставки."
3551
+ visibility-pod_signature: "Підпис"
3552
+ visibility-pod_signature-help: "Підпис, отриманий як підтвердження доставки."
3553
+ visibility-instructions_edit: "Дозволити клієнтам додавати інструкції до доставки"
3554
+ visibility-instructions_edit-help: "Наприклад, код від воріт або де залишити посилку."
3555
+ visibility-report_problem: "Повідомити про проблему"
3556
+ visibility-report_problem-help: "Клієнти зможуть надіслати вам повідомлення про свою доставку."
3557
+ driver-contact: "Дзвінки й повідомлення отримує"
3558
+ driver-contact-help: "З ким клієнти зв'язуються з картки водія."
3559
+ driver-contact-company: "Ваша служба підтримки"
3560
+ driver-contact-driver: "Водій напряму"
3561
+ privacy-rules: "Застосовується завжди: клієнти бачать лише свої зупинки й товари, карта та водій приховуються після доставки, а місцезнаходження водія показується, лише поки він у дорозі."
3562
+ preview: "Попередній перегляд"
3563
+ preview-help: "Приклад у світлій і темній темі. Збережіть, щоб застосувати зміни."
3564
+ preview-chip: "Підтверджено на цьому пристрої"
3565
+ preview-headline: "Прибуде сьогодні"
3566
+ preview-sub: "14:10–14:40"
3567
+ preview-button: "Підтвердьте, що це ви"
3568
+ preview-powered-by: "Працює на Fleetbase"
3569
+ page:
3570
+ track-another: "Відстежити інше"
3571
+ unavailable-title: "Відстеження тут недоступне"
3572
+ unavailable-help: "Цю сторінку відстеження не ввімкнено. Скористайтеся посиланням із листа про доставку або зверніться до компанії, яка надіслала замовлення."
3573
+ lookup-title: "Відстежте доставку"
3574
+ lookup-sub: "Дізнайтеся, де ваша посилка і коли вона прибуде."
3575
+ tracking-number: "Трек-номер"
3576
+ tracking-number-placeholder: "наприклад, NOR4829301736US"
3577
+ tracking-number-help: "Його можна знайти в листі з підтвердженням або на етикетці посилки."
3578
+ lookup-neutral: "Ми не можемо показати відстеження за цим номером. Звірте його з листом або етикеткою та спробуйте ще раз."
3579
+ lookup-rate: "Забагато спроб поспіль. Зробіть невелику перерву й спробуйте за кілька хвилин."
3580
+ looking-up: "Шукаємо..."
3581
+ track: "Відстежити"
3582
+ or: "або"
3583
+ your-orders: "Ваші замовлення"
3584
+ sign-in: "Увійдіть, щоб бачити всі замовлення"
3585
+ sign-in-account: "Увійти в акаунт"
3586
+ back: "Назад"
3587
+ help: "Потрібна допомога?"
3588
+ language: "Мова"
3589
+ powered-by: "Працює на Fleetbase"
3590
+ dismiss: "Закрити"
3591
+ chip-limited: "Обмежений перегляд · Підтвердьте, щоб побачити деталі"
3592
+ chip-verified: "Підтверджено на цьому пристрої"
3593
+ chip-account: "Ви увійшли"
3594
+ chip-staff: "Перегляд для співробітника: так бачить клієнт"
3595
+ status: "Статус"
3596
+ verify-to-see: "Підтвердьте, щоб побачити доставку"
3597
+ last-update: "Останнє оновлення: {date}"
3598
+ copy: "Копіювати"
3599
+ verify-title: "Перегляньте всі деталі доставки"
3600
+ verify-help: "Задля вашої конфіденційності карта, час прибуття та деталі доставки відкриваються після швидкої перевірки. Ми надішлемо 6-значний код на телефон або email із цього замовлення."
3601
+ verify-button: "Підтвердьте, що це ви"
3602
+ verify-unlock: "Підтвердьте, щоб відкрити"
3603
+ locked-map: "Карта в реальному часі"
3604
+ locked-arrival: "Час прибуття та водій"
3605
+ locked-details: "Оновлення, товари й підтвердження доставки"
3606
+ stage-preparing: "Готується"
3607
+ stage-scheduled: "Заплановано"
3608
+ stage-dispatched: "Водія призначено"
3609
+ stage-in_transit: "У дорозі"
3610
+ stage-delivered: "Доставлено"
3611
+ stage-issue: "Потребує уваги"
3612
+ stage-canceled: "Скасовано"
3613
+ stage-toast-preparing: "Ваше замовлення готується"
3614
+ stage-toast-scheduled: "Вашу доставку заплановано"
3615
+ stage-toast-dispatched: "Водія призначено"
3616
+ stage-toast-in_transit: "Ваше замовлення в дорозі"
3617
+ stage-toast-delivered: "Ваше замовлення доставлено"
3618
+ stage-toast-issue: "Є новини щодо вашої доставки"
3619
+ stage-toast-canceled: "Ваше замовлення скасовано"
3620
+ verify-title-short: "Підтвердьте, що це ви"
3621
+ verify-choose-help: "Щоб захистити дані про доставку, ми надішлемо 6-значний код на контакти з цього замовлення."
3622
+ send-by: "Надіслати код через"
3623
+ channel-sms: "SMS"
3624
+ channel-email: "Email"
3625
+ send-failed: "Зараз не вдалося надіслати код. Спробуйте ще раз."
3626
+ sending: "Надсилаємо код..."
3627
+ send-code: "Надіслати код"
3628
+ masked-note: "Тут ми показуємо лише частину вашого номера або email."
3629
+ no-contact-title: "Тут не вдасться підтвердити особу"
3630
+ no-contact-help: "У цьому замовленні немає телефону чи email, на які можна надіслати код. {name} допоможе вам із доставкою."
3631
+ call: "Зателефонувати {phone}"
3632
+ renew-title: "Отримати новий код"
3633
+ renew-expired: "Термін дії коду минув. Код діє 10 хвилин."
3634
+ renew-unlocked: "Можна спробувати знову. Ми надішлемо новий код, старий більше не діє."
3635
+ renew-limited: "Ви запросили кілька кодів. Зачекайте кілька хвилин, перш ніж запросити ще один."
3636
+ renew-failed: "Щось пішло не так. Запросіть новий код і спробуйте ще раз."
3637
+ send-new-code: "Надіслати новий код"
3638
+ verified-title: "Вас підтверджено"
3639
+ locked-title: "Коди призупинено"
3640
+ enter-code: "Введіть код"
3641
+ code-sent-sms: "Ми надіслали 6-значний код через SMS на {masked}."
3642
+ code-sent-email: "Ми надіслали 6-значний код на {masked}."
3643
+ code-label: "6-значний код"
3644
+ code-expires: "Код діє 10 хвилин."
3645
+ code-wrong: "Код не підходить. {count, plural, one {Залишилася # спроба} few {Залишилося # спроби} many {Залишилося # спроб} other {Залишилося # спроби}}."
3646
+ code-locked: "Забагато спроб. Задля вашої безпеки коди призупинено. Спробуйте знову через {time}."
3647
+ code-success: "Підтверджено. Відкриваємо вашу доставку..."
3648
+ resend-in: "Надіслати код повторно через {time}"
3649
+ resend: "Надіслати код повторно"
3650
+ switch-to-sms: "Надіслати через SMS"
3651
+ switch-to-email: "Надіслати через email"
3652
+ stay-verified: "Після підтвердження цей пристрій залишається підтвердженим протягом {hours} год. Ви можете вийти будь-коли."
3653
+ verified-toast: "Вас підтверджено"
3654
+ verified-toast-help: "Цей пристрій залишається підтвердженим для цієї доставки."
3655
+ signed-out-toast: "Ви вийшли на цьому пристрої"
3656
+ instructions-saved: "Інструкції до доставки збережено"
3657
+ action-failed: "Не вийшло. Спробуйте ще раз."
3658
+ report-sent: "Повідомлення надіслано"
3659
+ report-sent-help: "{name} зв'яжеться з вами."
3660
+ share-copied: "Посилання скопійовано"
3661
+ share-copied-help: "Усі, з ким ви поділитеся посиланням, бачитимуть обмежений перегляд, доки не підтвердять себе."
3662
+ your-stop: "Зупинка {number}"
3663
+ your-stops: "Ваші зупинки"
3664
+ sign-out: "Це не ви? Вийти"
3665
+ live: "Наживо"
3666
+ reconnecting: "Повторне підключення... оновлення призупинено"
3667
+ timezone: "Час у вашому часовому поясі ({zone})"
3668
+ progress: "Хід доставки"
3669
+ step-created: "Створено"
3670
+ step-dispatched: "Відправлено"
3671
+ step-started: "Забрано"
3672
+ step-enroute: "У дорозі"
3673
+ step-delivered: "Доставлено"
3674
+ step-issue: "Спроба невдала"
3675
+ step-canceled: "Скасовано"
3676
+ headline-preparing: "Готуємо ваше замовлення"
3677
+ headline-scheduled: "Заплановано на {date}"
3678
+ headline-dispatched: "Водія призначено"
3679
+ headline-delayed: "Трохи запізнюється"
3680
+ headline-arriving: "Прибуде {day}"
3681
+ headline-in-transit: "У дорозі"
3682
+ headline-delivered: "Доставлено"
3683
+ headline-issue: "З вашою доставкою виникла проблема"
3684
+ headline-canceled: "Це замовлення скасовано"
3685
+ sub-arriving: "{window} · приблизно за {minutes} хв"
3686
+ sub-window: "Вікно доставки {window}"
3687
+ sub-delivered: "{when}"
3688
+ sub-dispatched: "Відстеження в реальному часі почнеться, щойно водій вирушить."
3689
+ sub-preparing: "Ми повідомимо, коли замовлення буде в дорозі."
3690
+ delayed-title: "Запізнюється."
3691
+ delayed-help: "Ми оновлюватимемо час прибуття."
3692
+ stop-of: "Ваша доставка — зупинка {position} з {total}"
3693
+ stops-private: "{count, plural, =0 {Ви наступні.} one {Перед вами # зупинка.} few {Перед вами # зупинки.} many {Перед вами # зупинок.} other {Перед вами # зупинки.}} Інші зупинки приховано — ви бачите лише свою."
3694
+ map: "Карта"
3695
+ map-label: "Карта вашої доставки: авто їде до вашої адреси."
3696
+ map-pickup: "Місце забору"
3697
+ map-driver: "Водій"
3698
+ map-pickup-named: "Забір · {name}"
3699
+ map-fullscreen: "Карта на весь екран"
3700
+ map-exit-fullscreen: "Вийти з повноекранного режиму"
3701
+ stop-card-title: "Доставка за адресою"
3702
+ stop-upcoming: "Попереду"
3703
+ stop-complete: "Доставлено"
3704
+ map-hidden: "Карту приховано, оскільки замовлення доставлено. Біля ваших дверей ми припиняємо показувати місцезнаходження водія."
3705
+ last-seen: "Оновлено {minutes} хв тому"
3706
+ recenter: "Показати авто в центрі карти"
3707
+ fit-route: "Показати весь маршрут"
3708
+ eta: "Очікуване прибуття"
3709
+ in-minutes: "приблизно за {minutes} хв"
3710
+ window: "Вікно доставки"
3711
+ before-yours: "Перед вами"
3712
+ stops-count: "{count, plural, =0 {Немає} one {# зупинка} few {# зупинки} many {# зупинок} other {# зупинки}}"
3713
+ estimate-may-change: "Час може змінитися"
3714
+ driver: "Ваш водій"
3715
+ online: "На зв'язку"
3716
+ location-paused: "Місцезнаходження призупинено"
3717
+ call-short: "Зателефонувати"
3718
+ message: "Написати"
3719
+ contact-note: "Дзвінки й повідомлення надходять до служби підтримки {name}."
3720
+ proof: "Підтвердження доставки"
3721
+ open-photo: "Відкрити фото доставки"
3722
+ open-signature: "Відкрити підпис"
3723
+ open-scan: "Відкрити скан"
3724
+ proof-photo: "Фото доставки"
3725
+ proof-signature: "Підпис"
3726
+ proof-scan: "Відскановано біля дверей"
3727
+ instructions: "Інструкції до доставки"
3728
+ edit: "Змінити"
3729
+ instructions-help: "Код від воріт, де залишити посилку або хто може розписатися"
3730
+ cancel: "Скасувати"
3731
+ save: "Зберегти"
3732
+ no-instructions: "Інструкцій поки немає."
3733
+ updates: "Оновлення"
3734
+ no-updates: "Оновлень поки немає."
3735
+ show-fewer: "Показати менше оновлень"
3736
+ show-earlier: "Показати попередні оновлення ({count})"
3737
+ today: "Сьогодні"
3738
+ yesterday: "Учора"
3739
+ items: "У цій доставці"
3740
+ item: "Товар"
3741
+ quantity: "К-сть: {count}"
3742
+ share: "Поділитися відстеженням"
3743
+ report: "Повідомити про проблему"
3744
+ contact: "Зв'язатися з {name}"
3745
+ report-label: "Що не так із вашою доставкою?"
3746
+ send: "Надіслати"
3747
+ close: "Закрити"
3748
+ no-orders: "Замовлень поки немає"
3749
+ no-orders-help: "Тут з'являться доставки для вашого акаунта."
@@ -2146,3 +2146,277 @@ trailer:
2146
2146
  dolly: Dolly
2147
2147
  specialty: Chuyên dụng
2148
2148
  other: Khác
2149
+ tracking-page:
2150
+ settings:
2151
+ title: "Trang theo dõi"
2152
+ menu: "Trang theo dõi"
2153
+ saved: "Đã lưu cài đặt trang theo dõi."
2154
+ load-failed: "Không thể tải cài đặt trang theo dõi."
2155
+ load-failed-help: "Tải lại trang để thử lại. Nếu lỗi vẫn tiếp diễn, hãy kiểm tra xem bạn có quyền xem các cài đặt này không."
2156
+ pages: "Trang"
2157
+ org-page-enabled: "Trang theo dõi riêng của bạn"
2158
+ org-page-enabled-help: "Trang theo dõi mang thương hiệu của bạn tại một địa chỉ riêng. Trang chỉ tìm được mã vận đơn của tổ chức bạn."
2159
+ slug: "Địa chỉ trang"
2160
+ slug-checking: "Đang kiểm tra địa chỉ..."
2161
+ open-page: "Mở trang"
2162
+ generic-page-allowed: "Cho phép theo dõi trên trang chung"
2163
+ generic-page-allowed-help: "Cho phép khách hàng tra cứu mã vận đơn của bạn tại {url}. Tắt đi để chỉ theo dõi trên trang riêng của bạn."
2164
+ links-target: "Liên kết trong email và nhãn"
2165
+ links-target-help: "Trang mà thông báo và nhãn của bạn dẫn khách hàng đến."
2166
+ links-target-auto: "Trang của bạn khi đang bật, nếu không thì trang chung"
2167
+ links-target-org: "Luôn dùng trang của bạn"
2168
+ links-target-generic: "Luôn dùng trang chung"
2169
+ branding: "Thương hiệu"
2170
+ display-name: "Tên hiển thị"
2171
+ logo-help: "Trang dùng logo của tổ chức bạn. Nếu không có logo, trang sẽ hiển thị chữ viết tắt của tên hiển thị."
2172
+ accent: "Màu nhấn"
2173
+ accent-hex: "Màu nhấn dạng mã hex"
2174
+ placeholder-slug: "cong-ty-cua-ban"
2175
+ placeholder-phone: "+1 555 010 0100"
2176
+ placeholder-email: "support@example.com"
2177
+ placeholder-website: "https://example.com"
2178
+ placeholder-select: "Chọn một tùy chọn"
2179
+ contrast-ok: "Chữ trên màu này dễ đọc ({ratio}:1)."
2180
+ contrast-low: "Chữ trên màu này khó đọc ({ratio}:1). Hãy chọn màu tối hơn hoặc sáng hơn."
2181
+ accent-help: "Dùng cho nút, tiến trình và phần làm nổi bật. Màu chữ trên nền này được chọn tự động."
2182
+ accent-dark: "Màu nhấn ở chế độ tối"
2183
+ accent-dark-auto: "Tự động"
2184
+ support-phone: "Số điện thoại hỗ trợ"
2185
+ support-email: "Email hỗ trợ"
2186
+ website: "Trang web"
2187
+ support-help: "Để trống để dùng thông tin của tổ chức bạn. Cuộc gọi và tin nhắn của khách hàng sẽ được chuyển đến đây."
2188
+ powered-by: "Hiển thị \"Powered by Fleetbase\""
2189
+ powered-by-help: "Một dòng nhỏ ở chân trang."
2190
+ theme: "Sáng và tối"
2191
+ theme-system: "Theo thiết bị của khách hàng"
2192
+ theme-light: "Luôn sáng"
2193
+ default-language: "Ngôn ngữ mặc định"
2194
+ languages: "Ngôn ngữ khách hàng có thể chọn"
2195
+ access: "Quyền truy cập"
2196
+ public-status: "Hiển thị trạng thái mà không cần xác minh"
2197
+ public-status-help: "Chỉ với mã vận đơn, khách hàng sẽ thấy giai đoạn giao hàng và ngày cập nhật gần nhất. Tắt đi để không hiển thị gì cho đến khi họ xác minh."
2198
+ channel-sms: "Xác minh qua tin nhắn"
2199
+ channel-sms-help: "Gửi mã 6 chữ số đến số điện thoại trong đơn hàng."
2200
+ channel-sms-unavailable: "Hệ thống này chưa cấu hình nhà cung cấp SMS nên không thể gửi mã qua tin nhắn."
2201
+ channel-email: "Xác minh qua email"
2202
+ channel-email-help: "Gửi mã 6 chữ số đến địa chỉ email trong đơn hàng."
2203
+ session-hours: "Thời gian giữ xác minh (giờ)"
2204
+ session-hours-help: "Thời gian thiết bị vẫn được xác minh sau khi nhập đúng mã. Từ 1 đến 168 giờ."
2205
+ account-sign-in: "Cho phép khách hàng đăng nhập"
2206
+ account-sign-in-help: "Khách hàng có tài khoản cổng khách hàng có thể đăng nhập để xem tất cả đơn hàng mà không cần mã."
2207
+ account-upsell: "Gợi ý tạo tài khoản"
2208
+ account-upsell-help: "Sau khi giao hàng, khách hàng đã xác minh nhưng chưa có tài khoản sẽ được mời tạo tài khoản."
2209
+ customer-portal-missing: "Cài đặt tiện ích Customer Portal để khách hàng có thể đăng nhập và xem tất cả đơn hàng của họ."
2210
+ code-rules: "Mã gồm 6 chữ số và hết hạn sau 10 phút. Sau 3 lần nhập sai, việc gửi mã sẽ tạm dừng 5 phút."
2211
+ visibility: "Những gì khách hàng đã xác minh thấy"
2212
+ visibility-map: "Bản đồ trực tiếp"
2213
+ visibility-map-help: "Lộ trình và vị trí xe khi đang trên đường đến khách hàng."
2214
+ visibility-driver_name: "Tên tài xế"
2215
+ visibility-driver_name-help: "Chỉ hiển thị tên, không bao giờ hiển thị họ hay số điện thoại."
2216
+ visibility-vehicle: "Mô tả xe"
2217
+ visibility-vehicle-help: "Ví dụ \"Ford Transit màu trắng\"."
2218
+ visibility-items: "Hàng hóa trong đơn giao"
2219
+ visibility-items-help: "Tên, mô tả, số lượng và ảnh."
2220
+ visibility-item_prices: "Giá hàng hóa"
2221
+ visibility-item_prices-help: "Chỉ hiển thị cho khách hàng đã đăng nhập và là người đặt đơn."
2222
+ visibility-pod_photo: "Ảnh giao hàng"
2223
+ visibility-pod_photo-help: "Ảnh chụp làm bằng chứng giao hàng."
2224
+ visibility-pod_signature: "Chữ ký"
2225
+ visibility-pod_signature-help: "Chữ ký được ghi nhận làm bằng chứng giao hàng."
2226
+ visibility-instructions_edit: "Cho phép khách hàng thêm hướng dẫn giao hàng"
2227
+ visibility-instructions_edit-help: "Ví dụ mã cổng hoặc nơi để gói hàng."
2228
+ visibility-report_problem: "Báo cáo sự cố"
2229
+ visibility-report_problem-help: "Cho phép khách hàng gửi tin nhắn cho bạn về đơn giao của họ."
2230
+ driver-contact: "Cuộc gọi và tin nhắn được chuyển đến"
2231
+ driver-contact-help: "Người mà khách hàng liên hệ từ thẻ tài xế."
2232
+ driver-contact-company: "Đội hỗ trợ của bạn"
2233
+ driver-contact-driver: "Trực tiếp tài xế"
2234
+ privacy-rules: "Luôn áp dụng: khách hàng chỉ thấy điểm dừng và hàng hóa của chính họ, bản đồ và tài xế được ẩn sau khi giao hàng, và vị trí tài xế chỉ hiển thị khi đang trên đường đến."
2235
+ preview: "Xem trước"
2236
+ preview-help: "Mẫu ở chế độ sáng và tối. Lưu để áp dụng thay đổi."
2237
+ preview-chip: "Đã xác minh trên thiết bị này"
2238
+ preview-headline: "Đến trong hôm nay"
2239
+ preview-sub: "14:10 đến 14:40"
2240
+ preview-button: "Xác minh danh tính"
2241
+ preview-powered-by: "Powered by Fleetbase"
2242
+ page:
2243
+ track-another: "Theo dõi đơn khác"
2244
+ unavailable-title: "Không thể theo dõi tại đây"
2245
+ unavailable-help: "Trang theo dõi này chưa được bật. Hãy dùng liên kết trong email giao hàng hoặc liên hệ công ty đã gửi đơn hàng cho bạn."
2246
+ lookup-title: "Theo dõi đơn giao"
2247
+ lookup-sub: "Xem gói hàng của bạn đang ở đâu và khi nào sẽ đến."
2248
+ tracking-number: "Mã vận đơn"
2249
+ tracking-number-placeholder: "VD: NOR4829301736US"
2250
+ tracking-number-help: "Bạn có thể tìm thấy mã trong email xác nhận hoặc trên nhãn gói hàng."
2251
+ lookup-neutral: "Chúng tôi không thể hiển thị thông tin theo dõi cho mã này. Hãy kiểm tra xem mã có khớp với email hoặc nhãn gói hàng không rồi thử lại."
2252
+ lookup-rate: "Bạn đã thử nhiều lần liên tiếp. Hãy nghỉ một chút và thử lại sau vài phút."
2253
+ looking-up: "Đang tra cứu..."
2254
+ track: "Theo dõi"
2255
+ or: "hoặc"
2256
+ your-orders: "Đơn hàng của bạn"
2257
+ sign-in: "Đăng nhập để xem tất cả đơn hàng"
2258
+ sign-in-account: "Đăng nhập vào tài khoản"
2259
+ back: "Quay lại"
2260
+ help: "Cần trợ giúp?"
2261
+ language: "Ngôn ngữ"
2262
+ powered-by: "Powered by Fleetbase"
2263
+ dismiss: "Bỏ qua"
2264
+ chip-limited: "Xem giới hạn · Xác minh để xem chi tiết"
2265
+ chip-verified: "Đã xác minh trên thiết bị này"
2266
+ chip-account: "Đã đăng nhập"
2267
+ chip-staff: "Xem trước cho nhân viên: những gì khách hàng này thấy"
2268
+ status: "Trạng thái"
2269
+ verify-to-see: "Xác minh để xem đơn giao"
2270
+ last-update: "Cập nhật gần nhất: {date}"
2271
+ copy: "Sao chép"
2272
+ verify-title: "Xem đầy đủ chi tiết đơn giao"
2273
+ verify-help: "Để bảo vệ quyền riêng tư của bạn, bản đồ, thời gian đến và chi tiết giao hàng sẽ mở sau một bước kiểm tra nhanh. Chúng tôi sẽ gửi mã 6 chữ số đến số điện thoại hoặc email trong đơn hàng này."
2274
+ verify-button: "Xác minh danh tính"
2275
+ verify-unlock: "Xác minh để mở khóa"
2276
+ locked-map: "Bản đồ trực tiếp"
2277
+ locked-arrival: "Thời gian đến và tài xế"
2278
+ locked-details: "Cập nhật, hàng hóa và bằng chứng giao hàng"
2279
+ stage-preparing: "Đang chuẩn bị"
2280
+ stage-scheduled: "Đã lên lịch"
2281
+ stage-dispatched: "Đã có tài xế"
2282
+ stage-in_transit: "Đang vận chuyển"
2283
+ stage-delivered: "Đã giao"
2284
+ stage-issue: "Cần chú ý"
2285
+ stage-canceled: "Đã hủy"
2286
+ stage-toast-preparing: "Đơn hàng của bạn đang được chuẩn bị"
2287
+ stage-toast-scheduled: "Đơn giao của bạn đã được lên lịch"
2288
+ stage-toast-dispatched: "Đã có tài xế nhận đơn"
2289
+ stage-toast-in_transit: "Đơn hàng của bạn đang trên đường đến"
2290
+ stage-toast-delivered: "Đơn hàng của bạn đã được giao"
2291
+ stage-toast-issue: "Có cập nhật về đơn giao của bạn"
2292
+ stage-toast-canceled: "Đơn hàng của bạn đã bị hủy"
2293
+ verify-title-short: "Xác minh danh tính"
2294
+ verify-choose-help: "Để bảo vệ thông tin giao hàng, chúng tôi sẽ gửi mã 6 chữ số đến thông tin liên hệ trong đơn hàng này."
2295
+ send-by: "Gửi mã qua"
2296
+ channel-sms: "Tin nhắn"
2297
+ channel-email: "Email"
2298
+ send-failed: "Hiện không thể gửi mã. Vui lòng thử lại."
2299
+ sending: "Đang gửi mã..."
2300
+ send-code: "Gửi mã"
2301
+ masked-note: "Chúng tôi chỉ hiển thị một phần số điện thoại hoặc email của bạn tại đây."
2302
+ no-contact-title: "Không thể xác minh tại đây"
2303
+ no-contact-help: "Đơn hàng này không có số điện thoại hoặc email để gửi mã. {name} có thể hỗ trợ bạn về đơn giao."
2304
+ call: "Gọi {phone}"
2305
+ renew-title: "Nhận mã mới"
2306
+ renew-expired: "Mã đã hết hạn. Mã có hiệu lực trong 10 phút."
2307
+ renew-unlocked: "Bạn có thể thử lại ngay. Chúng tôi sẽ gửi mã mới; mã cũ không còn hiệu lực."
2308
+ renew-limited: "Bạn đã yêu cầu nhiều mã. Vui lòng đợi vài phút trước khi yêu cầu mã khác."
2309
+ renew-failed: "Đã xảy ra lỗi. Hãy yêu cầu mã mới để thử lại."
2310
+ send-new-code: "Gửi mã mới"
2311
+ verified-title: "Bạn đã được xác minh"
2312
+ locked-title: "Tạm dừng gửi mã"
2313
+ enter-code: "Nhập mã của bạn"
2314
+ code-sent-sms: "Chúng tôi đã nhắn mã 6 chữ số đến {masked}."
2315
+ code-sent-email: "Chúng tôi đã gửi email mã 6 chữ số đến {masked}."
2316
+ code-label: "Mã 6 chữ số"
2317
+ code-expires: "Mã sẽ hết hạn sau 10 phút."
2318
+ code-wrong: "Mã không khớp. Còn {count, plural, other {# lần thử}}."
2319
+ code-locked: "Quá nhiều lần thử. Để bảo mật, việc gửi mã đã tạm dừng. Hãy thử lại sau {time}."
2320
+ code-success: "Đã xác minh. Đang mở đơn giao của bạn..."
2321
+ resend-in: "Gửi lại mã sau {time}"
2322
+ resend: "Gửi lại mã"
2323
+ switch-to-sms: "Gửi qua tin nhắn"
2324
+ switch-to-email: "Gửi qua email"
2325
+ stay-verified: "Sau khi xác minh, thiết bị này sẽ giữ trạng thái xác minh trong {hours} giờ. Bạn có thể đăng xuất bất cứ lúc nào."
2326
+ verified-toast: "Bạn đã được xác minh"
2327
+ verified-toast-help: "Thiết bị này vẫn được xác minh cho đơn giao này."
2328
+ signed-out-toast: "Đã đăng xuất trên thiết bị này"
2329
+ instructions-saved: "Đã lưu hướng dẫn giao hàng"
2330
+ action-failed: "Thao tác không thành công. Vui lòng thử lại."
2331
+ report-sent: "Đã gửi tin nhắn"
2332
+ report-sent-help: "{name} sẽ phản hồi bạn."
2333
+ share-copied: "Đã sao chép liên kết"
2334
+ share-copied-help: "Người nhận liên kết sẽ chỉ thấy thông tin giới hạn cho đến khi họ tự xác minh."
2335
+ your-stop: "Điểm dừng {number}"
2336
+ your-stops: "Điểm dừng của bạn"
2337
+ sign-out: "Không phải bạn? Đăng xuất"
2338
+ live: "Trực tiếp"
2339
+ reconnecting: "Đang kết nối lại... tạm dừng cập nhật trực tiếp"
2340
+ timezone: "Thời gian theo múi giờ của bạn ({zone})"
2341
+ progress: "Tiến trình giao hàng"
2342
+ step-created: "Đã tạo"
2343
+ step-dispatched: "Đã điều phối"
2344
+ step-started: "Đã lấy hàng"
2345
+ step-enroute: "Đang trên đường"
2346
+ step-delivered: "Đã giao"
2347
+ step-issue: "Giao không thành công"
2348
+ step-canceled: "Đã hủy"
2349
+ headline-preparing: "Đang chuẩn bị đơn hàng của bạn"
2350
+ headline-scheduled: "Đã lên lịch vào {date}"
2351
+ headline-dispatched: "Đã có tài xế nhận đơn"
2352
+ headline-delayed: "Sẽ đến muộn một chút"
2353
+ headline-arriving: "Sẽ đến {day}"
2354
+ headline-in-transit: "Đang trên đường đến"
2355
+ headline-delivered: "Đã giao"
2356
+ headline-issue: "Đơn giao của bạn gặp sự cố"
2357
+ headline-canceled: "Đơn hàng này đã bị hủy"
2358
+ sub-arriving: "{window} · khoảng {minutes} phút nữa"
2359
+ sub-window: "Khung giờ giao {window}"
2360
+ sub-delivered: "{when}"
2361
+ sub-dispatched: "Theo dõi trực tiếp sẽ bắt đầu ngay khi tài xế lên đường."
2362
+ sub-preparing: "Chúng tôi sẽ báo cho bạn khi đơn hàng lên đường."
2363
+ delayed-title: "Đang bị trễ."
2364
+ delayed-help: "Chúng tôi sẽ liên tục cập nhật thời gian đến."
2365
+ stop-of: "Đơn giao của bạn là điểm dừng {position}/{total}"
2366
+ stops-private: "{count, plural, =0 {Bạn là điểm tiếp theo.} other {Còn # điểm dừng trước bạn.}} Các điểm dừng khác được giữ kín, bạn chỉ thấy điểm của mình."
2367
+ map: "Bản đồ"
2368
+ map-label: "Bản đồ đơn giao: xe đang trên đường đến địa chỉ của bạn."
2369
+ map-pickup: "Khu vực lấy hàng"
2370
+ map-driver: "Tài xế"
2371
+ map-pickup-named: "Lấy hàng · {name}"
2372
+ map-fullscreen: "Bản đồ toàn màn hình"
2373
+ map-exit-fullscreen: "Thoát toàn màn hình"
2374
+ stop-card-title: "Giao đến"
2375
+ stop-upcoming: "Sắp tới"
2376
+ stop-complete: "Đã giao"
2377
+ map-hidden: "Bản đồ đã được ẩn vì đơn hàng đã giao. Chúng tôi ngừng chia sẻ vị trí tài xế khi đến cửa nhà bạn."
2378
+ last-seen: "Cập nhật {minutes} phút trước"
2379
+ recenter: "Đưa xe về giữa bản đồ"
2380
+ fit-route: "Hiển thị toàn bộ lộ trình"
2381
+ eta: "Thời gian đến dự kiến"
2382
+ in-minutes: "khoảng {minutes} phút nữa"
2383
+ window: "Khung giờ giao"
2384
+ before-yours: "Trước bạn"
2385
+ stops-count: "{count, plural, =0 {Không có} other {# điểm dừng}}"
2386
+ estimate-may-change: "Thời gian dự kiến có thể thay đổi"
2387
+ driver: "Tài xế của bạn"
2388
+ online: "Trực tuyến"
2389
+ location-paused: "Tạm dừng vị trí"
2390
+ call-short: "Gọi"
2391
+ message: "Nhắn tin"
2392
+ contact-note: "Cuộc gọi và tin nhắn sẽ được chuyển đến đội hỗ trợ của {name}."
2393
+ proof: "Bằng chứng giao hàng"
2394
+ open-photo: "Mở ảnh giao hàng"
2395
+ open-signature: "Mở chữ ký"
2396
+ open-scan: "Mở bản quét"
2397
+ proof-photo: "Ảnh giao hàng"
2398
+ proof-signature: "Chữ ký"
2399
+ proof-scan: "Đã quét tại cửa"
2400
+ instructions: "Hướng dẫn giao hàng"
2401
+ edit: "Sửa"
2402
+ instructions-help: "Mã cổng, nơi để hàng hoặc người có thể ký nhận"
2403
+ cancel: "Hủy"
2404
+ save: "Lưu"
2405
+ no-instructions: "Chưa có hướng dẫn."
2406
+ updates: "Cập nhật"
2407
+ no-updates: "Chưa có cập nhật."
2408
+ show-fewer: "Ẩn bớt cập nhật"
2409
+ show-earlier: "Xem các cập nhật trước ({count})"
2410
+ today: "Hôm nay"
2411
+ yesterday: "Hôm qua"
2412
+ items: "Trong đơn giao này"
2413
+ item: "Mặt hàng"
2414
+ quantity: "SL {count}"
2415
+ share: "Chia sẻ theo dõi"
2416
+ report: "Báo cáo sự cố"
2417
+ contact: "Liên hệ {name}"
2418
+ report-label: "Đơn giao của bạn gặp vấn đề gì?"
2419
+ send: "Gửi"
2420
+ close: "Đóng"
2421
+ no-orders: "Chưa có đơn hàng"
2422
+ no-orders-help: "Các đơn giao của tài khoản bạn sẽ hiển thị tại đây."
@@ -1 +0,0 @@
1
- <Table::Cell::Identity @row={{@row}} @column={{@column}} @value={{@value}} @onClick={{@onClick}} @resourceType="contact" ...attributes />
@@ -1 +0,0 @@
1
- <Table::Cell::Identity @row={{@row}} @column={{@column}} @value={{@value}} @onClick={{@onClick}} @resourceType="customer" ...attributes />
@@ -1 +0,0 @@
1
- <Table::Cell::Identity @row={{@row}} @column={{@column}} @value={{@value}} @onClick={{@onClick}} @resourceType="driver" ...attributes />
@@ -1 +0,0 @@
1
- <Table::Cell::Identity @row={{@row}} @column={{@column}} @value={{@value}} @onClick={{@onClick}} @resourceType="fleet" ...attributes />
@@ -1 +0,0 @@
1
- <Table::Cell::Identity @row={{@row}} @column={{@column}} @value={{@value}} @onClick={{@onClick}} @resourceType="order" ...attributes />
@@ -1 +0,0 @@
1
- <Table::Cell::Identity @row={{@row}} @column={{@column}} @value={{@value}} @onClick={{@onClick}} @resourceType="place" ...attributes />
@@ -1 +0,0 @@
1
- <Table::Cell::Identity @row={{@row}} @column={{@column}} @value={{@value}} @onClick={{@onClick}} @resourceType="vehicle" ...attributes />
@@ -1 +0,0 @@
1
- <Table::Cell::Identity @row={{@row}} @column={{@column}} @value={{@value}} @onClick={{@onClick}} @resourceType="vendor" ...attributes />
@@ -1,24 +0,0 @@
1
- <Resource::Pill
2
- @resource={{(or @contact @resource)}}
3
- @resourceType="contact"
4
- @title={{@title}}
5
- @titleFallback={{@titleFallback}}
6
- @subtitle={{@subtitle}}
7
- @showOnlineIndicator={{@showOnlineIndicator}}
8
- @noPopover={{@noPopover}}
9
- @popoverPlacement={{@popoverPlacement}}
10
- @static={{@static}}
11
- @onClick={{@onClick}}
12
- @onView={{@onView}}
13
- @anchorClass={{@anchorClass}}
14
- @imageClass={{@imageClass}}
15
- @imageWrapperClass={{@imageWrapperClass}}
16
- @contentWrapperClass={{@contentWrapperClass}}
17
- @titleClass={{@titleClass}}
18
- @subtitleClass={{@subtitleClass}}
19
- @useBlock={{(has-block)}}
20
- ...attributes
21
- as |resource|
22
- >
23
- {{yield resource}}
24
- </Resource::Pill>
@@ -1 +0,0 @@
1
- <Resource::Summary @resource={{(or @contact @resource)}} @resourceType="contact" @onView={{@onView}} @showView={{@showView}} @onClose={{@onClose}} @titleFallback={{@titleFallback}} ...attributes />