@voyant-travel/finance 0.167.0 → 0.168.0

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 (196) hide show
  1. package/README.md +23 -9
  2. package/dist/action-ledger-drift.d.ts.map +1 -0
  3. package/dist/booking-lifecycle.d.ts.map +1 -0
  4. package/dist/booking-schedule/subscriber-runtime.d.ts.map +1 -0
  5. package/dist/booking-tax.d.ts +31 -19
  6. package/dist/booking-tax.d.ts.map +1 -0
  7. package/dist/booking-tax.js +48 -15
  8. package/dist/card-payment.d.ts.map +1 -0
  9. package/dist/checkout-routes.d.ts +294 -294
  10. package/dist/checkout-routes.d.ts.map +1 -0
  11. package/dist/checkout-service-plan.d.ts +2 -2
  12. package/dist/checkout-service-plan.d.ts.map +1 -0
  13. package/dist/checkout-service.d.ts.map +1 -0
  14. package/dist/checkout-validation.d.ts.map +1 -0
  15. package/dist/document-download.d.ts.map +1 -0
  16. package/dist/fx-money.d.ts.map +1 -0
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +3 -3
  20. package/dist/invoice-fx.d.ts.map +1 -0
  21. package/dist/invoice-number-errors.d.ts.map +1 -0
  22. package/dist/linkables.d.ts.map +1 -0
  23. package/dist/markets-ref.d.ts.map +1 -0
  24. package/dist/mcp-runtime.d.ts.map +1 -0
  25. package/dist/order-payment-sessions.d.ts.map +1 -0
  26. package/dist/payment-adapter-events.d.ts +3 -3
  27. package/dist/payment-link.d.ts.map +1 -0
  28. package/dist/payment-policy-cascade.d.ts.map +1 -0
  29. package/dist/payment-policy.d.ts.map +1 -0
  30. package/dist/payment-schedule/routes.d.ts +2 -2
  31. package/dist/payment-schedule/routes.d.ts.map +1 -0
  32. package/dist/route-runtime.d.ts.map +1 -0
  33. package/dist/routes-action-ledger.d.ts +25 -25
  34. package/dist/routes-action-ledger.d.ts.map +1 -0
  35. package/dist/routes-booking-billing.d.ts +95 -95
  36. package/dist/routes-booking-billing.d.ts.map +1 -0
  37. package/dist/routes-booking-create.d.ts.map +1 -0
  38. package/dist/routes-booking-reads.d.ts +13 -13
  39. package/dist/routes-booking-reads.d.ts.map +1 -0
  40. package/dist/routes-documents.d.ts +11 -11
  41. package/dist/routes-documents.d.ts.map +1 -0
  42. package/dist/routes-invoice-core.d.ts +87 -87
  43. package/dist/routes-invoice-core.d.ts.map +1 -0
  44. package/dist/routes-invoice-documents.d.ts +16 -16
  45. package/dist/routes-invoice-documents.d.ts.map +1 -0
  46. package/dist/routes-invoice-issue.d.ts.map +1 -0
  47. package/dist/routes-invoice-schemas.d.ts +20 -20
  48. package/dist/routes-invoice-schemas.d.ts.map +1 -0
  49. package/dist/routes-payment-processing.d.ts +152 -152
  50. package/dist/routes-payment-processing.d.ts.map +1 -0
  51. package/dist/routes-payment-schemas.d.ts +17 -17
  52. package/dist/routes-payment-schemas.d.ts.map +1 -0
  53. package/dist/routes-payments.d.ts +64 -64
  54. package/dist/routes-payments.d.ts.map +1 -0
  55. package/dist/routes-public-accountant.d.ts +19 -19
  56. package/dist/routes-public.d.ts +102 -102
  57. package/dist/routes-public.d.ts.map +1 -0
  58. package/dist/routes-reference-data.d.ts +33 -33
  59. package/dist/routes-reference-data.d.ts.map +1 -0
  60. package/dist/routes-reports.d.ts +11 -11
  61. package/dist/routes-reports.d.ts.map +1 -0
  62. package/dist/routes-runtime.d.ts +1 -1
  63. package/dist/routes-runtime.d.ts.map +1 -0
  64. package/dist/routes-settlement.d.ts +12 -12
  65. package/dist/routes-settlement.d.ts.map +1 -0
  66. package/dist/routes-shared.d.ts.map +1 -0
  67. package/dist/routes-supplier-invoices.d.ts +75 -75
  68. package/dist/routes-supplier-invoices.d.ts.map +1 -0
  69. package/dist/routes-travel-credits.d.ts +4 -4
  70. package/dist/routes-vouchers.d.ts +401 -0
  71. package/dist/routes-vouchers.d.ts.map +1 -0
  72. package/dist/routes-vouchers.js +176 -0
  73. package/dist/routes.d.ts +477 -477
  74. package/dist/routes.d.ts.map +1 -0
  75. package/dist/runtime-contributor.d.ts.map +1 -0
  76. package/dist/runtime-port.d.ts +20 -24
  77. package/dist/runtime-port.d.ts.map +1 -0
  78. package/dist/runtime-port.js +10 -11
  79. package/dist/runtime.d.ts.map +1 -0
  80. package/dist/schema/booking-billing.d.ts +5 -5
  81. package/dist/schema/booking-billing.d.ts.map +1 -0
  82. package/dist/schema/enums.d.ts.map +1 -0
  83. package/dist/schema/invoice-documents.d.ts +1 -1
  84. package/dist/schema/invoice-documents.d.ts.map +1 -0
  85. package/dist/schema/payment-instruments.d.ts +1 -1
  86. package/dist/schema/payment-instruments.d.ts.map +1 -0
  87. package/dist/schema/payment-processing.d.ts +3 -3
  88. package/dist/schema/payment-processing.d.ts.map +1 -0
  89. package/dist/schema/payment-sessions.d.ts +3 -3
  90. package/dist/schema/payment-sessions.d.ts.map +1 -0
  91. package/dist/schema/receivables.d.ts +3 -3
  92. package/dist/schema/receivables.d.ts.map +1 -0
  93. package/dist/schema/relations.d.ts.map +1 -0
  94. package/dist/schema/supplier-invoices.d.ts +5 -5
  95. package/dist/schema/supplier-invoices.d.ts.map +1 -0
  96. package/dist/schema/tax.d.ts +1 -1
  97. package/dist/schema/tax.d.ts.map +1 -0
  98. package/dist/schema/vouchers.d.ts +444 -0
  99. package/dist/schema/vouchers.d.ts.map +1 -0
  100. package/dist/schema/vouchers.js +64 -0
  101. package/dist/schema.d.ts.map +1 -0
  102. package/dist/service-accountant-shares.d.ts.map +1 -0
  103. package/dist/service-action-ledger-accounting.d.ts.map +1 -0
  104. package/dist/service-action-ledger-booking-payments.d.ts.map +1 -0
  105. package/dist/service-action-ledger-bookings.d.ts.map +1 -0
  106. package/dist/service-action-ledger-payment-authorizations.d.ts.map +1 -0
  107. package/dist/service-action-ledger-payment-sessions.d.ts.map +1 -0
  108. package/dist/service-action-ledger-supplier-invoices.d.ts.map +1 -0
  109. package/dist/service-action-ledger-supplier-payments.d.ts.map +1 -0
  110. package/dist/service-action-ledger.d.ts.map +1 -0
  111. package/dist/service-aggregates.d.ts.map +1 -0
  112. package/dist/service-booking-billing.d.ts +111 -111
  113. package/dist/service-booking-billing.d.ts.map +1 -0
  114. package/dist/service-booking-create.d.ts +11 -11
  115. package/dist/service-booking-create.d.ts.map +1 -0
  116. package/dist/service-booking-guarantees.d.ts +34 -34
  117. package/dist/service-booking-guarantees.d.ts.map +1 -0
  118. package/dist/service-booking-item-billing.d.ts +21 -21
  119. package/dist/service-booking-item-billing.d.ts.map +1 -0
  120. package/dist/service-booking-payment-schedules.d.ts +56 -56
  121. package/dist/service-booking-payment-schedules.d.ts.map +1 -0
  122. package/dist/service-bookings-dual-create.d.ts +22 -22
  123. package/dist/service-bookings-dual-create.d.ts.map +1 -0
  124. package/dist/service-boundary-sql.d.ts.map +1 -0
  125. package/dist/service-cost-categories.d.ts.map +1 -0
  126. package/dist/service-documents.d.ts.map +1 -0
  127. package/dist/service-invoice-artifacts.d.ts +24 -24
  128. package/dist/service-invoice-artifacts.d.ts.map +1 -0
  129. package/dist/service-invoice-core.d.ts +28 -28
  130. package/dist/service-invoice-core.d.ts.map +1 -0
  131. package/dist/service-invoice-credit-notes.d.ts +10 -10
  132. package/dist/service-invoice-credit-notes.d.ts.map +1 -0
  133. package/dist/service-invoice-from-booking.d.ts +19 -19
  134. package/dist/service-invoice-from-booking.d.ts.map +1 -0
  135. package/dist/service-invoice-line-items.d.ts +10 -10
  136. package/dist/service-invoice-line-items.d.ts.map +1 -0
  137. package/dist/service-invoice-numbering.d.ts +28 -28
  138. package/dist/service-invoice-numbering.d.ts.map +1 -0
  139. package/dist/service-invoice-payments.d.ts +20 -20
  140. package/dist/service-invoice-payments.d.ts.map +1 -0
  141. package/dist/service-invoices.d.ts +87 -87
  142. package/dist/service-invoices.d.ts.map +1 -0
  143. package/dist/service-issue.d.ts +38 -38
  144. package/dist/service-issue.d.ts.map +1 -0
  145. package/dist/service-payment-authorizations.d.ts +26 -26
  146. package/dist/service-payment-authorizations.d.ts.map +1 -0
  147. package/dist/service-payment-instruments.d.ts +10 -10
  148. package/dist/service-payment-instruments.d.ts.map +1 -0
  149. package/dist/service-payment-processing.d.ts +77 -77
  150. package/dist/service-payment-processing.d.ts.map +1 -0
  151. package/dist/service-payment-session-completion.d.ts +3 -3
  152. package/dist/service-payment-session-completion.d.ts.map +1 -0
  153. package/dist/service-payment-sessions.d.ts +38 -38
  154. package/dist/service-payment-sessions.d.ts.map +1 -0
  155. package/dist/service-profitability.d.ts.map +1 -0
  156. package/dist/service-public.d.ts +16 -16
  157. package/dist/service-public.d.ts.map +1 -0
  158. package/dist/service-reference-data.d.ts +23 -23
  159. package/dist/service-reference-data.d.ts.map +1 -0
  160. package/dist/service-rendition-wait.d.ts +1 -1
  161. package/dist/service-rendition-wait.d.ts.map +1 -0
  162. package/dist/service-reports.d.ts.map +1 -0
  163. package/dist/service-settlement.d.ts.map +1 -0
  164. package/dist/service-shared.d.ts +4 -4
  165. package/dist/service-shared.d.ts.map +1 -0
  166. package/dist/service-supplier-invoices.d.ts +20 -20
  167. package/dist/service-supplier-invoices.d.ts.map +1 -0
  168. package/dist/service-supplier-payments.d.ts +16 -16
  169. package/dist/service-supplier-payments.d.ts.map +1 -0
  170. package/dist/service-travel-credits.d.ts +10 -10
  171. package/dist/service-vouchers-migration.d.ts +51 -0
  172. package/dist/service-vouchers-migration.d.ts.map +1 -0
  173. package/dist/service-vouchers-migration.js +154 -0
  174. package/dist/service-vouchers.d.ts +157 -0
  175. package/dist/service-vouchers.d.ts.map +1 -0
  176. package/dist/service-vouchers.js +191 -0
  177. package/dist/service.d.ts +376 -376
  178. package/dist/service.d.ts.map +1 -0
  179. package/dist/stale-booking-holds-runtime.d.ts.map +1 -0
  180. package/dist/tools.d.ts +21 -21
  181. package/dist/tools.d.ts.map +1 -0
  182. package/dist/validation-billing.d.ts.map +1 -0
  183. package/dist/validation-payments.d.ts.map +1 -0
  184. package/dist/validation-public.d.ts.map +1 -0
  185. package/dist/validation-shared.d.ts.map +1 -0
  186. package/dist/validation-vouchers.d.ts +2 -0
  187. package/dist/validation-vouchers.d.ts.map +1 -0
  188. package/dist/validation-vouchers.js +1 -0
  189. package/dist/validation.d.ts.map +1 -0
  190. package/dist/voyant.d.ts +2 -1
  191. package/dist/voyant.d.ts.map +1 -0
  192. package/dist/voyant.js +43 -7
  193. package/openapi/admin/booking-tax-preview.json +33 -0
  194. package/openapi/admin/{booking-tax.json → booking-tax-settings.json} +7 -32
  195. package/package.json +205 -170
  196. package/LICENSE +0 -201
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-shared.d.ts","sourceRoot":"","sources":["../src/service-shared.ts"],"names":[],"mappings":"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"}
@@ -84,7 +84,7 @@ export declare function recomputeSupplierInvoiceBalance(db: PostgresJsDatabase,
84
84
  supplierId: string;
85
85
  supplierInvoiceNo: string;
86
86
  internalRef: string | null;
87
- status: "draft" | "partially_paid" | "paid" | "void" | "received" | "approved" | "disputed";
87
+ status: "void" | "draft" | "partially_paid" | "paid" | "received" | "approved" | "disputed";
88
88
  currency: string;
89
89
  baseCurrency: string | null;
90
90
  fxRateSetId: string | null;
@@ -118,7 +118,7 @@ export declare const supplierInvoicesService: {
118
118
  supplierId: string;
119
119
  supplierInvoiceNo: string;
120
120
  internalRef: string | null;
121
- status: "draft" | "partially_paid" | "paid" | "void" | "received" | "approved" | "disputed";
121
+ status: "void" | "draft" | "partially_paid" | "paid" | "received" | "approved" | "disputed";
122
122
  currency: string;
123
123
  baseCurrency: string | null;
124
124
  fxRateSetId: string | null;
@@ -154,7 +154,7 @@ export declare const supplierInvoicesService: {
154
154
  id: string;
155
155
  supplierInvoiceId: string;
156
156
  description: string;
157
- serviceType: "other" | "transport" | "flight" | "accommodation" | "guide" | "meal" | "experience" | "insurance";
157
+ serviceType: "other" | "accommodation" | "transport" | "flight" | "guide" | "meal" | "experience" | "insurance";
158
158
  costCategoryId: string | null;
159
159
  supplierServiceId: string | null;
160
160
  quantity: number;
@@ -171,7 +171,7 @@ export declare const supplierInvoicesService: {
171
171
  id: string;
172
172
  supplierInvoiceId: string;
173
173
  supplierInvoiceLineId: string | null;
174
- targetType: "booking" | "departure" | "product" | "traveler" | "unattributed";
174
+ targetType: "booking" | "unattributed" | "departure" | "product" | "traveler";
175
175
  departureId: string | null;
176
176
  productId: string | null;
177
177
  bookingId: string | null;
@@ -187,7 +187,7 @@ export declare const supplierInvoicesService: {
187
187
  supplierId: string;
188
188
  supplierInvoiceNo: string;
189
189
  internalRef: string | null;
190
- status: "draft" | "partially_paid" | "paid" | "void" | "received" | "approved" | "disputed";
190
+ status: "void" | "draft" | "partially_paid" | "paid" | "received" | "approved" | "disputed";
191
191
  currency: string;
192
192
  baseCurrency: string | null;
193
193
  fxRateSetId: string | null;
@@ -219,7 +219,7 @@ export declare const supplierInvoicesService: {
219
219
  id: string;
220
220
  supplierInvoiceId: string;
221
221
  description: string;
222
- serviceType: "other" | "transport" | "flight" | "accommodation" | "guide" | "meal" | "experience" | "insurance";
222
+ serviceType: "other" | "accommodation" | "transport" | "flight" | "guide" | "meal" | "experience" | "insurance";
223
223
  costCategoryId: string | null;
224
224
  supplierServiceId: string | null;
225
225
  quantity: number;
@@ -236,7 +236,7 @@ export declare const supplierInvoicesService: {
236
236
  id: string;
237
237
  supplierInvoiceId: string;
238
238
  supplierInvoiceLineId: string | null;
239
- targetType: "booking" | "departure" | "product" | "traveler" | "unattributed";
239
+ targetType: "booking" | "unattributed" | "departure" | "product" | "traveler";
240
240
  departureId: string | null;
241
241
  productId: string | null;
242
242
  bookingId: string | null;
@@ -252,7 +252,7 @@ export declare const supplierInvoicesService: {
252
252
  supplierId: string;
253
253
  supplierInvoiceNo: string;
254
254
  internalRef: string | null;
255
- status: "draft" | "partially_paid" | "paid" | "void" | "received" | "approved" | "disputed";
255
+ status: "void" | "draft" | "partially_paid" | "paid" | "received" | "approved" | "disputed";
256
256
  currency: string;
257
257
  baseCurrency: string | null;
258
258
  fxRateSetId: string | null;
@@ -284,7 +284,7 @@ export declare const supplierInvoicesService: {
284
284
  id: string;
285
285
  supplierInvoiceId: string;
286
286
  description: string;
287
- serviceType: "other" | "transport" | "flight" | "accommodation" | "guide" | "meal" | "experience" | "insurance";
287
+ serviceType: "other" | "accommodation" | "transport" | "flight" | "guide" | "meal" | "experience" | "insurance";
288
288
  costCategoryId: string | null;
289
289
  supplierServiceId: string | null;
290
290
  quantity: number;
@@ -301,7 +301,7 @@ export declare const supplierInvoicesService: {
301
301
  id: string;
302
302
  supplierInvoiceId: string;
303
303
  supplierInvoiceLineId: string | null;
304
- targetType: "booking" | "departure" | "product" | "traveler" | "unattributed";
304
+ targetType: "booking" | "unattributed" | "departure" | "product" | "traveler";
305
305
  departureId: string | null;
306
306
  productId: string | null;
307
307
  bookingId: string | null;
@@ -317,7 +317,7 @@ export declare const supplierInvoicesService: {
317
317
  supplierId: string;
318
318
  supplierInvoiceNo: string;
319
319
  internalRef: string | null;
320
- status: "draft" | "partially_paid" | "paid" | "void" | "received" | "approved" | "disputed";
320
+ status: "void" | "draft" | "partially_paid" | "paid" | "received" | "approved" | "disputed";
321
321
  currency: string;
322
322
  baseCurrency: string | null;
323
323
  fxRateSetId: string | null;
@@ -354,7 +354,7 @@ export declare const supplierInvoicesService: {
354
354
  id: string;
355
355
  supplierInvoiceId: string;
356
356
  description: string;
357
- serviceType: "other" | "transport" | "flight" | "accommodation" | "guide" | "meal" | "experience" | "insurance";
357
+ serviceType: "other" | "accommodation" | "transport" | "flight" | "guide" | "meal" | "experience" | "insurance";
358
358
  costCategoryId: string | null;
359
359
  supplierServiceId: string | null;
360
360
  quantity: number;
@@ -371,7 +371,7 @@ export declare const supplierInvoicesService: {
371
371
  id: string;
372
372
  supplierInvoiceId: string;
373
373
  supplierInvoiceLineId: string | null;
374
- targetType: "booking" | "departure" | "product" | "traveler" | "unattributed";
374
+ targetType: "booking" | "unattributed" | "departure" | "product" | "traveler";
375
375
  departureId: string | null;
376
376
  productId: string | null;
377
377
  bookingId: string | null;
@@ -387,7 +387,7 @@ export declare const supplierInvoicesService: {
387
387
  supplierId: string;
388
388
  supplierInvoiceNo: string;
389
389
  internalRef: string | null;
390
- status: "draft" | "partially_paid" | "paid" | "void" | "received" | "approved" | "disputed";
390
+ status: "void" | "draft" | "partially_paid" | "paid" | "received" | "approved" | "disputed";
391
391
  currency: string;
392
392
  baseCurrency: string | null;
393
393
  fxRateSetId: string | null;
@@ -423,7 +423,7 @@ export declare const supplierInvoicesService: {
423
423
  id: string;
424
424
  supplierInvoiceId: string;
425
425
  description: string;
426
- serviceType: "other" | "transport" | "flight" | "accommodation" | "guide" | "meal" | "experience" | "insurance";
426
+ serviceType: "other" | "accommodation" | "transport" | "flight" | "guide" | "meal" | "experience" | "insurance";
427
427
  costCategoryId: string | null;
428
428
  supplierServiceId: string | null;
429
429
  quantity: number;
@@ -440,7 +440,7 @@ export declare const supplierInvoicesService: {
440
440
  id: string;
441
441
  supplierInvoiceId: string;
442
442
  supplierInvoiceLineId: string | null;
443
- targetType: "booking" | "departure" | "product" | "traveler" | "unattributed";
443
+ targetType: "booking" | "unattributed" | "departure" | "product" | "traveler";
444
444
  departureId: string | null;
445
445
  productId: string | null;
446
446
  bookingId: string | null;
@@ -456,7 +456,7 @@ export declare const supplierInvoicesService: {
456
456
  supplierId: string;
457
457
  supplierInvoiceNo: string;
458
458
  internalRef: string | null;
459
- status: "draft" | "partially_paid" | "paid" | "void" | "received" | "approved" | "disputed";
459
+ status: "void" | "draft" | "partially_paid" | "paid" | "received" | "approved" | "disputed";
460
460
  currency: string;
461
461
  baseCurrency: string | null;
462
462
  fxRateSetId: string | null;
@@ -855,15 +855,15 @@ export declare const supplierInvoicesService: {
855
855
  } | null>;
856
856
  createAttachment(db: PostgresJsDatabase, supplierInvoiceId: string, input: CreateAttachmentInput): Promise<{
857
857
  id: string;
858
- name: string;
859
858
  metadata: unknown;
859
+ name: string;
860
+ supplierInvoiceId: string;
860
861
  createdAt: Date;
862
+ kind: string;
861
863
  storageKey: string | null;
862
864
  fileSize: number | null;
863
865
  checksum: string | null;
864
- kind: string;
865
866
  mimeType: string | null;
866
- supplierInvoiceId: string;
867
867
  } | null>;
868
868
  deleteAttachment(db: PostgresJsDatabase, supplierInvoiceId: string, attachmentId: string): Promise<{
869
869
  id: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-supplier-invoices.d.ts","sourceRoot":"","sources":["../src/service-supplier-invoices.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gCAAgC,EAEtC,MAAM,8BAA8B,CAAA;AAGrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,EAAE,KAAK,gBAAgB,EAAqC,MAAM,iBAAiB,CAAA;AAC1F,OAAO,EAIL,gBAAgB,EAEjB,MAAM,aAAa,CAAA;AASpB,OAAO,KAAK,EACV,qCAAqC,EACrC,2BAA2B,EAC3B,gCAAgC,EAChC,6BAA6B,EAE7B,8BAA8B,EAC9B,8BAA8B,EAC9B,2BAA2B,EAC5B,MAAM,iBAAiB,CAAA;AAExB,KAAK,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC7E,KAAK,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC7E,KAAK,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAC9E,KAAK,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE9E,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAClE,KAAK,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAC3E,KAAK,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAA;AAElF,MAAM,MAAM,wBAAwB,GAChC,4BAA4B,GAC5B,uBAAuB,GACvB,wBAAwB,GACxB,gBAAgB,GAChB,yBAAyB,GACzB,6BAA6B,CAAA;AAEjC;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IAElD,QAAQ,CAAC,IAAI,EAAE,wBAAwB;gBAA9B,IAAI,EAAE,wBAAwB,EACvC,OAAO,CAAC,EAAE,MAAM;CAKnB;AAED,MAAM,WAAW,6BAA8B,SAAQ,gBAAgB;IACrE,mBAAmB,CAAC,EAAE,gCAAgC,CAAA;IACtD,+BAA+B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChD;AAsFD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,wBAAwB,EAAE,GACzC,aAAa,CAQf;AAWD,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CAEvF;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,SAAS,wBAAwB,EAAE,QAqBtF;AAwED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAElE;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,iBAAiB,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAA;IACrC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAA;CAC7C,GAAG,qBAAqB,CA4DxB;AAED,KAAK,qBAAqB,GAAG,CAAC,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAA;AAE7E;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,qBAAqB,CAMvB;AAED;;;;;GAKG;AACH,wBAAsB,+BAA+B,CACnD,EAAE,EAAE,kBAAkB,EACtB,iBAAiB,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAuC1B;AA2JD,eAAO,MAAM,uBAAuB;aACnB,kBAAkB,SAAS,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA6DhD,kBAAkB,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAK1C,kBAAkB,SACf,0BAA0B,YACxB,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA+GlC,kBAAkB,MAClB,MAAM,SACH,0BAA0B,YACxB,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgHxC;;;;OAIG;iBAEG,kBAAkB,MAClB,MAAM,SACH,aAAa,YACX,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2FxC;;;OAGG;uBAEG,kBAAkB,MAClB,MAAM,SACH,mBAAmB,YACjB,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkDxC,2EAA2E;mBAErE,kBAAkB,MAClB,MAAM,YACD,6BAA6B;;;wBAgCpB,kBAAkB,qBAAqB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAQrC,kBAAkB,gBAAgB,MAAM;;;;;;;;;;;;yBAU9D,kBAAkB,qBACH,MAAM,SAClB,qBAAqB;;;;;;;;;;;;yBAyBH,kBAAkB,qBAAqB,MAAM,gBAAgB,MAAM;;;CAiB/F,CAAA"}
@@ -12,9 +12,9 @@ export declare const financeSupplierPaymentService: {
12
12
  baseCurrency: string | null;
13
13
  baseAmountCents: number | null;
14
14
  fxRateSetId: string | null;
15
- paymentMethod: "bank_transfer" | "credit_card" | "debit_card" | "cash" | "cheque" | "wallet" | "direct_bill" | "travel_credit" | "other";
15
+ paymentMethod: "other" | "credit_card" | "debit_card" | "cash" | "wallet" | "direct_bill" | "travel_credit" | "bank_transfer" | "cheque";
16
16
  paymentInstrumentId: string | null;
17
- status: "pending" | "completed" | "failed" | "refunded";
17
+ status: "pending" | "failed" | "completed" | "refunded";
18
18
  referenceNumber: string | null;
19
19
  paymentDate: string;
20
20
  notes: string | null;
@@ -27,23 +27,23 @@ export declare const financeSupplierPaymentService: {
27
27
  }>;
28
28
  createSupplierPayment(db: PostgresJsDatabase, data: CreateSupplierPaymentInput, runtime?: FinanceServiceRuntime): Promise<{
29
29
  id: string;
30
- supplierId: string | null;
31
- status: "pending" | "completed" | "failed" | "refunded";
32
- notes: string | null;
33
- createdAt: Date;
34
- updatedAt: Date;
35
- bookingId: string | null;
36
30
  currency: string;
37
- baseCurrency: string | null;
38
- fxRateSetId: string | null;
31
+ status: "pending" | "failed" | "completed" | "refunded";
39
32
  amountCents: number;
40
- baseAmountCents: number | null;
41
- paymentMethod: "bank_transfer" | "credit_card" | "debit_card" | "cash" | "cheque" | "wallet" | "direct_bill" | "travel_credit" | "other";
33
+ notes: string | null;
34
+ bookingId: string | null;
35
+ supplierId: string | null;
42
36
  paymentInstrumentId: string | null;
43
- referenceNumber: string | null;
37
+ paymentMethod: "other" | "credit_card" | "debit_card" | "cash" | "wallet" | "direct_bill" | "travel_credit" | "bank_transfer" | "cheque";
44
38
  paymentDate: string;
45
- bookingSupplierStatusId: string | null;
39
+ referenceNumber: string | null;
46
40
  supplierInvoiceId: string | null;
41
+ createdAt: Date;
42
+ bookingSupplierStatusId: string | null;
43
+ baseCurrency: string | null;
44
+ baseAmountCents: number | null;
45
+ fxRateSetId: string | null;
46
+ updatedAt: Date;
47
47
  } | null>;
48
48
  updateSupplierPayment(db: PostgresJsDatabase, id: string, data: UpdateSupplierPaymentInput, runtime?: FinanceServiceRuntime): Promise<{
49
49
  id: string;
@@ -56,9 +56,9 @@ export declare const financeSupplierPaymentService: {
56
56
  baseCurrency: string | null;
57
57
  baseAmountCents: number | null;
58
58
  fxRateSetId: string | null;
59
- paymentMethod: "bank_transfer" | "credit_card" | "debit_card" | "cash" | "cheque" | "wallet" | "direct_bill" | "travel_credit" | "other";
59
+ paymentMethod: "other" | "credit_card" | "debit_card" | "cash" | "wallet" | "direct_bill" | "travel_credit" | "bank_transfer" | "cheque";
60
60
  paymentInstrumentId: string | null;
61
- status: "pending" | "completed" | "failed" | "refunded";
61
+ status: "pending" | "failed" | "completed" | "refunded";
62
62
  referenceNumber: string | null;
63
63
  paymentDate: string;
64
64
  notes: string | null;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-supplier-payments.d.ts","sourceRoot":"","sources":["../src/service-supplier-payments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAwF5B,eAAO,MAAM,6BAA6B;6BACT,kBAAkB,SAAS,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;8BAuE5E,kBAAkB,QAChB,0BAA0B,YACvB,qBAAqB;;;;;;;;;;;;;;;;;;;;8BA4D1B,kBAAkB,MAClB,MAAM,QACJ,0BAA0B,YACvB,qBAAqB;;;;;;;;;;;;;;;;;;;;CA8DjC,CAAA"}
@@ -78,22 +78,22 @@ export declare const travelCreditsService: {
78
78
  } | null>;
79
79
  create(db: PostgresJsDatabase, input: CreateTravelCreditInput, issuedByUserId?: string): Promise<{
80
80
  id: string;
81
- status: "void" | "expired" | "active" | "redeemed";
82
- notes: string | null;
83
- createdAt: Date;
84
- updatedAt: Date;
85
81
  currency: string;
86
- expiresAt: Date | null;
82
+ status: "void" | "expired" | "active" | "redeemed";
87
83
  code: string;
88
84
  seriesCode: string | null;
89
- initialAmountCents: number;
90
- remainingAmountCents: number;
91
85
  issuedToPersonId: string | null;
92
86
  issuedToOrganizationId: string | null;
93
87
  sourceType: "manual" | "refund" | "cancellation_credit" | "gift" | "goodwill" | "promotion";
94
88
  sourceBookingId: string | null;
95
89
  sourcePaymentId: string | null;
96
90
  validFrom: Date | null;
91
+ expiresAt: Date | null;
92
+ notes: string | null;
93
+ createdAt: Date;
94
+ updatedAt: Date;
95
+ initialAmountCents: number;
96
+ remainingAmountCents: number;
97
97
  issuedByUserId: string | null;
98
98
  } | null>;
99
99
  update(db: PostgresJsDatabase, id: string, input: UpdateTravelCreditInput): Promise<{
@@ -147,11 +147,11 @@ export declare const travelCreditsService: {
147
147
  };
148
148
  redemption: {
149
149
  id: string;
150
- createdAt: Date;
151
- bookingId: string;
150
+ idempotencyKey: string | null;
152
151
  amountCents: number;
152
+ bookingId: string;
153
153
  paymentId: string | null;
154
- idempotencyKey: string | null;
154
+ createdAt: Date;
155
155
  travelCreditId: string;
156
156
  createdByUserId: string | null;
157
157
  } | null;
@@ -0,0 +1,51 @@
1
+ import { type NodePgClient, type NodePgDatabase } from "drizzle-orm/node-postgres";
2
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
3
+ export interface VoucherMigrationOptions {
4
+ /**
5
+ * When true, report what would happen without writing. Defaults to false.
6
+ */
7
+ dryRun?: boolean;
8
+ /**
9
+ * Per-row hook for progress reporting. Not called on skipped rows.
10
+ */
11
+ onRowMigrated?: (info: {
12
+ paymentInstrumentId: string;
13
+ voucherCode: string;
14
+ }) => void;
15
+ }
16
+ export interface VoucherMigrationSkip {
17
+ paymentInstrumentId: string;
18
+ reason: "already_migrated" | "missing_code" | "missing_currency" | "missing_amount" | "duplicate_code_collision";
19
+ }
20
+ export interface VoucherMigrationResult {
21
+ candidates: number;
22
+ migrated: number;
23
+ skipped: VoucherMigrationSkip[];
24
+ dryRun: boolean;
25
+ }
26
+ export interface VoucherSetupMigrationContext {
27
+ client: NodePgClient;
28
+ dryRun: boolean;
29
+ }
30
+ /** Node migration-runner adapter exported by the package-owned setup facet. */
31
+ export declare function runVoucherSetupMigration(context: VoucherSetupMigrationContext): Promise<VoucherMigrationResult>;
32
+ /**
33
+ * Backfill the `vouchers` table from legacy voucher rows in
34
+ * `payment_instruments`. A legacy voucher is a row with `instrumentType =
35
+ * 'voucher'` whose code lives in one of `metadata.code`, `external_token`, or
36
+ * `direct_bill_reference`, and whose balance lives in
37
+ * `metadata.remainingAmountCents` (falling back to `metadata.amountCents` when
38
+ * no redemption has touched the row).
39
+ *
40
+ * The migration is idempotent: rows whose code already exists in the new
41
+ * `vouchers` table are skipped so re-running the script after a partial run
42
+ * (or after issuing new vouchers via the first-class API) is safe.
43
+ *
44
+ * Why skip rather than update: the new table treats `code` as a primary lookup
45
+ * key and the legacy path has already been read-only-fallback since #256
46
+ * landed, so any voucher that exists in both tables is by definition already
47
+ * migrated. Picking one source of truth avoids clobbering balances the
48
+ * operator may have adjusted through the new redemption flow.
49
+ */
50
+ export declare function migrateVouchersFromPaymentInstruments(db: PostgresJsDatabase | NodePgDatabase, options?: VoucherMigrationOptions): Promise<VoucherMigrationResult>;
51
+ //# sourceMappingURL=service-vouchers-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-vouchers-migration.d.ts","sourceRoot":"","sources":["../src/service-vouchers-migration.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAsCjE,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,mBAAmB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACrF;AAED,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,MAAM,EACF,kBAAkB,GAClB,cAAc,GACd,kBAAkB,GAClB,gBAAgB,GAChB,0BAA0B,CAAA;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,+EAA+E;AAC/E,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAGjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qCAAqC,CACzD,EAAE,EAAE,kBAAkB,GAAG,cAAc,EACvC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CA6GjC"}
@@ -0,0 +1,154 @@
1
+ import { eq, sql } from "drizzle-orm";
2
+ import { drizzle } from "drizzle-orm/node-postgres";
3
+ import { paymentInstruments, vouchers } from "./schema.js";
4
+ /**
5
+ * Pulls a (possibly nested, array-wrapped, or null) value out of a JSONB
6
+ * metadata column. Keeps the narrow runtime checks local so callers can stay
7
+ * declarative about the shape they expect.
8
+ */
9
+ function asRecord(metadata) {
10
+ if (!metadata || typeof metadata !== "object" || Array.isArray(metadata)) {
11
+ return null;
12
+ }
13
+ return metadata;
14
+ }
15
+ function asString(record, key) {
16
+ const value = record?.[key];
17
+ return typeof value === "string" && value.length > 0 ? value : null;
18
+ }
19
+ function asNumber(record, key) {
20
+ const value = record?.[key];
21
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
22
+ }
23
+ function asStringArray(record, key) {
24
+ const value = record?.[key];
25
+ if (!Array.isArray(value))
26
+ return [];
27
+ return value.filter((entry) => typeof entry === "string" && entry.length > 0);
28
+ }
29
+ function asDate(value) {
30
+ if (!value)
31
+ return null;
32
+ const parsed = new Date(value);
33
+ return Number.isNaN(parsed.getTime()) ? null : parsed;
34
+ }
35
+ /** Node migration-runner adapter exported by the package-owned setup facet. */
36
+ export async function runVoucherSetupMigration(context) {
37
+ const db = drizzle(context.client);
38
+ return migrateVouchersFromPaymentInstruments(db, { dryRun: context.dryRun });
39
+ }
40
+ /**
41
+ * Backfill the `vouchers` table from legacy voucher rows in
42
+ * `payment_instruments`. A legacy voucher is a row with `instrumentType =
43
+ * 'voucher'` whose code lives in one of `metadata.code`, `external_token`, or
44
+ * `direct_bill_reference`, and whose balance lives in
45
+ * `metadata.remainingAmountCents` (falling back to `metadata.amountCents` when
46
+ * no redemption has touched the row).
47
+ *
48
+ * The migration is idempotent: rows whose code already exists in the new
49
+ * `vouchers` table are skipped so re-running the script after a partial run
50
+ * (or after issuing new vouchers via the first-class API) is safe.
51
+ *
52
+ * Why skip rather than update: the new table treats `code` as a primary lookup
53
+ * key and the legacy path has already been read-only-fallback since #256
54
+ * landed, so any voucher that exists in both tables is by definition already
55
+ * migrated. Picking one source of truth avoids clobbering balances the
56
+ * operator may have adjusted through the new redemption flow.
57
+ */
58
+ export async function migrateVouchersFromPaymentInstruments(db, options = {}) {
59
+ const dryRun = options.dryRun ?? false;
60
+ const skipped = [];
61
+ let migrated = 0;
62
+ const candidates = await db
63
+ .select()
64
+ .from(paymentInstruments)
65
+ .where(eq(paymentInstruments.instrumentType, "voucher"));
66
+ for (const instrument of candidates) {
67
+ const metadata = asRecord(instrument.metadata);
68
+ const code = asString(metadata, "code") ?? instrument.externalToken ?? instrument.directBillReference;
69
+ if (!code) {
70
+ skipped.push({ paymentInstrumentId: instrument.id, reason: "missing_code" });
71
+ continue;
72
+ }
73
+ const currency = asString(metadata, "currency");
74
+ if (!currency || currency.length !== 3) {
75
+ skipped.push({ paymentInstrumentId: instrument.id, reason: "missing_currency" });
76
+ continue;
77
+ }
78
+ const initialAmountCents = asNumber(metadata, "amountCents");
79
+ if (initialAmountCents === null || initialAmountCents <= 0) {
80
+ skipped.push({ paymentInstrumentId: instrument.id, reason: "missing_amount" });
81
+ continue;
82
+ }
83
+ const remainingAmountCents = asNumber(metadata, "remainingAmountCents") ?? initialAmountCents;
84
+ const [existing] = await db
85
+ .select({ id: vouchers.id })
86
+ .from(vouchers)
87
+ // agent-quality: raw-sql reviewed -- owner: finance; dynamic SQL interpolation uses Drizzle parameter binding or vetted SQL identifiers.
88
+ .where(sql `lower(${vouchers.code}) = ${code.toLowerCase()}`)
89
+ .limit(1);
90
+ if (existing) {
91
+ skipped.push({ paymentInstrumentId: instrument.id, reason: "already_migrated" });
92
+ continue;
93
+ }
94
+ const expiresAt = asDate(asString(metadata, "expiresAt"));
95
+ // OpenTravel uses `effectiveDate`; some legacy payloads also wrote
96
+ // `validFrom` directly. Check both so existing rows aren't silently
97
+ // dropped.
98
+ const validFrom = asDate(asString(metadata, "validFrom")) ?? asDate(asString(metadata, "effectiveDate"));
99
+ const seriesCode = asString(metadata, "seriesCode");
100
+ const bookingIds = asStringArray(metadata, "bookingIds");
101
+ const sourceBookingId = asString(metadata, "bookingId") ?? bookingIds[0] ?? null;
102
+ // Collapse the legacy status/balance pair onto the new enum. If there's no
103
+ // balance left, treat as already spent; otherwise follow the instrument's
104
+ // own active/inactive flag.
105
+ const status = remainingAmountCents <= 0 ? "redeemed" : instrument.status === "active" ? "active" : "void";
106
+ if (dryRun) {
107
+ migrated++;
108
+ options.onRowMigrated?.({ paymentInstrumentId: instrument.id, voucherCode: code });
109
+ continue;
110
+ }
111
+ try {
112
+ await db.insert(vouchers).values({
113
+ code,
114
+ seriesCode,
115
+ status,
116
+ currency: currency.toUpperCase(),
117
+ initialAmountCents,
118
+ remainingAmountCents: Math.max(0, remainingAmountCents),
119
+ issuedToPersonId: instrument.personId ?? null,
120
+ issuedToOrganizationId: instrument.organizationId ?? null,
121
+ // We don't know the original source (refund vs gift vs promo) from the
122
+ // legacy shape, so mark everything as `manual` — operators can reclassify
123
+ // later via PATCH /vouchers/:id.
124
+ sourceType: "manual",
125
+ sourceBookingId,
126
+ notes: instrument.notes ?? null,
127
+ validFrom,
128
+ expiresAt,
129
+ createdAt: instrument.createdAt,
130
+ updatedAt: instrument.updatedAt,
131
+ });
132
+ migrated++;
133
+ options.onRowMigrated?.({ paymentInstrumentId: instrument.id, voucherCode: code });
134
+ }
135
+ catch (error) {
136
+ // Unique-index collision is the only realistic insert failure here
137
+ // (another concurrent migration or a race with a manual issuance). Record
138
+ // it as a skip rather than aborting the batch so a retry finishes the
139
+ // rest.
140
+ const message = error instanceof Error ? error.message : String(error);
141
+ if (message.includes("uidx_vouchers_code") || message.includes("duplicate key")) {
142
+ skipped.push({ paymentInstrumentId: instrument.id, reason: "duplicate_code_collision" });
143
+ continue;
144
+ }
145
+ throw error;
146
+ }
147
+ }
148
+ return {
149
+ candidates: candidates.length,
150
+ migrated,
151
+ skipped,
152
+ dryRun,
153
+ };
154
+ }