@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
@@ -1256,6 +1256,7 @@ order-config-manager:
1256
1256
  details: Details
1257
1257
  custom-fields: Custom Fields
1258
1258
  activity-flow: Activity Flow
1259
+ lifecycle: Lifecycle
1259
1260
  entities: Entities
1260
1261
  details:
1261
1262
  details: Details
@@ -1272,6 +1273,65 @@ order-config-manager:
1272
1273
  delete-title: Delete this order config?
1273
1274
  delete-body-message: Once this order config is deleted it will not be recoverable and you will lose all configurations.
1274
1275
  confirm-delete: Delete
1276
+ lifecycle:
1277
+ title: Lifecycle
1278
+ description: A configured lifecycle lets this order type start, complete and cancel at its own activities instead of the default dispatch lifecycle (created, dispatched, started, completed, canceled).
1279
+ default-lifecycle: This order type uses the default dispatch lifecycle. Orders start at "created", can be dispatched to drivers and complete or cancel through the standard activities.
1280
+ enable: Use a configured lifecycle
1281
+ enable-help: Orders of this type start at the initial activity you choose and follow the activity flow instead of the dispatch lifecycle.
1282
+ initial: Initial activity
1283
+ initial-help: New orders of this type start here. Must be an activity in the flow.
1284
+ completed: Completed activity
1285
+ completed-help: Reaching this activity completes the order.
1286
+ canceled: Canceled activity
1287
+ canceled-help: Canceling an order moves it to this activity.
1288
+ terminal: Terminal activities
1289
+ terminal-help: No further transition is allowed after these. The completed and canceled activities are always terminal.
1290
+ dispatch: Allow dispatch
1291
+ dispatch-help: When off, orders of this type are never dispatched to drivers and the dispatch actions are refused.
1292
+ strict-transitions: Strict transitions
1293
+ strict-transitions-help: When on, an activity can only move to one of its configured next activities in the flow.
1294
+ select-activity: Select activity
1295
+ select-activities: Select activities
1296
+ problems-title: Fix before saving
1297
+ problem-initial-required: Choose the initial activity.
1298
+ problem-no-activities: Add at least one activity.
1299
+ problem-duplicate-code: 'An activity with the code "{code}" already exists.'
1300
+ activities: Activities
1301
+ activities-help: The statuses an order of this type can be in. Each activity lists the activities it can move to; the graph on the Activity Flow tab shows the same flow. Changes here are saved with the lifecycle.
1302
+ activity-label: Label
1303
+ activity-label-placeholder: e.g. Vehicle Assigned
1304
+ activity-code: Code
1305
+ activity-code-help: Stored status value. Derived from the label when left empty; cannot change once added.
1306
+ activity-code-placeholder: e.g. vehicle_assigned
1307
+ activity-details: Details
1308
+ activity-details-placeholder: Shown with the activity in the timeline
1309
+ activity-color: Colour
1310
+ activity-next: Can move to
1311
+ add-activity: Add activity
1312
+ remove-activity: Remove activity
1313
+ no-activities: No activities yet. Add the first one below; it becomes the initial activity.
1314
+ blank-flow: Start from a blank flow
1315
+ blank-flow-title: Remove all activities?
1316
+ blank-flow-body: The default dispatch activities (created, dispatched, started, …) are removed so you can define your own. Nothing is saved until you click Save changes.
1317
+ blank-flow-confirm: Remove activities
1318
+ initial-short: initial
1319
+ problem-missing-activity: '"{code}" is not an activity in the flow.'
1320
+ summary: Summary
1321
+ summary-initial: Orders start at
1322
+ summary-completed: Completed at
1323
+ summary-canceled: Canceled at
1324
+ summary-terminal: Terminal
1325
+ summary-dispatch: Dispatch
1326
+ summary-strict: Strict transitions
1327
+ 'yes': 'Yes'
1328
+ 'no': 'No'
1329
+ none: None
1330
+ remove: Remove configured lifecycle
1331
+ remove-title: Remove the configured lifecycle?
1332
+ remove-body: Orders of this type will use the default dispatch lifecycle again. Existing orders keep their current status.
1333
+ remove-confirm: Remove
1334
+ saved: Lifecycle saved for {orderConfigName}.
1275
1335
  activity-flow:
1276
1336
  save-activity-flow: Save Activity Flow
1277
1337
  edit-activity-unique-code-warning: Activity code must be unique!
@@ -2518,6 +2578,10 @@ widget:
2518
2578
  title: Geofence Violations
2519
2579
  live-fleet:
2520
2580
  title: Live Fleet Map
2581
+ proof-of-delivery:
2582
+ title: Proof of Delivery
2583
+ open-photo: Open photo
2584
+ empty: No proof of delivery photos yet.
2521
2585
  get-started:
2522
2586
  title: Get Started with Fleet-Ops
2523
2587
  subtitle: Set up the essentials and complete your first dispatch flow.
@@ -2808,6 +2872,15 @@ settings:
2808
2872
  show-transit-layer-help-text: Overlay public transit routes on the Google Maps view.
2809
2873
  settings-saved: Map settings saved successfully.
2810
2874
  settings-save-failed: Failed to save map settings. Please try again.
2875
+ default-view: Default Map View
2876
+ default-view-help-text: Where the live map and the Live Fleet Map widget open. A default center is used instead of the browser's location. Without one, the map opens near your active orders or your browser's location, then in your company's country.
2877
+ default-center: Default Center
2878
+ default-center-help-text: Enter coordinates or select a point from the map. Leave blank to locate users automatically.
2879
+ clear-default-center: Clear default center
2880
+ default-zoom: Default Zoom
2881
+ default-zoom-help-text: Zoom level from 1 (whole world) to 20 (street level) used with the default center. Defaults to 12.
2882
+ fit-to-vehicles: Fit to my vehicles
2883
+ fit-to-vehicles-help-text: When the map opens, frame every vehicle that has a position. If no vehicle has a position yet, the default center is used.
2811
2884
  navigator-app:
2812
2885
  navigator-app-settings: Navigator App Settings
2813
2886
  payments:
@@ -3552,3 +3625,277 @@ resource-summary:
3552
3625
  work-order: Work order
3553
3626
  zone: Zone
3554
3627
  zones: Zones
3628
+ tracking-page:
3629
+ settings:
3630
+ title: "Tracking Page"
3631
+ menu: "Tracking Page"
3632
+ saved: "Tracking page settings saved."
3633
+ load-failed: "We couldn't load the tracking page settings."
3634
+ load-failed-help: "Reload the page to try again. If it keeps happening, check that you have permission to view these settings."
3635
+ pages: "Pages"
3636
+ org-page-enabled: "Your own tracking page"
3637
+ org-page-enabled-help: "A tracking page with your branding at its own address. It only finds your organization's tracking numbers."
3638
+ slug: "Page address"
3639
+ slug-checking: "Checking the address..."
3640
+ open-page: "Open the page"
3641
+ generic-page-allowed: "Allow tracking on the shared page"
3642
+ generic-page-allowed-help: "Lets customers look up your tracking numbers at {url}. Turn it off to keep tracking on your own page only."
3643
+ links-target: "Links in emails and labels"
3644
+ links-target-help: "Which page your notifications and labels send customers to."
3645
+ links-target-auto: "Your page when it is on, otherwise the shared page"
3646
+ links-target-org: "Always your page"
3647
+ links-target-generic: "Always the shared page"
3648
+ branding: "Branding"
3649
+ display-name: "Display name"
3650
+ logo-help: "The page uses your organization logo. Without one it shows a monogram of the display name."
3651
+ accent: "Accent colour"
3652
+ accent-hex: "Accent colour as a hex value"
3653
+ placeholder-slug: "your-company"
3654
+ placeholder-phone: "+1 555 010 0100"
3655
+ placeholder-email: "support@example.com"
3656
+ placeholder-website: "https://example.com"
3657
+ placeholder-select: "Select an option"
3658
+ contrast-ok: "Text on this colour is readable ({ratio}:1)."
3659
+ contrast-low: "Text on this colour is hard to read ({ratio}:1). Choose a darker or lighter colour."
3660
+ accent-help: "Used for buttons, progress and highlights. The text colour on it is chosen automatically."
3661
+ accent-dark: "Accent colour in dark mode"
3662
+ accent-dark-auto: "Automatic"
3663
+ support-phone: "Support phone"
3664
+ support-email: "Support email"
3665
+ website: "Website"
3666
+ support-help: "Leave these empty to use your organization's details. Customers' calls and messages go here."
3667
+ powered-by: "Show \"Powered by Fleetbase\""
3668
+ powered-by-help: "A small line in the page footer."
3669
+ theme: "Light and dark"
3670
+ theme-system: "Follow the customer's device"
3671
+ theme-light: "Always light"
3672
+ default-language: "Default language"
3673
+ languages: "Languages customers can choose"
3674
+ access: "Access"
3675
+ public-status: "Show the status without verification"
3676
+ public-status-help: "With only a tracking number, customers see the delivery stage and the date of the last update. Turn it off to show nothing until they verify."
3677
+ channel-sms: "Verify by text message"
3678
+ channel-sms-help: "Sends a 6-digit code to the phone number on the order."
3679
+ channel-sms-unavailable: "No SMS provider is configured for this instance, so codes can't be sent by text message."
3680
+ channel-email: "Verify by email"
3681
+ channel-email-help: "Sends a 6-digit code to the email address on the order."
3682
+ session-hours: "Stay verified for (hours)"
3683
+ session-hours-help: "How long a device stays verified after a correct code. Between 1 and 168 hours."
3684
+ account-sign-in: "Let customers sign in"
3685
+ account-sign-in-help: "Customers with a customer portal account can sign in to see all their orders without a code."
3686
+ account-upsell: "Suggest creating an account"
3687
+ account-upsell-help: "After delivery, verified customers without an account are invited to create one."
3688
+ customer-portal-missing: "Install the Customer Portal extension to let customers sign in and see all their orders."
3689
+ code-rules: "Codes have 6 digits and expire after 10 minutes. After 3 wrong codes, codes pause for 5 minutes."
3690
+ visibility: "What verified customers see"
3691
+ visibility-map: "Live map"
3692
+ visibility-map-help: "The route and the vehicle's position while it is on its way to the customer."
3693
+ visibility-driver_name: "Driver's first name"
3694
+ visibility-driver_name-help: "Only the first name, never a surname or phone number."
3695
+ visibility-vehicle: "Vehicle description"
3696
+ visibility-vehicle-help: "For example \"White Ford Transit\"."
3697
+ visibility-items: "Items in the delivery"
3698
+ visibility-items-help: "Names, descriptions, quantities and photos."
3699
+ visibility-item_prices: "Item prices"
3700
+ visibility-item_prices-help: "Shown only to signed-in customers who placed the order."
3701
+ visibility-pod_photo: "Delivery photo"
3702
+ visibility-pod_photo-help: "The photo taken as proof of delivery."
3703
+ visibility-pod_signature: "Signature"
3704
+ visibility-pod_signature-help: "The signature captured as proof of delivery."
3705
+ visibility-instructions_edit: "Let customers add delivery instructions"
3706
+ visibility-instructions_edit-help: "For example a gate code or where to leave the parcel."
3707
+ visibility-report_problem: "Report a problem"
3708
+ visibility-report_problem-help: "Lets customers send you a message about their delivery."
3709
+ driver-contact: "Calls and messages go to"
3710
+ driver-contact-help: "Who customers reach from the driver card."
3711
+ driver-contact-company: "Your support team"
3712
+ driver-contact-driver: "The driver directly"
3713
+ privacy-rules: "Always applied: customers only ever see their own stops and items, the map and driver are hidden after delivery, and the driver's location is shown only while they are on the way."
3714
+ preview: "Preview"
3715
+ preview-help: "A sample in light and dark mode. Save to apply the changes."
3716
+ preview-chip: "Verified on this device"
3717
+ preview-headline: "Arriving today"
3718
+ preview-sub: "2:10 to 2:40 pm"
3719
+ preview-button: "Verify it's you"
3720
+ preview-powered-by: "Powered by Fleetbase"
3721
+ page:
3722
+ track-another: "Track another"
3723
+ unavailable-title: "Tracking isn't available here"
3724
+ unavailable-help: "This tracking page isn't switched on. Use the link in your delivery email, or contact the company that sent your order."
3725
+ lookup-title: "Track your delivery"
3726
+ lookup-sub: "See where your parcel is and when it will arrive."
3727
+ tracking-number: "Tracking number"
3728
+ tracking-number-placeholder: "e.g. NOR4829301736US"
3729
+ tracking-number-help: "Find it in your confirmation email or on the parcel label."
3730
+ lookup-neutral: "We can't show tracking for that number. Check it matches your email or parcel label and try again."
3731
+ lookup-rate: "That's a few tries in a row. Take a short break and try again in a few minutes."
3732
+ looking-up: "Looking it up..."
3733
+ track: "Track"
3734
+ or: "or"
3735
+ your-orders: "Your orders"
3736
+ sign-in: "Sign in to see all your orders"
3737
+ sign-in-account: "Sign in to your account"
3738
+ back: "Back"
3739
+ help: "Need help?"
3740
+ language: "Language"
3741
+ powered-by: "Powered by Fleetbase"
3742
+ dismiss: "Dismiss"
3743
+ chip-limited: "Limited view · Verify to see details"
3744
+ chip-verified: "Verified on this device"
3745
+ chip-account: "Signed in"
3746
+ chip-staff: "Staff preview: what this customer sees"
3747
+ status: "Status"
3748
+ verify-to-see: "Verify to see your delivery"
3749
+ last-update: "Last update: {date}"
3750
+ copy: "Copy"
3751
+ verify-title: "See your full delivery details"
3752
+ verify-help: "For your privacy, the map, arrival time and delivery details unlock after a quick check. We'll send a 6-digit code to the phone or email on this order."
3753
+ verify-button: "Verify it's you"
3754
+ verify-unlock: "Verify to unlock"
3755
+ locked-map: "Live map"
3756
+ locked-arrival: "Arrival time and driver"
3757
+ locked-details: "Updates, items and proof of delivery"
3758
+ stage-preparing: "Being prepared"
3759
+ stage-scheduled: "Scheduled"
3760
+ stage-dispatched: "Driver assigned"
3761
+ stage-in_transit: "In transit"
3762
+ stage-delivered: "Delivered"
3763
+ stage-issue: "Needs attention"
3764
+ stage-canceled: "Canceled"
3765
+ stage-toast-preparing: "Your order is being prepared"
3766
+ stage-toast-scheduled: "Your delivery is scheduled"
3767
+ stage-toast-dispatched: "A driver has been assigned"
3768
+ stage-toast-in_transit: "Your order is on its way"
3769
+ stage-toast-delivered: "Your order has been delivered"
3770
+ stage-toast-issue: "There's an update on your delivery"
3771
+ stage-toast-canceled: "Your order was canceled"
3772
+ verify-title-short: "Verify it's you"
3773
+ verify-choose-help: "To protect your delivery details, we'll send a 6-digit code to the contact details on this order."
3774
+ send-by: "Send the code by"
3775
+ channel-sms: "Text message"
3776
+ channel-email: "Email"
3777
+ send-failed: "We couldn't send a code just now. Please try again."
3778
+ sending: "Sending code..."
3779
+ send-code: "Send code"
3780
+ masked-note: "We only ever show part of your number or email here."
3781
+ no-contact-title: "We can't verify you here"
3782
+ no-contact-help: "This order has no phone number or email we can send a code to. {name} can help you with your delivery."
3783
+ call: "Call {phone}"
3784
+ renew-title: "Get a new code"
3785
+ renew-expired: "That code has expired. Codes last 10 minutes."
3786
+ renew-unlocked: "You can try again now. We'll send a new code; the old one no longer works."
3787
+ renew-limited: "You've asked for several codes. Please wait a few minutes before requesting another."
3788
+ renew-failed: "Something went wrong. Request a new code to try again."
3789
+ send-new-code: "Send a new code"
3790
+ verified-title: "You're verified"
3791
+ locked-title: "Codes paused"
3792
+ enter-code: "Enter your code"
3793
+ code-sent-sms: "We texted a 6-digit code to {masked}."
3794
+ code-sent-email: "We emailed a 6-digit code to {masked}."
3795
+ code-label: "6-digit code"
3796
+ code-expires: "The code expires in 10 minutes."
3797
+ code-wrong: "That code didn't match. {count, plural, one {# attempt} other {# attempts}} left."
3798
+ code-locked: "Too many attempts. For your security, codes are paused. Try again in {time}."
3799
+ code-success: "Verified. Opening your delivery..."
3800
+ resend-in: "Resend code in {time}"
3801
+ resend: "Resend code"
3802
+ switch-to-sms: "Send by text instead"
3803
+ switch-to-email: "Send by email instead"
3804
+ stay-verified: "Once verified, this device stays verified for {hours} hours. You can sign out at any time."
3805
+ verified-toast: "You're verified"
3806
+ verified-toast-help: "This device stays verified for this delivery."
3807
+ signed-out-toast: "Signed out on this device"
3808
+ instructions-saved: "Delivery instructions saved"
3809
+ action-failed: "That didn't work. Please try again."
3810
+ report-sent: "Message sent"
3811
+ report-sent-help: "{name} will get back to you."
3812
+ share-copied: "Link copied"
3813
+ share-copied-help: "Anyone you share it with sees a limited view until they verify themselves."
3814
+ your-stop: "Stop {number}"
3815
+ your-stops: "Your stops"
3816
+ sign-out: "Not you? Sign out"
3817
+ live: "Live"
3818
+ reconnecting: "Reconnecting... live updates paused"
3819
+ timezone: "Times in your time zone ({zone})"
3820
+ progress: "Delivery progress"
3821
+ step-created: "Created"
3822
+ step-dispatched: "Dispatched"
3823
+ step-started: "Picked up"
3824
+ step-enroute: "En route"
3825
+ step-delivered: "Delivered"
3826
+ step-issue: "Attempt missed"
3827
+ step-canceled: "Canceled"
3828
+ headline-preparing: "Getting your order ready"
3829
+ headline-scheduled: "Scheduled for {date}"
3830
+ headline-dispatched: "A driver has been assigned"
3831
+ headline-delayed: "Running a little late"
3832
+ headline-arriving: "Arriving {day}"
3833
+ headline-in-transit: "On its way"
3834
+ headline-delivered: "Delivered"
3835
+ headline-issue: "There's a problem with your delivery"
3836
+ headline-canceled: "This order was canceled"
3837
+ sub-arriving: "{window} · in about {minutes} min"
3838
+ sub-window: "Delivery window {window}"
3839
+ sub-delivered: "{when}"
3840
+ sub-dispatched: "Live tracking starts as soon as they're on the way."
3841
+ sub-preparing: "We'll let you know when it's on its way."
3842
+ delayed-title: "Running late."
3843
+ delayed-help: "We'll keep your arrival time up to date."
3844
+ stop-of: "Your delivery is stop {position} of {total}"
3845
+ stops-private: "{count, plural, =0 {You're next.} one {# stop to go before yours.} other {# stops to go before yours.}} Other stops stay private, so you only see your own."
3846
+ map: "Map"
3847
+ map-label: "Map of your delivery: the van on its way to your address."
3848
+ map-pickup: "Pickup area"
3849
+ map-driver: "Driver"
3850
+ map-pickup-named: "Pickup · {name}"
3851
+ map-fullscreen: "Full screen map"
3852
+ map-exit-fullscreen: "Exit full screen"
3853
+ stop-card-title: "Delivering to"
3854
+ stop-upcoming: "Upcoming"
3855
+ stop-complete: "Delivered"
3856
+ map-hidden: "The map is hidden now your order is delivered. We stop sharing the driver's location at your door."
3857
+ last-seen: "Last seen {minutes} min ago"
3858
+ recenter: "Center the map on the van"
3859
+ fit-route: "Show the whole route"
3860
+ eta: "Estimated arrival"
3861
+ in-minutes: "in about {minutes} min"
3862
+ window: "Delivery window"
3863
+ before-yours: "Before yours"
3864
+ stops-count: "{count, plural, =0 {None} one {# stop} other {# stops}}"
3865
+ estimate-may-change: "Estimate may change"
3866
+ driver: "Your driver"
3867
+ online: "Online"
3868
+ location-paused: "Location paused"
3869
+ call-short: "Call"
3870
+ message: "Message"
3871
+ contact-note: "Calls and messages go to the {name} support team."
3872
+ proof: "Proof of delivery"
3873
+ open-photo: "Open the delivery photo"
3874
+ open-signature: "Open the signature"
3875
+ open-scan: "Open the scan"
3876
+ proof-photo: "Delivery photo"
3877
+ proof-signature: "Signature"
3878
+ proof-scan: "Scanned at the door"
3879
+ instructions: "Delivery instructions"
3880
+ edit: "Edit"
3881
+ instructions-help: "Gate codes, where to leave it, or who can sign"
3882
+ cancel: "Cancel"
3883
+ save: "Save"
3884
+ no-instructions: "No instructions yet."
3885
+ updates: "Updates"
3886
+ no-updates: "No updates yet."
3887
+ show-fewer: "Show fewer updates"
3888
+ show-earlier: "Show earlier updates ({count})"
3889
+ today: "Today"
3890
+ yesterday: "Yesterday"
3891
+ items: "In this delivery"
3892
+ item: "Item"
3893
+ quantity: "Qty {count}"
3894
+ share: "Share tracking"
3895
+ report: "Report a problem"
3896
+ contact: "Contact {name}"
3897
+ report-label: "What's wrong with your delivery?"
3898
+ send: "Send"
3899
+ close: "Close"
3900
+ no-orders: "No orders yet"
3901
+ no-orders-help: "Deliveries for your account will show up here."
@@ -2226,3 +2226,277 @@ trailer:
2226
2226
  dolly: Dolly
2227
2227
  specialty: Especializado
2228
2228
  other: Otro
2229
+ tracking-page:
2230
+ settings:
2231
+ title: "Página de seguimiento"
2232
+ menu: "Página de seguimiento"
2233
+ saved: "Se guardó la configuración de la página de seguimiento."
2234
+ load-failed: "No pudimos cargar la configuración de la página de seguimiento."
2235
+ load-failed-help: "Recarga la página para intentarlo de nuevo. Si sigue pasando, verifica que tengas permiso para ver esta configuración."
2236
+ pages: "Páginas"
2237
+ org-page-enabled: "Tu propia página de seguimiento"
2238
+ org-page-enabled-help: "Una página de seguimiento con tu marca y su propia dirección. Solo encuentra los números de seguimiento de tu organización."
2239
+ slug: "Dirección de la página"
2240
+ slug-checking: "Verificando la dirección..."
2241
+ open-page: "Abrir la página"
2242
+ generic-page-allowed: "Permitir el seguimiento en la página compartida"
2243
+ generic-page-allowed-help: "Permite que los clientes consulten tus números de seguimiento en {url}. Desactívalo para que el seguimiento esté solo en tu propia página."
2244
+ links-target: "Enlaces en correos y etiquetas"
2245
+ links-target-help: "A qué página llevan a los clientes tus notificaciones y etiquetas."
2246
+ links-target-auto: "Tu página cuando esté activada; si no, la página compartida"
2247
+ links-target-org: "Siempre tu página"
2248
+ links-target-generic: "Siempre la página compartida"
2249
+ branding: "Marca"
2250
+ display-name: "Nombre visible"
2251
+ logo-help: "La página usa el logo de tu organización. Si no tienes uno, muestra un monograma del nombre visible."
2252
+ accent: "Color de acento"
2253
+ accent-hex: "Color de acento en hexadecimal"
2254
+ placeholder-slug: "tu-empresa"
2255
+ placeholder-phone: "+1 555 010 0100"
2256
+ placeholder-email: "support@example.com"
2257
+ placeholder-website: "https://example.com"
2258
+ placeholder-select: "Selecciona una opción"
2259
+ contrast-ok: "El texto sobre este color se lee bien ({ratio}:1)."
2260
+ contrast-low: "El texto sobre este color es difícil de leer ({ratio}:1). Elige un color más oscuro o más claro."
2261
+ accent-help: "Se usa en botones, barras de progreso y elementos destacados. El color del texto se elige automáticamente."
2262
+ accent-dark: "Color de acento en modo oscuro"
2263
+ accent-dark-auto: "Automático"
2264
+ support-phone: "Teléfono de soporte"
2265
+ support-email: "Correo de soporte"
2266
+ website: "Sitio web"
2267
+ support-help: "Déjalos vacíos para usar los datos de tu organización. Aquí llegan las llamadas y los mensajes de los clientes."
2268
+ powered-by: "Mostrar \"Con tecnología de Fleetbase\""
2269
+ powered-by-help: "Una línea pequeña en el pie de la página."
2270
+ theme: "Claro y oscuro"
2271
+ theme-system: "Según el dispositivo del cliente"
2272
+ theme-light: "Siempre claro"
2273
+ default-language: "Idioma predeterminado"
2274
+ languages: "Idiomas que pueden elegir los clientes"
2275
+ access: "Acceso"
2276
+ public-status: "Mostrar el estado sin verificación"
2277
+ public-status-help: "Con solo el número de seguimiento, los clientes ven la etapa de la entrega y la fecha de la última actualización. Desactívalo para no mostrar nada hasta que se verifiquen."
2278
+ channel-sms: "Verificar por mensaje de texto"
2279
+ channel-sms-help: "Envía un código de 6 dígitos al teléfono del pedido."
2280
+ channel-sms-unavailable: "Esta instancia no tiene un proveedor de SMS configurado, así que no se pueden enviar códigos por mensaje de texto."
2281
+ channel-email: "Verificar por correo"
2282
+ channel-email-help: "Envía un código de 6 dígitos al correo electrónico del pedido."
2283
+ session-hours: "Mantener la verificación durante (horas)"
2284
+ session-hours-help: "Cuánto tiempo sigue verificado un dispositivo después de ingresar un código correcto. Entre 1 y 168 horas."
2285
+ account-sign-in: "Permitir que los clientes inicien sesión"
2286
+ account-sign-in-help: "Los clientes con cuenta en el portal de clientes pueden iniciar sesión para ver todos sus pedidos sin código."
2287
+ account-upsell: "Sugerir crear una cuenta"
2288
+ account-upsell-help: "Después de la entrega, se invita a los clientes verificados sin cuenta a crear una."
2289
+ customer-portal-missing: "Instala la extensión Customer Portal para que los clientes puedan iniciar sesión y ver todos sus pedidos."
2290
+ code-rules: "Los códigos tienen 6 dígitos y vencen a los 10 minutos. Tras 3 códigos incorrectos, se pausan durante 5 minutos."
2291
+ visibility: "Qué ven los clientes verificados"
2292
+ visibility-map: "Mapa en vivo"
2293
+ visibility-map-help: "La ruta y la posición del vehículo mientras va hacia el cliente."
2294
+ visibility-driver_name: "Nombre del conductor"
2295
+ visibility-driver_name-help: "Solo el nombre, nunca el apellido ni el número de teléfono."
2296
+ visibility-vehicle: "Descripción del vehículo"
2297
+ visibility-vehicle-help: "Por ejemplo, \"Ford Transit blanca\"."
2298
+ visibility-items: "Artículos de la entrega"
2299
+ visibility-items-help: "Nombres, descripciones, cantidades y fotos."
2300
+ visibility-item_prices: "Precios de los artículos"
2301
+ visibility-item_prices-help: "Solo se muestran a los clientes con sesión iniciada que hicieron el pedido."
2302
+ visibility-pod_photo: "Foto de entrega"
2303
+ visibility-pod_photo-help: "La foto tomada como prueba de entrega."
2304
+ visibility-pod_signature: "Firma"
2305
+ visibility-pod_signature-help: "La firma registrada como prueba de entrega."
2306
+ visibility-instructions_edit: "Permitir que los clientes agreguen instrucciones de entrega"
2307
+ visibility-instructions_edit-help: "Por ejemplo, el código del portón o dónde dejar el paquete."
2308
+ visibility-report_problem: "Reportar un problema"
2309
+ visibility-report_problem-help: "Permite que los clientes te envíen un mensaje sobre su entrega."
2310
+ driver-contact: "Las llamadas y los mensajes van a"
2311
+ driver-contact-help: "A quién contactan los clientes desde la tarjeta del conductor."
2312
+ driver-contact-company: "Tu equipo de soporte"
2313
+ driver-contact-driver: "Directamente al conductor"
2314
+ privacy-rules: "Siempre se aplica: los clientes solo ven sus propias paradas y artículos, el mapa y el conductor se ocultan después de la entrega, y la ubicación del conductor solo se muestra mientras va en camino."
2315
+ preview: "Vista previa"
2316
+ preview-help: "Un ejemplo en modo claro y oscuro. Guarda para aplicar los cambios."
2317
+ preview-chip: "Verificado en este dispositivo"
2318
+ preview-headline: "Llega hoy"
2319
+ preview-sub: "De 2:10 a 2:40 p. m."
2320
+ preview-button: "Verifica tu identidad"
2321
+ preview-powered-by: "Con tecnología de Fleetbase"
2322
+ page:
2323
+ track-another: "Rastrear otro envío"
2324
+ unavailable-title: "El seguimiento no está disponible aquí"
2325
+ unavailable-help: "Esta página de seguimiento no está activada. Usa el enlace del correo de tu entrega o contacta a la empresa que envió tu pedido."
2326
+ lookup-title: "Rastrea tu entrega"
2327
+ lookup-sub: "Mira dónde está tu paquete y cuándo llegará."
2328
+ tracking-number: "Número de seguimiento"
2329
+ tracking-number-placeholder: "p. ej. NOR4829301736US"
2330
+ tracking-number-help: "Lo encuentras en tu correo de confirmación o en la etiqueta del paquete."
2331
+ lookup-neutral: "No podemos mostrar el seguimiento de ese número. Verifica que coincida con tu correo o la etiqueta del paquete e inténtalo de nuevo."
2332
+ lookup-rate: "Ya van varios intentos seguidos. Tómate un breve descanso e inténtalo de nuevo en unos minutos."
2333
+ looking-up: "Buscando..."
2334
+ track: "Rastrear"
2335
+ or: "o"
2336
+ your-orders: "Tus pedidos"
2337
+ sign-in: "Inicia sesión para ver todos tus pedidos"
2338
+ sign-in-account: "Inicia sesión en tu cuenta"
2339
+ back: "Volver"
2340
+ help: "¿Necesitas ayuda?"
2341
+ language: "Idioma"
2342
+ powered-by: "Con tecnología de Fleetbase"
2343
+ dismiss: "Cerrar"
2344
+ chip-limited: "Vista limitada · Verifícate para ver los detalles"
2345
+ chip-verified: "Verificado en este dispositivo"
2346
+ chip-account: "Sesión iniciada"
2347
+ chip-staff: "Vista previa del personal: lo que ve este cliente"
2348
+ status: "Estado"
2349
+ verify-to-see: "Verifícate para ver tu entrega"
2350
+ last-update: "Última actualización: {date}"
2351
+ copy: "Copiar"
2352
+ verify-title: "Mira todos los detalles de tu entrega"
2353
+ verify-help: "Por tu privacidad, el mapa, la hora de llegada y los detalles de la entrega se desbloquean tras una verificación rápida. Te enviaremos un código de 6 dígitos al teléfono o correo de este pedido."
2354
+ verify-button: "Verifica tu identidad"
2355
+ verify-unlock: "Verifícate para desbloquear"
2356
+ locked-map: "Mapa en vivo"
2357
+ locked-arrival: "Hora de llegada y conductor"
2358
+ locked-details: "Actualizaciones, artículos y prueba de entrega"
2359
+ stage-preparing: "En preparación"
2360
+ stage-scheduled: "Programado"
2361
+ stage-dispatched: "Conductor asignado"
2362
+ stage-in_transit: "En tránsito"
2363
+ stage-delivered: "Entregado"
2364
+ stage-issue: "Requiere atención"
2365
+ stage-canceled: "Cancelado"
2366
+ stage-toast-preparing: "Tu pedido se está preparando"
2367
+ stage-toast-scheduled: "Tu entrega está programada"
2368
+ stage-toast-dispatched: "Se asignó un conductor"
2369
+ stage-toast-in_transit: "Tu pedido va en camino"
2370
+ stage-toast-delivered: "Tu pedido fue entregado"
2371
+ stage-toast-issue: "Hay una novedad sobre tu entrega"
2372
+ stage-toast-canceled: "Tu pedido fue cancelado"
2373
+ verify-title-short: "Verifica tu identidad"
2374
+ verify-choose-help: "Para proteger los detalles de tu entrega, te enviaremos un código de 6 dígitos a los datos de contacto de este pedido."
2375
+ send-by: "Enviar el código por"
2376
+ channel-sms: "Mensaje de texto"
2377
+ channel-email: "Correo electrónico"
2378
+ send-failed: "No pudimos enviar un código en este momento. Inténtalo de nuevo."
2379
+ sending: "Enviando código..."
2380
+ send-code: "Enviar código"
2381
+ masked-note: "Aquí solo mostramos parte de tu número o correo."
2382
+ no-contact-title: "No podemos verificarte aquí"
2383
+ no-contact-help: "Este pedido no tiene un teléfono ni un correo al que podamos enviar un código. {name} puede ayudarte con tu entrega."
2384
+ call: "Llamar al {phone}"
2385
+ renew-title: "Obtén un código nuevo"
2386
+ renew-expired: "Ese código venció. Los códigos duran 10 minutos."
2387
+ renew-unlocked: "Ya puedes intentarlo de nuevo. Te enviaremos un código nuevo; el anterior ya no funciona."
2388
+ renew-limited: "Ya pediste varios códigos. Espera unos minutos antes de pedir otro."
2389
+ renew-failed: "Algo salió mal. Pide un código nuevo para intentarlo de nuevo."
2390
+ send-new-code: "Enviar un código nuevo"
2391
+ verified-title: "Ya estás verificado"
2392
+ locked-title: "Códigos en pausa"
2393
+ enter-code: "Ingresa tu código"
2394
+ code-sent-sms: "Te enviamos un código de 6 dígitos por SMS al {masked}."
2395
+ code-sent-email: "Te enviamos un código de 6 dígitos a {masked}."
2396
+ code-label: "Código de 6 dígitos"
2397
+ code-expires: "El código vence en 10 minutos."
2398
+ code-wrong: "Ese código no coincide. {count, plural, one {Te queda # intento.} other {Te quedan # intentos.}}"
2399
+ code-locked: "Demasiados intentos. Por tu seguridad, los códigos están en pausa. Inténtalo de nuevo en {time}."
2400
+ code-success: "Verificado. Abriendo tu entrega..."
2401
+ resend-in: "Reenviar código en {time}"
2402
+ resend: "Reenviar código"
2403
+ switch-to-sms: "Enviar por mensaje de texto"
2404
+ switch-to-email: "Enviar por correo"
2405
+ stay-verified: "Una vez verificado, este dispositivo seguirá verificado durante {hours} horas. Puedes cerrar sesión cuando quieras."
2406
+ verified-toast: "Ya estás verificado"
2407
+ verified-toast-help: "Este dispositivo seguirá verificado para esta entrega."
2408
+ signed-out-toast: "Sesión cerrada en este dispositivo"
2409
+ instructions-saved: "Instrucciones de entrega guardadas"
2410
+ action-failed: "No funcionó. Inténtalo de nuevo."
2411
+ report-sent: "Mensaje enviado"
2412
+ report-sent-help: "{name} te responderá."
2413
+ share-copied: "Enlace copiado"
2414
+ share-copied-help: "Quien lo reciba verá una vista limitada hasta que se verifique."
2415
+ your-stop: "Parada {number}"
2416
+ your-stops: "Tus paradas"
2417
+ sign-out: "¿No eres tú? Cierra sesión"
2418
+ live: "En vivo"
2419
+ reconnecting: "Reconectando... actualizaciones en vivo en pausa"
2420
+ timezone: "Horas en tu zona horaria ({zone})"
2421
+ progress: "Progreso de la entrega"
2422
+ step-created: "Creado"
2423
+ step-dispatched: "Despachado"
2424
+ step-started: "Recogido"
2425
+ step-enroute: "En camino"
2426
+ step-delivered: "Entregado"
2427
+ step-issue: "Intento fallido"
2428
+ step-canceled: "Cancelado"
2429
+ headline-preparing: "Estamos preparando tu pedido"
2430
+ headline-scheduled: "Programado para {date}"
2431
+ headline-dispatched: "Se asignó un conductor"
2432
+ headline-delayed: "Va un poco tarde"
2433
+ headline-arriving: "Llega {day}"
2434
+ headline-in-transit: "En camino"
2435
+ headline-delivered: "Entregado"
2436
+ headline-issue: "Hay un problema con tu entrega"
2437
+ headline-canceled: "Este pedido fue cancelado"
2438
+ sub-arriving: "{window} · en unos {minutes} min"
2439
+ sub-window: "Franja de entrega: {window}"
2440
+ sub-delivered: "{when}"
2441
+ sub-dispatched: "El seguimiento en vivo comienza en cuanto el conductor esté en camino."
2442
+ sub-preparing: "Te avisaremos cuando vaya en camino."
2443
+ delayed-title: "Va con retraso."
2444
+ delayed-help: "Mantendremos actualizada tu hora de llegada."
2445
+ stop-of: "Tu entrega es la parada {position} de {total}"
2446
+ stops-private: "{count, plural, =0 {Eres el siguiente.} one {Falta # parada antes de la tuya.} other {Faltan # paradas antes de la tuya.}} Las demás paradas son privadas, así que solo ves la tuya."
2447
+ map: "Mapa"
2448
+ map-label: "Mapa de tu entrega: la camioneta va en camino a tu dirección."
2449
+ map-pickup: "Zona de recogida"
2450
+ map-driver: "Conductor"
2451
+ map-pickup-named: "Recogida · {name}"
2452
+ map-fullscreen: "Mapa en pantalla completa"
2453
+ map-exit-fullscreen: "Salir de pantalla completa"
2454
+ stop-card-title: "Entrega en"
2455
+ stop-upcoming: "Próxima"
2456
+ stop-complete: "Entregada"
2457
+ map-hidden: "El mapa ya no se muestra porque tu pedido fue entregado. Dejamos de compartir la ubicación del conductor al llegar a tu puerta."
2458
+ last-seen: "Visto hace {minutes} min"
2459
+ recenter: "Centrar el mapa en la camioneta"
2460
+ fit-route: "Ver toda la ruta"
2461
+ eta: "Llegada estimada"
2462
+ in-minutes: "en unos {minutes} min"
2463
+ window: "Franja de entrega"
2464
+ before-yours: "Antes de la tuya"
2465
+ stops-count: "{count, plural, =0 {Ninguna} one {# parada} other {# paradas}}"
2466
+ estimate-may-change: "La estimación puede cambiar"
2467
+ driver: "Tu conductor"
2468
+ online: "En línea"
2469
+ location-paused: "Ubicación en pausa"
2470
+ call-short: "Llamar"
2471
+ message: "Mensaje"
2472
+ contact-note: "Las llamadas y los mensajes van al equipo de soporte de {name}."
2473
+ proof: "Prueba de entrega"
2474
+ open-photo: "Abrir la foto de entrega"
2475
+ open-signature: "Abrir la firma"
2476
+ open-scan: "Abrir el escaneo"
2477
+ proof-photo: "Foto de entrega"
2478
+ proof-signature: "Firma"
2479
+ proof-scan: "Escaneado en la puerta"
2480
+ instructions: "Instrucciones de entrega"
2481
+ edit: "Editar"
2482
+ instructions-help: "Código del portón, dónde dejarlo o quién puede firmar"
2483
+ cancel: "Cancelar"
2484
+ save: "Guardar"
2485
+ no-instructions: "Aún no hay instrucciones."
2486
+ updates: "Actualizaciones"
2487
+ no-updates: "Aún no hay actualizaciones."
2488
+ show-fewer: "Mostrar menos actualizaciones"
2489
+ show-earlier: "Mostrar actualizaciones anteriores ({count})"
2490
+ today: "Hoy"
2491
+ yesterday: "Ayer"
2492
+ items: "En esta entrega"
2493
+ item: "Artículo"
2494
+ quantity: "Cant. {count}"
2495
+ share: "Compartir seguimiento"
2496
+ report: "Reportar un problema"
2497
+ contact: "Contactar a {name}"
2498
+ report-label: "¿Qué problema tiene tu entrega?"
2499
+ send: "Enviar"
2500
+ close: "Cerrar"
2501
+ no-orders: "Aún no hay pedidos"
2502
+ no-orders-help: "Aquí aparecerán las entregas de tu cuenta."