@voyant-travel/distribution 0.109.8

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 (168) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +42 -0
  3. package/dist/booking-extension.d.ts +168 -0
  4. package/dist/booking-extension.d.ts.map +1 -0
  5. package/dist/booking-extension.js +102 -0
  6. package/dist/channel-push/admin-routes.d.ts +31 -0
  7. package/dist/channel-push/admin-routes.d.ts.map +1 -0
  8. package/dist/channel-push/admin-routes.js +165 -0
  9. package/dist/channel-push/availability-push.d.ts +76 -0
  10. package/dist/channel-push/availability-push.d.ts.map +1 -0
  11. package/dist/channel-push/availability-push.js +236 -0
  12. package/dist/channel-push/booking-push-helpers.d.ts +36 -0
  13. package/dist/channel-push/booking-push-helpers.d.ts.map +1 -0
  14. package/dist/channel-push/booking-push-helpers.js +169 -0
  15. package/dist/channel-push/booking-push.d.ts +108 -0
  16. package/dist/channel-push/booking-push.d.ts.map +1 -0
  17. package/dist/channel-push/booking-push.js +335 -0
  18. package/dist/channel-push/boundary-sql.d.ts +23 -0
  19. package/dist/channel-push/boundary-sql.d.ts.map +1 -0
  20. package/dist/channel-push/boundary-sql.js +75 -0
  21. package/dist/channel-push/content-push.d.ts +60 -0
  22. package/dist/channel-push/content-push.d.ts.map +1 -0
  23. package/dist/channel-push/content-push.js +252 -0
  24. package/dist/channel-push/index.d.ts +15 -0
  25. package/dist/channel-push/index.d.ts.map +1 -0
  26. package/dist/channel-push/index.js +18 -0
  27. package/dist/channel-push/plugin.d.ts +18 -0
  28. package/dist/channel-push/plugin.d.ts.map +1 -0
  29. package/dist/channel-push/plugin.js +21 -0
  30. package/dist/channel-push/reconciler.d.ts +85 -0
  31. package/dist/channel-push/reconciler.d.ts.map +1 -0
  32. package/dist/channel-push/reconciler.js +179 -0
  33. package/dist/channel-push/subscriber.d.ts +40 -0
  34. package/dist/channel-push/subscriber.d.ts.map +1 -0
  35. package/dist/channel-push/subscriber.js +199 -0
  36. package/dist/channel-push/types.d.ts +43 -0
  37. package/dist/channel-push/types.d.ts.map +1 -0
  38. package/dist/channel-push/types.js +32 -0
  39. package/dist/channel-push/workflows.d.ts +56 -0
  40. package/dist/channel-push/workflows.d.ts.map +1 -0
  41. package/dist/channel-push/workflows.js +100 -0
  42. package/dist/external-refs/index.d.ts +11 -0
  43. package/dist/external-refs/index.d.ts.map +1 -0
  44. package/dist/external-refs/index.js +12 -0
  45. package/dist/external-refs/routes.d.ts +253 -0
  46. package/dist/external-refs/routes.d.ts.map +1 -0
  47. package/dist/external-refs/routes.js +52 -0
  48. package/dist/external-refs/schema.d.ts +251 -0
  49. package/dist/external-refs/schema.d.ts.map +1 -0
  50. package/dist/external-refs/schema.js +32 -0
  51. package/dist/external-refs/service.d.ts +82 -0
  52. package/dist/external-refs/service.d.ts.map +1 -0
  53. package/dist/external-refs/service.js +112 -0
  54. package/dist/external-refs/validation.d.ts +91 -0
  55. package/dist/external-refs/validation.d.ts.map +1 -0
  56. package/dist/external-refs/validation.js +40 -0
  57. package/dist/index.d.ts +21 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +20 -0
  60. package/dist/interface-types.d.ts +128 -0
  61. package/dist/interface-types.d.ts.map +1 -0
  62. package/dist/interface-types.js +1 -0
  63. package/dist/interface.d.ts +10 -0
  64. package/dist/interface.d.ts.map +1 -0
  65. package/dist/interface.js +286 -0
  66. package/dist/rate-limit.d.ts +69 -0
  67. package/dist/rate-limit.d.ts.map +1 -0
  68. package/dist/rate-limit.js +135 -0
  69. package/dist/routes/batch.d.ts +200 -0
  70. package/dist/routes/batch.d.ts.map +1 -0
  71. package/dist/routes/batch.js +52 -0
  72. package/dist/routes/env.d.ts +8 -0
  73. package/dist/routes/env.d.ts.map +1 -0
  74. package/dist/routes/env.js +1 -0
  75. package/dist/routes/inventory.d.ts +604 -0
  76. package/dist/routes/inventory.d.ts.map +1 -0
  77. package/dist/routes/inventory.js +138 -0
  78. package/dist/routes/settlements.d.ts +1649 -0
  79. package/dist/routes/settlements.d.ts.map +1 -0
  80. package/dist/routes/settlements.js +265 -0
  81. package/dist/routes.d.ts +3909 -0
  82. package/dist/routes.d.ts.map +1 -0
  83. package/dist/routes.js +323 -0
  84. package/dist/schema-automation.d.ts +680 -0
  85. package/dist/schema-automation.d.ts.map +1 -0
  86. package/dist/schema-automation.js +76 -0
  87. package/dist/schema-core.d.ts +1674 -0
  88. package/dist/schema-core.d.ts.map +1 -0
  89. package/dist/schema-core.js +227 -0
  90. package/dist/schema-finance.d.ts +1372 -0
  91. package/dist/schema-finance.d.ts.map +1 -0
  92. package/dist/schema-finance.js +153 -0
  93. package/dist/schema-inventory.d.ts +855 -0
  94. package/dist/schema-inventory.d.ts.map +1 -0
  95. package/dist/schema-inventory.js +102 -0
  96. package/dist/schema-push-intents.d.ts +387 -0
  97. package/dist/schema-push-intents.d.ts.map +1 -0
  98. package/dist/schema-push-intents.js +77 -0
  99. package/dist/schema-relations.d.ts +95 -0
  100. package/dist/schema-relations.d.ts.map +1 -0
  101. package/dist/schema-relations.js +196 -0
  102. package/dist/schema-shared.d.ts +24 -0
  103. package/dist/schema-shared.d.ts.map +1 -0
  104. package/dist/schema-shared.js +123 -0
  105. package/dist/schema.d.ts +9 -0
  106. package/dist/schema.d.ts.map +1 -0
  107. package/dist/schema.js +8 -0
  108. package/dist/service/channels.d.ts +167 -0
  109. package/dist/service/channels.d.ts.map +1 -0
  110. package/dist/service/channels.js +305 -0
  111. package/dist/service/commercial.d.ts +385 -0
  112. package/dist/service/commercial.d.ts.map +1 -0
  113. package/dist/service/commercial.js +248 -0
  114. package/dist/service/helpers.d.ts +10 -0
  115. package/dist/service/helpers.d.ts.map +1 -0
  116. package/dist/service/helpers.js +7 -0
  117. package/dist/service/inventory.d.ts +193 -0
  118. package/dist/service/inventory.d.ts.map +1 -0
  119. package/dist/service/inventory.js +154 -0
  120. package/dist/service/settlement-policies.d.ts +325 -0
  121. package/dist/service/settlement-policies.d.ts.map +1 -0
  122. package/dist/service/settlement-policies.js +272 -0
  123. package/dist/service/settlements.d.ts +357 -0
  124. package/dist/service/settlements.d.ts.map +1 -0
  125. package/dist/service/settlements.js +319 -0
  126. package/dist/service/types.d.ts +60 -0
  127. package/dist/service/types.d.ts.map +1 -0
  128. package/dist/service/types.js +1 -0
  129. package/dist/service.d.ts +1418 -0
  130. package/dist/service.d.ts.map +1 -0
  131. package/dist/service.js +17 -0
  132. package/dist/suppliers/index.d.ts +15 -0
  133. package/dist/suppliers/index.d.ts.map +1 -0
  134. package/dist/suppliers/index.js +23 -0
  135. package/dist/suppliers/routes.d.ts +1202 -0
  136. package/dist/suppliers/routes.d.ts.map +1 -0
  137. package/dist/suppliers/routes.js +290 -0
  138. package/dist/suppliers/schema.d.ts +1272 -0
  139. package/dist/suppliers/schema.d.ts.map +1 -0
  140. package/dist/suppliers/schema.js +219 -0
  141. package/dist/suppliers/service-aggregates.d.ts +23 -0
  142. package/dist/suppliers/service-aggregates.d.ts.map +1 -0
  143. package/dist/suppliers/service-aggregates.js +51 -0
  144. package/dist/suppliers/service-core.d.ts +89 -0
  145. package/dist/suppliers/service-core.d.ts.map +1 -0
  146. package/dist/suppliers/service-core.js +164 -0
  147. package/dist/suppliers/service-identity.d.ts +162 -0
  148. package/dist/suppliers/service-identity.d.ts.map +1 -0
  149. package/dist/suppliers/service-identity.js +101 -0
  150. package/dist/suppliers/service-operations.d.ts +1500 -0
  151. package/dist/suppliers/service-operations.d.ts.map +1 -0
  152. package/dist/suppliers/service-operations.js +157 -0
  153. package/dist/suppliers/service-shared.d.ts +45 -0
  154. package/dist/suppliers/service-shared.d.ts.map +1 -0
  155. package/dist/suppliers/service-shared.js +294 -0
  156. package/dist/suppliers/service.d.ts +41 -0
  157. package/dist/suppliers/service.d.ts.map +1 -0
  158. package/dist/suppliers/service.js +40 -0
  159. package/dist/suppliers/validation.d.ts +2 -0
  160. package/dist/suppliers/validation.d.ts.map +1 -0
  161. package/dist/suppliers/validation.js +1 -0
  162. package/dist/validation.d.ts +1371 -0
  163. package/dist/validation.d.ts.map +1 -0
  164. package/dist/validation.js +445 -0
  165. package/dist/webhook-deliveries.d.ts +86 -0
  166. package/dist/webhook-deliveries.d.ts.map +1 -0
  167. package/dist/webhook-deliveries.js +296 -0
  168. package/package.json +71 -0
@@ -0,0 +1,1418 @@
1
+ export type { HydratedChannel } from "./service/channels.js";
2
+ import { linkExternalReference, reconcileCounterpartyActivity, resolveCounterparty, routeCounterpartyEvent } from "./interface.js";
3
+ export declare const distributionService: {
4
+ listSettlementPolicies(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelSettlementPolicyListQuery): Promise<{
5
+ data: {
6
+ id: string;
7
+ channelId: string;
8
+ contractId: string | null;
9
+ frequency: "manual" | "daily" | "weekly" | "monthly";
10
+ autoGenerate: boolean;
11
+ approvalRequired: boolean;
12
+ remittanceDaysAfterPeriodEnd: number | null;
13
+ minimumPayoutAmountCents: number | null;
14
+ currencyCode: string | null;
15
+ active: boolean;
16
+ notes: string | null;
17
+ metadata: Record<string, unknown> | null;
18
+ createdAt: Date;
19
+ updatedAt: Date;
20
+ }[];
21
+ total: number;
22
+ limit: number;
23
+ offset: number;
24
+ }>;
25
+ getSettlementPolicyById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
26
+ id: string;
27
+ channelId: string;
28
+ contractId: string | null;
29
+ frequency: "manual" | "daily" | "weekly" | "monthly";
30
+ autoGenerate: boolean;
31
+ approvalRequired: boolean;
32
+ remittanceDaysAfterPeriodEnd: number | null;
33
+ minimumPayoutAmountCents: number | null;
34
+ currencyCode: string | null;
35
+ active: boolean;
36
+ notes: string | null;
37
+ metadata: Record<string, unknown> | null;
38
+ createdAt: Date;
39
+ updatedAt: Date;
40
+ } | null>;
41
+ createSettlementPolicy(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelSettlementPolicyInput): Promise<{
42
+ createdAt: Date;
43
+ updatedAt: Date;
44
+ metadata: Record<string, unknown> | null;
45
+ id: string;
46
+ active: boolean;
47
+ channelId: string;
48
+ notes: string | null;
49
+ contractId: string | null;
50
+ currencyCode: string | null;
51
+ frequency: "manual" | "daily" | "weekly" | "monthly";
52
+ autoGenerate: boolean;
53
+ approvalRequired: boolean;
54
+ remittanceDaysAfterPeriodEnd: number | null;
55
+ minimumPayoutAmountCents: number | null;
56
+ } | undefined>;
57
+ updateSettlementPolicy(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelSettlementPolicyInput): Promise<{
58
+ id: string;
59
+ channelId: string;
60
+ contractId: string | null;
61
+ frequency: "manual" | "daily" | "weekly" | "monthly";
62
+ autoGenerate: boolean;
63
+ approvalRequired: boolean;
64
+ remittanceDaysAfterPeriodEnd: number | null;
65
+ minimumPayoutAmountCents: number | null;
66
+ currencyCode: string | null;
67
+ active: boolean;
68
+ notes: string | null;
69
+ metadata: Record<string, unknown> | null;
70
+ createdAt: Date;
71
+ updatedAt: Date;
72
+ } | null>;
73
+ deleteSettlementPolicy(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
74
+ id: string;
75
+ } | null>;
76
+ listReconciliationPolicies(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelReconciliationPolicyListQuery): Promise<{
77
+ data: {
78
+ id: string;
79
+ channelId: string;
80
+ contractId: string | null;
81
+ frequency: "manual" | "daily" | "weekly" | "monthly";
82
+ autoRun: boolean;
83
+ compareGrossAmounts: boolean;
84
+ compareStatuses: boolean;
85
+ compareCancellations: boolean;
86
+ amountToleranceCents: number | null;
87
+ active: boolean;
88
+ notes: string | null;
89
+ metadata: Record<string, unknown> | null;
90
+ createdAt: Date;
91
+ updatedAt: Date;
92
+ }[];
93
+ total: number;
94
+ limit: number;
95
+ offset: number;
96
+ }>;
97
+ getReconciliationPolicyById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
98
+ id: string;
99
+ channelId: string;
100
+ contractId: string | null;
101
+ frequency: "manual" | "daily" | "weekly" | "monthly";
102
+ autoRun: boolean;
103
+ compareGrossAmounts: boolean;
104
+ compareStatuses: boolean;
105
+ compareCancellations: boolean;
106
+ amountToleranceCents: number | null;
107
+ active: boolean;
108
+ notes: string | null;
109
+ metadata: Record<string, unknown> | null;
110
+ createdAt: Date;
111
+ updatedAt: Date;
112
+ } | null>;
113
+ createReconciliationPolicy(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelReconciliationPolicyInput): Promise<{
114
+ createdAt: Date;
115
+ updatedAt: Date;
116
+ metadata: Record<string, unknown> | null;
117
+ id: string;
118
+ active: boolean;
119
+ channelId: string;
120
+ notes: string | null;
121
+ contractId: string | null;
122
+ frequency: "manual" | "daily" | "weekly" | "monthly";
123
+ autoRun: boolean;
124
+ compareGrossAmounts: boolean;
125
+ compareStatuses: boolean;
126
+ compareCancellations: boolean;
127
+ amountToleranceCents: number | null;
128
+ } | undefined>;
129
+ updateReconciliationPolicy(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelReconciliationPolicyInput): Promise<{
130
+ id: string;
131
+ channelId: string;
132
+ contractId: string | null;
133
+ frequency: "manual" | "daily" | "weekly" | "monthly";
134
+ autoRun: boolean;
135
+ compareGrossAmounts: boolean;
136
+ compareStatuses: boolean;
137
+ compareCancellations: boolean;
138
+ amountToleranceCents: number | null;
139
+ active: boolean;
140
+ notes: string | null;
141
+ metadata: Record<string, unknown> | null;
142
+ createdAt: Date;
143
+ updatedAt: Date;
144
+ } | null>;
145
+ deleteReconciliationPolicy(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
146
+ id: string;
147
+ } | null>;
148
+ listReleaseSchedules(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelReleaseScheduleListQuery): Promise<{
149
+ data: {
150
+ id: string;
151
+ releaseRuleId: string;
152
+ scheduleKind: "manual" | "daily" | "hourly";
153
+ nextRunAt: Date | null;
154
+ lastRunAt: Date | null;
155
+ active: boolean;
156
+ notes: string | null;
157
+ metadata: Record<string, unknown> | null;
158
+ createdAt: Date;
159
+ updatedAt: Date;
160
+ }[];
161
+ total: number;
162
+ limit: number;
163
+ offset: number;
164
+ }>;
165
+ getReleaseScheduleById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
166
+ id: string;
167
+ releaseRuleId: string;
168
+ scheduleKind: "manual" | "daily" | "hourly";
169
+ nextRunAt: Date | null;
170
+ lastRunAt: Date | null;
171
+ active: boolean;
172
+ notes: string | null;
173
+ metadata: Record<string, unknown> | null;
174
+ createdAt: Date;
175
+ updatedAt: Date;
176
+ } | null>;
177
+ createReleaseSchedule(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelReleaseScheduleInput): Promise<{
178
+ createdAt: Date;
179
+ updatedAt: Date;
180
+ metadata: Record<string, unknown> | null;
181
+ id: string;
182
+ active: boolean;
183
+ notes: string | null;
184
+ releaseRuleId: string;
185
+ scheduleKind: "manual" | "daily" | "hourly";
186
+ nextRunAt: Date | null;
187
+ lastRunAt: Date | null;
188
+ } | undefined>;
189
+ updateReleaseSchedule(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelReleaseScheduleInput): Promise<{
190
+ id: string;
191
+ releaseRuleId: string;
192
+ scheduleKind: "manual" | "daily" | "hourly";
193
+ nextRunAt: Date | null;
194
+ lastRunAt: Date | null;
195
+ active: boolean;
196
+ notes: string | null;
197
+ metadata: Record<string, unknown> | null;
198
+ createdAt: Date;
199
+ updatedAt: Date;
200
+ } | null>;
201
+ deleteReleaseSchedule(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
202
+ id: string;
203
+ } | null>;
204
+ listRemittanceExceptions(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelRemittanceExceptionListQuery): Promise<{
205
+ data: {
206
+ id: string;
207
+ channelId: string;
208
+ settlementItemId: string | null;
209
+ reconciliationItemId: string | null;
210
+ exceptionType: string;
211
+ severity: "error" | "info" | "warning";
212
+ status: "ignored" | "open" | "resolved" | "investigating";
213
+ openedAt: Date;
214
+ resolvedAt: Date | null;
215
+ notes: string | null;
216
+ metadata: Record<string, unknown> | null;
217
+ createdAt: Date;
218
+ updatedAt: Date;
219
+ }[];
220
+ total: number;
221
+ limit: number;
222
+ offset: number;
223
+ }>;
224
+ getRemittanceExceptionById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
225
+ id: string;
226
+ channelId: string;
227
+ settlementItemId: string | null;
228
+ reconciliationItemId: string | null;
229
+ exceptionType: string;
230
+ severity: "error" | "info" | "warning";
231
+ status: "ignored" | "open" | "resolved" | "investigating";
232
+ openedAt: Date;
233
+ resolvedAt: Date | null;
234
+ notes: string | null;
235
+ metadata: Record<string, unknown> | null;
236
+ createdAt: Date;
237
+ updatedAt: Date;
238
+ } | null>;
239
+ createRemittanceException(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelRemittanceExceptionInput): Promise<{
240
+ createdAt: Date;
241
+ updatedAt: Date;
242
+ metadata: Record<string, unknown> | null;
243
+ id: string;
244
+ status: "ignored" | "open" | "resolved" | "investigating";
245
+ channelId: string;
246
+ notes: string | null;
247
+ severity: "error" | "info" | "warning";
248
+ resolvedAt: Date | null;
249
+ settlementItemId: string | null;
250
+ reconciliationItemId: string | null;
251
+ exceptionType: string;
252
+ openedAt: Date;
253
+ } | undefined>;
254
+ updateRemittanceException(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelRemittanceExceptionInput): Promise<{
255
+ id: string;
256
+ channelId: string;
257
+ settlementItemId: string | null;
258
+ reconciliationItemId: string | null;
259
+ exceptionType: string;
260
+ severity: "error" | "info" | "warning";
261
+ status: "ignored" | "open" | "resolved" | "investigating";
262
+ openedAt: Date;
263
+ resolvedAt: Date | null;
264
+ notes: string | null;
265
+ metadata: Record<string, unknown> | null;
266
+ createdAt: Date;
267
+ updatedAt: Date;
268
+ } | null>;
269
+ deleteRemittanceException(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
270
+ id: string;
271
+ } | null>;
272
+ listSettlementApprovals(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelSettlementApprovalListQuery): Promise<{
273
+ data: {
274
+ id: string;
275
+ settlementRunId: string;
276
+ approverUserId: string | null;
277
+ status: "pending" | "approved" | "rejected";
278
+ decidedAt: Date | null;
279
+ notes: string | null;
280
+ metadata: Record<string, unknown> | null;
281
+ createdAt: Date;
282
+ updatedAt: Date;
283
+ }[];
284
+ total: number;
285
+ limit: number;
286
+ offset: number;
287
+ }>;
288
+ getSettlementApprovalById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
289
+ id: string;
290
+ settlementRunId: string;
291
+ approverUserId: string | null;
292
+ status: "pending" | "approved" | "rejected";
293
+ decidedAt: Date | null;
294
+ notes: string | null;
295
+ metadata: Record<string, unknown> | null;
296
+ createdAt: Date;
297
+ updatedAt: Date;
298
+ } | null>;
299
+ createSettlementApproval(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelSettlementApprovalInput): Promise<{
300
+ createdAt: Date;
301
+ updatedAt: Date;
302
+ metadata: Record<string, unknown> | null;
303
+ id: string;
304
+ status: "pending" | "approved" | "rejected";
305
+ notes: string | null;
306
+ settlementRunId: string;
307
+ approverUserId: string | null;
308
+ decidedAt: Date | null;
309
+ } | undefined>;
310
+ updateSettlementApproval(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelSettlementApprovalInput): Promise<{
311
+ id: string;
312
+ settlementRunId: string;
313
+ approverUserId: string | null;
314
+ status: "pending" | "approved" | "rejected";
315
+ decidedAt: Date | null;
316
+ notes: string | null;
317
+ metadata: Record<string, unknown> | null;
318
+ createdAt: Date;
319
+ updatedAt: Date;
320
+ } | null>;
321
+ deleteSettlementApproval(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
322
+ id: string;
323
+ } | null>;
324
+ listSettlementRuns(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelSettlementRunListQuery): Promise<{
325
+ data: {
326
+ id: string;
327
+ channelId: string;
328
+ contractId: string | null;
329
+ status: "void" | "draft" | "open" | "posted" | "paid";
330
+ currencyCode: string | null;
331
+ periodStart: string | null;
332
+ periodEnd: string | null;
333
+ statementReference: string | null;
334
+ generatedAt: Date | null;
335
+ postedAt: Date | null;
336
+ paidAt: Date | null;
337
+ notes: string | null;
338
+ metadata: Record<string, unknown> | null;
339
+ createdAt: Date;
340
+ updatedAt: Date;
341
+ }[];
342
+ total: number;
343
+ limit: number;
344
+ offset: number;
345
+ }>;
346
+ getSettlementRunById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
347
+ id: string;
348
+ channelId: string;
349
+ contractId: string | null;
350
+ status: "void" | "draft" | "open" | "posted" | "paid";
351
+ currencyCode: string | null;
352
+ periodStart: string | null;
353
+ periodEnd: string | null;
354
+ statementReference: string | null;
355
+ generatedAt: Date | null;
356
+ postedAt: Date | null;
357
+ paidAt: Date | null;
358
+ notes: string | null;
359
+ metadata: Record<string, unknown> | null;
360
+ createdAt: Date;
361
+ updatedAt: Date;
362
+ } | null>;
363
+ createSettlementRun(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelSettlementRunInput): Promise<{
364
+ createdAt: Date;
365
+ updatedAt: Date;
366
+ metadata: Record<string, unknown> | null;
367
+ id: string;
368
+ status: "void" | "draft" | "open" | "posted" | "paid";
369
+ channelId: string;
370
+ notes: string | null;
371
+ contractId: string | null;
372
+ paidAt: Date | null;
373
+ currencyCode: string | null;
374
+ periodStart: string | null;
375
+ periodEnd: string | null;
376
+ statementReference: string | null;
377
+ generatedAt: Date | null;
378
+ postedAt: Date | null;
379
+ } | undefined>;
380
+ updateSettlementRun(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelSettlementRunInput): Promise<{
381
+ id: string;
382
+ channelId: string;
383
+ contractId: string | null;
384
+ status: "void" | "draft" | "open" | "posted" | "paid";
385
+ currencyCode: string | null;
386
+ periodStart: string | null;
387
+ periodEnd: string | null;
388
+ statementReference: string | null;
389
+ generatedAt: Date | null;
390
+ postedAt: Date | null;
391
+ paidAt: Date | null;
392
+ notes: string | null;
393
+ metadata: Record<string, unknown> | null;
394
+ createdAt: Date;
395
+ updatedAt: Date;
396
+ } | null>;
397
+ deleteSettlementRun(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
398
+ id: string;
399
+ } | null>;
400
+ listSettlementItems(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelSettlementItemListQuery): Promise<{
401
+ data: {
402
+ id: string;
403
+ settlementRunId: string;
404
+ bookingLinkId: string | null;
405
+ bookingId: string | null;
406
+ commissionRuleId: string | null;
407
+ status: "void" | "pending" | "paid" | "approved" | "disputed";
408
+ grossAmountCents: number;
409
+ commissionAmountCents: number;
410
+ netRemittanceAmountCents: number;
411
+ currencyCode: string | null;
412
+ remittanceDueAt: Date | null;
413
+ paidAt: Date | null;
414
+ notes: string | null;
415
+ createdAt: Date;
416
+ updatedAt: Date;
417
+ }[];
418
+ total: number;
419
+ limit: number;
420
+ offset: number;
421
+ }>;
422
+ getSettlementItemById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
423
+ id: string;
424
+ settlementRunId: string;
425
+ bookingLinkId: string | null;
426
+ bookingId: string | null;
427
+ commissionRuleId: string | null;
428
+ status: "void" | "pending" | "paid" | "approved" | "disputed";
429
+ grossAmountCents: number;
430
+ commissionAmountCents: number;
431
+ netRemittanceAmountCents: number;
432
+ currencyCode: string | null;
433
+ remittanceDueAt: Date | null;
434
+ paidAt: Date | null;
435
+ notes: string | null;
436
+ createdAt: Date;
437
+ updatedAt: Date;
438
+ } | null>;
439
+ createSettlementItem(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelSettlementItemInput): Promise<{
440
+ bookingId: string | null;
441
+ createdAt: Date;
442
+ updatedAt: Date;
443
+ id: string;
444
+ status: "void" | "pending" | "paid" | "approved" | "disputed";
445
+ notes: string | null;
446
+ paidAt: Date | null;
447
+ currencyCode: string | null;
448
+ settlementRunId: string;
449
+ bookingLinkId: string | null;
450
+ commissionRuleId: string | null;
451
+ grossAmountCents: number;
452
+ commissionAmountCents: number;
453
+ netRemittanceAmountCents: number;
454
+ remittanceDueAt: Date | null;
455
+ } | undefined>;
456
+ updateSettlementItem(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelSettlementItemInput): Promise<{
457
+ id: string;
458
+ settlementRunId: string;
459
+ bookingLinkId: string | null;
460
+ bookingId: string | null;
461
+ commissionRuleId: string | null;
462
+ status: "void" | "pending" | "paid" | "approved" | "disputed";
463
+ grossAmountCents: number;
464
+ commissionAmountCents: number;
465
+ netRemittanceAmountCents: number;
466
+ currencyCode: string | null;
467
+ remittanceDueAt: Date | null;
468
+ paidAt: Date | null;
469
+ notes: string | null;
470
+ createdAt: Date;
471
+ updatedAt: Date;
472
+ } | null>;
473
+ deleteSettlementItem(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
474
+ id: string;
475
+ } | null>;
476
+ listReconciliationRuns(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelReconciliationRunListQuery): Promise<{
477
+ data: {
478
+ id: string;
479
+ channelId: string;
480
+ contractId: string | null;
481
+ status: "archived" | "draft" | "completed" | "running";
482
+ periodStart: string | null;
483
+ periodEnd: string | null;
484
+ externalReportReference: string | null;
485
+ startedAt: Date | null;
486
+ completedAt: Date | null;
487
+ notes: string | null;
488
+ metadata: Record<string, unknown> | null;
489
+ createdAt: Date;
490
+ updatedAt: Date;
491
+ }[];
492
+ total: number;
493
+ limit: number;
494
+ offset: number;
495
+ }>;
496
+ getReconciliationRunById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
497
+ id: string;
498
+ channelId: string;
499
+ contractId: string | null;
500
+ status: "archived" | "draft" | "completed" | "running";
501
+ periodStart: string | null;
502
+ periodEnd: string | null;
503
+ externalReportReference: string | null;
504
+ startedAt: Date | null;
505
+ completedAt: Date | null;
506
+ notes: string | null;
507
+ metadata: Record<string, unknown> | null;
508
+ createdAt: Date;
509
+ updatedAt: Date;
510
+ } | null>;
511
+ createReconciliationRun(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelReconciliationRunInput): Promise<{
512
+ createdAt: Date;
513
+ updatedAt: Date;
514
+ metadata: Record<string, unknown> | null;
515
+ id: string;
516
+ status: "archived" | "draft" | "completed" | "running";
517
+ channelId: string;
518
+ startedAt: Date | null;
519
+ notes: string | null;
520
+ contractId: string | null;
521
+ completedAt: Date | null;
522
+ periodStart: string | null;
523
+ periodEnd: string | null;
524
+ externalReportReference: string | null;
525
+ } | undefined>;
526
+ updateReconciliationRun(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelReconciliationRunInput): Promise<{
527
+ id: string;
528
+ channelId: string;
529
+ contractId: string | null;
530
+ status: "archived" | "draft" | "completed" | "running";
531
+ periodStart: string | null;
532
+ periodEnd: string | null;
533
+ externalReportReference: string | null;
534
+ startedAt: Date | null;
535
+ completedAt: Date | null;
536
+ notes: string | null;
537
+ metadata: Record<string, unknown> | null;
538
+ createdAt: Date;
539
+ updatedAt: Date;
540
+ } | null>;
541
+ deleteReconciliationRun(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
542
+ id: string;
543
+ } | null>;
544
+ listReconciliationItems(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelReconciliationItemListQuery): Promise<{
545
+ data: {
546
+ id: string;
547
+ reconciliationRunId: string;
548
+ bookingLinkId: string | null;
549
+ bookingId: string | null;
550
+ externalBookingId: string | null;
551
+ issueType: "other" | "missing_booking" | "status_mismatch" | "amount_mismatch" | "cancel_mismatch" | "missing_payout";
552
+ severity: "error" | "info" | "warning";
553
+ resolutionStatus: "ignored" | "open" | "resolved";
554
+ notes: string | null;
555
+ resolvedAt: Date | null;
556
+ createdAt: Date;
557
+ updatedAt: Date;
558
+ }[];
559
+ total: number;
560
+ limit: number;
561
+ offset: number;
562
+ }>;
563
+ getReconciliationItemById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
564
+ id: string;
565
+ reconciliationRunId: string;
566
+ bookingLinkId: string | null;
567
+ bookingId: string | null;
568
+ externalBookingId: string | null;
569
+ issueType: "other" | "missing_booking" | "status_mismatch" | "amount_mismatch" | "cancel_mismatch" | "missing_payout";
570
+ severity: "error" | "info" | "warning";
571
+ resolutionStatus: "ignored" | "open" | "resolved";
572
+ notes: string | null;
573
+ resolvedAt: Date | null;
574
+ createdAt: Date;
575
+ updatedAt: Date;
576
+ } | null>;
577
+ createReconciliationItem(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelReconciliationItemInput): Promise<{
578
+ bookingId: string | null;
579
+ createdAt: Date;
580
+ updatedAt: Date;
581
+ id: string;
582
+ externalBookingId: string | null;
583
+ notes: string | null;
584
+ bookingLinkId: string | null;
585
+ reconciliationRunId: string;
586
+ issueType: "other" | "missing_booking" | "status_mismatch" | "amount_mismatch" | "cancel_mismatch" | "missing_payout";
587
+ resolutionStatus: "ignored" | "open" | "resolved";
588
+ severity: "error" | "info" | "warning";
589
+ resolvedAt: Date | null;
590
+ } | undefined>;
591
+ updateReconciliationItem(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelReconciliationItemInput): Promise<{
592
+ id: string;
593
+ reconciliationRunId: string;
594
+ bookingLinkId: string | null;
595
+ bookingId: string | null;
596
+ externalBookingId: string | null;
597
+ issueType: "other" | "missing_booking" | "status_mismatch" | "amount_mismatch" | "cancel_mismatch" | "missing_payout";
598
+ severity: "error" | "info" | "warning";
599
+ resolutionStatus: "ignored" | "open" | "resolved";
600
+ notes: string | null;
601
+ resolvedAt: Date | null;
602
+ createdAt: Date;
603
+ updatedAt: Date;
604
+ } | null>;
605
+ deleteReconciliationItem(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
606
+ id: string;
607
+ } | null>;
608
+ listReleaseExecutions(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelInventoryReleaseExecutionListQuery): Promise<{
609
+ data: {
610
+ id: string;
611
+ allotmentId: string;
612
+ releaseRuleId: string | null;
613
+ targetId: string | null;
614
+ slotId: string | null;
615
+ actionTaken: "expired" | "released" | "retained" | "manual_override";
616
+ status: "pending" | "failed" | "skipped" | "completed";
617
+ releasedCapacity: number | null;
618
+ executedAt: Date | null;
619
+ notes: string | null;
620
+ metadata: Record<string, unknown> | null;
621
+ createdAt: Date;
622
+ updatedAt: Date;
623
+ }[];
624
+ total: number;
625
+ limit: number;
626
+ offset: number;
627
+ }>;
628
+ getReleaseExecutionById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
629
+ id: string;
630
+ allotmentId: string;
631
+ releaseRuleId: string | null;
632
+ targetId: string | null;
633
+ slotId: string | null;
634
+ actionTaken: "expired" | "released" | "retained" | "manual_override";
635
+ status: "pending" | "failed" | "skipped" | "completed";
636
+ releasedCapacity: number | null;
637
+ executedAt: Date | null;
638
+ notes: string | null;
639
+ metadata: Record<string, unknown> | null;
640
+ createdAt: Date;
641
+ updatedAt: Date;
642
+ } | null>;
643
+ createReleaseExecution(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelInventoryReleaseExecutionInput): Promise<{
644
+ createdAt: Date;
645
+ updatedAt: Date;
646
+ metadata: Record<string, unknown> | null;
647
+ id: string;
648
+ status: "pending" | "failed" | "skipped" | "completed";
649
+ notes: string | null;
650
+ slotId: string | null;
651
+ allotmentId: string;
652
+ releaseRuleId: string | null;
653
+ targetId: string | null;
654
+ actionTaken: "expired" | "released" | "retained" | "manual_override";
655
+ releasedCapacity: number | null;
656
+ executedAt: Date | null;
657
+ } | undefined>;
658
+ updateReleaseExecution(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelInventoryReleaseExecutionInput): Promise<{
659
+ id: string;
660
+ allotmentId: string;
661
+ releaseRuleId: string | null;
662
+ targetId: string | null;
663
+ slotId: string | null;
664
+ actionTaken: "expired" | "released" | "retained" | "manual_override";
665
+ status: "pending" | "failed" | "skipped" | "completed";
666
+ releasedCapacity: number | null;
667
+ executedAt: Date | null;
668
+ notes: string | null;
669
+ metadata: Record<string, unknown> | null;
670
+ createdAt: Date;
671
+ updatedAt: Date;
672
+ } | null>;
673
+ deleteReleaseExecution(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
674
+ id: string;
675
+ } | null>;
676
+ listInventoryAllotments(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelInventoryAllotmentListQuery): Promise<{
677
+ data: {
678
+ id: string;
679
+ channelId: string;
680
+ contractId: string | null;
681
+ productId: string;
682
+ optionId: string | null;
683
+ startTimeId: string | null;
684
+ validFrom: string | null;
685
+ validTo: string | null;
686
+ guaranteedCapacity: number | null;
687
+ maxCapacity: number | null;
688
+ active: boolean;
689
+ notes: string | null;
690
+ createdAt: Date;
691
+ updatedAt: Date;
692
+ }[];
693
+ total: number;
694
+ limit: number;
695
+ offset: number;
696
+ }>;
697
+ getInventoryAllotmentById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
698
+ id: string;
699
+ channelId: string;
700
+ contractId: string | null;
701
+ productId: string;
702
+ optionId: string | null;
703
+ startTimeId: string | null;
704
+ validFrom: string | null;
705
+ validTo: string | null;
706
+ guaranteedCapacity: number | null;
707
+ maxCapacity: number | null;
708
+ active: boolean;
709
+ notes: string | null;
710
+ createdAt: Date;
711
+ updatedAt: Date;
712
+ } | null>;
713
+ createInventoryAllotment(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelInventoryAllotmentInput): Promise<{
714
+ createdAt: Date;
715
+ updatedAt: Date;
716
+ id: string;
717
+ active: boolean;
718
+ channelId: string;
719
+ productId: string;
720
+ notes: string | null;
721
+ contractId: string | null;
722
+ optionId: string | null;
723
+ startTimeId: string | null;
724
+ validFrom: string | null;
725
+ validTo: string | null;
726
+ guaranteedCapacity: number | null;
727
+ maxCapacity: number | null;
728
+ } | undefined>;
729
+ updateInventoryAllotment(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelInventoryAllotmentInput): Promise<{
730
+ id: string;
731
+ channelId: string;
732
+ contractId: string | null;
733
+ productId: string;
734
+ optionId: string | null;
735
+ startTimeId: string | null;
736
+ validFrom: string | null;
737
+ validTo: string | null;
738
+ guaranteedCapacity: number | null;
739
+ maxCapacity: number | null;
740
+ active: boolean;
741
+ notes: string | null;
742
+ createdAt: Date;
743
+ updatedAt: Date;
744
+ } | null>;
745
+ deleteInventoryAllotment(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
746
+ id: string;
747
+ } | null>;
748
+ listInventoryAllotmentTargets(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelInventoryAllotmentTargetListQuery): Promise<{
749
+ data: {
750
+ id: string;
751
+ allotmentId: string;
752
+ slotId: string | null;
753
+ startTimeId: string | null;
754
+ dateLocal: string | null;
755
+ guaranteedCapacity: number | null;
756
+ maxCapacity: number | null;
757
+ soldCapacity: number | null;
758
+ remainingCapacity: number | null;
759
+ active: boolean;
760
+ createdAt: Date;
761
+ updatedAt: Date;
762
+ }[];
763
+ total: number;
764
+ limit: number;
765
+ offset: number;
766
+ }>;
767
+ getInventoryAllotmentTargetById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
768
+ id: string;
769
+ allotmentId: string;
770
+ slotId: string | null;
771
+ startTimeId: string | null;
772
+ dateLocal: string | null;
773
+ guaranteedCapacity: number | null;
774
+ maxCapacity: number | null;
775
+ soldCapacity: number | null;
776
+ remainingCapacity: number | null;
777
+ active: boolean;
778
+ createdAt: Date;
779
+ updatedAt: Date;
780
+ } | null>;
781
+ createInventoryAllotmentTarget(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelInventoryAllotmentTargetInput): Promise<{
782
+ createdAt: Date;
783
+ updatedAt: Date;
784
+ id: string;
785
+ active: boolean;
786
+ startTimeId: string | null;
787
+ guaranteedCapacity: number | null;
788
+ maxCapacity: number | null;
789
+ slotId: string | null;
790
+ allotmentId: string;
791
+ dateLocal: string | null;
792
+ soldCapacity: number | null;
793
+ remainingCapacity: number | null;
794
+ } | undefined>;
795
+ updateInventoryAllotmentTarget(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelInventoryAllotmentTargetInput): Promise<{
796
+ id: string;
797
+ allotmentId: string;
798
+ slotId: string | null;
799
+ startTimeId: string | null;
800
+ dateLocal: string | null;
801
+ guaranteedCapacity: number | null;
802
+ maxCapacity: number | null;
803
+ soldCapacity: number | null;
804
+ remainingCapacity: number | null;
805
+ active: boolean;
806
+ createdAt: Date;
807
+ updatedAt: Date;
808
+ } | null>;
809
+ deleteInventoryAllotmentTarget(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
810
+ id: string;
811
+ } | null>;
812
+ listInventoryReleaseRules(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelInventoryReleaseRuleListQuery): Promise<{
813
+ data: {
814
+ id: string;
815
+ allotmentId: string;
816
+ releaseMode: "manual" | "automatic";
817
+ releaseDaysBeforeStart: number | null;
818
+ releaseHoursBeforeStart: number | null;
819
+ unsoldAction: "release_to_general_pool" | "expire" | "retain";
820
+ notes: string | null;
821
+ createdAt: Date;
822
+ updatedAt: Date;
823
+ }[];
824
+ total: number;
825
+ limit: number;
826
+ offset: number;
827
+ }>;
828
+ getInventoryReleaseRuleById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
829
+ id: string;
830
+ allotmentId: string;
831
+ releaseMode: "manual" | "automatic";
832
+ releaseDaysBeforeStart: number | null;
833
+ releaseHoursBeforeStart: number | null;
834
+ unsoldAction: "release_to_general_pool" | "expire" | "retain";
835
+ notes: string | null;
836
+ createdAt: Date;
837
+ updatedAt: Date;
838
+ } | null>;
839
+ createInventoryReleaseRule(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelInventoryReleaseRuleInput): Promise<{
840
+ createdAt: Date;
841
+ updatedAt: Date;
842
+ id: string;
843
+ notes: string | null;
844
+ allotmentId: string;
845
+ releaseMode: "manual" | "automatic";
846
+ releaseDaysBeforeStart: number | null;
847
+ releaseHoursBeforeStart: number | null;
848
+ unsoldAction: "release_to_general_pool" | "expire" | "retain";
849
+ } | undefined>;
850
+ updateInventoryReleaseRule(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelInventoryReleaseRuleInput): Promise<{
851
+ id: string;
852
+ allotmentId: string;
853
+ releaseMode: "manual" | "automatic";
854
+ releaseDaysBeforeStart: number | null;
855
+ releaseHoursBeforeStart: number | null;
856
+ unsoldAction: "release_to_general_pool" | "expire" | "retain";
857
+ notes: string | null;
858
+ createdAt: Date;
859
+ updatedAt: Date;
860
+ } | null>;
861
+ deleteInventoryReleaseRule(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
862
+ id: string;
863
+ } | null>;
864
+ listContracts(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelContractListQuery): Promise<{
865
+ data: {
866
+ id: string;
867
+ channelId: string;
868
+ supplierId: string | null;
869
+ status: "active" | "draft" | "expired" | "terminated";
870
+ startsAt: string;
871
+ endsAt: string | null;
872
+ paymentOwner: "operator" | "channel" | "split";
873
+ cancellationOwner: "operator" | "channel" | "mixed";
874
+ settlementTerms: string | null;
875
+ notes: string | null;
876
+ rateLimitRps: number | null;
877
+ rateLimitBurst: number | null;
878
+ rateLimitPriorityGates: Record<string, number> | null;
879
+ policy: Record<string, unknown> | null;
880
+ createdAt: Date;
881
+ updatedAt: Date;
882
+ }[];
883
+ total: number;
884
+ limit: number;
885
+ offset: number;
886
+ }>;
887
+ getContractById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
888
+ id: string;
889
+ channelId: string;
890
+ supplierId: string | null;
891
+ status: "active" | "draft" | "expired" | "terminated";
892
+ startsAt: string;
893
+ endsAt: string | null;
894
+ paymentOwner: "operator" | "channel" | "split";
895
+ cancellationOwner: "operator" | "channel" | "mixed";
896
+ settlementTerms: string | null;
897
+ notes: string | null;
898
+ rateLimitRps: number | null;
899
+ rateLimitBurst: number | null;
900
+ rateLimitPriorityGates: Record<string, number> | null;
901
+ policy: Record<string, unknown> | null;
902
+ createdAt: Date;
903
+ updatedAt: Date;
904
+ } | null>;
905
+ createContract(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelContractInput): Promise<{
906
+ paymentOwner: "operator" | "channel" | "split";
907
+ createdAt: Date;
908
+ updatedAt: Date;
909
+ id: string;
910
+ status: "active" | "draft" | "expired" | "terminated";
911
+ rateLimitRps: number | null;
912
+ rateLimitBurst: number | null;
913
+ rateLimitPriorityGates: Record<string, number> | null;
914
+ channelId: string;
915
+ policy: Record<string, unknown> | null;
916
+ supplierId: string | null;
917
+ startsAt: string;
918
+ endsAt: string | null;
919
+ cancellationOwner: "operator" | "channel" | "mixed";
920
+ settlementTerms: string | null;
921
+ notes: string | null;
922
+ } | undefined>;
923
+ updateContract(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelContractInput): Promise<{
924
+ id: string;
925
+ channelId: string;
926
+ supplierId: string | null;
927
+ status: "active" | "draft" | "expired" | "terminated";
928
+ startsAt: string;
929
+ endsAt: string | null;
930
+ paymentOwner: "operator" | "channel" | "split";
931
+ cancellationOwner: "operator" | "channel" | "mixed";
932
+ settlementTerms: string | null;
933
+ notes: string | null;
934
+ rateLimitRps: number | null;
935
+ rateLimitBurst: number | null;
936
+ rateLimitPriorityGates: Record<string, number> | null;
937
+ policy: Record<string, unknown> | null;
938
+ createdAt: Date;
939
+ updatedAt: Date;
940
+ } | null>;
941
+ deleteContract(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
942
+ id: string;
943
+ } | null>;
944
+ listCommissionRules(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelCommissionRuleListQuery): Promise<{
945
+ data: {
946
+ id: string;
947
+ contractId: string;
948
+ scope: "booking" | "product" | "rate" | "category";
949
+ productId: string | null;
950
+ externalRateId: string | null;
951
+ externalCategoryId: string | null;
952
+ commissionType: "fixed" | "percentage";
953
+ amountCents: number | null;
954
+ percentBasisPoints: number | null;
955
+ validFrom: string | null;
956
+ validTo: string | null;
957
+ createdAt: Date;
958
+ updatedAt: Date;
959
+ }[];
960
+ total: number;
961
+ limit: number;
962
+ offset: number;
963
+ }>;
964
+ getCommissionRuleById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
965
+ id: string;
966
+ contractId: string;
967
+ scope: "booking" | "product" | "rate" | "category";
968
+ productId: string | null;
969
+ externalRateId: string | null;
970
+ externalCategoryId: string | null;
971
+ commissionType: "fixed" | "percentage";
972
+ amountCents: number | null;
973
+ percentBasisPoints: number | null;
974
+ validFrom: string | null;
975
+ validTo: string | null;
976
+ createdAt: Date;
977
+ updatedAt: Date;
978
+ } | null>;
979
+ createCommissionRule(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelCommissionRuleInput): Promise<{
980
+ createdAt: Date;
981
+ updatedAt: Date;
982
+ id: string;
983
+ productId: string | null;
984
+ externalRateId: string | null;
985
+ externalCategoryId: string | null;
986
+ contractId: string;
987
+ validFrom: string | null;
988
+ validTo: string | null;
989
+ scope: "booking" | "product" | "rate" | "category";
990
+ commissionType: "fixed" | "percentage";
991
+ amountCents: number | null;
992
+ percentBasisPoints: number | null;
993
+ } | undefined>;
994
+ updateCommissionRule(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelCommissionRuleInput): Promise<{
995
+ id: string;
996
+ contractId: string;
997
+ scope: "booking" | "product" | "rate" | "category";
998
+ productId: string | null;
999
+ externalRateId: string | null;
1000
+ externalCategoryId: string | null;
1001
+ commissionType: "fixed" | "percentage";
1002
+ amountCents: number | null;
1003
+ percentBasisPoints: number | null;
1004
+ validFrom: string | null;
1005
+ validTo: string | null;
1006
+ createdAt: Date;
1007
+ updatedAt: Date;
1008
+ } | null>;
1009
+ deleteCommissionRule(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1010
+ id: string;
1011
+ } | null>;
1012
+ listProductMappings(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelProductMappingListQuery): Promise<{
1013
+ data: {
1014
+ id: string;
1015
+ channelId: string;
1016
+ productId: string;
1017
+ externalProductId: string | null;
1018
+ externalRateId: string | null;
1019
+ externalCategoryId: string | null;
1020
+ active: boolean;
1021
+ sourceKind: string | null;
1022
+ sourceConnectionId: string | null;
1023
+ pushBookings: boolean;
1024
+ pushAvailability: boolean;
1025
+ pushContent: boolean;
1026
+ policy: Record<string, unknown> | null;
1027
+ lastPushedContentHash: string | null;
1028
+ lastPushedContentAt: Date | null;
1029
+ createdAt: Date;
1030
+ updatedAt: Date;
1031
+ }[];
1032
+ total: number;
1033
+ limit: number;
1034
+ offset: number;
1035
+ }>;
1036
+ getProductMappingById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1037
+ id: string;
1038
+ channelId: string;
1039
+ productId: string;
1040
+ externalProductId: string | null;
1041
+ externalRateId: string | null;
1042
+ externalCategoryId: string | null;
1043
+ active: boolean;
1044
+ sourceKind: string | null;
1045
+ sourceConnectionId: string | null;
1046
+ pushBookings: boolean;
1047
+ pushAvailability: boolean;
1048
+ pushContent: boolean;
1049
+ policy: Record<string, unknown> | null;
1050
+ lastPushedContentHash: string | null;
1051
+ lastPushedContentAt: Date | null;
1052
+ createdAt: Date;
1053
+ updatedAt: Date;
1054
+ } | null>;
1055
+ createProductMapping(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelProductMappingInput): Promise<{
1056
+ createdAt: Date;
1057
+ updatedAt: Date;
1058
+ id: string;
1059
+ active: boolean;
1060
+ channelId: string;
1061
+ sourceKind: string | null;
1062
+ sourceConnectionId: string | null;
1063
+ productId: string;
1064
+ externalProductId: string | null;
1065
+ externalRateId: string | null;
1066
+ externalCategoryId: string | null;
1067
+ pushBookings: boolean;
1068
+ pushAvailability: boolean;
1069
+ pushContent: boolean;
1070
+ policy: Record<string, unknown> | null;
1071
+ lastPushedContentHash: string | null;
1072
+ lastPushedContentAt: Date | null;
1073
+ } | undefined>;
1074
+ updateProductMapping(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelProductMappingInput): Promise<{
1075
+ id: string;
1076
+ channelId: string;
1077
+ productId: string;
1078
+ externalProductId: string | null;
1079
+ externalRateId: string | null;
1080
+ externalCategoryId: string | null;
1081
+ active: boolean;
1082
+ sourceKind: string | null;
1083
+ sourceConnectionId: string | null;
1084
+ pushBookings: boolean;
1085
+ pushAvailability: boolean;
1086
+ pushContent: boolean;
1087
+ policy: Record<string, unknown> | null;
1088
+ lastPushedContentHash: string | null;
1089
+ lastPushedContentAt: Date | null;
1090
+ createdAt: Date;
1091
+ updatedAt: Date;
1092
+ } | null>;
1093
+ deleteProductMapping(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1094
+ id: string;
1095
+ } | null>;
1096
+ listBookingLinks(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelBookingLinkListQuery): Promise<{
1097
+ data: {
1098
+ id: string;
1099
+ channelId: string;
1100
+ bookingId: string;
1101
+ bookingItemId: string | null;
1102
+ externalBookingId: string | null;
1103
+ externalReference: string | null;
1104
+ externalStatus: string | null;
1105
+ bookedAtExternal: Date | null;
1106
+ lastSyncedAt: Date | null;
1107
+ sourceKind: string | null;
1108
+ sourceConnectionId: string | null;
1109
+ pushStatus: string;
1110
+ pushAttempts: number;
1111
+ lastPushAt: Date | null;
1112
+ lastError: string | null;
1113
+ pushedPayloadHash: string | null;
1114
+ idempotencyKey: string | null;
1115
+ createdAt: Date;
1116
+ updatedAt: Date;
1117
+ }[];
1118
+ total: number;
1119
+ limit: number;
1120
+ offset: number;
1121
+ }>;
1122
+ getBookingLinkById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1123
+ id: string;
1124
+ channelId: string;
1125
+ bookingId: string;
1126
+ bookingItemId: string | null;
1127
+ externalBookingId: string | null;
1128
+ externalReference: string | null;
1129
+ externalStatus: string | null;
1130
+ bookedAtExternal: Date | null;
1131
+ lastSyncedAt: Date | null;
1132
+ sourceKind: string | null;
1133
+ sourceConnectionId: string | null;
1134
+ pushStatus: string;
1135
+ pushAttempts: number;
1136
+ lastPushAt: Date | null;
1137
+ lastError: string | null;
1138
+ pushedPayloadHash: string | null;
1139
+ idempotencyKey: string | null;
1140
+ createdAt: Date;
1141
+ updatedAt: Date;
1142
+ } | null>;
1143
+ createBookingLink(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelBookingLinkInput): Promise<{
1144
+ bookingId: string;
1145
+ createdAt: Date;
1146
+ updatedAt: Date;
1147
+ idempotencyKey: string | null;
1148
+ id: string;
1149
+ channelId: string;
1150
+ bookingItemId: string | null;
1151
+ externalBookingId: string | null;
1152
+ externalReference: string | null;
1153
+ externalStatus: string | null;
1154
+ bookedAtExternal: Date | null;
1155
+ lastSyncedAt: Date | null;
1156
+ sourceKind: string | null;
1157
+ sourceConnectionId: string | null;
1158
+ pushStatus: string;
1159
+ pushAttempts: number;
1160
+ lastPushAt: Date | null;
1161
+ lastError: string | null;
1162
+ pushedPayloadHash: string | null;
1163
+ } | undefined>;
1164
+ updateBookingLink(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelBookingLinkInput): Promise<{
1165
+ id: string;
1166
+ channelId: string;
1167
+ bookingId: string;
1168
+ bookingItemId: string | null;
1169
+ externalBookingId: string | null;
1170
+ externalReference: string | null;
1171
+ externalStatus: string | null;
1172
+ bookedAtExternal: Date | null;
1173
+ lastSyncedAt: Date | null;
1174
+ sourceKind: string | null;
1175
+ sourceConnectionId: string | null;
1176
+ pushStatus: string;
1177
+ pushAttempts: number;
1178
+ lastPushAt: Date | null;
1179
+ lastError: string | null;
1180
+ pushedPayloadHash: string | null;
1181
+ idempotencyKey: string | null;
1182
+ createdAt: Date;
1183
+ updatedAt: Date;
1184
+ } | null>;
1185
+ deleteBookingLink(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1186
+ id: string;
1187
+ } | null>;
1188
+ listWebhookEvents(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelWebhookEventListQuery): Promise<{
1189
+ data: {
1190
+ id: string;
1191
+ channelId: string;
1192
+ eventType: string;
1193
+ externalEventId: string | null;
1194
+ payload: Record<string, unknown>;
1195
+ receivedAt: Date;
1196
+ processedAt: Date | null;
1197
+ status: "pending" | "failed" | "processed" | "ignored";
1198
+ errorMessage: string | null;
1199
+ createdAt: Date;
1200
+ }[];
1201
+ total: number;
1202
+ limit: number;
1203
+ offset: number;
1204
+ }>;
1205
+ getWebhookEventById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1206
+ id: string;
1207
+ channelId: string;
1208
+ eventType: string;
1209
+ externalEventId: string | null;
1210
+ payload: Record<string, unknown>;
1211
+ receivedAt: Date;
1212
+ processedAt: Date | null;
1213
+ status: "pending" | "failed" | "processed" | "ignored";
1214
+ errorMessage: string | null;
1215
+ createdAt: Date;
1216
+ } | null>;
1217
+ createWebhookEvent(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelWebhookEventInput): Promise<{
1218
+ createdAt: Date;
1219
+ id: string;
1220
+ status: "pending" | "failed" | "processed" | "ignored";
1221
+ channelId: string;
1222
+ errorMessage: string | null;
1223
+ eventType: string;
1224
+ externalEventId: string | null;
1225
+ payload: Record<string, unknown>;
1226
+ receivedAt: Date;
1227
+ processedAt: Date | null;
1228
+ } | undefined>;
1229
+ updateWebhookEvent(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelWebhookEventInput): Promise<{
1230
+ id: string;
1231
+ channelId: string;
1232
+ eventType: string;
1233
+ externalEventId: string | null;
1234
+ payload: Record<string, unknown>;
1235
+ receivedAt: Date;
1236
+ processedAt: Date | null;
1237
+ status: "pending" | "failed" | "processed" | "ignored";
1238
+ errorMessage: string | null;
1239
+ createdAt: Date;
1240
+ } | null>;
1241
+ deleteWebhookEvent(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1242
+ id: string;
1243
+ } | null>;
1244
+ listChannels(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./service/types.js").ChannelListQuery): Promise<{
1245
+ data: ({
1246
+ id: string;
1247
+ name: string;
1248
+ description: string | null;
1249
+ kind: "direct" | "affiliate" | "ota" | "reseller" | "marketplace" | "api_partner" | "connect";
1250
+ status: "active" | "inactive" | "pending" | "archived";
1251
+ metadata: Record<string, unknown> | null;
1252
+ rateLimitRps: number | null;
1253
+ rateLimitBurst: number | null;
1254
+ rateLimitPriorityGates: Record<string, number> | null;
1255
+ createdAt: Date;
1256
+ updatedAt: Date;
1257
+ } & {
1258
+ website: string | null;
1259
+ contactName: string | null;
1260
+ contactEmail: string | null;
1261
+ })[];
1262
+ total: number;
1263
+ limit: number;
1264
+ offset: number;
1265
+ }>;
1266
+ getChannelById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<({
1267
+ id: string;
1268
+ name: string;
1269
+ description: string | null;
1270
+ kind: "direct" | "affiliate" | "ota" | "reseller" | "marketplace" | "api_partner" | "connect";
1271
+ status: "active" | "inactive" | "pending" | "archived";
1272
+ metadata: Record<string, unknown> | null;
1273
+ rateLimitRps: number | null;
1274
+ rateLimitBurst: number | null;
1275
+ rateLimitPriorityGates: Record<string, number> | null;
1276
+ createdAt: Date;
1277
+ updatedAt: Date;
1278
+ } & {
1279
+ website: string | null;
1280
+ contactName: string | null;
1281
+ contactEmail: string | null;
1282
+ }) | null>;
1283
+ createChannel(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service/types.js").CreateChannelInput): Promise<({
1284
+ id: string;
1285
+ name: string;
1286
+ description: string | null;
1287
+ kind: "direct" | "affiliate" | "ota" | "reseller" | "marketplace" | "api_partner" | "connect";
1288
+ status: "active" | "inactive" | "pending" | "archived";
1289
+ metadata: Record<string, unknown> | null;
1290
+ rateLimitRps: number | null;
1291
+ rateLimitBurst: number | null;
1292
+ rateLimitPriorityGates: Record<string, number> | null;
1293
+ createdAt: Date;
1294
+ updatedAt: Date;
1295
+ } & {
1296
+ website: string | null;
1297
+ contactName: string | null;
1298
+ contactEmail: string | null;
1299
+ }) | null>;
1300
+ updateChannel(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service/types.js").UpdateChannelInput): Promise<({
1301
+ id: string;
1302
+ name: string;
1303
+ description: string | null;
1304
+ kind: "direct" | "affiliate" | "ota" | "reseller" | "marketplace" | "api_partner" | "connect";
1305
+ status: "active" | "inactive" | "pending" | "archived";
1306
+ metadata: Record<string, unknown> | null;
1307
+ rateLimitRps: number | null;
1308
+ rateLimitBurst: number | null;
1309
+ rateLimitPriorityGates: Record<string, number> | null;
1310
+ createdAt: Date;
1311
+ updatedAt: Date;
1312
+ } & {
1313
+ website: string | null;
1314
+ contactName: string | null;
1315
+ contactEmail: string | null;
1316
+ }) | null>;
1317
+ deleteChannel(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1318
+ id: string;
1319
+ } | null>;
1320
+ listChannelContactPoints(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, channelId: string): Promise<{
1321
+ id: string;
1322
+ entityType: string;
1323
+ entityId: string;
1324
+ kind: "other" | "website" | "email" | "phone" | "mobile" | "whatsapp" | "sms" | "fax" | "social";
1325
+ label: string | null;
1326
+ value: string;
1327
+ normalizedValue: string | null;
1328
+ isPrimary: boolean;
1329
+ notes: string | null;
1330
+ metadata: Record<string, unknown> | null;
1331
+ createdAt: Date;
1332
+ updatedAt: Date;
1333
+ }[] | null>;
1334
+ createChannelContactPoint(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, channelId: string, data: import("@voyant-travel/identity-contracts").InsertContactPointForEntity): Promise<{
1335
+ createdAt: Date;
1336
+ updatedAt: Date;
1337
+ metadata: Record<string, unknown> | null;
1338
+ value: string;
1339
+ id: string;
1340
+ kind: "other" | "website" | "email" | "phone" | "mobile" | "whatsapp" | "sms" | "fax" | "social";
1341
+ notes: string | null;
1342
+ entityType: string;
1343
+ entityId: string;
1344
+ isPrimary: boolean;
1345
+ label: string | null;
1346
+ normalizedValue: string | null;
1347
+ } | null>;
1348
+ updateChannelContactPoint(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("@voyant-travel/identity-contracts").UpdateContactPoint): Promise<{
1349
+ id: string;
1350
+ entityType: string;
1351
+ entityId: string;
1352
+ kind: "other" | "website" | "email" | "phone" | "mobile" | "whatsapp" | "sms" | "fax" | "social";
1353
+ label: string | null;
1354
+ value: string;
1355
+ normalizedValue: string | null;
1356
+ isPrimary: boolean;
1357
+ notes: string | null;
1358
+ metadata: Record<string, unknown> | null;
1359
+ createdAt: Date;
1360
+ updatedAt: Date;
1361
+ } | null>;
1362
+ deleteChannelContactPoint(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1363
+ id: string;
1364
+ } | null>;
1365
+ listChannelContacts(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, channelId: string): Promise<{
1366
+ id: string;
1367
+ entityType: string;
1368
+ entityId: string;
1369
+ role: "primary" | "other" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting" | "legal";
1370
+ name: string;
1371
+ title: string | null;
1372
+ email: string | null;
1373
+ phone: string | null;
1374
+ isPrimary: boolean;
1375
+ notes: string | null;
1376
+ metadata: Record<string, unknown> | null;
1377
+ createdAt: Date;
1378
+ updatedAt: Date;
1379
+ }[] | null>;
1380
+ createChannelContact(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, channelId: string, data: import("@voyant-travel/identity-contracts").InsertNamedContactForEntity): Promise<{
1381
+ name: string;
1382
+ createdAt: Date;
1383
+ updatedAt: Date;
1384
+ metadata: Record<string, unknown> | null;
1385
+ id: string;
1386
+ title: string | null;
1387
+ notes: string | null;
1388
+ entityType: string;
1389
+ entityId: string;
1390
+ isPrimary: boolean;
1391
+ email: string | null;
1392
+ phone: string | null;
1393
+ role: "primary" | "other" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting" | "legal";
1394
+ } | null>;
1395
+ updateChannelContact(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("@voyant-travel/identity-contracts").UpdateNamedContact): Promise<{
1396
+ id: string;
1397
+ entityType: string;
1398
+ entityId: string;
1399
+ role: "primary" | "other" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting" | "legal";
1400
+ name: string;
1401
+ title: string | null;
1402
+ email: string | null;
1403
+ phone: string | null;
1404
+ isPrimary: boolean;
1405
+ notes: string | null;
1406
+ metadata: Record<string, unknown> | null;
1407
+ createdAt: Date;
1408
+ updatedAt: Date;
1409
+ } | null>;
1410
+ deleteChannelContact(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1411
+ id: string;
1412
+ } | null>;
1413
+ resolveCounterparty: typeof resolveCounterparty;
1414
+ linkExternalReference: typeof linkExternalReference;
1415
+ routeCounterpartyEvent: typeof routeCounterpartyEvent;
1416
+ reconcileCounterpartyActivity: typeof reconcileCounterpartyActivity;
1417
+ };
1418
+ //# sourceMappingURL=service.d.ts.map