@open-mercato/core 0.6.8-develop.6998.1.d2bc46c56c → 0.6.8-develop.7001.1.03608ab252

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 (651) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/dist/generated/entities/warranty_claim/index.js +105 -0
  3. package/dist/generated/entities/warranty_claim/index.js.map +7 -0
  4. package/dist/generated/entities/warranty_claim_event/index.js +25 -0
  5. package/dist/generated/entities/warranty_claim_event/index.js.map +7 -0
  6. package/dist/generated/entities/warranty_claim_line/index.js +77 -0
  7. package/dist/generated/entities/warranty_claim_line/index.js.map +7 -0
  8. package/dist/generated/entities/warranty_claim_registration/index.js +43 -0
  9. package/dist/generated/entities/warranty_claim_registration/index.js.map +7 -0
  10. package/dist/generated/entities/warranty_claim_sequence/index.js +17 -0
  11. package/dist/generated/entities/warranty_claim_sequence/index.js.map +7 -0
  12. package/dist/generated/entities/warranty_claim_settings/index.js +43 -0
  13. package/dist/generated/entities/warranty_claim_settings/index.js.map +7 -0
  14. package/dist/generated/entities/warranty_claim_sla_signal/index.js +25 -0
  15. package/dist/generated/entities/warranty_claim_sla_signal/index.js.map +7 -0
  16. package/dist/generated/entities/warranty_troubleshooting_guide/index.js +25 -0
  17. package/dist/generated/entities/warranty_troubleshooting_guide/index.js.map +7 -0
  18. package/dist/generated/entities/warranty_vendor_policy/index.js +31 -0
  19. package/dist/generated/entities/warranty_vendor_policy/index.js.map +7 -0
  20. package/dist/generated/entities.ids.generated.js +12 -0
  21. package/dist/generated/entities.ids.generated.js.map +2 -2
  22. package/dist/generated/entity-fields-registry.js +200 -0
  23. package/dist/generated/entity-fields-registry.js.map +2 -2
  24. package/dist/helpers/integration/api.js +3 -2
  25. package/dist/helpers/integration/api.js.map +2 -2
  26. package/dist/helpers/integration/salesFixtures.js +13 -6
  27. package/dist/helpers/integration/salesFixtures.js.map +2 -2
  28. package/dist/modules/attachments/di.js +18 -0
  29. package/dist/modules/attachments/di.js.map +2 -2
  30. package/dist/modules/attachments/fields/attachment.js +186 -26
  31. package/dist/modules/attachments/fields/attachment.js.map +2 -2
  32. package/dist/modules/attachments/lib/scoped-upload-service.js +202 -0
  33. package/dist/modules/attachments/lib/scoped-upload-service.js.map +7 -0
  34. package/dist/modules/attachments/lib/target-access-service.js +39 -0
  35. package/dist/modules/attachments/lib/target-access-service.js.map +7 -0
  36. package/dist/modules/auth/api/logout.js +37 -10
  37. package/dist/modules/auth/api/logout.js.map +2 -2
  38. package/dist/modules/auth/api/reset/confirm.js +7 -0
  39. package/dist/modules/auth/api/reset/confirm.js.map +2 -2
  40. package/dist/modules/auth/api/reset.js +7 -0
  41. package/dist/modules/auth/api/reset.js.map +2 -2
  42. package/dist/modules/auth/commands/users.js +13 -0
  43. package/dist/modules/auth/commands/users.js.map +2 -2
  44. package/dist/modules/auth/events.js +15 -0
  45. package/dist/modules/auth/events.js.map +2 -2
  46. package/dist/modules/customers/api/companies/route.js +1 -0
  47. package/dist/modules/customers/api/companies/route.js.map +2 -2
  48. package/dist/modules/customers/backend/customers/companies-v2/[id]/page.js +2 -2
  49. package/dist/modules/customers/backend/customers/companies-v2/[id]/page.js.map +2 -2
  50. package/dist/modules/customers/backend/customers/people-v2/[id]/page.js +2 -2
  51. package/dist/modules/customers/backend/customers/people-v2/[id]/page.js.map +2 -2
  52. package/dist/modules/customers/components/detail/assignableStaff.js +6 -69
  53. package/dist/modules/customers/components/detail/assignableStaff.js.map +2 -2
  54. package/dist/modules/customers/lib/assignableStaff.js +76 -0
  55. package/dist/modules/customers/lib/assignableStaff.js.map +7 -0
  56. package/dist/modules/data_sync/lib/batch-stream.js +56 -0
  57. package/dist/modules/data_sync/lib/batch-stream.js.map +7 -0
  58. package/dist/modules/data_sync/lib/sync-engine.js +165 -103
  59. package/dist/modules/data_sync/lib/sync-engine.js.map +2 -2
  60. package/dist/modules/inbox_ops/api/emails/[id]/reprocess/route.js +4 -0
  61. package/dist/modules/inbox_ops/api/emails/[id]/reprocess/route.js.map +2 -2
  62. package/dist/modules/inbox_ops/api/extract/route.js +4 -0
  63. package/dist/modules/inbox_ops/api/extract/route.js.map +2 -2
  64. package/dist/modules/inbox_ops/api/webhook/inbound.js +4 -0
  65. package/dist/modules/inbox_ops/api/webhook/inbound.js.map +2 -2
  66. package/dist/modules/sales/commands/documents.js +8 -8
  67. package/dist/modules/sales/commands/documents.js.map +2 -2
  68. package/dist/modules/warranty_claims/acl.js +75 -0
  69. package/dist/modules/warranty_claims/acl.js.map +7 -0
  70. package/dist/modules/warranty_claims/ai-agents.js +161 -0
  71. package/dist/modules/warranty_claims/ai-agents.js.map +7 -0
  72. package/dist/modules/warranty_claims/ai-tools.js +591 -0
  73. package/dist/modules/warranty_claims/ai-tools.js.map +7 -0
  74. package/dist/modules/warranty_claims/api/ai/assess/route.js +304 -0
  75. package/dist/modules/warranty_claims/api/ai/assess/route.js.map +7 -0
  76. package/dist/modules/warranty_claims/api/ai/draft-reply/route.js +127 -0
  77. package/dist/modules/warranty_claims/api/ai/draft-reply/route.js.map +7 -0
  78. package/dist/modules/warranty_claims/api/ai/suggest/route.js +177 -0
  79. package/dist/modules/warranty_claims/api/ai/suggest/route.js.map +7 -0
  80. package/dist/modules/warranty_claims/api/assign/route.js +124 -0
  81. package/dist/modules/warranty_claims/api/assign/route.js.map +7 -0
  82. package/dist/modules/warranty_claims/api/assignees/route.js +97 -0
  83. package/dist/modules/warranty_claims/api/assignees/route.js.map +7 -0
  84. package/dist/modules/warranty_claims/api/credit-memo/route.js +152 -0
  85. package/dist/modules/warranty_claims/api/credit-memo/route.js.map +7 -0
  86. package/dist/modules/warranty_claims/api/entitlement/route.js +145 -0
  87. package/dist/modules/warranty_claims/api/entitlement/route.js.map +7 -0
  88. package/dist/modules/warranty_claims/api/events/route.js +199 -0
  89. package/dist/modules/warranty_claims/api/events/route.js.map +7 -0
  90. package/dist/modules/warranty_claims/api/external/claims/route.js +446 -0
  91. package/dist/modules/warranty_claims/api/external/claims/route.js.map +7 -0
  92. package/dist/modules/warranty_claims/api/lines/route.js +258 -0
  93. package/dist/modules/warranty_claims/api/lines/route.js.map +7 -0
  94. package/dist/modules/warranty_claims/api/openapi.js +27 -0
  95. package/dist/modules/warranty_claims/api/openapi.js.map +7 -0
  96. package/dist/modules/warranty_claims/api/portal/attachments/route.js +490 -0
  97. package/dist/modules/warranty_claims/api/portal/attachments/route.js.map +7 -0
  98. package/dist/modules/warranty_claims/api/portal/claims/[id]/route.js +178 -0
  99. package/dist/modules/warranty_claims/api/portal/claims/[id]/route.js.map +7 -0
  100. package/dist/modules/warranty_claims/api/portal/claims/[id]/shared.js +101 -0
  101. package/dist/modules/warranty_claims/api/portal/claims/[id]/shared.js.map +7 -0
  102. package/dist/modules/warranty_claims/api/portal/claims/[id]/submit/route.js +78 -0
  103. package/dist/modules/warranty_claims/api/portal/claims/[id]/submit/route.js.map +7 -0
  104. package/dist/modules/warranty_claims/api/portal/claims/[id]/withdraw/route.js +81 -0
  105. package/dist/modules/warranty_claims/api/portal/claims/[id]/withdraw/route.js.map +7 -0
  106. package/dist/modules/warranty_claims/api/portal/claims/route.js +462 -0
  107. package/dist/modules/warranty_claims/api/portal/claims/route.js.map +7 -0
  108. package/dist/modules/warranty_claims/api/portal/events/route.js +228 -0
  109. package/dist/modules/warranty_claims/api/portal/events/route.js.map +7 -0
  110. package/dist/modules/warranty_claims/api/portal/options/route.js +91 -0
  111. package/dist/modules/warranty_claims/api/portal/options/route.js.map +7 -0
  112. package/dist/modules/warranty_claims/api/portal/orders/lines/route.js +172 -0
  113. package/dist/modules/warranty_claims/api/portal/orders/lines/route.js.map +7 -0
  114. package/dist/modules/warranty_claims/api/portal/orders/route.js +151 -0
  115. package/dist/modules/warranty_claims/api/portal/orders/route.js.map +7 -0
  116. package/dist/modules/warranty_claims/api/portal/troubleshooting/route.js +121 -0
  117. package/dist/modules/warranty_claims/api/portal/troubleshooting/route.js.map +7 -0
  118. package/dist/modules/warranty_claims/api/receiving/route.js +176 -0
  119. package/dist/modules/warranty_claims/api/receiving/route.js.map +7 -0
  120. package/dist/modules/warranty_claims/api/registrations/route.js +382 -0
  121. package/dist/modules/warranty_claims/api/registrations/route.js.map +7 -0
  122. package/dist/modules/warranty_claims/api/replacement-order/route.js +150 -0
  123. package/dist/modules/warranty_claims/api/replacement-order/route.js.map +7 -0
  124. package/dist/modules/warranty_claims/api/return-label/route.js +235 -0
  125. package/dist/modules/warranty_claims/api/return-label/route.js.map +7 -0
  126. package/dist/modules/warranty_claims/api/risk/route.js +101 -0
  127. package/dist/modules/warranty_claims/api/risk/route.js.map +7 -0
  128. package/dist/modules/warranty_claims/api/route.js +482 -0
  129. package/dist/modules/warranty_claims/api/route.js.map +7 -0
  130. package/dist/modules/warranty_claims/api/sales-return/route.js +151 -0
  131. package/dist/modules/warranty_claims/api/sales-return/route.js.map +7 -0
  132. package/dist/modules/warranty_claims/api/settings-general/route.js +195 -0
  133. package/dist/modules/warranty_claims/api/settings-general/route.js.map +7 -0
  134. package/dist/modules/warranty_claims/api/stats/route.js +199 -0
  135. package/dist/modules/warranty_claims/api/stats/route.js.map +7 -0
  136. package/dist/modules/warranty_claims/api/submit/route.js +120 -0
  137. package/dist/modules/warranty_claims/api/submit/route.js.map +7 -0
  138. package/dist/modules/warranty_claims/api/transition/route.js +126 -0
  139. package/dist/modules/warranty_claims/api/transition/route.js.map +7 -0
  140. package/dist/modules/warranty_claims/api/troubleshooting-guides/route.js +261 -0
  141. package/dist/modules/warranty_claims/api/troubleshooting-guides/route.js.map +7 -0
  142. package/dist/modules/warranty_claims/api/vendor-policies/route.js +311 -0
  143. package/dist/modules/warranty_claims/api/vendor-policies/route.js.map +7 -0
  144. package/dist/modules/warranty_claims/api/vendor-recovery/route.js +130 -0
  145. package/dist/modules/warranty_claims/api/vendor-recovery/route.js.map +7 -0
  146. package/dist/modules/warranty_claims/api/vendor-recovery-suggestions/route.js +153 -0
  147. package/dist/modules/warranty_claims/api/vendor-recovery-suggestions/route.js.map +7 -0
  148. package/dist/modules/warranty_claims/backend/components/AiAssessButtons.js +268 -0
  149. package/dist/modules/warranty_claims/backend/components/AiAssessButtons.js.map +7 -0
  150. package/dist/modules/warranty_claims/backend/components/ClaimStageProgress.js +54 -0
  151. package/dist/modules/warranty_claims/backend/components/ClaimStageProgress.js.map +7 -0
  152. package/dist/modules/warranty_claims/backend/components/ClaimStatusBadge.js +87 -0
  153. package/dist/modules/warranty_claims/backend/components/ClaimStatusBadge.js.map +7 -0
  154. package/dist/modules/warranty_claims/backend/components/ClaimsKpiStrip.js +120 -0
  155. package/dist/modules/warranty_claims/backend/components/ClaimsKpiStrip.js.map +7 -0
  156. package/dist/modules/warranty_claims/backend/components/EntitlementLookupBadge.js +135 -0
  157. package/dist/modules/warranty_claims/backend/components/EntitlementLookupBadge.js.map +7 -0
  158. package/dist/modules/warranty_claims/backend/components/ReceivingPanel.js +218 -0
  159. package/dist/modules/warranty_claims/backend/components/ReceivingPanel.js.map +7 -0
  160. package/dist/modules/warranty_claims/backend/components/ReturnLabelPanel.js +231 -0
  161. package/dist/modules/warranty_claims/backend/components/ReturnLabelPanel.js.map +7 -0
  162. package/dist/modules/warranty_claims/backend/components/TroubleshootingWalker.js +82 -0
  163. package/dist/modules/warranty_claims/backend/components/TroubleshootingWalker.js.map +7 -0
  164. package/dist/modules/warranty_claims/backend/components/VendorRecoverySuggestionsPanel.js +136 -0
  165. package/dist/modules/warranty_claims/backend/components/VendorRecoverySuggestionsPanel.js.map +7 -0
  166. package/dist/modules/warranty_claims/backend/components/WarrantyWorkspace.js +41 -0
  167. package/dist/modules/warranty_claims/backend/components/WarrantyWorkspace.js.map +7 -0
  168. package/dist/modules/warranty_claims/backend/components/claimReasonOptions.js +45 -0
  169. package/dist/modules/warranty_claims/backend/components/claimReasonOptions.js.map +7 -0
  170. package/dist/modules/warranty_claims/backend/components/claimSla.js +92 -0
  171. package/dist/modules/warranty_claims/backend/components/claimSla.js.map +7 -0
  172. package/dist/modules/warranty_claims/backend/components/orderLookup.js +81 -0
  173. package/dist/modules/warranty_claims/backend/components/orderLookup.js.map +7 -0
  174. package/dist/modules/warranty_claims/backend/components/productLookup.js +317 -0
  175. package/dist/modules/warranty_claims/backend/components/productLookup.js.map +7 -0
  176. package/dist/modules/warranty_claims/backend/components/useUserDisplayNames.js +61 -0
  177. package/dist/modules/warranty_claims/backend/components/useUserDisplayNames.js.map +7 -0
  178. package/dist/modules/warranty_claims/backend/page.js +1088 -0
  179. package/dist/modules/warranty_claims/backend/page.js.map +7 -0
  180. package/dist/modules/warranty_claims/backend/page.meta.js +16 -0
  181. package/dist/modules/warranty_claims/backend/page.meta.js.map +7 -0
  182. package/dist/modules/warranty_claims/backend/warranty_claims/[id]/edit/page.js +427 -0
  183. package/dist/modules/warranty_claims/backend/warranty_claims/[id]/edit/page.js.map +7 -0
  184. package/dist/modules/warranty_claims/backend/warranty_claims/[id]/edit/page.meta.js +16 -0
  185. package/dist/modules/warranty_claims/backend/warranty_claims/[id]/edit/page.meta.js.map +7 -0
  186. package/dist/modules/warranty_claims/backend/warranty_claims/[id]/page.js +2101 -0
  187. package/dist/modules/warranty_claims/backend/warranty_claims/[id]/page.js.map +7 -0
  188. package/dist/modules/warranty_claims/backend/warranty_claims/[id]/page.meta.js +16 -0
  189. package/dist/modules/warranty_claims/backend/warranty_claims/[id]/page.meta.js.map +7 -0
  190. package/dist/modules/warranty_claims/backend/warranty_claims/create/page.js +1249 -0
  191. package/dist/modules/warranty_claims/backend/warranty_claims/create/page.js.map +7 -0
  192. package/dist/modules/warranty_claims/backend/warranty_claims/create/page.meta.js +16 -0
  193. package/dist/modules/warranty_claims/backend/warranty_claims/create/page.meta.js.map +7 -0
  194. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/[id]/edit/page.js +110 -0
  195. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/[id]/edit/page.js.map +7 -0
  196. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/[id]/edit/page.meta.js +17 -0
  197. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/[id]/edit/page.meta.js.map +7 -0
  198. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/create/page.js +49 -0
  199. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/create/page.js.map +7 -0
  200. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/create/page.meta.js +17 -0
  201. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/create/page.meta.js.map +7 -0
  202. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js +485 -0
  203. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js.map +7 -0
  204. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.meta.js +19 -0
  205. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.meta.js.map +7 -0
  206. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/registrationForm.js +253 -0
  207. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/registrationForm.js.map +7 -0
  208. package/dist/modules/warranty_claims/backend/warranty_claims/settings/page.js +1565 -0
  209. package/dist/modules/warranty_claims/backend/warranty_claims/settings/page.js.map +7 -0
  210. package/dist/modules/warranty_claims/backend/warranty_claims/settings/page.meta.js +19 -0
  211. package/dist/modules/warranty_claims/backend/warranty_claims/settings/page.meta.js.map +7 -0
  212. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/TroubleshootingTreeBuilder.js +472 -0
  213. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/TroubleshootingTreeBuilder.js.map +7 -0
  214. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/[id]/edit/page.js +115 -0
  215. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/[id]/edit/page.js.map +7 -0
  216. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/[id]/edit/page.meta.js +19 -0
  217. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/[id]/edit/page.meta.js.map +7 -0
  218. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/create/page.js +54 -0
  219. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/create/page.js.map +7 -0
  220. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/create/page.meta.js +19 -0
  221. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/create/page.meta.js.map +7 -0
  222. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js +414 -0
  223. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js.map +7 -0
  224. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.meta.js +21 -0
  225. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.meta.js.map +7 -0
  226. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/troubleshootingGuideForm.js +171 -0
  227. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/troubleshootingGuideForm.js.map +7 -0
  228. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/[id]/edit/page.js +111 -0
  229. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/[id]/edit/page.js.map +7 -0
  230. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/[id]/edit/page.meta.js +19 -0
  231. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/[id]/edit/page.meta.js.map +7 -0
  232. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/create/page.js +48 -0
  233. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/create/page.js.map +7 -0
  234. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/create/page.meta.js +19 -0
  235. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/create/page.meta.js.map +7 -0
  236. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js +429 -0
  237. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js.map +7 -0
  238. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.meta.js +21 -0
  239. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.meta.js.map +7 -0
  240. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/vendorPolicyForm.js +182 -0
  241. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/vendorPolicyForm.js.map +7 -0
  242. package/dist/modules/warranty_claims/ce.js +48 -0
  243. package/dist/modules/warranty_claims/ce.js.map +7 -0
  244. package/dist/modules/warranty_claims/commands/claim-lines.js +911 -0
  245. package/dist/modules/warranty_claims/commands/claim-lines.js.map +7 -0
  246. package/dist/modules/warranty_claims/commands/claims.js +2577 -0
  247. package/dist/modules/warranty_claims/commands/claims.js.map +7 -0
  248. package/dist/modules/warranty_claims/commands/index.js +4 -0
  249. package/dist/modules/warranty_claims/commands/index.js.map +7 -0
  250. package/dist/modules/warranty_claims/commands/settings.js +169 -0
  251. package/dist/modules/warranty_claims/commands/settings.js.map +7 -0
  252. package/dist/modules/warranty_claims/commands/shared.js +162 -0
  253. package/dist/modules/warranty_claims/commands/shared.js.map +7 -0
  254. package/dist/modules/warranty_claims/data/constants.js +35 -0
  255. package/dist/modules/warranty_claims/data/constants.js.map +7 -0
  256. package/dist/modules/warranty_claims/data/enrichers.js +97 -0
  257. package/dist/modules/warranty_claims/data/enrichers.js.map +7 -0
  258. package/dist/modules/warranty_claims/data/entities.js +731 -0
  259. package/dist/modules/warranty_claims/data/entities.js.map +7 -0
  260. package/dist/modules/warranty_claims/data/validators.js +488 -0
  261. package/dist/modules/warranty_claims/data/validators.js.map +7 -0
  262. package/dist/modules/warranty_claims/di.js +29 -0
  263. package/dist/modules/warranty_claims/di.js.map +7 -0
  264. package/dist/modules/warranty_claims/encryption.js +28 -0
  265. package/dist/modules/warranty_claims/encryption.js.map +7 -0
  266. package/dist/modules/warranty_claims/events.js +81 -0
  267. package/dist/modules/warranty_claims/events.js.map +7 -0
  268. package/dist/modules/warranty_claims/extension-points.js +19 -0
  269. package/dist/modules/warranty_claims/extension-points.js.map +7 -0
  270. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/[id]/page.js +825 -0
  271. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/[id]/page.js.map +7 -0
  272. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/[id]/page.meta.js +11 -0
  273. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/[id]/page.meta.js.map +7 -0
  274. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/new/page.js +1139 -0
  275. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/new/page.js.map +7 -0
  276. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/new/page.meta.js +11 -0
  277. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/new/page.meta.js.map +7 -0
  278. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js +253 -0
  279. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js.map +7 -0
  280. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.meta.js +18 -0
  281. package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.meta.js.map +7 -0
  282. package/dist/modules/warranty_claims/index.js +15 -0
  283. package/dist/modules/warranty_claims/index.js.map +7 -0
  284. package/dist/modules/warranty_claims/lib/aiAssist.js +496 -0
  285. package/dist/modules/warranty_claims/lib/aiAssist.js.map +7 -0
  286. package/dist/modules/warranty_claims/lib/apiIdsFilter.js +11 -0
  287. package/dist/modules/warranty_claims/lib/apiIdsFilter.js.map +7 -0
  288. package/dist/modules/warranty_claims/lib/assigneeNames.js +153 -0
  289. package/dist/modules/warranty_claims/lib/assigneeNames.js.map +7 -0
  290. package/dist/modules/warranty_claims/lib/attachmentVisibility.js +9 -0
  291. package/dist/modules/warranty_claims/lib/attachmentVisibility.js.map +7 -0
  292. package/dist/modules/warranty_claims/lib/bulkFeedback.js +8 -0
  293. package/dist/modules/warranty_claims/lib/bulkFeedback.js.map +7 -0
  294. package/dist/modules/warranty_claims/lib/businessHours.js +250 -0
  295. package/dist/modules/warranty_claims/lib/businessHours.js.map +7 -0
  296. package/dist/modules/warranty_claims/lib/businessHoursForm.js +146 -0
  297. package/dist/modules/warranty_claims/lib/businessHoursForm.js.map +7 -0
  298. package/dist/modules/warranty_claims/lib/claimTypeConfig.js +39 -0
  299. package/dist/modules/warranty_claims/lib/claimTypeConfig.js.map +7 -0
  300. package/dist/modules/warranty_claims/lib/decryptionSafety.js +17 -0
  301. package/dist/modules/warranty_claims/lib/decryptionSafety.js.map +7 -0
  302. package/dist/modules/warranty_claims/lib/deskFilters.js +88 -0
  303. package/dist/modules/warranty_claims/lib/deskFilters.js.map +7 -0
  304. package/dist/modules/warranty_claims/lib/dictionaries.js +157 -0
  305. package/dist/modules/warranty_claims/lib/dictionaries.js.map +7 -0
  306. package/dist/modules/warranty_claims/lib/dictionaryLabels.js +12 -0
  307. package/dist/modules/warranty_claims/lib/dictionaryLabels.js.map +7 -0
  308. package/dist/modules/warranty_claims/lib/emailIntake.js +87 -0
  309. package/dist/modules/warranty_claims/lib/emailIntake.js.map +7 -0
  310. package/dist/modules/warranty_claims/lib/escalation.js +58 -0
  311. package/dist/modules/warranty_claims/lib/escalation.js.map +7 -0
  312. package/dist/modules/warranty_claims/lib/externalIntake.js +233 -0
  313. package/dist/modules/warranty_claims/lib/externalIntake.js.map +7 -0
  314. package/dist/modules/warranty_claims/lib/grading.js +21 -0
  315. package/dist/modules/warranty_claims/lib/grading.js.map +7 -0
  316. package/dist/modules/warranty_claims/lib/listSegments.js +18 -0
  317. package/dist/modules/warranty_claims/lib/listSegments.js.map +7 -0
  318. package/dist/modules/warranty_claims/lib/orderOwnership.js +25 -0
  319. package/dist/modules/warranty_claims/lib/orderOwnership.js.map +7 -0
  320. package/dist/modules/warranty_claims/lib/portalAttachmentUpload.js +11 -0
  321. package/dist/modules/warranty_claims/lib/portalAttachmentUpload.js.map +7 -0
  322. package/dist/modules/warranty_claims/lib/portalAttachmentValidation.js +108 -0
  323. package/dist/modules/warranty_claims/lib/portalAttachmentValidation.js.map +7 -0
  324. package/dist/modules/warranty_claims/lib/portalClaimAccess.js +26 -0
  325. package/dist/modules/warranty_claims/lib/portalClaimAccess.js.map +7 -0
  326. package/dist/modules/warranty_claims/lib/quantity.js +19 -0
  327. package/dist/modules/warranty_claims/lib/quantity.js.map +7 -0
  328. package/dist/modules/warranty_claims/lib/risk.js +204 -0
  329. package/dist/modules/warranty_claims/lib/risk.js.map +7 -0
  330. package/dist/modules/warranty_claims/lib/settings.js +55 -0
  331. package/dist/modules/warranty_claims/lib/settings.js.map +7 -0
  332. package/dist/modules/warranty_claims/lib/stateMachine.js +88 -0
  333. package/dist/modules/warranty_claims/lib/stateMachine.js.map +7 -0
  334. package/dist/modules/warranty_claims/lib/timelineFilters.js +16 -0
  335. package/dist/modules/warranty_claims/lib/timelineFilters.js.map +7 -0
  336. package/dist/modules/warranty_claims/lib/triage.js +241 -0
  337. package/dist/modules/warranty_claims/lib/triage.js.map +7 -0
  338. package/dist/modules/warranty_claims/lib/troubleshooting.js +111 -0
  339. package/dist/modules/warranty_claims/lib/troubleshooting.js.map +7 -0
  340. package/dist/modules/warranty_claims/lib/tryResolve.js +11 -0
  341. package/dist/modules/warranty_claims/lib/tryResolve.js.map +7 -0
  342. package/dist/modules/warranty_claims/lib/vendorPolicyRecovery.js +101 -0
  343. package/dist/modules/warranty_claims/lib/vendorPolicyRecovery.js.map +7 -0
  344. package/dist/modules/warranty_claims/lib/warrantyPreview.js +18 -0
  345. package/dist/modules/warranty_claims/lib/warrantyPreview.js.map +7 -0
  346. package/dist/modules/warranty_claims/migrations/Migration20260703191537_warranty_claims.js +32 -0
  347. package/dist/modules/warranty_claims/migrations/Migration20260703191537_warranty_claims.js.map +7 -0
  348. package/dist/modules/warranty_claims/migrations/Migration20260704115605_warranty_claims.js +16 -0
  349. package/dist/modules/warranty_claims/migrations/Migration20260704115605_warranty_claims.js.map +7 -0
  350. package/dist/modules/warranty_claims/migrations/Migration20260704230000_warranty_claims.js +17 -0
  351. package/dist/modules/warranty_claims/migrations/Migration20260704230000_warranty_claims.js.map +7 -0
  352. package/dist/modules/warranty_claims/migrations/Migration20260705121601_warranty_claims.js +29 -0
  353. package/dist/modules/warranty_claims/migrations/Migration20260705121601_warranty_claims.js.map +7 -0
  354. package/dist/modules/warranty_claims/migrations/Migration20260709120000_warranty_claims.js +25 -0
  355. package/dist/modules/warranty_claims/migrations/Migration20260709120000_warranty_claims.js.map +7 -0
  356. package/dist/modules/warranty_claims/migrations/Migration20260710023607_warranty_claims.js +13 -0
  357. package/dist/modules/warranty_claims/migrations/Migration20260710023607_warranty_claims.js.map +7 -0
  358. package/dist/modules/warranty_claims/migrations/Migration20260716203936_warranty_claims.js +15 -0
  359. package/dist/modules/warranty_claims/migrations/Migration20260716203936_warranty_claims.js.map +7 -0
  360. package/dist/modules/warranty_claims/migrations/Migration20260717150000_warranty_claims.js +13 -0
  361. package/dist/modules/warranty_claims/migrations/Migration20260717150000_warranty_claims.js.map +7 -0
  362. package/dist/modules/warranty_claims/migrations/Migration20260719120000_warranty_claims.js +13 -0
  363. package/dist/modules/warranty_claims/migrations/Migration20260719120000_warranty_claims.js.map +7 -0
  364. package/dist/modules/warranty_claims/migrations/Migration20260813103053_warranty_claims.js +12 -0
  365. package/dist/modules/warranty_claims/migrations/Migration20260813103053_warranty_claims.js.map +7 -0
  366. package/dist/modules/warranty_claims/notifications.client.js +67 -0
  367. package/dist/modules/warranty_claims/notifications.client.js.map +7 -0
  368. package/dist/modules/warranty_claims/notifications.js +103 -0
  369. package/dist/modules/warranty_claims/notifications.js.map +7 -0
  370. package/dist/modules/warranty_claims/search.js +174 -0
  371. package/dist/modules/warranty_claims/search.js.map +7 -0
  372. package/dist/modules/warranty_claims/services/adjudicationEvaluator.js +202 -0
  373. package/dist/modules/warranty_claims/services/adjudicationEvaluator.js.map +7 -0
  374. package/dist/modules/warranty_claims/services/claimNumberGenerator.js +58 -0
  375. package/dist/modules/warranty_claims/services/claimNumberGenerator.js.map +7 -0
  376. package/dist/modules/warranty_claims/services/entitlementResolver.js +69 -0
  377. package/dist/modules/warranty_claims/services/entitlementResolver.js.map +7 -0
  378. package/dist/modules/warranty_claims/services/returnLabelProvider.js +14 -0
  379. package/dist/modules/warranty_claims/services/returnLabelProvider.js.map +7 -0
  380. package/dist/modules/warranty_claims/setup.js +121 -0
  381. package/dist/modules/warranty_claims/setup.js.map +7 -0
  382. package/dist/modules/warranty_claims/subscribers/auto-vendor-recovery.js +119 -0
  383. package/dist/modules/warranty_claims/subscribers/auto-vendor-recovery.js.map +7 -0
  384. package/dist/modules/warranty_claims/subscribers/claim-assigned-notification.js +47 -0
  385. package/dist/modules/warranty_claims/subscribers/claim-assigned-notification.js.map +7 -0
  386. package/dist/modules/warranty_claims/subscribers/claim-customer-reply-notification.js +60 -0
  387. package/dist/modules/warranty_claims/subscribers/claim-customer-reply-notification.js.map +7 -0
  388. package/dist/modules/warranty_claims/subscribers/claim-status-notification.js +83 -0
  389. package/dist/modules/warranty_claims/subscribers/claim-status-notification.js.map +7 -0
  390. package/dist/modules/warranty_claims/subscribers/claim-submitted-notification.js +46 -0
  391. package/dist/modules/warranty_claims/subscribers/claim-submitted-notification.js.map +7 -0
  392. package/dist/modules/warranty_claims/subscribers/email-to-claim.js +135 -0
  393. package/dist/modules/warranty_claims/subscribers/email-to-claim.js.map +7 -0
  394. package/dist/modules/warranty_claims/subscribers/return-shipment-tracking.js +164 -0
  395. package/dist/modules/warranty_claims/subscribers/return-shipment-tracking.js.map +7 -0
  396. package/dist/modules/warranty_claims/subscribers/vendor-recovery-reconciliation-undo.js +24 -0
  397. package/dist/modules/warranty_claims/subscribers/vendor-recovery-reconciliation-undo.js.map +7 -0
  398. package/dist/modules/warranty_claims/subscribers/vendor-recovery-reconciliation.js +26 -0
  399. package/dist/modules/warranty_claims/subscribers/vendor-recovery-reconciliation.js.map +7 -0
  400. package/dist/modules/warranty_claims/widgets/dashboard/claims-queue/config.js +15 -0
  401. package/dist/modules/warranty_claims/widgets/dashboard/claims-queue/config.js.map +7 -0
  402. package/dist/modules/warranty_claims/widgets/dashboard/claims-queue/widget.client.js +197 -0
  403. package/dist/modules/warranty_claims/widgets/dashboard/claims-queue/widget.client.js.map +7 -0
  404. package/dist/modules/warranty_claims/widgets/dashboard/claims-queue/widget.js +28 -0
  405. package/dist/modules/warranty_claims/widgets/dashboard/claims-queue/widget.js.map +7 -0
  406. package/dist/modules/warranty_claims/widgets/injection/claims-ai-trigger/widget.client.js +418 -0
  407. package/dist/modules/warranty_claims/widgets/injection/claims-ai-trigger/widget.client.js.map +7 -0
  408. package/dist/modules/warranty_claims/widgets/injection/claims-ai-trigger/widget.js +18 -0
  409. package/dist/modules/warranty_claims/widgets/injection/claims-ai-trigger/widget.js.map +7 -0
  410. package/dist/modules/warranty_claims/widgets/injection/customer-claims-tab/widget.js +17 -0
  411. package/dist/modules/warranty_claims/widgets/injection/customer-claims-tab/widget.js.map +7 -0
  412. package/dist/modules/warranty_claims/widgets/injection/customer-claims-tab.js +146 -0
  413. package/dist/modules/warranty_claims/widgets/injection/customer-claims-tab.js.map +7 -0
  414. package/dist/modules/warranty_claims/widgets/injection/order-claims-tab/widget.js +17 -0
  415. package/dist/modules/warranty_claims/widgets/injection/order-claims-tab/widget.js.map +7 -0
  416. package/dist/modules/warranty_claims/widgets/injection/order-claims-tab.js +147 -0
  417. package/dist/modules/warranty_claims/widgets/injection/order-claims-tab.js.map +7 -0
  418. package/dist/modules/warranty_claims/widgets/injection-table.js +38 -0
  419. package/dist/modules/warranty_claims/widgets/injection-table.js.map +7 -0
  420. package/dist/modules/warranty_claims/widgets/notifications/WarrantyClaimNotificationRenderer.js +223 -0
  421. package/dist/modules/warranty_claims/widgets/notifications/WarrantyClaimNotificationRenderer.js.map +7 -0
  422. package/dist/modules/warranty_claims/widgets/notifications/index.js +5 -0
  423. package/dist/modules/warranty_claims/widgets/notifications/index.js.map +7 -0
  424. package/dist/modules/warranty_claims/workers/sla-escalation-sweep.js +334 -0
  425. package/dist/modules/warranty_claims/workers/sla-escalation-sweep.js.map +7 -0
  426. package/generated/entities/warranty_claim/index.ts +51 -0
  427. package/generated/entities/warranty_claim_event/index.ts +11 -0
  428. package/generated/entities/warranty_claim_line/index.ts +37 -0
  429. package/generated/entities/warranty_claim_registration/index.ts +20 -0
  430. package/generated/entities/warranty_claim_sequence/index.ts +7 -0
  431. package/generated/entities/warranty_claim_settings/index.ts +20 -0
  432. package/generated/entities/warranty_claim_sla_signal/index.ts +11 -0
  433. package/generated/entities/warranty_troubleshooting_guide/index.ts +11 -0
  434. package/generated/entities/warranty_vendor_policy/index.ts +14 -0
  435. package/generated/entities.ids.generated.ts +12 -0
  436. package/generated/entity-fields-registry.ts +200 -0
  437. package/package.json +7 -7
  438. package/src/helpers/integration/api.ts +10 -3
  439. package/src/helpers/integration/salesFixtures.ts +17 -7
  440. package/src/modules/attachments/di.ts +30 -1
  441. package/src/modules/attachments/fields/attachment.tsx +215 -23
  442. package/src/modules/attachments/i18n/de.json +5 -0
  443. package/src/modules/attachments/i18n/en.json +5 -0
  444. package/src/modules/attachments/i18n/es.json +5 -0
  445. package/src/modules/attachments/i18n/ko.json +5 -0
  446. package/src/modules/attachments/i18n/pl.json +5 -0
  447. package/src/modules/attachments/lib/scoped-upload-service.ts +257 -0
  448. package/src/modules/attachments/lib/target-access-service.ts +57 -0
  449. package/src/modules/auth/api/logout.ts +46 -10
  450. package/src/modules/auth/api/reset/confirm.ts +7 -0
  451. package/src/modules/auth/api/reset.ts +7 -0
  452. package/src/modules/auth/commands/users.ts +22 -0
  453. package/src/modules/auth/events.ts +15 -0
  454. package/src/modules/customers/api/companies/route.ts +1 -0
  455. package/src/modules/customers/backend/customers/companies-v2/[id]/page.tsx +4 -2
  456. package/src/modules/customers/backend/customers/people-v2/[id]/page.tsx +4 -2
  457. package/src/modules/customers/components/detail/assignableStaff.ts +14 -177
  458. package/src/modules/customers/lib/assignableStaff.ts +177 -0
  459. package/src/modules/data_sync/AGENTS.md +3 -0
  460. package/src/modules/data_sync/lib/batch-stream.ts +117 -0
  461. package/src/modules/data_sync/lib/sync-engine.ts +190 -115
  462. package/src/modules/inbox_ops/api/emails/[id]/reprocess/route.ts +4 -0
  463. package/src/modules/inbox_ops/api/extract/route.ts +4 -0
  464. package/src/modules/inbox_ops/api/webhook/inbound.ts +4 -0
  465. package/src/modules/sales/commands/documents.ts +16 -8
  466. package/src/modules/warranty_claims/AGENTS.md +49 -0
  467. package/src/modules/warranty_claims/acl.ts +71 -0
  468. package/src/modules/warranty_claims/ai-agents.ts +189 -0
  469. package/src/modules/warranty_claims/ai-tools.ts +711 -0
  470. package/src/modules/warranty_claims/api/ai/assess/route.ts +371 -0
  471. package/src/modules/warranty_claims/api/ai/draft-reply/route.ts +149 -0
  472. package/src/modules/warranty_claims/api/ai/suggest/route.ts +190 -0
  473. package/src/modules/warranty_claims/api/assign/route.ts +142 -0
  474. package/src/modules/warranty_claims/api/assignees/route.ts +102 -0
  475. package/src/modules/warranty_claims/api/credit-memo/route.ts +191 -0
  476. package/src/modules/warranty_claims/api/entitlement/route.ts +224 -0
  477. package/src/modules/warranty_claims/api/events/route.ts +226 -0
  478. package/src/modules/warranty_claims/api/external/claims/route.ts +528 -0
  479. package/src/modules/warranty_claims/api/lines/route.ts +275 -0
  480. package/src/modules/warranty_claims/api/openapi.ts +28 -0
  481. package/src/modules/warranty_claims/api/portal/attachments/route.ts +547 -0
  482. package/src/modules/warranty_claims/api/portal/claims/[id]/route.ts +195 -0
  483. package/src/modules/warranty_claims/api/portal/claims/[id]/shared.ts +125 -0
  484. package/src/modules/warranty_claims/api/portal/claims/[id]/submit/route.ts +82 -0
  485. package/src/modules/warranty_claims/api/portal/claims/[id]/withdraw/route.ts +87 -0
  486. package/src/modules/warranty_claims/api/portal/claims/route.ts +579 -0
  487. package/src/modules/warranty_claims/api/portal/events/route.ts +260 -0
  488. package/src/modules/warranty_claims/api/portal/options/route.ts +113 -0
  489. package/src/modules/warranty_claims/api/portal/orders/lines/route.ts +258 -0
  490. package/src/modules/warranty_claims/api/portal/orders/route.ts +206 -0
  491. package/src/modules/warranty_claims/api/portal/troubleshooting/route.ts +151 -0
  492. package/src/modules/warranty_claims/api/receiving/route.ts +215 -0
  493. package/src/modules/warranty_claims/api/registrations/route.ts +417 -0
  494. package/src/modules/warranty_claims/api/replacement-order/route.ts +188 -0
  495. package/src/modules/warranty_claims/api/return-label/route.ts +291 -0
  496. package/src/modules/warranty_claims/api/risk/route.ts +112 -0
  497. package/src/modules/warranty_claims/api/route.ts +543 -0
  498. package/src/modules/warranty_claims/api/sales-return/route.ts +183 -0
  499. package/src/modules/warranty_claims/api/settings-general/route.ts +230 -0
  500. package/src/modules/warranty_claims/api/stats/route.ts +306 -0
  501. package/src/modules/warranty_claims/api/submit/route.ts +146 -0
  502. package/src/modules/warranty_claims/api/transition/route.ts +144 -0
  503. package/src/modules/warranty_claims/api/troubleshooting-guides/route.ts +295 -0
  504. package/src/modules/warranty_claims/api/vendor-policies/route.ts +351 -0
  505. package/src/modules/warranty_claims/api/vendor-recovery/route.ts +148 -0
  506. package/src/modules/warranty_claims/api/vendor-recovery-suggestions/route.ts +167 -0
  507. package/src/modules/warranty_claims/backend/components/AiAssessButtons.tsx +389 -0
  508. package/src/modules/warranty_claims/backend/components/ClaimStageProgress.tsx +65 -0
  509. package/src/modules/warranty_claims/backend/components/ClaimStatusBadge.tsx +137 -0
  510. package/src/modules/warranty_claims/backend/components/ClaimsKpiStrip.tsx +169 -0
  511. package/src/modules/warranty_claims/backend/components/EntitlementLookupBadge.tsx +203 -0
  512. package/src/modules/warranty_claims/backend/components/ReceivingPanel.tsx +300 -0
  513. package/src/modules/warranty_claims/backend/components/ReturnLabelPanel.tsx +292 -0
  514. package/src/modules/warranty_claims/backend/components/TroubleshootingWalker.tsx +125 -0
  515. package/src/modules/warranty_claims/backend/components/VendorRecoverySuggestionsPanel.tsx +217 -0
  516. package/src/modules/warranty_claims/backend/components/WarrantyWorkspace.tsx +66 -0
  517. package/src/modules/warranty_claims/backend/components/claimReasonOptions.ts +57 -0
  518. package/src/modules/warranty_claims/backend/components/claimSla.tsx +127 -0
  519. package/src/modules/warranty_claims/backend/components/orderLookup.ts +109 -0
  520. package/src/modules/warranty_claims/backend/components/productLookup.tsx +433 -0
  521. package/src/modules/warranty_claims/backend/components/useUserDisplayNames.ts +66 -0
  522. package/src/modules/warranty_claims/backend/page.meta.ts +12 -0
  523. package/src/modules/warranty_claims/backend/page.tsx +1302 -0
  524. package/src/modules/warranty_claims/backend/warranty_claims/[id]/edit/page.meta.ts +12 -0
  525. package/src/modules/warranty_claims/backend/warranty_claims/[id]/edit/page.tsx +531 -0
  526. package/src/modules/warranty_claims/backend/warranty_claims/[id]/page.meta.ts +12 -0
  527. package/src/modules/warranty_claims/backend/warranty_claims/[id]/page.tsx +2599 -0
  528. package/src/modules/warranty_claims/backend/warranty_claims/create/page.meta.ts +12 -0
  529. package/src/modules/warranty_claims/backend/warranty_claims/create/page.tsx +1533 -0
  530. package/src/modules/warranty_claims/backend/warranty_claims/registrations/[id]/edit/page.meta.ts +13 -0
  531. package/src/modules/warranty_claims/backend/warranty_claims/registrations/[id]/edit/page.tsx +136 -0
  532. package/src/modules/warranty_claims/backend/warranty_claims/registrations/create/page.meta.ts +13 -0
  533. package/src/modules/warranty_claims/backend/warranty_claims/registrations/create/page.tsx +52 -0
  534. package/src/modules/warranty_claims/backend/warranty_claims/registrations/page.meta.ts +15 -0
  535. package/src/modules/warranty_claims/backend/warranty_claims/registrations/page.tsx +555 -0
  536. package/src/modules/warranty_claims/backend/warranty_claims/registrations/registrationForm.tsx +295 -0
  537. package/src/modules/warranty_claims/backend/warranty_claims/settings/page.meta.ts +15 -0
  538. package/src/modules/warranty_claims/backend/warranty_claims/settings/page.tsx +1903 -0
  539. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/TroubleshootingTreeBuilder.tsx +550 -0
  540. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/[id]/edit/page.meta.ts +15 -0
  541. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/[id]/edit/page.tsx +141 -0
  542. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/create/page.meta.ts +15 -0
  543. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/create/page.tsx +57 -0
  544. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.meta.ts +17 -0
  545. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.tsx +477 -0
  546. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/troubleshootingGuideForm.tsx +214 -0
  547. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/[id]/edit/page.meta.ts +15 -0
  548. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/[id]/edit/page.tsx +137 -0
  549. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/create/page.meta.ts +15 -0
  550. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/create/page.tsx +51 -0
  551. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.meta.ts +17 -0
  552. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.tsx +506 -0
  553. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/vendorPolicyForm.tsx +220 -0
  554. package/src/modules/warranty_claims/ce.ts +44 -0
  555. package/src/modules/warranty_claims/commands/claim-lines.ts +1082 -0
  556. package/src/modules/warranty_claims/commands/claims.ts +3364 -0
  557. package/src/modules/warranty_claims/commands/index.ts +3 -0
  558. package/src/modules/warranty_claims/commands/settings.ts +198 -0
  559. package/src/modules/warranty_claims/commands/shared.ts +212 -0
  560. package/src/modules/warranty_claims/data/constants.ts +37 -0
  561. package/src/modules/warranty_claims/data/enrichers.ts +165 -0
  562. package/src/modules/warranty_claims/data/entities.ts +663 -0
  563. package/src/modules/warranty_claims/data/validators.ts +634 -0
  564. package/src/modules/warranty_claims/di.ts +34 -0
  565. package/src/modules/warranty_claims/encryption.ts +26 -0
  566. package/src/modules/warranty_claims/events.ts +81 -0
  567. package/src/modules/warranty_claims/extension-points.ts +16 -0
  568. package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/[id]/page.meta.ts +9 -0
  569. package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/[id]/page.tsx +1037 -0
  570. package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/new/page.meta.ts +9 -0
  571. package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/new/page.tsx +1409 -0
  572. package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.meta.ts +16 -0
  573. package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.tsx +304 -0
  574. package/src/modules/warranty_claims/i18n/de.json +1270 -0
  575. package/src/modules/warranty_claims/i18n/en.json +1270 -0
  576. package/src/modules/warranty_claims/i18n/es.json +1270 -0
  577. package/src/modules/warranty_claims/i18n/ko.json +1270 -0
  578. package/src/modules/warranty_claims/i18n/pl.json +1270 -0
  579. package/src/modules/warranty_claims/index.ts +13 -0
  580. package/src/modules/warranty_claims/lib/aiAssist.ts +677 -0
  581. package/src/modules/warranty_claims/lib/apiIdsFilter.ts +12 -0
  582. package/src/modules/warranty_claims/lib/assigneeNames.ts +184 -0
  583. package/src/modules/warranty_claims/lib/attachmentVisibility.ts +5 -0
  584. package/src/modules/warranty_claims/lib/bulkFeedback.ts +6 -0
  585. package/src/modules/warranty_claims/lib/businessHours.ts +333 -0
  586. package/src/modules/warranty_claims/lib/businessHoursForm.ts +206 -0
  587. package/src/modules/warranty_claims/lib/claimTypeConfig.ts +49 -0
  588. package/src/modules/warranty_claims/lib/decryptionSafety.ts +19 -0
  589. package/src/modules/warranty_claims/lib/deskFilters.ts +131 -0
  590. package/src/modules/warranty_claims/lib/dictionaries.ts +212 -0
  591. package/src/modules/warranty_claims/lib/dictionaryLabels.ts +16 -0
  592. package/src/modules/warranty_claims/lib/emailIntake.ts +123 -0
  593. package/src/modules/warranty_claims/lib/escalation.ts +83 -0
  594. package/src/modules/warranty_claims/lib/externalIntake.ts +362 -0
  595. package/src/modules/warranty_claims/lib/grading.ts +23 -0
  596. package/src/modules/warranty_claims/lib/listSegments.ts +19 -0
  597. package/src/modules/warranty_claims/lib/orderOwnership.ts +58 -0
  598. package/src/modules/warranty_claims/lib/portalAttachmentUpload.ts +11 -0
  599. package/src/modules/warranty_claims/lib/portalAttachmentValidation.ts +115 -0
  600. package/src/modules/warranty_claims/lib/portalClaimAccess.ts +37 -0
  601. package/src/modules/warranty_claims/lib/quantity.ts +15 -0
  602. package/src/modules/warranty_claims/lib/risk.ts +371 -0
  603. package/src/modules/warranty_claims/lib/settings.ts +76 -0
  604. package/src/modules/warranty_claims/lib/stateMachine.ts +130 -0
  605. package/src/modules/warranty_claims/lib/timelineFilters.ts +22 -0
  606. package/src/modules/warranty_claims/lib/triage.ts +366 -0
  607. package/src/modules/warranty_claims/lib/troubleshooting.ts +157 -0
  608. package/src/modules/warranty_claims/lib/tryResolve.ts +7 -0
  609. package/src/modules/warranty_claims/lib/vendorPolicyRecovery.ts +182 -0
  610. package/src/modules/warranty_claims/lib/warrantyPreview.ts +20 -0
  611. package/src/modules/warranty_claims/migrations/.snapshot-open-mercato.json +3525 -0
  612. package/src/modules/warranty_claims/migrations/Migration20260703191537_warranty_claims.ts +38 -0
  613. package/src/modules/warranty_claims/migrations/Migration20260704115605_warranty_claims.ts +17 -0
  614. package/src/modules/warranty_claims/migrations/Migration20260704230000_warranty_claims.ts +17 -0
  615. package/src/modules/warranty_claims/migrations/Migration20260705121601_warranty_claims.ts +37 -0
  616. package/src/modules/warranty_claims/migrations/Migration20260709120000_warranty_claims.ts +25 -0
  617. package/src/modules/warranty_claims/migrations/Migration20260710023607_warranty_claims.ts +13 -0
  618. package/src/modules/warranty_claims/migrations/Migration20260716203936_warranty_claims.ts +15 -0
  619. package/src/modules/warranty_claims/migrations/Migration20260717150000_warranty_claims.ts +13 -0
  620. package/src/modules/warranty_claims/migrations/Migration20260719120000_warranty_claims.ts +13 -0
  621. package/src/modules/warranty_claims/migrations/Migration20260813103053_warranty_claims.ts +11 -0
  622. package/src/modules/warranty_claims/notifications.client.ts +78 -0
  623. package/src/modules/warranty_claims/notifications.ts +101 -0
  624. package/src/modules/warranty_claims/search.ts +199 -0
  625. package/src/modules/warranty_claims/services/adjudicationEvaluator.ts +344 -0
  626. package/src/modules/warranty_claims/services/claimNumberGenerator.ts +69 -0
  627. package/src/modules/warranty_claims/services/entitlementResolver.ts +102 -0
  628. package/src/modules/warranty_claims/services/returnLabelProvider.ts +30 -0
  629. package/src/modules/warranty_claims/setup.ts +154 -0
  630. package/src/modules/warranty_claims/subscribers/auto-vendor-recovery.ts +140 -0
  631. package/src/modules/warranty_claims/subscribers/claim-assigned-notification.ts +54 -0
  632. package/src/modules/warranty_claims/subscribers/claim-customer-reply-notification.ts +68 -0
  633. package/src/modules/warranty_claims/subscribers/claim-status-notification.ts +100 -0
  634. package/src/modules/warranty_claims/subscribers/claim-submitted-notification.ts +53 -0
  635. package/src/modules/warranty_claims/subscribers/email-to-claim.ts +175 -0
  636. package/src/modules/warranty_claims/subscribers/return-shipment-tracking.ts +226 -0
  637. package/src/modules/warranty_claims/subscribers/vendor-recovery-reconciliation-undo.ts +28 -0
  638. package/src/modules/warranty_claims/subscribers/vendor-recovery-reconciliation.ts +31 -0
  639. package/src/modules/warranty_claims/widgets/dashboard/claims-queue/config.ts +15 -0
  640. package/src/modules/warranty_claims/widgets/dashboard/claims-queue/widget.client.tsx +237 -0
  641. package/src/modules/warranty_claims/widgets/dashboard/claims-queue/widget.ts +27 -0
  642. package/src/modules/warranty_claims/widgets/injection/claims-ai-trigger/widget.client.tsx +527 -0
  643. package/src/modules/warranty_claims/widgets/injection/claims-ai-trigger/widget.ts +37 -0
  644. package/src/modules/warranty_claims/widgets/injection/customer-claims-tab/widget.ts +21 -0
  645. package/src/modules/warranty_claims/widgets/injection/customer-claims-tab.tsx +210 -0
  646. package/src/modules/warranty_claims/widgets/injection/order-claims-tab/widget.ts +21 -0
  647. package/src/modules/warranty_claims/widgets/injection/order-claims-tab.tsx +210 -0
  648. package/src/modules/warranty_claims/widgets/injection-table.ts +36 -0
  649. package/src/modules/warranty_claims/widgets/notifications/WarrantyClaimNotificationRenderer.tsx +253 -0
  650. package/src/modules/warranty_claims/widgets/notifications/index.ts +1 -0
  651. package/src/modules/warranty_claims/workers/sla-escalation-sweep.ts +450 -0
@@ -0,0 +1,1270 @@
1
+ {
2
+ "warranty_claims.ai.apply": "Aplicar",
3
+ "warranty_claims.ai.assess.attachment": "Adjunto",
4
+ "warranty_claims.ai.assess.attachmentsError": "No se pudieron cargar los adjuntos de la línea.",
5
+ "warranty_claims.ai.assess.confidence": "Confianza: {confidence}",
6
+ "warranty_claims.ai.assess.damage": "IA: evaluar daño",
7
+ "warranty_claims.ai.assess.damageResult": "Evaluación de daño",
8
+ "warranty_claims.ai.assess.error": "La evaluación de IA falló.",
9
+ "warranty_claims.ai.assess.flash.saved": "Evaluación de IA guardada.",
10
+ "warranty_claims.ai.assess.loadingAttachments": "Cargando adjuntos...",
11
+ "warranty_claims.ai.assess.merchant": "Comercio: {merchant}",
12
+ "warranty_claims.ai.assess.misuseNotSuspected": "Sin señal de uso indebido",
13
+ "warranty_claims.ai.assess.misuseSuspected": "Uso indebido sospechado",
14
+ "warranty_claims.ai.assess.probableCause": "Causa probable: {cause}",
15
+ "warranty_claims.ai.assess.proof": "IA: extraer comprobante de compra",
16
+ "warranty_claims.ai.assess.proofResult": "Extracción de comprobante",
17
+ "warranty_claims.ai.assess.purchaseDate": "Fecha de compra: {date}",
18
+ "warranty_claims.ai.assess.serialNumber": "Serie: {serial}",
19
+ "warranty_claims.ai.assess.unavailable": "IA no disponible.",
20
+ "warranty_claims.ai.chatPlaceholder": "Pregunta sobre esta reclamación",
21
+ "warranty_claims.ai.chatWelcomeTitle": "Copiloto de reclamaciones",
22
+ "warranty_claims.ai.draftError": "No se pudo redactar una respuesta.",
23
+ "warranty_claims.ai.draftReply": "Redactar con IA",
24
+ "warranty_claims.ai.draftingReply": "Redactando...",
25
+ "warranty_claims.ai.empty.description": "Las sugerencias de triaje de IA no están disponibles en esta compilación.",
26
+ "warranty_claims.ai.panelTitle": "Asistencia de IA",
27
+ "warranty_claims.ai.suggestButton": "Sugerir triaje",
28
+ "warranty_claims.ai_assistant.agents.claims.description": "Clasifica reclamos, verifica la cobertura y redacta respuestas.",
29
+ "warranty_claims.ai_assistant.agents.claims.label": "Asistente de reclamos",
30
+ "warranty_claims.ai_assistant.context.matchingClaims": "{count} reclamos en vista",
31
+ "warranty_claims.ai_assistant.context.selectedClaims": "{count} reclamos seleccionados",
32
+ "warranty_claims.ai_assistant.dock.subtitle": "Reclamos de garantía",
33
+ "warranty_claims.ai_assistant.popover.heading": "Asistentes de IA",
34
+ "warranty_claims.ai_assistant.sheet.composerPlaceholder": "Pregunta por reclamos, SLA, cobertura...",
35
+ "warranty_claims.ai_assistant.sheet.description": "Tu copiloto del escritorio de reclamos. Pregunta por reclamos, SLA, cobertura y próximos pasos.",
36
+ "warranty_claims.ai_assistant.sheet.descriptionWithSelection": "Trabajando con {count} reclamos seleccionados. Pregunta por su estado, SLA y próximos pasos.",
37
+ "warranty_claims.ai_assistant.sheet.dock": "Anclar al lateral",
38
+ "warranty_claims.ai_assistant.sheet.selectionPill": "Actuando sobre {count} seleccionados",
39
+ "warranty_claims.ai_assistant.sheet.title": "Asistente de IA de reclamos",
40
+ "warranty_claims.ai_assistant.sheet.welcomeDescriptionAll": "Pregúntame lo que quieras sobre tu cola de reclamos de garantía:",
41
+ "warranty_claims.ai_assistant.sheet.welcomeDescriptionSelection": "Listo para explorar tus {count} reclamos seleccionados:",
42
+ "warranty_claims.ai_assistant.sheet.welcomeTitle": "Asistente de reclamos",
43
+ "warranty_claims.ai_assistant.suggestions.awaitingReply": "Reclamos en espera de respuesta",
44
+ "warranty_claims.ai_assistant.suggestions.nextActionsSelected": "Próximas acciones para la selección",
45
+ "warranty_claims.ai_assistant.suggestions.overdueClaims": "Reclamos vencidos",
46
+ "warranty_claims.ai_assistant.suggestions.searchClaims": "Buscar un reclamo",
47
+ "warranty_claims.ai_assistant.suggestions.summarizeQueue": "Resumir la cola",
48
+ "warranty_claims.ai_assistant.suggestions.summarizeSelected": "Resumir los reclamos seleccionados",
49
+ "warranty_claims.ai_assistant.suggestions.triageSelected": "Sugerir triaje para la selección",
50
+ "warranty_claims.ai_assistant.trigger.ariaLabel": "Abrir el asistente de IA para reclamos de garantía",
51
+ "warranty_claims.ai_assistant.trigger.label": "IA",
52
+ "warranty_claims.ai_assistant.trigger.moreAgentsAriaLabel": "Elegir un asistente de IA",
53
+ "warranty_claims.audit.claim.create": "Crear reclamación",
54
+ "warranty_claims.audit.claim.create_credit_memo": "Crear nota de crédito",
55
+ "warranty_claims.audit.claim.create_replacement_order": "Crear pedido de reemplazo",
56
+ "warranty_claims.audit.claim.create_sales_return": "Crear devolución de venta",
57
+ "warranty_claims.audit.claim.delete": "Eliminar reclamación",
58
+ "warranty_claims.audit.claim.set_return_label": "Establecer etiqueta de devolución",
59
+ "warranty_claims.audit.claim.transition": "Cambiar estado de la reclamación",
60
+ "warranty_claims.audit.claim.update": "Actualizar reclamación",
61
+ "warranty_claims.audit.claim_line.create": "Añadir línea de reclamación",
62
+ "warranty_claims.audit.claim_line.delete": "Eliminar línea de reclamación",
63
+ "warranty_claims.audit.claim_line.receive": "Recibir línea de reclamación",
64
+ "warranty_claims.audit.claim_line.release_quarantine": "Liberar línea de cuarentena",
65
+ "warranty_claims.audit.claim_line.set_assessment": "Registrar evaluación de línea",
66
+ "warranty_claims.audit.claim_line.update": "Actualizar línea de reclamación",
67
+ "warranty_claims.bulk.assign": "Asignar seleccionados",
68
+ "warranty_claims.bulk.assignTitle": "Asignar reclamos seleccionados",
69
+ "warranty_claims.bulk.cancel": "Cancelar seleccionados",
70
+ "warranty_claims.bulk.cancelTitle": "¿Cancelar reclamos seleccionados?",
71
+ "warranty_claims.bulk.firstError": "Primer error: {message}",
72
+ "warranty_claims.bulk.skipped": "{skipped} omitidos.",
73
+ "warranty_claims.bulk.startReview": "Iniciar revisión de los seleccionados",
74
+ "warranty_claims.bulk.summary": "Acción masiva finalizada: {succeeded} correctos, {failed} fallidos.",
75
+ "warranty_claims.channel.api": "API",
76
+ "warranty_claims.channel.portal": "Portal",
77
+ "warranty_claims.channel.staff": "Personal",
78
+ "warranty_claims.claim.assigned": "Reclamo de garantía asignado",
79
+ "warranty_claims.claim.comment_added": "Comentario del reclamo de garantía agregado",
80
+ "warranty_claims.claim.portal_status_changed": "Estado del reclamo cambiado (portal)",
81
+ "warranty_claims.claim.status_changed": "Estado del reclamo de garantía cambiado",
82
+ "warranty_claims.claim.submitted": "Reclamo de garantía enviado",
83
+ "warranty_claims.claimType.core_return": "Devolución de núcleo",
84
+ "warranty_claims.claimType.return": "Devolución",
85
+ "warranty_claims.claimType.vendor_recovery": "Recuperación de proveedor",
86
+ "warranty_claims.claimType.warranty": "Garantía",
87
+ "warranty_claims.claimTypes.coreReturn": "Devolución de núcleo",
88
+ "warranty_claims.claimTypes.return": "Devolución",
89
+ "warranty_claims.claimTypes.vendorRecovery": "Recuperación de proveedor",
90
+ "warranty_claims.claimTypes.warranty": "Garantía",
91
+ "warranty_claims.common.noValue": "Sin definir",
92
+ "warranty_claims.common.saveBlocked": "Guardado bloqueado por validación",
93
+ "warranty_claims.common.saving": "Guardando...",
94
+ "warranty_claims.create.basics": "Datos básicos del reclamo",
95
+ "warranty_claims.create.error": "No se pudo crear el reclamo.",
96
+ "warranty_claims.create.submit": "Crear reclamo",
97
+ "warranty_claims.create.success": "Reclamo creado.",
98
+ "warranty_claims.create.summary.automation": "Automatización",
99
+ "warranty_claims.create.summary.customer": "Cliente",
100
+ "warranty_claims.create.summary.description": "Revise el contexto de recepción antes de crear el reclamo.",
101
+ "warranty_claims.create.summary.entitlement": "La cobertura de garantía se comprueba con el producto y el número de serie seleccionados.",
102
+ "warranty_claims.create.summary.lines": "Líneas del reclamo",
103
+ "warranty_claims.create.summary.linked": "Vinculado",
104
+ "warranty_claims.create.summary.notLinked": "No vinculado",
105
+ "warranty_claims.create.summary.notSelected": "No seleccionado",
106
+ "warranty_claims.create.summary.selected": "Seleccionado",
107
+ "warranty_claims.create.summary.sla": "El reloj del SLA comienza cuando se envía el reclamo.",
108
+ "warranty_claims.create.summary.title": "Resumen del reclamo",
109
+ "warranty_claims.create.title": "Nuevo reclamo",
110
+ "warranty_claims.customerTab.title": "Reclamos",
111
+ "warranty_claims.dashboard.widgets.claimsQueue.description": "Reclamos de garantía abiertos, riesgo de SLA y vencidos con enlaces rápidos al escritorio de reclamos.",
112
+ "warranty_claims.dashboard.widgets.claimsQueue.title": "Cola de reclamos de garantía",
113
+ "warranty_claims.detail.actions.assign": "Asignar",
114
+ "warranty_claims.detail.actions.backToDetail": "Volver al reclamo",
115
+ "warranty_claims.detail.actions.backToList": "Volver a reclamos",
116
+ "warranty_claims.detail.actions.cancel": "Cancelar reclamo",
117
+ "warranty_claims.detail.actions.edit": "Editar",
118
+ "warranty_claims.detail.actions.noTransitions": "No hay acciones de estado disponibles.",
119
+ "warranty_claims.detail.actions.submit": "Enviar",
120
+ "warranty_claims.detail.actions.transition": "Cambiar estado",
121
+ "warranty_claims.detail.actions.transitionTo": "Mover a {status}",
122
+ "warranty_claims.detail.actions.vendorRecovery": "Crear recuperación de proveedor",
123
+ "warranty_claims.detail.assignDialog.empty": "No se encontraron miembros del personal.",
124
+ "warranty_claims.detail.assignDialog.loading": "Cargando personal...",
125
+ "warranty_claims.detail.assignDialog.search": "Buscar personal",
126
+ "warranty_claims.detail.assignDialog.searchPlaceholder": "Buscar por nombre o correo",
127
+ "warranty_claims.detail.assignDialog.staff": "Miembro del personal",
128
+ "warranty_claims.detail.assignDialog.title": "Reasignar reclamo",
129
+ "warranty_claims.detail.assignToMe": "Asignarme",
130
+ "warranty_claims.detail.assignee": "Responsable",
131
+ "warranty_claims.detail.attachments.customerVisible": "Visible para el cliente",
132
+ "warranty_claims.detail.badge.customerReplied": "El cliente respondió",
133
+ "warranty_claims.detail.claimNumberCopied": "Número de reclamo copiado.",
134
+ "warranty_claims.detail.confirm.cancelTitle": "¿Cancelar reclamo?",
135
+ "warranty_claims.detail.confirm.rejectTitle": "¿Rechazar reclamo?",
136
+ "warranty_claims.detail.confirm.transitionTitle": "¿Cambiar el estado del reclamo?",
137
+ "warranty_claims.detail.copyClaimNumber": "Copiar número de reclamo",
138
+ "warranty_claims.detail.copyFailed": "No se pudo copiar al portapapeles.",
139
+ "warranty_claims.detail.copyLink": "Copiar enlace",
140
+ "warranty_claims.detail.createCreditMemo": "Crear nota de crédito",
141
+ "warranty_claims.detail.createCreditMemoSkipped": "Se omitieron algunas líneas porque no tienen una línea de pedido vinculada, su estado o disposición no es apto, no se recibió ninguna cantidad, la moneda no coincide o la cantidad del pedido de origen es cero. ({count})",
142
+ "warranty_claims.detail.createCreditMemoSuccess": "Nota de crédito por {amount} {currency} creada y vinculada al reclamo.",
143
+ "warranty_claims.detail.createReplacementOrder": "Crear pedido de reemplazo",
144
+ "warranty_claims.detail.createReplacementOrderSkipped": "Se omitieron {count} línea(s): no tienen una línea de pedido vinculada, su estado o disposición no es apto, la cantidad es cero o fraccionaria, o no se pudo resolver la línea del pedido de origen.",
145
+ "warranty_claims.detail.createReplacementOrderSuccess": "Pedido de reemplazo creado y vinculado al reclamo.",
146
+ "warranty_claims.detail.createSalesReturn": "Crear devolución de venta",
147
+ "warranty_claims.detail.createSalesReturnSkipped": "Se omitieron {count} línea(s): no tienen una línea de pedido vinculada, no están aprobadas o tienen una cantidad cero o fraccionaria.",
148
+ "warranty_claims.detail.createSalesReturnSuccess": "Devolución de venta creada y vinculada a la reclamación.",
149
+ "warranty_claims.detail.customer": "Cliente",
150
+ "warranty_claims.detail.customerActor": "Cliente",
151
+ "warranty_claims.detail.entitlement": "Cobertura",
152
+ "warranty_claims.detail.error.action": "No se pudo actualizar el reclamo.",
153
+ "warranty_claims.detail.error.comment": "No se pudo agregar el comentario.",
154
+ "warranty_claims.detail.error.load": "No se pudo cargar el reclamo.",
155
+ "warranty_claims.detail.error.loadEvents": "No se pudo cargar la cronología del reclamo.",
156
+ "warranty_claims.detail.error.loadLines": "No se pudieron cargar las líneas del reclamo.",
157
+ "warranty_claims.detail.error.loadRisk": "No se pudieron cargar las señales de riesgo del reclamo.",
158
+ "warranty_claims.detail.error.loadUsers": "No se pudieron resolver los nombres de usuario.",
159
+ "warranty_claims.detail.flash.commentAdded": "Comentario agregado.",
160
+ "warranty_claims.detail.flash.transitioned": "Reclamo actualizado.",
161
+ "warranty_claims.detail.lines.add": "Agregar línea",
162
+ "warranty_claims.detail.lines.amounts": "Importes",
163
+ "warranty_claims.detail.lines.approvedCount": "{count} líneas aprobadas",
164
+ "warranty_claims.detail.lines.column.credit": "Crédito",
165
+ "warranty_claims.detail.lines.column.entitlement": "Cobertura",
166
+ "warranty_claims.detail.lines.column.number": "#",
167
+ "warranty_claims.detail.lines.column.product": "Producto",
168
+ "warranty_claims.detail.lines.column.status": "Estado",
169
+ "warranty_claims.detail.lines.count": "{count} líneas",
170
+ "warranty_claims.detail.lines.edit": "Editar línea",
171
+ "warranty_claims.detail.lines.empty.description": "Agrega una línea de reclamo para capturar producto, cantidad, falla y detalles de resolución.",
172
+ "warranty_claims.detail.lines.empty.title": "Aún no hay líneas de reclamo",
173
+ "warranty_claims.detail.lines.error.delete": "No se pudo eliminar la línea de reclamo.",
174
+ "warranty_claims.detail.lines.error.save": "No se pudo guardar la línea de reclamo.",
175
+ "warranty_claims.detail.lines.flash.created": "Línea de reclamo agregada.",
176
+ "warranty_claims.detail.lines.flash.deleted": "Línea de reclamo eliminada.",
177
+ "warranty_claims.detail.lines.flash.saved": "Línea de reclamo guardada.",
178
+ "warranty_claims.detail.lines.inspection": "Inspección",
179
+ "warranty_claims.detail.lines.noVendorClaims": "Aún no hay reclamos al proveedor",
180
+ "warranty_claims.detail.lines.unnamed": "Línea sin nombre",
181
+ "warranty_claims.detail.linkCopied": "Enlace copiado.",
182
+ "warranty_claims.detail.loading": "Cargando reclamo...",
183
+ "warranty_claims.detail.opened": "Abierto",
184
+ "warranty_claims.detail.owner": "Responsable",
185
+ "warranty_claims.detail.priority": "Prioridad",
186
+ "warranty_claims.detail.reassign": "Reasignar",
187
+ "warranty_claims.detail.stage.approved": "Aprobado",
188
+ "warranty_claims.detail.stage.decision": "Decisión",
189
+ "warranty_claims.detail.stage.goodsFlow": "Flujo de mercancía",
190
+ "warranty_claims.detail.stage.goodsIn": "Recepción",
191
+ "warranty_claims.detail.stage.intake": "Recepción inicial",
192
+ "warranty_claims.detail.stage.resolved": "Resuelto",
193
+ "warranty_claims.detail.stage.review": "Revisión",
194
+ "warranty_claims.detail.stage.submitted": "Enviado",
195
+ "warranty_claims.detail.state": "Estado",
196
+ "warranty_claims.detail.systemActor": "Sistema",
197
+ "warranty_claims.detail.tabs.ai": "Asistencia de IA",
198
+ "warranty_claims.detail.tabs.attachments": "Adjuntos",
199
+ "warranty_claims.detail.tabs.label": "Secciones del reclamo",
200
+ "warranty_claims.detail.tabs.lines": "Líneas",
201
+ "warranty_claims.detail.tabs.timeline": "Cronología",
202
+ "warranty_claims.detail.timeline.addComment": "Agregar comentario",
203
+ "warranty_claims.detail.timeline.commentPlaceholder": "Agrega un comentario interno o visible para el cliente",
204
+ "warranty_claims.detail.timeline.empty.description": "Los cambios de estado, asignaciones y comentarios aparecerán aquí.",
205
+ "warranty_claims.detail.timeline.empty.title": "Aún no hay entradas en la cronología",
206
+ "warranty_claims.detail.timeline.filter.all": "Todos",
207
+ "warranty_claims.detail.timeline.filter.comments": "Comentarios",
208
+ "warranty_claims.detail.timeline.filter.customerVisible": "Visible para el cliente",
209
+ "warranty_claims.detail.timeline.filter.label": "Filtrar cronología",
210
+ "warranty_claims.detail.timeline.filter.statusChanges": "Cambios de estado",
211
+ "warranty_claims.detail.timeline.filterEmpty.description": "Ningún evento de la cronología coincide con el filtro seleccionado.",
212
+ "warranty_claims.detail.timeline.filterEmpty.title": "Sin eventos coincidentes",
213
+ "warranty_claims.detail.title": "Detalle del reclamo",
214
+ "warranty_claims.detail.totalApproved": "Importe aprobado",
215
+ "warranty_claims.detail.totalClaimed": "Importe reclamado",
216
+ "warranty_claims.detail.totalRecovered": "Importe recuperado",
217
+ "warranty_claims.detail.unassigned": "Sin asignar",
218
+ "warranty_claims.detail.unknownUser": "Usuario desconocido",
219
+ "warranty_claims.detail.unnumbered": "Reclamo sin número",
220
+ "warranty_claims.detail.vendorRecovery.created": "Reclamo de recuperación de proveedor creado.",
221
+ "warranty_claims.detail.vendorRecovery.lines": "Líneas resueltas",
222
+ "warranty_claims.detail.viewOrder": "Ver pedido",
223
+ "warranty_claims.detail.visibility.customer": "Visible para el cliente",
224
+ "warranty_claims.detail.visibility.internal": "Interno",
225
+ "warranty_claims.detail.visibility.label": "Visibilidad del comentario",
226
+ "warranty_claims.disposition.credit": "Crédito",
227
+ "warranty_claims.disposition.deny": "Denegar",
228
+ "warranty_claims.disposition.field_destroy": "Destrucción en campo",
229
+ "warranty_claims.disposition.refund": "Reembolso",
230
+ "warranty_claims.disposition.repair": "Reparar",
231
+ "warranty_claims.disposition.replace": "Reemplazar",
232
+ "warranty_claims.disposition.restock": "Reponer inventario",
233
+ "warranty_claims.disposition.return_to_vendor": "Devolver al proveedor",
234
+ "warranty_claims.disposition.scrap": "Desechar",
235
+ "warranty_claims.edit.deleted": "Reclamo eliminado.",
236
+ "warranty_claims.edit.error.delete": "No se pudo eliminar el reclamo.",
237
+ "warranty_claims.edit.error.load": "No se pudo cargar el reclamo.",
238
+ "warranty_claims.edit.error.save": "No se pudo guardar el reclamo.",
239
+ "warranty_claims.edit.fulfillment.notice": "Los datos de recepción quedan bloqueados tras la aprobación. Complete abajo el flujo de mercancía y la resolución.",
240
+ "warranty_claims.edit.fulfillment.replacement": "Reemplazo",
241
+ "warranty_claims.edit.fulfillment.resolution": "Resolución",
242
+ "warranty_claims.edit.fulfillment.returnCredit": "Devolución y abono",
243
+ "warranty_claims.edit.fulfillment.title": "Editar reclamo — tramitación",
244
+ "warranty_claims.edit.fulfillment.vendorRecovery": "Recuperación del proveedor",
245
+ "warranty_claims.edit.fulfillmentFields": "Campos de cumplimiento",
246
+ "warranty_claims.edit.intakeFields": "Campos de recepción",
247
+ "warranty_claims.edit.loading": "Cargando reclamo...",
248
+ "warranty_claims.edit.locked.description": "Este estado de reclamo no permite ediciones directas del encabezado. Usa las acciones de ciclo de vida o reabre el reclamo cuando esté permitido.",
249
+ "warranty_claims.edit.locked.title": "Los campos del reclamo están bloqueados",
250
+ "warranty_claims.edit.success": "Reclamo guardado.",
251
+ "warranty_claims.edit.title": "Editar reclamo",
252
+ "warranty_claims.eligibility.in_warranty": "En garantía",
253
+ "warranty_claims.eligibility.out_of_warranty": "Fuera de garantía",
254
+ "warranty_claims.eligibility.unknown": "Desconocido",
255
+ "warranty_claims.entitlement.coverage.extended": "Extendida",
256
+ "warranty_claims.entitlement.coverage.none": "Sin cobertura",
257
+ "warranty_claims.entitlement.coverage.standard": "Estándar",
258
+ "warranty_claims.entitlement.error.load": "No se pudo resolver la cobertura de garantía.",
259
+ "warranty_claims.entitlement.expiresAt": "Vence {date}",
260
+ "warranty_claims.entitlement.loading": "Comprobando cobertura...",
261
+ "warranty_claims.entitlement.priorClaims": "{count} reclamos anteriores",
262
+ "warranty_claims.entitlement.priorClaims.more": "+{count} más",
263
+ "warranty_claims.entitlement.source.manual": "Manual",
264
+ "warranty_claims.entitlement.source.order": "Pedido",
265
+ "warranty_claims.entitlement.source.registration": "Registro",
266
+ "warranty_claims.entitlement.source.resolver": "Motor de resolución",
267
+ "warranty_claims.entitlement.sourceLabel": "Fuente: {source}",
268
+ "warranty_claims.entitlement.status.in_warranty": "En garantía",
269
+ "warranty_claims.entitlement.status.out_of_warranty": "Fuera de garantía",
270
+ "warranty_claims.entitlement.status.unknown": "Desconocido",
271
+ "warranty_claims.errors.aiNotConfigured": "La redacción con IA no está configurada para este espacio de trabajo",
272
+ "warranty_claims.errors.aiUnavailable": "La redacción con IA no está disponible temporalmente",
273
+ "warranty_claims.errors.attachmentNotLinked": "El archivo adjunto no está vinculado a esta reclamación.",
274
+ "warranty_claims.errors.autoApproveConfigIncomplete": "La aprobación automática requiere un importe máximo y una moneda.",
275
+ "warranty_claims.errors.conflict": "Este reclamo cambió mientras lo editabas.",
276
+ "warranty_claims.errors.creditMemoAlreadyLinked": "Este reclamo ya está vinculado a una nota de crédito.",
277
+ "warranty_claims.errors.creditMemoChangedUndoAborted": "La nota de crédito vinculada se ha modificado desde su creación, por lo que se canceló la operación de deshacer.",
278
+ "warranty_claims.errors.creditMemoInvalidStatus": "Solo se puede crear una nota de crédito para reclamos recibidos, en inspección o resueltos.",
279
+ "warranty_claims.errors.creditMemoNoEligibleLines": "Ninguna línea del reclamo es apta para una nota de crédito.",
280
+ "warranty_claims.errors.creditMemoRequiresOrder": "Este reclamo no está vinculado a un pedido de venta disponible, por lo que no se puede crear una nota de crédito.",
281
+ "warranty_claims.errors.creditMemoSalesUnavailable": "El módulo de ventas no está disponible, por lo que no se puede crear una nota de crédito.",
282
+ "warranty_claims.errors.currencyCodeFormat": "Introduce un código de moneda de 3 letras (p. ej. USD).",
283
+ "warranty_claims.errors.customerAccountNotLinked": "La cuenta del cliente no está vinculada a un registro de cliente",
284
+ "warranty_claims.errors.customerOrderMismatch": "El cliente no coincide con el pedido",
285
+ "warranty_claims.errors.decimalNonNegative": "El valor debe ser cero o mayor.",
286
+ "warranty_claims.errors.deleteNotAllowed": "Solo se pueden eliminar reclamos en estado borrador o cancelado.",
287
+ "warranty_claims.errors.dispositionGradeConflict": "La reposición de inventario solo está permitida para artículos con grado A o B.",
288
+ "warranty_claims.errors.dispositionTypeConflict": "Esta disposición no está disponible para este tipo de reclamación.",
289
+ "warranty_claims.errors.duplicateSerial": "Ya existe un registro con este número de serie.",
290
+ "warranty_claims.errors.fieldLocked": "Este campo no se puede editar en el estado actual del reclamo.",
291
+ "warranty_claims.errors.invalidAssignee": "No se pudo encontrar el responsable seleccionado.",
292
+ "warranty_claims.errors.invalidEmail": "Introduce una dirección de correo electrónico válida.",
293
+ "warranty_claims.errors.invalidInput": "Entrada no válida",
294
+ "warranty_claims.errors.invalidReference": "No se pudo encontrar el pedido, la línea de pedido, la devolución o el pedido de reemplazo referenciados.",
295
+ "warranty_claims.errors.invalidTransition": "Ese cambio de estado no está permitido.",
296
+ "warranty_claims.errors.invalidTroubleshootingSteps": "Los pasos de solución de problemas deben incluir una pregunta y ramas de opciones válidas.",
297
+ "warranty_claims.errors.lineLocked": "Esta línea está bloqueada en el estado actual del reclamo.",
298
+ "warranty_claims.errors.load_failed": "No se pudieron cargar los datos de la reclamación.",
299
+ "warranty_claims.errors.notFound": "Reclamo no encontrado.",
300
+ "warranty_claims.errors.orderLineMismatch": "La línea de pedido no pertenece al pedido seleccionado",
301
+ "warranty_claims.errors.orderNotFound": "Pedido no encontrado",
302
+ "warranty_claims.errors.orderNotOwned": "Pedido no encontrado.",
303
+ "warranty_claims.errors.organization_required": "Se requiere contexto de organización.",
304
+ "warranty_claims.errors.qtyApprovedExceedsClaimed": "La cantidad aprobada no puede superar la cantidad reclamada.",
305
+ "warranty_claims.errors.qtyExceedsOrdered": "La cantidad reclamada supera la cantidad vendida en la línea de pedido vinculada.",
306
+ "warranty_claims.errors.qtyReceivedExceedsClaimed": "La cantidad recibida no puede superar la cantidad reclamada.",
307
+ "warranty_claims.errors.receivingStatusInvalid": "Los detalles de recepción solo pueden guardarse cuando el reclamo está recibido o en inspección.",
308
+ "warranty_claims.errors.recoveryRateFormat": "Introduce un número con un máximo de 2 decimales.",
309
+ "warranty_claims.errors.recoveryRateRange": "La tasa de recuperación debe estar entre 0 y 100.",
310
+ "warranty_claims.errors.replacementAlreadyLinked": "Este reclamo ya está vinculado a un pedido de reemplazo.",
311
+ "warranty_claims.errors.replacementInvalidStatus": "Solo se puede crear un pedido de reemplazo para reclamos aprobados, en espera de devolución, recibidos, en inspección o resueltos.",
312
+ "warranty_claims.errors.replacementNoEligibleLines": "Ninguna línea del reclamo es apta para un pedido de reemplazo. Las líneas necesitan la disposición de reemplazo, un estado apto, una línea de pedido de origen vinculada y una cantidad positiva de unidades enteras.",
313
+ "warranty_claims.errors.replacementOrderChangedUndoAborted": "El pedido de reemplazo vinculado se ha modificado desde su creación, por lo que se canceló la operación de deshacer.",
314
+ "warranty_claims.errors.replacementOrderRequiresOrder": "Este reclamo no está vinculado a un pedido de venta disponible, por lo que no se puede crear un pedido de reemplazo.",
315
+ "warranty_claims.errors.replacementSalesUnavailable": "El módulo de ventas no está disponible, por lo que no se puede crear un pedido de reemplazo.",
316
+ "warranty_claims.errors.returnLabelInvalidStatus": "Las etiquetas de devolución solo pueden crearse para reclamos aprobados que esperan devolución.",
317
+ "warranty_claims.errors.returnLabelUrlInvalid": "Introduce una URL http(s) válida.",
318
+ "warranty_claims.errors.salesReturnAlreadyLinked": "Esta reclamación ya está vinculada a una devolución de venta.",
319
+ "warranty_claims.errors.salesReturnChangedUndoAborted": "La devolución de venta vinculada se ha modificado desde su creación, por lo que se canceló la operación de deshacer.",
320
+ "warranty_claims.errors.salesReturnNoEligibleLines": "Ninguna línea de la reclamación es apta para una devolución de venta. Las líneas necesitan un estado aprobado, una línea de pedido vinculada y una cantidad positiva.",
321
+ "warranty_claims.errors.salesReturnQuantityRejected": "El módulo de ventas rechazó la cantidad de devolución: se solicitaron más unidades de las enviadas. Envíe los artículos o reduzca la cantidad aprobada.",
322
+ "warranty_claims.errors.salesReturnRequiresOrder": "Esta reclamación no está vinculada a un pedido de venta, por lo que no se puede crear una devolución de venta.",
323
+ "warranty_claims.errors.salesReturnStatusNotEligible": "Solo se puede crear una devolución de venta para reclamaciones aprobadas que estén esperando, recibiendo o inspeccionando la devolución.",
324
+ "warranty_claims.errors.salesUnavailable": "El módulo de ventas no está disponible, por lo que no se puede crear una devolución de venta.",
325
+ "warranty_claims.errors.save_failed": "No se pudo guardar el reclamo.",
326
+ "warranty_claims.errors.unauthorized": "No autorizado",
327
+ "warranty_claims.errors.vendorRecoveryNeedsResolvedLines": "La recuperación de proveedor requiere líneas de reclamo resueltas.",
328
+ "warranty_claims.eventKind.assignment": "Asignación",
329
+ "warranty_claims.eventKind.comment": "Comentario",
330
+ "warranty_claims.eventKind.status_changed": "Estado cambiado",
331
+ "warranty_claims.eventKind.system": "Sistema",
332
+ "warranty_claims.faultOption.damaged-in-transit": "Dañado en tránsito",
333
+ "warranty_claims.faultOption.defective": "Defectuoso",
334
+ "warranty_claims.faultOption.doa": "No funciona al recibir",
335
+ "warranty_claims.faultOption.worn": "Desgastado",
336
+ "warranty_claims.faultOption.wrong-item": "Artículo incorrecto",
337
+ "warranty_claims.form.addFromOrder": "Añadir desde el pedido",
338
+ "warranty_claims.form.addFromOrder.added": "Se añadieron {count} línea(s) desde el pedido",
339
+ "warranty_claims.form.addFromOrder.clear": "Limpiar",
340
+ "warranty_claims.form.addFromOrder.confirm": "Añadir líneas seleccionadas",
341
+ "warranty_claims.form.addFromOrder.count": "{shown} de {total} líneas",
342
+ "warranty_claims.form.addFromOrder.empty": "No se encontraron líneas de producto en este pedido.",
343
+ "warranty_claims.form.addFromOrder.error": "No se pudieron cargar las líneas del pedido.",
344
+ "warranty_claims.form.addFromOrder.loading": "Cargando líneas del pedido...",
345
+ "warranty_claims.form.addFromOrder.quantity": "Pedido {quantity}",
346
+ "warranty_claims.form.addFromOrder.search": "Filtrar por producto o SKU",
347
+ "warranty_claims.form.addFromOrder.selectAll": "Seleccionar todo",
348
+ "warranty_claims.form.addFromOrder.selectLine": "Seleccionar {name}",
349
+ "warranty_claims.form.addFromOrder.selected": "{count} seleccionadas",
350
+ "warranty_claims.form.addFromOrder.truncated": "solo las primeras {limit}",
351
+ "warranty_claims.form.advanceReplacement": "Reemplazo anticipado",
352
+ "warranty_claims.form.advanceShippedAt": "Envío anticipado el",
353
+ "warranty_claims.form.assigneeUserId": "Responsable",
354
+ "warranty_claims.form.assigneeUserId.placeholder": "ID de usuario",
355
+ "warranty_claims.form.assigneeUserId.searchPlaceholder": "Buscar personal",
356
+ "warranty_claims.form.assigneeUserId.unassigned": "Sin asignar",
357
+ "warranty_claims.form.claimType": "Tipo de reclamo",
358
+ "warranty_claims.form.conditionOnReceipt": "Estado al recibir",
359
+ "warranty_claims.form.coreChargeAmount": "Importe de cargo de núcleo",
360
+ "warranty_claims.form.coreCreditAmount": "Importe de crédito de núcleo",
361
+ "warranty_claims.form.creditAmount": "Importe de crédito",
362
+ "warranty_claims.form.creditMemoId": "Nota de crédito",
363
+ "warranty_claims.form.creditMemoId.noOrder": "Vincule primero el reclamo a un pedido para seleccionar una nota de crédito.",
364
+ "warranty_claims.form.creditMemoUnavailable": "Nota de crédito no disponible",
365
+ "warranty_claims.form.currencyCode": "Moneda",
366
+ "warranty_claims.form.customerId": "Cliente",
367
+ "warranty_claims.form.customerId.placeholder": "Buscar clientes",
368
+ "warranty_claims.form.customerName": "Nombre del cliente",
369
+ "warranty_claims.form.customerUnavailable": "Cliente no disponible",
370
+ "warranty_claims.form.customerUnnamed": "Cliente sin nombre",
371
+ "warranty_claims.form.disposition": "Resolución",
372
+ "warranty_claims.form.entitlement": "Comprobación de garantía",
373
+ "warranty_claims.form.entitlement.inWarranty": "En garantía",
374
+ "warranty_claims.form.entitlement.outOfWarranty": "Fuera de garantía",
375
+ "warranty_claims.form.error.dictionaryLoad": "No se pudieron cargar las entradas del diccionario.",
376
+ "warranty_claims.form.faultCode": "Código de falla",
377
+ "warranty_claims.form.faultCode.placeholder": "Seleccionar código de falla",
378
+ "warranty_claims.form.faultDescription": "Descripción de la falla",
379
+ "warranty_claims.form.header": "Detalles del reclamo",
380
+ "warranty_claims.form.inspectionNotes": "Notas de inspección",
381
+ "warranty_claims.form.lineHeader": "Línea del reclamo",
382
+ "warranty_claims.form.lineHeader.core_return": "Artículo de devolución de núcleo",
383
+ "warranty_claims.form.lineHeader.return": "Artículo de devolución",
384
+ "warranty_claims.form.lineHeader.vendor_recovery": "Artículo de recuperación de proveedor",
385
+ "warranty_claims.form.lineHeader.warranty": "Artículo del reclamo",
386
+ "warranty_claims.form.lineNo": "N.º de línea",
387
+ "warranty_claims.form.lineStatus": "Estado de línea",
388
+ "warranty_claims.form.lines.add": "Agregar línea",
389
+ "warranty_claims.form.lines.edit": "Editar línea",
390
+ "warranty_claims.form.lines.empty.description": "Agrega una línea de reclamo o impórtalas desde el pedido vinculado.",
391
+ "warranty_claims.form.lines.empty.noMatches": "Ninguna línea coincide con tu búsqueda",
392
+ "warranty_claims.form.lines.empty.title": "Aún no hay líneas de reclamo",
393
+ "warranty_claims.form.lines.error.maxLines": "Un reclamo admite como máximo {max} líneas. Elimina algunas líneas o selecciona menos.",
394
+ "warranty_claims.form.lines.error.qtyPositive": "La cantidad reclamada debe ser mayor que cero.",
395
+ "warranty_claims.form.lines.error.required": "Agrega al menos una línea de reclamo.",
396
+ "warranty_claims.form.lines.lineLabel": "Línea {number}",
397
+ "warranty_claims.form.lines.remove": "Eliminar línea",
398
+ "warranty_claims.form.lines.search": "Buscar por producto, SKU o número de serie",
399
+ "warranty_claims.form.lines.unnamed": "Línea sin nombre",
400
+ "warranty_claims.form.lotNumber": "Número de lote",
401
+ "warranty_claims.form.notes": "Notas",
402
+ "warranty_claims.form.orderId": "Pedido",
403
+ "warranty_claims.form.orderId.noAccess": "No tienes acceso a los pedidos",
404
+ "warranty_claims.form.orderId.placeholder": "Buscar pedidos",
405
+ "warranty_claims.form.orderLineId": "Línea de pedido",
406
+ "warranty_claims.form.orderUnavailable": "Pedido no disponible",
407
+ "warranty_claims.form.priority": "Prioridad",
408
+ "warranty_claims.form.productId": "Producto",
409
+ "warranty_claims.form.productLookup": "Producto del catálogo",
410
+ "warranty_claims.form.productLookup.clear": "Quitar producto",
411
+ "warranty_claims.form.productLookup.search": "Buscar producto",
412
+ "warranty_claims.form.productName": "Nombre del producto",
413
+ "warranty_claims.form.productUnknown": "Producto desconocido",
414
+ "warranty_claims.form.purchaseDate": "Fecha de compra",
415
+ "warranty_claims.form.qtyApproved": "Cantidad aprobada",
416
+ "warranty_claims.form.qtyClaimed": "Cantidad reclamada",
417
+ "warranty_claims.form.qtyReceived": "Cantidad recibida",
418
+ "warranty_claims.form.reasonCode": "Motivo",
419
+ "warranty_claims.form.rejectionReasonCode": "Motivo de rechazo",
420
+ "warranty_claims.form.replacementOrderId": "Pedido de reemplazo",
421
+ "warranty_claims.form.resolutionSummary": "Resumen de resolución",
422
+ "warranty_claims.form.restockingFee": "Cargo por reposición",
423
+ "warranty_claims.form.returnUnavailable": "Devolución no disponible",
424
+ "warranty_claims.form.salesReturnId": "Devolución de venta",
425
+ "warranty_claims.form.salesReturnId.noOrder": "Vincule la reclamación a un pedido primero para seleccionar una devolución.",
426
+ "warranty_claims.form.serialNumber": "Número de serie",
427
+ "warranty_claims.form.sku": "SKU",
428
+ "warranty_claims.form.sourceClaimId": "Reclamo de origen",
429
+ "warranty_claims.form.submit": "Guardar",
430
+ "warranty_claims.form.troubleshooting.loading": "Cargando guía...",
431
+ "warranty_claims.form.troubleshooting.title": "Solución guiada de problemas",
432
+ "warranty_claims.form.variantLookup": "Variante",
433
+ "warranty_claims.form.variantLookup.search": "Buscar variante",
434
+ "warranty_claims.form.vendorClaimLineId": "Línea de reclamo del proveedor",
435
+ "warranty_claims.form.vendorName": "Nombre del proveedor",
436
+ "warranty_claims.form.vendorRef": "Referencia del proveedor",
437
+ "warranty_claims.form.warrantyExpiresAt": "La garantía vence el",
438
+ "warranty_claims.form.warrantyMonths": "Meses de garantía",
439
+ "warranty_claims.form.warrantyStatus": "Estado de garantía",
440
+ "warranty_claims.kpi.approvalRate": "Tasa de aprobación",
441
+ "warranty_claims.kpi.approvalRate.approved": "{count} reclamos aprobados",
442
+ "warranty_claims.kpi.assignedToMe": "Asignados a mí",
443
+ "warranty_claims.kpi.assignedToMe.description": "Reclamos abiertos",
444
+ "warranty_claims.kpi.avgResolution.resolved": "{count} reclamos resueltos",
445
+ "warranty_claims.kpi.avgResolutionDays": "Resolución media",
446
+ "warranty_claims.kpi.daysShort": "{count} d",
447
+ "warranty_claims.kpi.last30d": "Últimos 30 días",
448
+ "warranty_claims.kpi.loading": "Cargando KPI de reclamos",
449
+ "warranty_claims.kpi.openClaims": "Reclamos abiertos",
450
+ "warranty_claims.kpi.openClaims.attention": "{count} requieren atención",
451
+ "warranty_claims.kpi.openClaims.description": "Cola activa",
452
+ "warranty_claims.kpi.overdue": "Vencidos",
453
+ "warranty_claims.kpi.overdue.description": "Requiere atención",
454
+ "warranty_claims.kpi.recovered": "Recuperado",
455
+ "warranty_claims.kpi.recovered.description": "De proveedores",
456
+ "warranty_claims.kpi.recovered.moreCurrencies": "Últimos 30 días — la mayor de {count} monedas",
457
+ "warranty_claims.kpi.slaCompliance": "Cumplimiento del SLA",
458
+ "warranty_claims.kpi.slaCompliance.description": "Dentro del plazo objetivo",
459
+ "warranty_claims.kpi.slaCompliance.overdue": "{count} vencidos",
460
+ "warranty_claims.lineStatus.approved": "Aprobada",
461
+ "warranty_claims.lineStatus.inspected": "Inspeccionada",
462
+ "warranty_claims.lineStatus.pending": "Pendiente",
463
+ "warranty_claims.lineStatus.received": "Recibida",
464
+ "warranty_claims.lineStatus.rejected": "Rechazada",
465
+ "warranty_claims.lineStatus.resolved": "Resuelta",
466
+ "warranty_claims.lines.header.qtyApproved": "Cant. aprobada",
467
+ "warranty_claims.lines.header.qtyClaimed": "Cant. reclamada",
468
+ "warranty_claims.lines.header.qtyReceived": "Cant. recibida",
469
+ "warranty_claims.list.actions.assign": "Asignar",
470
+ "warranty_claims.list.actions.assignToMe": "Asignarme",
471
+ "warranty_claims.list.actions.cancel": "Cancelar reclamo",
472
+ "warranty_claims.list.actions.new": "Nuevo reclamo",
473
+ "warranty_claims.list.actions.open": "Abrir",
474
+ "warranty_claims.list.actions.openInNewTab": "Abrir en una pestaña nueva",
475
+ "warranty_claims.list.actions.refresh": "Actualizar",
476
+ "warranty_claims.list.actions.startReview": "Iniciar revisión",
477
+ "warranty_claims.list.assignee.unknownUser": "Usuario desconocido",
478
+ "warranty_claims.list.badge.customerReplied": "Cliente respondió",
479
+ "warranty_claims.list.column.assignee": "Responsable",
480
+ "warranty_claims.list.column.channel": "Canal",
481
+ "warranty_claims.list.column.claimNumber": "N.º de reclamo",
482
+ "warranty_claims.list.column.claimType": "Tipo",
483
+ "warranty_claims.list.column.customer": "Cliente",
484
+ "warranty_claims.list.column.order": "Pedido",
485
+ "warranty_claims.list.column.priority": "Prioridad",
486
+ "warranty_claims.list.column.slaDueAt": "Vencimiento SLA",
487
+ "warranty_claims.list.column.status": "Estado",
488
+ "warranty_claims.list.column.updatedAt": "Actualizado",
489
+ "warranty_claims.list.empty.description": "Los reclamos creados por el personal o los clientes aparecerán aquí.",
490
+ "warranty_claims.list.empty.title": "Aún no hay reclamos",
491
+ "warranty_claims.list.error.action": "No se pudo actualizar el reclamo.",
492
+ "warranty_claims.list.error.load": "No se pudieron cargar los reclamos de garantía.",
493
+ "warranty_claims.list.filter.assignee": "Responsable",
494
+ "warranty_claims.list.filter.channel": "Canal",
495
+ "warranty_claims.list.filter.claimType": "Tipo de reclamo",
496
+ "warranty_claims.list.filter.createdBetween": "Creado entre",
497
+ "warranty_claims.list.filter.customer": "Cliente",
498
+ "warranty_claims.list.filter.order": "Pedido",
499
+ "warranty_claims.list.filter.overdueOnly": "Solo vencidos",
500
+ "warranty_claims.list.filter.priority": "Prioridad",
501
+ "warranty_claims.list.filter.slaAtRiskOnly": "Solo SLA en riesgo",
502
+ "warranty_claims.list.filter.status": "Estado",
503
+ "warranty_claims.list.filter.submittedBetween": "Enviado entre",
504
+ "warranty_claims.list.flash.assigned": "Reclamo asignado.",
505
+ "warranty_claims.list.flash.cancelled": "Reclamo cancelado.",
506
+ "warranty_claims.list.flash.reviewStarted": "Revisión iniciada.",
507
+ "warranty_claims.list.quickFilters.approvedGoodsFlow": "Aprobados + flujo de mercancía",
508
+ "warranty_claims.list.quickFilters.customerReplied": "Cliente respondió",
509
+ "warranty_claims.list.quickFilters.inReview": "En revisión",
510
+ "warranty_claims.list.quickFilters.infoRequested": "Información solicitada",
511
+ "warranty_claims.list.quickFilters.label": "Filtros de cola de reclamos",
512
+ "warranty_claims.list.quickFilters.myClaims": "Mis reclamos",
513
+ "warranty_claims.list.quickFilters.overdue": "Vencidos",
514
+ "warranty_claims.list.quickFilters.slaAtRisk": "SLA en riesgo",
515
+ "warranty_claims.list.quickFilters.submitted": "Enviados",
516
+ "warranty_claims.list.searchPlaceholder": "Buscar por n.º de reclamo, cliente, pedido, número de serie o SKU",
517
+ "warranty_claims.list.tabs.all": "Todos",
518
+ "warranty_claims.list.tabs.goodsFlow": "Flujo de mercancía",
519
+ "warranty_claims.list.tabs.needsAttention": "Requieren atención",
520
+ "warranty_claims.list.tabs.resolved": "Resueltos",
521
+ "warranty_claims.list.title": "Reclamos de garantía",
522
+ "warranty_claims.list.unnumbered": "Reclamo sin número",
523
+ "warranty_claims.list.viewOrder": "Ver pedido",
524
+ "warranty_claims.nav.claims": "Reclamos",
525
+ "warranty_claims.nav.group": "Reclamos de garantía",
526
+ "warranty_claims.nav.settings": "Configuración de garantía",
527
+ "warranty_claims.notifications.assigned.body": "Se asignó un reclamo de garantía.",
528
+ "warranty_claims.notifications.assigned.title": "Reclamo asignado",
529
+ "warranty_claims.notifications.customerReplied.body": "El cliente respondió al reclamo {claimNumber}.",
530
+ "warranty_claims.notifications.customerReplied.title": "El cliente respondió al reclamo",
531
+ "warranty_claims.notifications.escalated.body": "Un reclamo de garantía alcanzó un umbral de escalamiento.",
532
+ "warranty_claims.notifications.escalated.title": "Reclamo escalado",
533
+ "warranty_claims.notifications.statusChanged.body": "Cambió el estado de un reclamo de garantía.",
534
+ "warranty_claims.notifications.statusChanged.title": "Estado del reclamo cambiado",
535
+ "warranty_claims.notifications.submitted.body": "Se envió un reclamo de garantía para revisión.",
536
+ "warranty_claims.notifications.submitted.title": "Reclamo enviado",
537
+ "warranty_claims.portal.actionNeeded": "Acción requerida",
538
+ "warranty_claims.portal.commentPlaceholder": "Agregar un comentario",
539
+ "warranty_claims.portal.detail.actionConflict": "Este reclamo cambió mientras tanto. Se ha recargado; inténtalo de nuevo.",
540
+ "warranty_claims.portal.detail.actionNeededDescription": "El equipo de revisión necesita más información. Usa el cuadro de comentarios de abajo para responder.",
541
+ "warranty_claims.portal.detail.attachmentChooseReplacement": "Elegir archivo de reemplazo",
542
+ "warranty_claims.portal.detail.attachmentDelete": "Eliminar adjunto",
543
+ "warranty_claims.portal.detail.attachmentDeleteConfirm": "¿Eliminar \"{name}\"? Esta acción no se puede deshacer.",
544
+ "warranty_claims.portal.detail.attachmentDeleteError": "No se pudo eliminar el adjunto.",
545
+ "warranty_claims.portal.detail.attachmentDeleteNamed": "Eliminar {name}",
546
+ "warranty_claims.portal.detail.attachmentDeleteSuccess": "Adjunto eliminado.",
547
+ "warranty_claims.portal.detail.attachmentError": "La carga del adjunto falló.",
548
+ "warranty_claims.portal.detail.attachmentReplace": "Reemplazar",
549
+ "warranty_claims.portal.detail.attachmentReplaceError": "No se pudo reemplazar el adjunto.",
550
+ "warranty_claims.portal.detail.attachmentReplaceNamed": "Reemplazar {name}",
551
+ "warranty_claims.portal.detail.attachmentReplaceSuccess": "Adjunto reemplazado.",
552
+ "warranty_claims.portal.detail.attachmentSuccess": "Adjunto cargado.",
553
+ "warranty_claims.portal.detail.attachmentsEmpty.description": "Carga fotos, recibos u otros archivos que ayuden al equipo de revisión a evaluar este reclamo.",
554
+ "warranty_claims.portal.detail.attachmentsEmpty.title": "Aún no hay adjuntos",
555
+ "warranty_claims.portal.detail.attachmentsTitle": "Adjuntos",
556
+ "warranty_claims.portal.detail.back": "Volver a reclamos",
557
+ "warranty_claims.portal.detail.blocked": "Actualización del reclamo bloqueada por validación.",
558
+ "warranty_claims.portal.detail.chooseFile": "Elegir archivo",
559
+ "warranty_claims.portal.detail.claimNumber": "Número de reclamo",
560
+ "warranty_claims.portal.detail.closedAt": "Cerrado",
561
+ "warranty_claims.portal.detail.commentError": "No se pudo publicar el comentario.",
562
+ "warranty_claims.portal.detail.commentSuccess": "Comentario publicado.",
563
+ "warranty_claims.portal.detail.commentTitle": "Comentario del cliente",
564
+ "warranty_claims.portal.detail.completedStatus": "Completado",
565
+ "warranty_claims.portal.detail.createdAt": "Creado",
566
+ "warranty_claims.portal.detail.currentStatus": "Actual",
567
+ "warranty_claims.portal.detail.description": "Haz seguimiento del estado, mensajes, líneas de reclamo y adjuntos de este reclamo.",
568
+ "warranty_claims.portal.detail.dialogCancel": "Cancelar",
569
+ "warranty_claims.portal.detail.fileRequired": "Elige un archivo antes de cargarlo.",
570
+ "warranty_claims.portal.detail.goToComment": "Ir al cuadro de comentarios",
571
+ "warranty_claims.portal.detail.lines": "Líneas del reclamo",
572
+ "warranty_claims.portal.detail.linesEmpty.description": "Las líneas de reclamo aparecerán aquí cuando se complete la recepción del reclamo.",
573
+ "warranty_claims.portal.detail.linesEmpty.title": "No hay líneas de reclamo",
574
+ "warranty_claims.portal.detail.linesTitle": "Resumen de líneas",
575
+ "warranty_claims.portal.detail.loadError": "No se pudieron cargar los detalles del reclamo.",
576
+ "warranty_claims.portal.detail.loading": "Cargando detalles del reclamo...",
577
+ "warranty_claims.portal.detail.noFileSelected": "No se seleccionó ningún archivo.",
578
+ "warranty_claims.portal.detail.notFoundDescription": "Es posible que este reclamo se haya eliminado o pertenezca a otra cuenta de cliente.",
579
+ "warranty_claims.portal.detail.notFoundTitle": "Reclamo no encontrado",
580
+ "warranty_claims.portal.detail.notSubmitted": "Este reclamo aún no se ha enviado.",
581
+ "warranty_claims.portal.detail.openAttachment": "Abrir",
582
+ "warranty_claims.portal.detail.order": "Pedido",
583
+ "warranty_claims.portal.detail.pendingStatus": "Pendiente",
584
+ "warranty_claims.portal.detail.resolvedAt": "Resuelto",
585
+ "warranty_claims.portal.detail.selectedFile": "Seleccionado: {name}",
586
+ "warranty_claims.portal.detail.sendComment": "Enviar comentario",
587
+ "warranty_claims.portal.detail.sendingComment": "Enviando...",
588
+ "warranty_claims.portal.detail.status": "Estado",
589
+ "warranty_claims.portal.detail.statusProgress": "Progreso del estado",
590
+ "warranty_claims.portal.detail.submitConfirm": "Enviar reclamo",
591
+ "warranty_claims.portal.detail.submitDialog.description": "Tu reclamo se enviará a nuestro equipo de soporte para su revisión. Después podrás seguir añadiendo comentarios y fotos.",
592
+ "warranty_claims.portal.detail.submitDialog.title": "¿Enviar este reclamo?",
593
+ "warranty_claims.portal.detail.submitError": "No se pudo enviar el reclamo.",
594
+ "warranty_claims.portal.detail.submitSuccess": "Tu reclamo ha sido enviado.",
595
+ "warranty_claims.portal.detail.submittedAt": "Enviado",
596
+ "warranty_claims.portal.detail.submitting": "Enviando...",
597
+ "warranty_claims.portal.detail.terminal.cancelled": "Este reclamo fue cancelado y no se espera ninguna otra acción.",
598
+ "warranty_claims.portal.detail.terminal.rejected": "Este reclamo fue rechazado. Las actualizaciones visibles para el cliente siguen disponibles en la cronología.",
599
+ "warranty_claims.portal.detail.timeline": "Cronología",
600
+ "warranty_claims.portal.detail.timelineEmpty.description": "Las actualizaciones y comentarios visibles para el cliente aparecerán aquí.",
601
+ "warranty_claims.portal.detail.timelineEmpty.title": "Aún no hay entradas en la cronología",
602
+ "warranty_claims.portal.detail.timelineTitle": "Cronología visible para el cliente",
603
+ "warranty_claims.portal.detail.title": "Detalle del reclamo",
604
+ "warranty_claims.portal.detail.updatedAt": "Actualizado",
605
+ "warranty_claims.portal.detail.upload": "Cargar",
606
+ "warranty_claims.portal.detail.uploading": "Cargando...",
607
+ "warranty_claims.portal.detail.withdraw": "Retirar reclamo",
608
+ "warranty_claims.portal.detail.withdrawConfirm": "Retirar reclamo",
609
+ "warranty_claims.portal.detail.withdrawDialog.description": "El reclamo se cancelará y no podrá reabrirse. Esta acción no se puede deshacer.",
610
+ "warranty_claims.portal.detail.withdrawDialog.title": "¿Retirar este reclamo?",
611
+ "warranty_claims.portal.detail.withdrawError": "No se pudo retirar el reclamo.",
612
+ "warranty_claims.portal.detail.withdrawHint": "¿Ya no necesitas este reclamo? Puedes retirarlo mientras sea un borrador o esté pendiente de revisión.",
613
+ "warranty_claims.portal.detail.withdrawSuccess": "Tu reclamo ha sido retirado.",
614
+ "warranty_claims.portal.detail.withdrawing": "Retirando...",
615
+ "warranty_claims.portal.empty.description": "Envía un reclamo de garantía o devolución y haz seguimiento de su progreso aquí.",
616
+ "warranty_claims.portal.empty.title": "Aún no hay reclamos",
617
+ "warranty_claims.portal.entitlement.inWarranty": "En garantía",
618
+ "warranty_claims.portal.entitlement.outOfWarranty": "Fuera de garantía",
619
+ "warranty_claims.portal.error.loadList": "No se pudieron cargar los reclamos.",
620
+ "warranty_claims.portal.event.assignment": "Actualización de asignación",
621
+ "warranty_claims.portal.event.comment": "Comentario",
622
+ "warranty_claims.portal.event.noDetails": "Sin detalles adicionales.",
623
+ "warranty_claims.portal.event.status_changed": "Actualización de estado",
624
+ "warranty_claims.portal.event.system": "Actualización del sistema",
625
+ "warranty_claims.portal.event.transition": "Estado cambiado de {from} a {to}.",
626
+ "warranty_claims.portal.file.bytes": "{size} B",
627
+ "warranty_claims.portal.file.kilobytes": "{size} KB",
628
+ "warranty_claims.portal.file.megabytes": "{size} MB",
629
+ "warranty_claims.portal.list.column.claim": "Reclamo",
630
+ "warranty_claims.portal.list.column.createdAt": "Creado",
631
+ "warranty_claims.portal.list.column.submittedAt": "Enviado",
632
+ "warranty_claims.portal.list.description": "Revisa tus reclamos de garantía y devolución enviados.",
633
+ "warranty_claims.portal.list.searchPlaceholder": "Buscar por número de reclamo o pedido",
634
+ "warranty_claims.portal.list.tabs.all": "Todos",
635
+ "warranty_claims.portal.list.tabs.label": "Estado del reclamo",
636
+ "warranty_claims.portal.list.tabs.open": "Abiertos",
637
+ "warranty_claims.portal.list.tabs.resolved": "Resueltos",
638
+ "warranty_claims.portal.listTitle": "Mis reclamos",
639
+ "warranty_claims.portal.nav": "Reclamos",
640
+ "warranty_claims.portal.new.addLine": "Agregar línea",
641
+ "warranty_claims.portal.new.addSelectedItems": "Añadir artículos seleccionados",
642
+ "warranty_claims.portal.new.attachmentRejected": "{name}: {reason}",
643
+ "warranty_claims.portal.new.attachmentsHelp": "Opcional. Las fotos del fallo nos ayudan a revisar tu reclamo más rápido. Los archivos se suben al enviar el reclamo.",
644
+ "warranty_claims.portal.new.attachmentsPartialFailure": "Tu reclamo se creó, pero estos archivos no se pudieron subir: {files}. Puedes añadirlos de nuevo desde la página del reclamo.",
645
+ "warranty_claims.portal.new.attachmentsTitle": "Fotos y documentos",
646
+ "warranty_claims.portal.new.back": "Volver a reclamos",
647
+ "warranty_claims.portal.new.blocked": "Envío del reclamo bloqueado por validación.",
648
+ "warranty_claims.portal.new.cancel": "Cancelar",
649
+ "warranty_claims.portal.new.description": "Envía un reclamo de garantía o devolución para revisión.",
650
+ "warranty_claims.portal.new.detailsDescription": "Elige un motivo y agrega notas para el equipo de revisión.",
651
+ "warranty_claims.portal.new.detailsTitle": "Detalles del reclamo",
652
+ "warranty_claims.portal.new.duplicateWarning": "Ya tienes un reclamo con este número de serie: {claimNumbers}",
653
+ "warranty_claims.portal.new.error": "No se pudo enviar el reclamo.",
654
+ "warranty_claims.portal.new.faultCodeChoose": "Elige un código de falla...",
655
+ "warranty_claims.portal.new.lineLabel": "Línea {number}",
656
+ "warranty_claims.portal.new.linesDescription": "Agrega uno o más productos, números de serie, cantidades y detalles de falla.",
657
+ "warranty_claims.portal.new.linesTitle": "Líneas de reclamo",
658
+ "warranty_claims.portal.new.nextStep": "Siguiente",
659
+ "warranty_claims.portal.new.noOrder": "Sin pedido",
660
+ "warranty_claims.portal.new.noOrderDescription": "Continuar sin vincular este reclamo a un pedido.",
661
+ "warranty_claims.portal.new.orderDescription": "Agrega una referencia de pedido opcional y el código de motivo de este reclamo.",
662
+ "warranty_claims.portal.new.orderLinesTitle": "Selecciona productos de este pedido",
663
+ "warranty_claims.portal.new.orderNotListed": "Mi pedido no aparece",
664
+ "warranty_claims.portal.new.orderNotListedDescription": "Introduce una referencia de pedido manualmente.",
665
+ "warranty_claims.portal.new.orderReference": "Referencia de pedido",
666
+ "warranty_claims.portal.new.orderReferenceHelp": "Usa el ID del pedido cuando esté disponible.",
667
+ "warranty_claims.portal.new.orderSearch": "Buscar pedidos",
668
+ "warranty_claims.portal.new.orderSearchPlaceholder": "Buscar por número de pedido",
669
+ "warranty_claims.portal.new.orderTitle": "Referencia de pedido",
670
+ "warranty_claims.portal.new.previousStep": "Atrás",
671
+ "warranty_claims.portal.new.productOrSku": "Producto o SKU",
672
+ "warranty_claims.portal.new.qtyToClaim": "Cantidad a reclamar",
673
+ "warranty_claims.portal.new.reasonChoose": "Elige un motivo...",
674
+ "warranty_claims.portal.new.removeAttachment": "Quitar archivo",
675
+ "warranty_claims.portal.new.removeLine": "Eliminar línea",
676
+ "warranty_claims.portal.new.reviewAttachments": "Adjuntos",
677
+ "warranty_claims.portal.new.reviewDescription": "Agrega notas y revisa el reclamo antes de enviarlo.",
678
+ "warranty_claims.portal.new.reviewLines": "Líneas",
679
+ "warranty_claims.portal.new.reviewNotes": "Notas",
680
+ "warranty_claims.portal.new.reviewOrder": "Referencia de pedido",
681
+ "warranty_claims.portal.new.reviewTitle": "Notas y revisión",
682
+ "warranty_claims.portal.new.submitHint": "Usa Cmd/Ctrl+Enter para enviar el reclamo desde este formulario.",
683
+ "warranty_claims.portal.new.submitting": "Enviando...",
684
+ "warranty_claims.portal.new.success": "Reclamo enviado.",
685
+ "warranty_claims.portal.new.summaryTitle": "Resumen de revisión",
686
+ "warranty_claims.portal.new.title": "Nuevo reclamo",
687
+ "warranty_claims.portal.newClaim": "Nuevo reclamo",
688
+ "warranty_claims.portal.submit": "Enviar reclamo",
689
+ "warranty_claims.portal.tracker.activity": "Actividad",
690
+ "warranty_claims.portal.tracker.attachFiles": "Adjuntar archivos",
691
+ "warranty_claims.portal.tracker.banner.approved": "Buenas noticias: tu reclamación ha sido aprobada. En breve te enviaremos los próximos pasos.",
692
+ "warranty_claims.portal.tracker.banner.awaitingReturn": "Envíanos los artículos de vuelta. Si es necesario, te enviaremos una etiqueta de devolución prepagada.",
693
+ "warranty_claims.portal.tracker.banner.draft": "Esta reclamación es un borrador. Envíala cuando estés listo para que nuestro equipo la revise.",
694
+ "warranty_claims.portal.tracker.banner.goodsFlow": "Hemos recibido tus artículos y los estamos inspeccionando. Pronto tendrás noticias nuestras.",
695
+ "warranty_claims.portal.tracker.banner.infoRequested": "Necesitamos más información. Responde en el cuadro de mensaje de abajo.",
696
+ "warranty_claims.portal.tracker.banner.resolved": "Tu reclamación se ha resuelto. Gracias por tu paciencia.",
697
+ "warranty_claims.portal.tracker.banner.review": "Estamos revisando tu reclamación. Pronto tendrás noticias nuestras. Por ahora no necesitas hacer nada.",
698
+ "warranty_claims.portal.tracker.draftCreated": "Creada el {date} — aún sin enviar",
699
+ "warranty_claims.portal.tracker.event.attachmentAdded": "Añadiste un archivo adjunto",
700
+ "warranty_claims.portal.tracker.event.teamReplied": "Nuestro equipo respondió",
701
+ "warranty_claims.portal.tracker.event.youReplied": "Respondiste",
702
+ "warranty_claims.portal.tracker.itemMeta": "{sku}, cant. {qty}",
703
+ "warranty_claims.portal.tracker.itemQty": "Cant. {qty}",
704
+ "warranty_claims.portal.tracker.items": "Tus artículos",
705
+ "warranty_claims.portal.tracker.message": "Escribir a soporte",
706
+ "warranty_claims.portal.tracker.messagePlaceholder": "Escribe un mensaje a nuestro equipo de soporte…",
707
+ "warranty_claims.portal.tracker.send": "Enviar",
708
+ "warranty_claims.portal.tracker.sending": "Enviando…",
709
+ "warranty_claims.portal.tracker.step.decision.description": "Recibirás una decisión de sustitución, reparación o reembolso.",
710
+ "warranty_claims.portal.tracker.step.decision.title": "Decisión",
711
+ "warranty_claims.portal.tracker.step.now": "Ahora",
712
+ "warranty_claims.portal.tracker.step.received.description": "Confirmamos tu reclamación y avisamos a la tienda.",
713
+ "warranty_claims.portal.tracker.step.received.title": "Reclamación recibida",
714
+ "warranty_claims.portal.tracker.step.resolved.description": "Sustitución enviada o reembolso emitido.",
715
+ "warranty_claims.portal.tracker.step.resolved.title": "Resuelta",
716
+ "warranty_claims.portal.tracker.step.return.description": "Si es necesario, te enviaremos una etiqueta de devolución prepagada.",
717
+ "warranty_claims.portal.tracker.step.return.title": "Devolver los artículos",
718
+ "warranty_claims.portal.tracker.step.review.description": "Nuestro equipo está comprobando tus artículos y la cobertura de la garantía.",
719
+ "warranty_claims.portal.tracker.step.review.title": "En revisión",
720
+ "warranty_claims.portal.tracker.submittedFromOrder": "Enviada el {date} desde tu pedido {order}",
721
+ "warranty_claims.portal.tracker.submittedOn": "Enviada el {date}",
722
+ "warranty_claims.portal.tracker.titleFallback": "Reclamación de {type}",
723
+ "warranty_claims.portal.tracker.titleWithReason": "{reason}, reclamación de {type}",
724
+ "warranty_claims.portal.validation.faultDescriptionRequired": "La descripción de la falla es obligatoria para cada línea.",
725
+ "warranty_claims.portal.validation.lineRequired": "Agrega al menos una línea de reclamo.",
726
+ "warranty_claims.portal.validation.qtyPositive": "La cantidad reclamada debe ser mayor que cero.",
727
+ "warranty_claims.portal.validation.reasonRequired": "El código de motivo es obligatorio.",
728
+ "warranty_claims.portal.value.no": "No",
729
+ "warranty_claims.portal.value.noSerial": "Sin número de serie",
730
+ "warranty_claims.portal.value.notAvailable": "No disponible",
731
+ "warranty_claims.portal.value.unnamedLine": "Línea de reclamo",
732
+ "warranty_claims.portal.value.yes": "Sí",
733
+ "warranty_claims.portal.wizard.attachments": "Adjuntos",
734
+ "warranty_claims.portal.wizard.details": "Detalles",
735
+ "warranty_claims.portal.wizard.fault": "Detalles de la falla",
736
+ "warranty_claims.portal.wizard.items": "Artículos",
737
+ "warranty_claims.portal.wizard.order": "Pedido",
738
+ "warranty_claims.portal.wizard.review": "Revisar",
739
+ "warranty_claims.portal.wizard.reviewSubmit": "Revisar y enviar",
740
+ "warranty_claims.priority.high": "Alta",
741
+ "warranty_claims.priority.low": "Baja",
742
+ "warranty_claims.priority.normal": "Normal",
743
+ "warranty_claims.priority.urgent": "Urgente",
744
+ "warranty_claims.reasonOption.core-exchange": "Intercambio de núcleo",
745
+ "warranty_claims.reasonOption.customer-remorse": "Arrepentimiento del cliente",
746
+ "warranty_claims.reasonOption.vendor-recall": "Retirada por proveedor",
747
+ "warranty_claims.reasonOption.warranty-defect": "Defecto de garantía",
748
+ "warranty_claims.reasonOption.wrong-order": "Pedido incorrecto",
749
+ "warranty_claims.receiving.actions.grade": "Calificar / recibir",
750
+ "warranty_claims.receiving.actions.release": "Liberar",
751
+ "warranty_claims.receiving.description": "Captura grados de condición recibida y estado de cuarentena por línea.",
752
+ "warranty_claims.receiving.dialog.title": "Calificar línea recibida",
753
+ "warranty_claims.receiving.error.save": "No se pudieron guardar los detalles de recepción.",
754
+ "warranty_claims.receiving.fields.conditionGrade": "Grado de condición",
755
+ "warranty_claims.receiving.fields.inspectionNotes": "Notas de inspección",
756
+ "warranty_claims.receiving.flash.released": "Línea liberada de cuarentena.",
757
+ "warranty_claims.receiving.flash.saved": "Detalles de recepción guardados.",
758
+ "warranty_claims.receiving.grade.A": "Grado A",
759
+ "warranty_claims.receiving.grade.B": "Grado B",
760
+ "warranty_claims.receiving.grade.C": "Grado C",
761
+ "warranty_claims.receiving.grade.D": "Grado D",
762
+ "warranty_claims.receiving.grade.none": "Sin grado",
763
+ "warranty_claims.receiving.quarantine.held": "Retenido",
764
+ "warranty_claims.receiving.quarantine.none": "Sin cuarentena",
765
+ "warranty_claims.receiving.quarantine.released": "Liberado",
766
+ "warranty_claims.receiving.readOnly": "Solo lectura",
767
+ "warranty_claims.receiving.title": "Recepción y calificación",
768
+ "warranty_claims.registrations.bulk.delete": "Eliminar seleccionados",
769
+ "warranty_claims.registrations.bulk.deleteTitle": "¿Eliminar los registros de garantía seleccionados?",
770
+ "warranty_claims.registrations.confirm.deleteTitle": "¿Eliminar este registro de garantía?",
771
+ "warranty_claims.registrations.coverageType.extended": "Extendida",
772
+ "warranty_claims.registrations.coverageType.none": "Sin cobertura",
773
+ "warranty_claims.registrations.coverageType.standard": "Estándar",
774
+ "warranty_claims.registrations.create.error.save": "No se pudo crear el registro de garantía.",
775
+ "warranty_claims.registrations.create.success": "Registro de garantía creado.",
776
+ "warranty_claims.registrations.create.title": "Nuevo registro de garantía",
777
+ "warranty_claims.registrations.edit.deleted": "Registro de garantía eliminado.",
778
+ "warranty_claims.registrations.edit.error.delete": "No se pudo eliminar el registro de garantía.",
779
+ "warranty_claims.registrations.edit.error.load": "No se pudo cargar el registro de garantía.",
780
+ "warranty_claims.registrations.edit.error.save": "No se pudo guardar el registro de garantía.",
781
+ "warranty_claims.registrations.edit.loading": "Cargando registro de garantía...",
782
+ "warranty_claims.registrations.edit.notFound": "Registro de garantía no encontrado.",
783
+ "warranty_claims.registrations.edit.success": "Registro de garantía guardado.",
784
+ "warranty_claims.registrations.edit.title": "Editar registro de garantía",
785
+ "warranty_claims.registrations.form.coverageType": "Tipo de cobertura",
786
+ "warranty_claims.registrations.form.customerId": "Cliente",
787
+ "warranty_claims.registrations.form.customerId.placeholder": "Buscar clientes",
788
+ "warranty_claims.registrations.form.group.coverage": "Cobertura",
789
+ "warranty_claims.registrations.form.group.notes": "Notas",
790
+ "warranty_claims.registrations.form.group.ownership": "Propiedad",
791
+ "warranty_claims.registrations.form.group.product": "Producto",
792
+ "warranty_claims.registrations.form.notes": "Notas",
793
+ "warranty_claims.registrations.form.orderId": "Pedido",
794
+ "warranty_claims.registrations.form.orderId.placeholder": "Buscar pedidos",
795
+ "warranty_claims.registrations.form.productName": "Nombre del producto",
796
+ "warranty_claims.registrations.form.purchaseDate": "Fecha de compra",
797
+ "warranty_claims.registrations.form.serialNumber": "Número de serie",
798
+ "warranty_claims.registrations.form.sku": "SKU",
799
+ "warranty_claims.registrations.form.source": "Fuente",
800
+ "warranty_claims.registrations.form.submit.create": "Crear registro",
801
+ "warranty_claims.registrations.form.submit.update": "Guardar registro",
802
+ "warranty_claims.registrations.form.warrantyMonths": "Meses de garantía",
803
+ "warranty_claims.registrations.list.actions.add": "Añadir registro",
804
+ "warranty_claims.registrations.list.actions.delete": "Eliminar",
805
+ "warranty_claims.registrations.list.actions.edit": "Editar",
806
+ "warranty_claims.registrations.list.actions.new": "Nuevo registro",
807
+ "warranty_claims.registrations.list.actions.refresh": "Actualizar",
808
+ "warranty_claims.registrations.list.column.coverage": "Cobertura",
809
+ "warranty_claims.registrations.list.column.customer": "Cliente",
810
+ "warranty_claims.registrations.list.column.product": "Producto",
811
+ "warranty_claims.registrations.list.column.serial": "Serie",
812
+ "warranty_claims.registrations.list.column.source": "Fuente",
813
+ "warranty_claims.registrations.list.column.updated": "Actualizado",
814
+ "warranty_claims.registrations.list.column.warrantyExpiry": "Vencimiento de garantía",
815
+ "warranty_claims.registrations.list.empty.description": "Crea un registro para resolver la cobertura de garantía por número de serie.",
816
+ "warranty_claims.registrations.list.empty.title": "Aún no hay registros de garantía",
817
+ "warranty_claims.registrations.list.error.blocked": "Guardado bloqueado por validación.",
818
+ "warranty_claims.registrations.list.error.delete": "No se pudo eliminar el registro de garantía.",
819
+ "warranty_claims.registrations.list.error.load": "No se pudieron cargar los registros de garantía.",
820
+ "warranty_claims.registrations.list.expiry.active": "Activa",
821
+ "warranty_claims.registrations.list.expiry.expired": "Vencida",
822
+ "warranty_claims.registrations.list.expiry.expiringSoon": "Vence en 30 días",
823
+ "warranty_claims.registrations.list.filter.coverageType": "Cobertura",
824
+ "warranty_claims.registrations.list.filter.expiry": "Vencimiento de garantía",
825
+ "warranty_claims.registrations.list.filter.source": "Origen",
826
+ "warranty_claims.registrations.list.searchPlaceholder": "Buscar serie, producto o cliente…",
827
+ "warranty_claims.registrations.list.success.delete": "Registro de garantía eliminado.",
828
+ "warranty_claims.registrations.list.tabs.all": "Todos",
829
+ "warranty_claims.registrations.list.tabs.expiring": "Vence en 30 días",
830
+ "warranty_claims.registrations.list.tabs.extended": "Extendida",
831
+ "warranty_claims.registrations.list.tabs.none": "Sin cobertura",
832
+ "warranty_claims.registrations.list.tabs.standard": "Estándar",
833
+ "warranty_claims.registrations.list.title": "Registros de garantía",
834
+ "warranty_claims.registrations.nav.title": "Registros",
835
+ "warranty_claims.registrations.source.manual": "Manual",
836
+ "warranty_claims.registrations.source.order": "Pedido",
837
+ "warranty_claims.registrations.source.thirdParty": "Tercero",
838
+ "warranty_claims.rejectionOption.duplicate-claim": "Reclamo duplicado",
839
+ "warranty_claims.rejectionOption.no-proof-of-purchase": "Sin comprobante de compra",
840
+ "warranty_claims.rejectionOption.not-our-product": "No es nuestro producto",
841
+ "warranty_claims.rejectionOption.out-of-warranty": "Fuera de garantía",
842
+ "warranty_claims.rejectionOption.physical-abuse": "Daño físico por uso indebido",
843
+ "warranty_claims.returnLabel.actions.generate": "Generar etiqueta de devolución",
844
+ "warranty_claims.returnLabel.actions.hideManual": "Ocultar entrada manual",
845
+ "warranty_claims.returnLabel.actions.manual": "Introducir manualmente",
846
+ "warranty_claims.returnLabel.actions.openLabel": "Abrir etiqueta",
847
+ "warranty_claims.returnLabel.actions.saveManual": "Guardar etiqueta de devolución",
848
+ "warranty_claims.returnLabel.description": "Genera o registra detalles de envío de devolución del cliente.",
849
+ "warranty_claims.returnLabel.error.manualRequired": "Introduce al menos un detalle de la etiqueta de devolución.",
850
+ "warranty_claims.returnLabel.error.save": "No se pudo guardar la etiqueta de devolución.",
851
+ "warranty_claims.returnLabel.fields.carrier": "Transportista",
852
+ "warranty_claims.returnLabel.fields.labelUrl": "Etiqueta",
853
+ "warranty_claims.returnLabel.fields.trackingNumber": "Número de seguimiento",
854
+ "warranty_claims.returnLabel.flash.created": "Etiqueta de devolución creada.",
855
+ "warranty_claims.returnLabel.flash.notConfigured": "No hay proveedor de etiquetas de devolución configurado. Introduce los datos de la etiqueta manualmente.",
856
+ "warranty_claims.returnLabel.flash.saved": "Detalles de etiqueta de devolución guardados.",
857
+ "warranty_claims.returnLabel.status.created": "Etiqueta registrada",
858
+ "warranty_claims.returnLabel.status.missing": "Sin etiqueta",
859
+ "warranty_claims.returnLabel.title": "Etiqueta de devolución",
860
+ "warranty_claims.risk.duplicateOrderClaim": "El pedido ya tiene {count} reclamaciones más abiertas",
861
+ "warranty_claims.risk.duplicateSerial": "El número de serie {serial} aparece en {count} reclamaciones más",
862
+ "warranty_claims.risk.outsideReturnWindow": "Enviada {days} días después del pedido — fuera del plazo de devolución de {window} días.",
863
+ "warranty_claims.risk.overQuantityClaim": "La cantidad reclamada entre las reclamaciones supera la cantidad vendida ({count} de {sold}).",
864
+ "warranty_claims.risk.repeatClaimer": "El cliente presentó {count} reclamaciones más en los últimos 90 días",
865
+ "warranty_claims.risk.valueVelocity": "El cliente reclamó {total} {currencyCode} en los últimos 90 días",
866
+ "warranty_claims.search.openClaim": "Abrir reclamo",
867
+ "warranty_claims.settings.actions.add": "Agregar entrada",
868
+ "warranty_claims.settings.actions.delete": "Eliminar",
869
+ "warranty_claims.settings.actions.edit": "Editar",
870
+ "warranty_claims.settings.actions.refresh": "Actualizar",
871
+ "warranty_claims.settings.confirm.delete": "¿Eliminar {value}?",
872
+ "warranty_claims.settings.dialog.cancel": "Cancelar",
873
+ "warranty_claims.settings.dialog.colorClear": "Quitar color",
874
+ "warranty_claims.settings.dialog.colorHelp": "Elige un color de resaltado para esta entrada.",
875
+ "warranty_claims.settings.dialog.colorLabel": "Color",
876
+ "warranty_claims.settings.dialog.createTitle": "Agregar entrada de diccionario",
877
+ "warranty_claims.settings.dialog.editTitle": "Editar entrada de diccionario",
878
+ "warranty_claims.settings.dialog.iconBrowse": "Explorar iconos y emojis",
879
+ "warranty_claims.settings.dialog.iconClear": "Quitar icono",
880
+ "warranty_claims.settings.dialog.iconLabel": "Icono",
881
+ "warranty_claims.settings.dialog.iconPlaceholder": "Escribe un emoji o elige una sugerencia.",
882
+ "warranty_claims.settings.dialog.iconSearchEmpty": "No hay iconos que coincidan con tu búsqueda.",
883
+ "warranty_claims.settings.dialog.iconSearchPlaceholder": "Buscar iconos o emojis...",
884
+ "warranty_claims.settings.dialog.iconSuggestions": "Sugerencias",
885
+ "warranty_claims.settings.dialog.labelLabel": "Etiqueta",
886
+ "warranty_claims.settings.dialog.previewEmpty": "Ninguno",
887
+ "warranty_claims.settings.dialog.save": "Guardar",
888
+ "warranty_claims.settings.dialog.valueLabel": "Valor",
889
+ "warranty_claims.settings.dictionary.claimReasons": "Motivos de reclamo",
890
+ "warranty_claims.settings.dictionary.claimReasons.description": "Configura los motivos que el personal y los clientes seleccionan durante la recepción del reclamo.",
891
+ "warranty_claims.settings.dictionary.faultCodes": "Códigos de falla",
892
+ "warranty_claims.settings.dictionary.faultCodes.description": "Configura códigos de falla reutilizables para líneas de reclamo.",
893
+ "warranty_claims.settings.dictionary.rejectionReasons": "Motivos de rechazo",
894
+ "warranty_claims.settings.dictionary.rejectionReasons.description": "Configura motivos de rechazo usados cuando se deniegan reclamos.",
895
+ "warranty_claims.settings.error.delete": "No se pudo eliminar la entrada de diccionario.",
896
+ "warranty_claims.settings.error.load": "No se pudo cargar la configuración de reclamos de garantía.",
897
+ "warranty_claims.settings.error.save": "No se pudo guardar la entrada de diccionario.",
898
+ "warranty_claims.settings.general.actions.refresh": "Actualizar",
899
+ "warranty_claims.settings.general.actions.save": "Guardar configuración",
900
+ "warranty_claims.settings.general.actions.saving": "Guardando...",
901
+ "warranty_claims.settings.general.businessHours.addHoliday": "Añadir festivo",
902
+ "warranty_claims.settings.general.businessHours.addWindow": "Añadir ventana",
903
+ "warranty_claims.settings.general.businessHours.advancedToggle": "Avanzado: editar JSON directamente",
904
+ "warranty_claims.settings.general.businessHours.closed": "Cerrado",
905
+ "warranty_claims.settings.general.businessHours.day.fri": "Viernes",
906
+ "warranty_claims.settings.general.businessHours.day.mon": "Lunes",
907
+ "warranty_claims.settings.general.businessHours.day.sat": "Sábado",
908
+ "warranty_claims.settings.general.businessHours.day.sun": "Domingo",
909
+ "warranty_claims.settings.general.businessHours.day.thu": "Jueves",
910
+ "warranty_claims.settings.general.businessHours.day.tue": "Martes",
911
+ "warranty_claims.settings.general.businessHours.day.wed": "Miércoles",
912
+ "warranty_claims.settings.general.businessHours.endLabel": "Cierra a las",
913
+ "warranty_claims.settings.general.businessHours.error.holiday": "Elige una fecha de festivo.",
914
+ "warranty_claims.settings.general.businessHours.error.rows": "Corrige las entradas de horario laboral resaltadas.",
915
+ "warranty_claims.settings.general.businessHours.error.window": "Introduce una hora de inicio anterior a la de fin.",
916
+ "warranty_claims.settings.general.businessHours.holidayDateLabel": "Fecha del festivo",
917
+ "warranty_claims.settings.general.businessHours.holidaysHelp": "Fechas que se omiten por completo al contar horas laborales del SLA.",
918
+ "warranty_claims.settings.general.businessHours.holidaysLabel": "Festivos",
919
+ "warranty_claims.settings.general.businessHours.removeHoliday": "Quitar festivo",
920
+ "warranty_claims.settings.general.businessHours.removeWindow": "Quitar ventana",
921
+ "warranty_claims.settings.general.businessHours.startLabel": "Abre a las",
922
+ "warranty_claims.settings.general.businessHours.timezoneHelp": "Zona horaria IANA en la que se evalúan las ventanas semanales. Deja vacío para UTC.",
923
+ "warranty_claims.settings.general.businessHours.timezoneLabel": "Zona horaria",
924
+ "warranty_claims.settings.general.businessHours.timezonePlaceholder": "UTC",
925
+ "warranty_claims.settings.general.description": "Configura los tiempos de SLA y los valores predeterminados de aprobación automática ligera para reclamos de garantía.",
926
+ "warranty_claims.settings.general.error.businessHoursJson": "JSON de horario laboral no válido",
927
+ "warranty_claims.settings.general.error.escalationTiersInvalid": "Corrige las filas de niveles de escalamiento resaltadas.",
928
+ "warranty_claims.settings.general.error.escalationTiersJson": "JSON de niveles de escalamiento no válido",
929
+ "warranty_claims.settings.general.error.invalid": "Revisa los límites numéricos y de moneda resaltados.",
930
+ "warranty_claims.settings.general.error.load": "No se pudo cargar la configuración general.",
931
+ "warranty_claims.settings.general.error.save": "No se pudo guardar la configuración general.",
932
+ "warranty_claims.settings.general.escalationTiers.action.notify": "Notificar",
933
+ "warranty_claims.settings.general.escalationTiers.action.reassign": "Reasignar",
934
+ "warranty_claims.settings.general.escalationTiers.actionLabel": "Acción",
935
+ "warranty_claims.settings.general.escalationTiers.addRow": "Añadir nivel",
936
+ "warranty_claims.settings.general.escalationTiers.atPctLabel": "SLA transcurrido (%)",
937
+ "warranty_claims.settings.general.escalationTiers.empty": "No hay niveles de escalamiento configurados. Los reclamos no se escalarán automáticamente.",
938
+ "warranty_claims.settings.general.escalationTiers.error.atPct": "Introduce un número entero entre 1 y 1000.",
939
+ "warranty_claims.settings.general.escalationTiers.error.toUserId": "Selecciona un miembro del personal al que reasignar.",
940
+ "warranty_claims.settings.general.escalationTiers.removeRow": "Eliminar nivel",
941
+ "warranty_claims.settings.general.escalationTiers.rowLabel": "Nivel {number}",
942
+ "warranty_claims.settings.general.escalationTiers.toUserLabel": "Reasignar a",
943
+ "warranty_claims.settings.general.escalationTiers.toUserPlaceholder": "Buscar personal",
944
+ "warranty_claims.settings.general.fields.adjudicationUseRules.help": "Cuando está activado y el módulo business_rules está presente, el envío del reclamo se evalúa con el motor de reglas; de lo contrario se usa la regla ligera integrada.",
945
+ "warranty_claims.settings.general.fields.adjudicationUseRules.label": "Usar reglas de negocio para adjudicación",
946
+ "warranty_claims.settings.general.fields.autoApproveCurrencyCode.help": "Código de moneda de tres letras en mayúsculas usado por el límite de aprobación automática.",
947
+ "warranty_claims.settings.general.fields.autoApproveCurrencyCode.label": "Moneda de aprobación automática",
948
+ "warranty_claims.settings.general.fields.autoApproveEnabled.help": "Aprueba automáticamente los reclamos enviados elegibles cuando coinciden todos los límites configurados.",
949
+ "warranty_claims.settings.general.fields.autoApproveEnabled.label": "Habilitar aprobación automática",
950
+ "warranty_claims.settings.general.fields.autoApproveMaxAmount.help": "Total reclamado máximo permitido para la aprobación automática.",
951
+ "warranty_claims.settings.general.fields.autoApproveMaxAmount.label": "Importe máximo de aprobación automática",
952
+ "warranty_claims.settings.general.fields.autoApproveRequireInWarranty.help": "Aprobar automáticamente solo cuando todas las líneas sigan en garantía.",
953
+ "warranty_claims.settings.general.fields.autoApproveRequireInWarranty.label": "Requerir líneas en garantía",
954
+ "warranty_claims.settings.general.fields.businessHours.help": "Forma: { timezone, week: { mon:[{start,end}], ... }, holidays:[...] }. Deja vacío para desactivar.",
955
+ "warranty_claims.settings.general.fields.businessHours.label": "JSON de horario laboral",
956
+ "warranty_claims.settings.general.fields.businessHoursEditor.help": "Ventanas de trabajo por día de la semana usadas para el cálculo de SLA. Deja todos los días sin marcar para contar tiempo corrido.",
957
+ "warranty_claims.settings.general.fields.businessHoursEditor.label": "Horario laboral",
958
+ "warranty_claims.settings.general.fields.defaultWarrantyMonths.help": "Rellena los meses de garantía en nuevas líneas y estima la cobertura en el portal. Deja vacío para desactivar.",
959
+ "warranty_claims.settings.general.fields.defaultWarrantyMonths.label": "Meses de garantía predeterminados",
960
+ "warranty_claims.settings.general.fields.escalationTiers.help": "Forma: [{ atPct, action:'notify'|'reassign', toUserId? }]. Deja vacío para desactivar.",
961
+ "warranty_claims.settings.general.fields.escalationTiers.label": "JSON de niveles de escalamiento",
962
+ "warranty_claims.settings.general.fields.escalationTiersEditor.help": "Notifica o reasigna un reclamo cuando su SLA supere un umbral porcentual. Los niveles se aplican en orden ascendente. Deja vacío para desactivar.",
963
+ "warranty_claims.settings.general.fields.escalationTiersEditor.label": "Niveles de escalamiento",
964
+ "warranty_claims.settings.general.fields.quarantineGrades.help": "Grados que retienen automáticamente un reclamo al recibirlo.",
965
+ "warranty_claims.settings.general.fields.quarantineGrades.label": "Grados de cuarentena",
966
+ "warranty_claims.settings.general.fields.returnLabelProvider.help": "Clave opcional del proveedor para la integración de etiquetas de devolución. Deja vacío para usar solo entrada manual.",
967
+ "warranty_claims.settings.general.fields.returnLabelProvider.label": "Proveedor de etiquetas de devolución",
968
+ "warranty_claims.settings.general.fields.slaAtRiskThresholdPct.help": "Porcentaje de la ventana de SLA transcurrido antes de marcar un reclamo como en riesgo.",
969
+ "warranty_claims.settings.general.fields.slaAtRiskThresholdPct.label": "Umbral de SLA en riesgo",
970
+ "warranty_claims.settings.general.fields.slaHours.help": "Ventana objetivo de respuesta en horas, de 1 a 8760.",
971
+ "warranty_claims.settings.general.fields.slaHours.label": "Horas de SLA",
972
+ "warranty_claims.settings.general.fields.slaPauseOnInfoRequested.help": "Detiene el reloj de SLA cuando un reclamo espera información del cliente.",
973
+ "warranty_claims.settings.general.fields.slaPauseOnInfoRequested.label": "Pausar SLA mientras se solicita información",
974
+ "warranty_claims.settings.general.loading": "Cargando configuración general...",
975
+ "warranty_claims.settings.general.sections.adjudication": "Adjudicación",
976
+ "warranty_claims.settings.general.sections.receiving": "Recepción",
977
+ "warranty_claims.settings.general.sections.returns": "Devoluciones",
978
+ "warranty_claims.settings.general.sections.slaEscalation": "Escalamiento de SLA",
979
+ "warranty_claims.settings.general.success.save": "Configuración general guardada.",
980
+ "warranty_claims.settings.general.title": "General",
981
+ "warranty_claims.settings.pageTitle": "Configuración de reclamos de garantía",
982
+ "warranty_claims.settings.returnWindowDays.help": "Marca las reclamaciones de devolución y devolución de núcleo presentadas después de este número de días desde la realización del pedido. Déjalo vacío para desactivar.",
983
+ "warranty_claims.settings.returnWindowDays.label": "Plazo de devolución (días)",
984
+ "warranty_claims.settings.success.delete": "Entrada de diccionario eliminada.",
985
+ "warranty_claims.settings.success.save": "Entrada de diccionario guardada.",
986
+ "warranty_claims.settings.table.appearance": "Apariencia",
987
+ "warranty_claims.settings.table.empty": "Aún no hay entradas.",
988
+ "warranty_claims.settings.table.inherited": "Heredado",
989
+ "warranty_claims.settings.table.inheritedTooltip": "Esta entrada proviene de un diccionario heredado.",
990
+ "warranty_claims.settings.table.label": "Etiqueta",
991
+ "warranty_claims.settings.table.search": "Buscar entradas",
992
+ "warranty_claims.settings.table.value": "Valor",
993
+ "warranty_claims.settings.title": "Configuración de reclamos",
994
+ "warranty_claims.sla.atRisk": "En riesgo",
995
+ "warranty_claims.sla.overdue": "Vencido",
996
+ "warranty_claims.sla.paused": "En pausa",
997
+ "warranty_claims.status.approved": "Aprobado",
998
+ "warranty_claims.status.awaiting_return": "Esperando devolución",
999
+ "warranty_claims.status.cancelled": "Cancelado",
1000
+ "warranty_claims.status.closed": "Cerrado",
1001
+ "warranty_claims.status.draft": "Borrador",
1002
+ "warranty_claims.status.in_review": "En revisión",
1003
+ "warranty_claims.status.info_requested": "Información solicitada",
1004
+ "warranty_claims.status.inspecting": "En inspección",
1005
+ "warranty_claims.status.received": "Recibido",
1006
+ "warranty_claims.status.rejected": "Rechazado",
1007
+ "warranty_claims.status.resolved": "Resuelto",
1008
+ "warranty_claims.status.submitted": "Enviado",
1009
+ "warranty_claims.timeline.aiAssessmentRecorded": "Evaluación de IA registrada",
1010
+ "warranty_claims.timeline.assignedTo": "Asignado a {name}",
1011
+ "warranty_claims.timeline.autoApproved": "Aprobado automáticamente",
1012
+ "warranty_claims.timeline.autoReceivedFromTracking": "Marcado automáticamente como recibido: el envío de devolución fue entregado",
1013
+ "warranty_claims.timeline.creditMemoCreated": "Nota de crédito creada a partir de este reclamo",
1014
+ "warranty_claims.timeline.creditMemoOrphaned": "Nota de crédito creada pero falló la vinculación — se requiere revisión manual",
1015
+ "warranty_claims.timeline.replacementOrderCreated": "Pedido de reemplazo creado a partir de este reclamo",
1016
+ "warranty_claims.timeline.replacementOrderOrphaned": "Pedido de reemplazo creado pero falló la vinculación — se requiere revisión manual",
1017
+ "warranty_claims.timeline.salesReturnCreated": "Devolución de venta creada a partir de esta reclamación",
1018
+ "warranty_claims.timeline.salesReturnOrphaned": "Devolución de venta creada pero el vínculo falló: se requiere revisión manual",
1019
+ "warranty_claims.timeline.slaPaused": "SLA pausado",
1020
+ "warranty_claims.timeline.slaResumed": "SLA reanudado",
1021
+ "warranty_claims.timeline.unassigned": "Sin asignar",
1022
+ "warranty_claims.timeline.undoCreditMemoCreated": "Creación de la nota de crédito deshecha",
1023
+ "warranty_claims.timeline.undoReplacementOrderCreated": "Creación del pedido de reemplazo deshecha",
1024
+ "warranty_claims.timeline.undoSalesReturnCreated": "Creación de la devolución de venta deshecha",
1025
+ "warranty_claims.triage.applied": "Aplicado",
1026
+ "warranty_claims.triage.apply": "Aplicar",
1027
+ "warranty_claims.triage.empty.description": "Ejecuta una sugerencia de triaje basada en reglas para revisar prioridades y disposiciones recomendadas.",
1028
+ "warranty_claims.triage.panelSubtitle": "Recomendación basada en reglas a partir de los datos de la reclamación — instantánea, sin usar modelo de IA.",
1029
+ "warranty_claims.triage.panelTitle": "Triaje automático",
1030
+ "warranty_claims.triage.reason.coreAcceptancePath": "Las líneas de devolución de núcleo deben seguir el flujo de aceptación de núcleo antes de finalizar el crédito.",
1031
+ "warranty_claims.triage.reason.fastTrackCandidate": "Todas las líneas están en garantía y son de baja complejidad, sin señales de riesgo.",
1032
+ "warranty_claims.triage.reason.highRiskPriority": "Las señales de alto riesgo requieren al menos prioridad alta.",
1033
+ "warranty_claims.triage.reason.inWarrantyInspection": "La línea está en garantía, pero la cantidad requiere inspección antes del reemplazo.",
1034
+ "warranty_claims.triage.reason.inWarrantyLowQuantity": "La línea está en garantía y la cantidad reclamada es baja.",
1035
+ "warranty_claims.triage.reason.lineReviewRequired": "Una o más líneas requieren revisión manual antes de la adjudicación.",
1036
+ "warranty_claims.triage.reason.lowPriorityEscalation": "Los reclamos en espera de triaje no deben permanecer con prioridad baja.",
1037
+ "warranty_claims.triage.reason.missingWarrantyData": "Falta la fecha de compra o el plazo de garantía.",
1038
+ "warranty_claims.triage.reason.openAtLeastHours": "El reclamo lleva abierto al menos {hours} horas.",
1039
+ "warranty_claims.triage.reason.outOfWarrantyReturnRestocking": "La línea está fuera de garantía, pero una devolución sin garantía puede acreditarse con un cargo por reposición.",
1040
+ "warranty_claims.triage.reason.outsideWarrantyWindow": "La línea está fuera de la ventana de garantía calculada.",
1041
+ "warranty_claims.triage.reason.priorityConsistent": "La prioridad actual es coherente con la antigüedad y el SLA.",
1042
+ "warranty_claims.triage.reason.riskSignalsRequireReview": "Las señales de riesgo requieren inspección antes del reemplazo.",
1043
+ "warranty_claims.triage.reason.riskSignalsReviewRequired": "{count} señal(es) de riesgo requieren revisión manual.",
1044
+ "warranty_claims.triage.reason.slaDueSoon": "El reclamo vence según el SLA dentro de {hours} horas.",
1045
+ "warranty_claims.triage.reason.slaOverdue": "El reclamo superó su fecha límite de SLA.",
1046
+ "warranty_claims.triage.reason.unknownEligibilityInspection": "La elegibilidad es desconocida, por lo que se recomienda una inspección antes de la resolución.",
1047
+ "warranty_claims.triage.reason.warrantyExpired": "La fecha de compra más el plazo de garantía ya venció.",
1048
+ "warranty_claims.triage.reason.warrantyStillValid": "La fecha de compra más el plazo de garantía sigue vigente.",
1049
+ "warranty_claims.triage.suggestButton": "Sugerir triaje",
1050
+ "warranty_claims.troubleshootingGuides.builder.addAnswer": "Añadir respuesta",
1051
+ "warranty_claims.troubleshootingGuides.builder.addOutcome": "Añadir resultado",
1052
+ "warranty_claims.troubleshootingGuides.builder.addQuestion": "Añadir pregunta",
1053
+ "warranty_claims.troubleshootingGuides.builder.answerCount": "{count} respuestas",
1054
+ "warranty_claims.troubleshootingGuides.builder.answerDestination": "Destino de la respuesta",
1055
+ "warranty_claims.troubleshootingGuides.builder.answerLabel": "Texto de la respuesta",
1056
+ "warranty_claims.troubleshootingGuides.builder.answers": "Respuestas",
1057
+ "warranty_claims.troubleshootingGuides.builder.answersSoFar": "{count} respuestas hasta ahora",
1058
+ "warranty_claims.troubleshootingGuides.builder.completed": "Guía completada",
1059
+ "warranty_claims.troubleshootingGuides.builder.currentQuestion": "Pregunta actual",
1060
+ "warranty_claims.troubleshootingGuides.builder.description": "Conecte las preguntas con otra pregunta o con un resultado del reclamo.",
1061
+ "warranty_claims.troubleshootingGuides.builder.dryRun": "Simulación",
1062
+ "warranty_claims.troubleshootingGuides.builder.edit": "Editar",
1063
+ "warranty_claims.troubleshootingGuides.builder.editNextQuestion": "Editar la siguiente pregunta",
1064
+ "warranty_claims.troubleshootingGuides.builder.effectReport": "Informe de efectos de la simulación",
1065
+ "warranty_claims.troubleshootingGuides.builder.guideStarts": "Inicio de la guía",
1066
+ "warranty_claims.troubleshootingGuides.builder.inspector": "Inspector",
1067
+ "warranty_claims.troubleshootingGuides.builder.newAnswer": "Nueva respuesta",
1068
+ "warranty_claims.troubleshootingGuides.builder.newQuestion": "Nueva pregunta",
1069
+ "warranty_claims.troubleshootingGuides.builder.newResolution": "Añadir indicaciones de resolución",
1070
+ "warranty_claims.troubleshootingGuides.builder.nextQuestion": "Siguiente pregunta",
1071
+ "warranty_claims.troubleshootingGuides.builder.noChanges": "No aplicar cambios",
1072
+ "warranty_claims.troubleshootingGuides.builder.outcome": "Resultado",
1073
+ "warranty_claims.troubleshootingGuides.builder.prefillReason": "Precompletar motivo",
1074
+ "warranty_claims.troubleshootingGuides.builder.prefillResolution": "Precompletar resumen de resolución",
1075
+ "warranty_claims.troubleshootingGuides.builder.prompt": "Pregunta",
1076
+ "warranty_claims.troubleshootingGuides.builder.question": "Pregunta",
1077
+ "warranty_claims.troubleshootingGuides.builder.reasonCode": "Código de motivo",
1078
+ "warranty_claims.troubleshootingGuides.builder.removeAnswer": "Eliminar respuesta",
1079
+ "warranty_claims.troubleshootingGuides.builder.reset": "Restablecer",
1080
+ "warranty_claims.troubleshootingGuides.builder.resolution": "Indicación de resolución",
1081
+ "warranty_claims.troubleshootingGuides.builder.sample.ageQuestion": "¿La mochila tiene menos de 24 meses?",
1082
+ "warranty_claims.troubleshootingGuides.builder.sample.damageQuestion": "¿La hebilla presenta daños físicos?",
1083
+ "warranty_claims.troubleshootingGuides.builder.sample.damaged": "Sí, está agrietada o rota",
1084
+ "warranty_claims.troubleshootingGuides.builder.sample.intact": "No, parece intacta",
1085
+ "warranty_claims.troubleshootingGuides.builder.sample.no": "No",
1086
+ "warranty_claims.troubleshootingGuides.builder.sample.paidRepair": "Ofrecer una reparación de pago",
1087
+ "warranty_claims.troubleshootingGuides.builder.sample.photos": "Solicitar fotos adicionales",
1088
+ "warranty_claims.troubleshootingGuides.builder.sample.replaceBuckle": "Reemplazar la hebilla",
1089
+ "warranty_claims.troubleshootingGuides.builder.sample.unsure": "No estoy seguro",
1090
+ "warranty_claims.troubleshootingGuides.builder.sample.yes": "Sí",
1091
+ "warranty_claims.troubleshootingGuides.builder.select": "Seleccionar nodo",
1092
+ "warranty_claims.troubleshootingGuides.builder.test": "Probar",
1093
+ "warranty_claims.troubleshootingGuides.builder.testRun": "Ejecución de prueba",
1094
+ "warranty_claims.troubleshootingGuides.builder.title": "Árbol de decisión visual",
1095
+ "warranty_claims.troubleshootingGuides.bulk.delete": "Eliminar seleccionados",
1096
+ "warranty_claims.troubleshootingGuides.bulk.deleteTitle": "¿Eliminar las guías de solución de problemas seleccionadas?",
1097
+ "warranty_claims.troubleshootingGuides.claimType.any": "Cualquier tipo de reclamo",
1098
+ "warranty_claims.troubleshootingGuides.confirm.deleteTitle": "¿Eliminar esta guía de solución de problemas?",
1099
+ "warranty_claims.troubleshootingGuides.create.error.save": "No se pudo crear la guía de solución de problemas.",
1100
+ "warranty_claims.troubleshootingGuides.create.success": "Guía de solución de problemas creada.",
1101
+ "warranty_claims.troubleshootingGuides.create.title": "Nueva guía de solución de problemas",
1102
+ "warranty_claims.troubleshootingGuides.edit.deleted": "Guía de solución de problemas eliminada.",
1103
+ "warranty_claims.troubleshootingGuides.edit.error.delete": "No se pudo eliminar la guía de solución de problemas.",
1104
+ "warranty_claims.troubleshootingGuides.edit.error.load": "No se pudo cargar la guía de solución de problemas.",
1105
+ "warranty_claims.troubleshootingGuides.edit.error.save": "No se pudo guardar la guía de solución de problemas.",
1106
+ "warranty_claims.troubleshootingGuides.edit.loading": "Cargando guía de solución de problemas...",
1107
+ "warranty_claims.troubleshootingGuides.edit.notFound": "Guía de solución de problemas no encontrada.",
1108
+ "warranty_claims.troubleshootingGuides.edit.success": "Guía de solución de problemas guardada.",
1109
+ "warranty_claims.troubleshootingGuides.edit.title": "Editar guía de solución de problemas",
1110
+ "warranty_claims.troubleshootingGuides.form.claimType": "Tipo de reclamo",
1111
+ "warranty_claims.troubleshootingGuides.form.decisionTree": "Árbol de decisión",
1112
+ "warranty_claims.troubleshootingGuides.form.group.match": "Coincidencia de guía",
1113
+ "warranty_claims.troubleshootingGuides.form.group.steps": "Árbol de decisión",
1114
+ "warranty_claims.troubleshootingGuides.form.isActive": "Activa",
1115
+ "warranty_claims.troubleshootingGuides.form.isActive.disabled": "Guía inactiva",
1116
+ "warranty_claims.troubleshootingGuides.form.isActive.enabled": "Guía activa",
1117
+ "warranty_claims.troubleshootingGuides.form.reasonCode": "Código de motivo",
1118
+ "warranty_claims.troubleshootingGuides.form.reasonCode.help": "Deja vacío para coincidir con cualquier motivo.",
1119
+ "warranty_claims.troubleshootingGuides.form.stepsJson": "JSON de pasos",
1120
+ "warranty_claims.troubleshootingGuides.form.stepsJson.help": "Usa una pregunta con opciones. Cada opción necesita una etiqueta y un siguiente nodo o una resolución/código de motivo.",
1121
+ "warranty_claims.troubleshootingGuides.form.stepsJson.invalidJson": "Introduce JSON válido para los pasos de solución de problemas.",
1122
+ "warranty_claims.troubleshootingGuides.form.stepsJson.invalidTree": "El JSON de pasos debe contener una pregunta y ramas de opciones con etiquetas.",
1123
+ "warranty_claims.troubleshootingGuides.form.submit.create": "Crear guía",
1124
+ "warranty_claims.troubleshootingGuides.form.submit.update": "Guardar guía",
1125
+ "warranty_claims.troubleshootingGuides.form.title": "Título",
1126
+ "warranty_claims.troubleshootingGuides.list.actions.delete": "Eliminar",
1127
+ "warranty_claims.troubleshootingGuides.list.actions.edit": "Editar",
1128
+ "warranty_claims.troubleshootingGuides.list.actions.new": "Nueva guía",
1129
+ "warranty_claims.troubleshootingGuides.list.actions.refresh": "Actualizar",
1130
+ "warranty_claims.troubleshootingGuides.list.column.active": "Estado",
1131
+ "warranty_claims.troubleshootingGuides.list.column.claimType": "Tipo de reclamo",
1132
+ "warranty_claims.troubleshootingGuides.list.column.reason": "Motivo",
1133
+ "warranty_claims.troubleshootingGuides.list.column.steps": "Pasos",
1134
+ "warranty_claims.troubleshootingGuides.list.column.title": "Título",
1135
+ "warranty_claims.troubleshootingGuides.list.column.updated": "Actualizado",
1136
+ "warranty_claims.troubleshootingGuides.list.empty.description": "Crea una guía para ofrecer decisiones guiadas durante la recepción y el triaje del reclamo.",
1137
+ "warranty_claims.troubleshootingGuides.list.empty.title": "Aún no hay guías de solución de problemas",
1138
+ "warranty_claims.troubleshootingGuides.list.error.blocked": "Guardado bloqueado por validación.",
1139
+ "warranty_claims.troubleshootingGuides.list.error.delete": "No se pudo eliminar la guía de solución de problemas.",
1140
+ "warranty_claims.troubleshootingGuides.list.error.load": "No se pudieron cargar las guías de solución de problemas.",
1141
+ "warranty_claims.troubleshootingGuides.list.filter.claimType": "Tipo de reclamo",
1142
+ "warranty_claims.troubleshootingGuides.list.filter.status": "Estado",
1143
+ "warranty_claims.troubleshootingGuides.list.searchPlaceholder": "Buscar guías…",
1144
+ "warranty_claims.troubleshootingGuides.list.success.delete": "Guía de solución de problemas eliminada.",
1145
+ "warranty_claims.troubleshootingGuides.list.tabs.all": "Todos",
1146
+ "warranty_claims.troubleshootingGuides.list.tabs.draft": "Borradores",
1147
+ "warranty_claims.troubleshootingGuides.list.tabs.published": "Publicadas",
1148
+ "warranty_claims.troubleshootingGuides.list.title": "Guías de solución de problemas",
1149
+ "warranty_claims.troubleshootingGuides.list.untitled": "Guía sin título",
1150
+ "warranty_claims.troubleshootingGuides.nav.title": "Guías de solución de problemas",
1151
+ "warranty_claims.troubleshootingGuides.reason.any": "Cualquier motivo",
1152
+ "warranty_claims.troubleshootingGuides.status.active": "Activa",
1153
+ "warranty_claims.troubleshootingGuides.status.inactive": "Inactiva",
1154
+ "warranty_claims.troubleshootingWalker.actions.restart": "Reiniciar",
1155
+ "warranty_claims.troubleshootingWalker.empty.description": "No hay pasos guiados coincidentes configurados para este reclamo.",
1156
+ "warranty_claims.troubleshootingWalker.empty.title": "Sin guía de solución de problemas",
1157
+ "warranty_claims.troubleshootingWalker.invalidPath": "Esta ruta de solución de problemas ya no está disponible.",
1158
+ "warranty_claims.troubleshootingWalker.result.reasonCode": "Código de motivo: {code}",
1159
+ "warranty_claims.vendorPolicies.bulk.delete": "Eliminar seleccionados",
1160
+ "warranty_claims.vendorPolicies.bulk.deleteTitle": "¿Eliminar las políticas de proveedor seleccionadas?",
1161
+ "warranty_claims.vendorPolicies.confirm.deleteTitle": "¿Eliminar esta política de proveedor?",
1162
+ "warranty_claims.vendorPolicies.create.error.save": "No se pudo crear la política de proveedor.",
1163
+ "warranty_claims.vendorPolicies.create.success": "Política de proveedor creada.",
1164
+ "warranty_claims.vendorPolicies.create.title": "Nueva política de proveedor",
1165
+ "warranty_claims.vendorPolicies.edit.deleted": "Política de proveedor eliminada.",
1166
+ "warranty_claims.vendorPolicies.edit.error.delete": "No se pudo eliminar la política de proveedor.",
1167
+ "warranty_claims.vendorPolicies.edit.error.load": "No se pudo cargar la política de proveedor.",
1168
+ "warranty_claims.vendorPolicies.edit.error.save": "No se pudo guardar la política de proveedor.",
1169
+ "warranty_claims.vendorPolicies.edit.loading": "Cargando política de proveedor...",
1170
+ "warranty_claims.vendorPolicies.edit.notFound": "Política de proveedor no encontrada.",
1171
+ "warranty_claims.vendorPolicies.edit.success": "Política de proveedor guardada.",
1172
+ "warranty_claims.vendorPolicies.edit.title": "Editar política de proveedor",
1173
+ "warranty_claims.vendorPolicies.form.autoGenerateRecovery": "Generar recuperación automáticamente",
1174
+ "warranty_claims.vendorPolicies.form.autoGenerateRecovery.disabled": "Solo sugerencia manual",
1175
+ "warranty_claims.vendorPolicies.form.autoGenerateRecovery.enabled": "Recuperación automática habilitada",
1176
+ "warranty_claims.vendorPolicies.form.autoGenerateRecovery.help": "Cuando está habilitada, las líneas resueltas coincidentes generan reclamos de recuperación de proveedor automáticamente.",
1177
+ "warranty_claims.vendorPolicies.form.claimableReasonCodes": "Códigos de motivo reclamables",
1178
+ "warranty_claims.vendorPolicies.form.claimableReasonCodes.help": "Separa los códigos con comas. Deja vacío para coincidir con cualquier motivo.",
1179
+ "warranty_claims.vendorPolicies.form.claimableReasonCodes.multiHelp": "Elige motivos de reclamo del diccionario o escribe un código propio y pulsa Enter. Deja vacío para aceptar cualquier motivo.",
1180
+ "warranty_claims.vendorPolicies.form.claimableReasonCodes.placeholder": "Añadir código de motivo",
1181
+ "warranty_claims.vendorPolicies.form.contactEmail": "Correo de contacto",
1182
+ "warranty_claims.vendorPolicies.form.coverageMonths": "Meses de cobertura",
1183
+ "warranty_claims.vendorPolicies.form.group.automation": "Automatización",
1184
+ "warranty_claims.vendorPolicies.form.group.coverage": "Cobertura",
1185
+ "warranty_claims.vendorPolicies.form.group.identity": "Proveedor",
1186
+ "warranty_claims.vendorPolicies.form.isActive": "Activa",
1187
+ "warranty_claims.vendorPolicies.form.isActive.disabled": "Política inactiva",
1188
+ "warranty_claims.vendorPolicies.form.isActive.enabled": "Política activa",
1189
+ "warranty_claims.vendorPolicies.form.recoveryRatePct": "Porcentaje de tasa de recuperación",
1190
+ "warranty_claims.vendorPolicies.form.submit.create": "Crear política de proveedor",
1191
+ "warranty_claims.vendorPolicies.form.submit.update": "Guardar política de proveedor",
1192
+ "warranty_claims.vendorPolicies.form.vendorName": "Nombre del proveedor",
1193
+ "warranty_claims.vendorPolicies.form.vendorRef": "Referencia del proveedor",
1194
+ "warranty_claims.vendorPolicies.list.actions.add": "Añadir política",
1195
+ "warranty_claims.vendorPolicies.list.actions.delete": "Eliminar",
1196
+ "warranty_claims.vendorPolicies.list.actions.edit": "Editar",
1197
+ "warranty_claims.vendorPolicies.list.actions.new": "Nueva política de proveedor",
1198
+ "warranty_claims.vendorPolicies.list.actions.refresh": "Actualizar",
1199
+ "warranty_claims.vendorPolicies.list.anyReason": "Cualquier motivo",
1200
+ "warranty_claims.vendorPolicies.list.column.active": "Estado",
1201
+ "warranty_claims.vendorPolicies.list.column.auto": "Modo",
1202
+ "warranty_claims.vendorPolicies.list.column.coverageMonths": "Cobertura",
1203
+ "warranty_claims.vendorPolicies.list.column.reasons": "Motivos",
1204
+ "warranty_claims.vendorPolicies.list.column.recoveryRate": "Recuperación",
1205
+ "warranty_claims.vendorPolicies.list.column.updated": "Actualizado",
1206
+ "warranty_claims.vendorPolicies.list.column.vendor": "Proveedor",
1207
+ "warranty_claims.vendorPolicies.list.column.vendorRef": "Referencia",
1208
+ "warranty_claims.vendorPolicies.list.empty.description": "Crea políticas para sugerir o automatizar la recuperación de proveedor para líneas de reclamo resueltas.",
1209
+ "warranty_claims.vendorPolicies.list.empty.title": "Aún no hay políticas de proveedor",
1210
+ "warranty_claims.vendorPolicies.list.error.blocked": "Guardado bloqueado por validación.",
1211
+ "warranty_claims.vendorPolicies.list.error.delete": "No se pudo eliminar la política de proveedor.",
1212
+ "warranty_claims.vendorPolicies.list.error.load": "No se pudieron cargar las políticas de proveedor.",
1213
+ "warranty_claims.vendorPolicies.list.filter.mode": "Modo de recuperación",
1214
+ "warranty_claims.vendorPolicies.list.filter.status": "Estado",
1215
+ "warranty_claims.vendorPolicies.list.months": "{count} meses",
1216
+ "warranty_claims.vendorPolicies.list.searchPlaceholder": "Buscar proveedor o referencia",
1217
+ "warranty_claims.vendorPolicies.list.success.delete": "Política de proveedor eliminada.",
1218
+ "warranty_claims.vendorPolicies.list.tabs.active": "Activas",
1219
+ "warranty_claims.vendorPolicies.list.tabs.all": "Todas",
1220
+ "warranty_claims.vendorPolicies.list.tabs.automatic": "Automáticas",
1221
+ "warranty_claims.vendorPolicies.list.tabs.inactive": "Inactivas",
1222
+ "warranty_claims.vendorPolicies.list.tabs.manual": "Manuales",
1223
+ "warranty_claims.vendorPolicies.list.title": "Políticas de proveedor",
1224
+ "warranty_claims.vendorPolicies.list.unnamed": "Política sin título",
1225
+ "warranty_claims.vendorPolicies.nav.title": "Políticas de proveedor",
1226
+ "warranty_claims.vendorPolicies.status.active": "Activa",
1227
+ "warranty_claims.vendorPolicies.status.auto": "Automático",
1228
+ "warranty_claims.vendorPolicies.status.inactive": "Inactiva",
1229
+ "warranty_claims.vendorPolicies.status.manual": "Manual",
1230
+ "warranty_claims.vendorRecoverySuggestions.actions.generate": "Generar recuperación de proveedor",
1231
+ "warranty_claims.vendorRecoverySuggestions.causalFault": "Falla: {fault}",
1232
+ "warranty_claims.vendorRecoverySuggestions.count": "{count} sugeridas",
1233
+ "warranty_claims.vendorRecoverySuggestions.description": "Las líneas de garantía resueltas coinciden con políticas activas de recuperación de proveedor.",
1234
+ "warranty_claims.vendorRecoverySuggestions.error.load": "No se pudieron cargar las sugerencias de recuperación de proveedor.",
1235
+ "warranty_claims.vendorRecoverySuggestions.estimatedRecovery": "Recuperación estimada: {amount}",
1236
+ "warranty_claims.vendorRecoverySuggestions.line": "Línea {lineId}",
1237
+ "warranty_claims.vendorRecoverySuggestions.lineFallback": "Línea {lineNo}",
1238
+ "warranty_claims.vendorRecoverySuggestions.loading": "Cargando sugerencias de recuperación de proveedor...",
1239
+ "warranty_claims.vendorRecoverySuggestions.title": "Sugerencias de recuperación de proveedor",
1240
+ "warranty_claims.widgets.customerClaims.count": "{count} reclamos",
1241
+ "warranty_claims.widgets.customerClaims.empty.description": "Crea un reclamo de garantía o RMA para este cliente cuando informe un problema.",
1242
+ "warranty_claims.widgets.customerClaims.empty.title": "No hay reclamos para este cliente",
1243
+ "warranty_claims.widgets.customerClaims.error": "No se pudieron cargar los reclamos.",
1244
+ "warranty_claims.widgets.customerClaims.listLabel": "Reclamos del cliente",
1245
+ "warranty_claims.widgets.customerClaims.loading": "Cargando reclamos...",
1246
+ "warranty_claims.widgets.customerClaims.newClaim": "Nuevo reclamo",
1247
+ "warranty_claims.widgets.customerClaims.notUpdated": "No actualizado",
1248
+ "warranty_claims.widgets.customerClaims.unknownStatus": "Desconocido",
1249
+ "warranty_claims.widgets.customerClaims.unknownType": "Tipo desconocido",
1250
+ "warranty_claims.widgets.customerClaims.unnumbered": "Reclamo sin número",
1251
+ "warranty_claims.widgets.orderClaims.count": "{count} reclamos",
1252
+ "warranty_claims.widgets.orderClaims.empty.description": "Crea un reclamo de garantía o RMA desde este pedido cuando un cliente informa un problema.",
1253
+ "warranty_claims.widgets.orderClaims.empty.title": "No hay reclamos para este pedido",
1254
+ "warranty_claims.widgets.orderClaims.error": "No se pudieron cargar los reclamos.",
1255
+ "warranty_claims.widgets.orderClaims.listLabel": "Reclamos del pedido",
1256
+ "warranty_claims.widgets.orderClaims.loading": "Cargando reclamos...",
1257
+ "warranty_claims.widgets.orderClaims.newFromOrder": "Nuevo reclamo desde pedido",
1258
+ "warranty_claims.widgets.orderClaims.notUpdated": "No actualizado",
1259
+ "warranty_claims.widgets.orderClaims.tabLabel": "Reclamos",
1260
+ "warranty_claims.widgets.orderClaims.unknownStatus": "Desconocido",
1261
+ "warranty_claims.widgets.orderClaims.unknownType": "Tipo desconocido",
1262
+ "warranty_claims.widgets.orderClaims.unnumbered": "Reclamo sin número",
1263
+ "warranty_claims.widgets.queue.atRisk": "En riesgo",
1264
+ "warranty_claims.widgets.queue.byStatus": "Abiertos por estado",
1265
+ "warranty_claims.widgets.queue.empty": "Sin reclamos abiertos",
1266
+ "warranty_claims.widgets.queue.error": "No se pudieron cargar los reclamos de garantía",
1267
+ "warranty_claims.widgets.queue.open": "Abiertos",
1268
+ "warranty_claims.widgets.queue.settings.help": "Muestra u oculta las filas por estado bajo los contadores principales.",
1269
+ "warranty_claims.widgets.queue.settings.showStatusBreakdown": "Mostrar desglose por estado"
1270
+ }