@voyantjs/crm 0.26.2 → 0.26.4

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.
@@ -1,4 +1,1187 @@
1
1
  export declare const crmService: {
2
+ listCustomerSignals(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./customer-signals.js").CustomerSignalListQuery): Promise<{
3
+ data: {
4
+ id: string;
5
+ personId: string;
6
+ productId: string | null;
7
+ optionUnitId: string | null;
8
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
9
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
10
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
11
+ priority: string;
12
+ notes: string | null;
13
+ tags: string[];
14
+ assignedToUserId: string | null;
15
+ followUpAt: Date | null;
16
+ resolvedBookingId: string | null;
17
+ sourceSubmissionId: string | null;
18
+ metadata: Record<string, unknown> | null;
19
+ createdAt: Date;
20
+ updatedAt: Date;
21
+ }[];
22
+ total: number;
23
+ limit: number;
24
+ offset: number;
25
+ }>;
26
+ listSignalsForPerson(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, personId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"customer_signals", {
27
+ id: import("drizzle-orm/pg-core").PgColumn<{
28
+ name: string;
29
+ tableName: "customer_signals";
30
+ dataType: "string";
31
+ columnType: "PgText";
32
+ data: string;
33
+ driverParam: string;
34
+ notNull: true;
35
+ hasDefault: true;
36
+ isPrimaryKey: true;
37
+ isAutoincrement: false;
38
+ hasRuntimeDefault: true;
39
+ enumValues: [string, ...string[]];
40
+ baseColumn: never;
41
+ identity: undefined;
42
+ generated: undefined;
43
+ }, {}, {}>;
44
+ personId: import("drizzle-orm/pg-core").PgColumn<{
45
+ name: string;
46
+ tableName: "customer_signals";
47
+ dataType: "string";
48
+ columnType: "PgText";
49
+ data: string;
50
+ driverParam: string;
51
+ notNull: true;
52
+ hasDefault: false;
53
+ isPrimaryKey: false;
54
+ isAutoincrement: false;
55
+ hasRuntimeDefault: false;
56
+ enumValues: [string, ...string[]];
57
+ baseColumn: never;
58
+ identity: undefined;
59
+ generated: undefined;
60
+ }, {}, {}>;
61
+ productId: import("drizzle-orm/pg-core").PgColumn<{
62
+ name: "product_id";
63
+ tableName: "customer_signals";
64
+ dataType: "string";
65
+ columnType: "PgText";
66
+ data: string;
67
+ driverParam: string;
68
+ notNull: false;
69
+ hasDefault: false;
70
+ isPrimaryKey: false;
71
+ isAutoincrement: false;
72
+ hasRuntimeDefault: false;
73
+ enumValues: [string, ...string[]];
74
+ baseColumn: never;
75
+ identity: undefined;
76
+ generated: undefined;
77
+ }, {}, {}>;
78
+ optionUnitId: import("drizzle-orm/pg-core").PgColumn<{
79
+ name: "option_unit_id";
80
+ tableName: "customer_signals";
81
+ dataType: "string";
82
+ columnType: "PgText";
83
+ data: string;
84
+ driverParam: string;
85
+ notNull: false;
86
+ hasDefault: false;
87
+ isPrimaryKey: false;
88
+ isAutoincrement: false;
89
+ hasRuntimeDefault: false;
90
+ enumValues: [string, ...string[]];
91
+ baseColumn: never;
92
+ identity: undefined;
93
+ generated: undefined;
94
+ }, {}, {}>;
95
+ kind: import("drizzle-orm/pg-core").PgColumn<{
96
+ name: "kind";
97
+ tableName: "customer_signals";
98
+ dataType: "string";
99
+ columnType: "PgEnumColumn";
100
+ data: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
101
+ driverParam: string;
102
+ notNull: true;
103
+ hasDefault: false;
104
+ isPrimaryKey: false;
105
+ isAutoincrement: false;
106
+ hasRuntimeDefault: false;
107
+ enumValues: ["wishlist", "notify", "inquiry", "request_offer", "referral"];
108
+ baseColumn: never;
109
+ identity: undefined;
110
+ generated: undefined;
111
+ }, {}, {}>;
112
+ source: import("drizzle-orm/pg-core").PgColumn<{
113
+ name: "source";
114
+ tableName: "customer_signals";
115
+ dataType: "string";
116
+ columnType: "PgEnumColumn";
117
+ data: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
118
+ driverParam: string;
119
+ notNull: true;
120
+ hasDefault: false;
121
+ isPrimaryKey: false;
122
+ isAutoincrement: false;
123
+ hasRuntimeDefault: false;
124
+ enumValues: ["form", "phone", "admin", "abandoned_cart", "website", "booking"];
125
+ baseColumn: never;
126
+ identity: undefined;
127
+ generated: undefined;
128
+ }, {}, {}>;
129
+ status: import("drizzle-orm/pg-core").PgColumn<{
130
+ name: "status";
131
+ tableName: "customer_signals";
132
+ dataType: "string";
133
+ columnType: "PgEnumColumn";
134
+ data: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
135
+ driverParam: string;
136
+ notNull: true;
137
+ hasDefault: true;
138
+ isPrimaryKey: false;
139
+ isAutoincrement: false;
140
+ hasRuntimeDefault: false;
141
+ enumValues: ["new", "contacted", "qualified", "converted", "lost", "expired"];
142
+ baseColumn: never;
143
+ identity: undefined;
144
+ generated: undefined;
145
+ }, {}, {}>;
146
+ priority: import("drizzle-orm/pg-core").PgColumn<{
147
+ name: "priority";
148
+ tableName: "customer_signals";
149
+ dataType: "string";
150
+ columnType: "PgText";
151
+ data: string;
152
+ driverParam: string;
153
+ notNull: true;
154
+ hasDefault: true;
155
+ isPrimaryKey: false;
156
+ isAutoincrement: false;
157
+ hasRuntimeDefault: false;
158
+ enumValues: [string, ...string[]];
159
+ baseColumn: never;
160
+ identity: undefined;
161
+ generated: undefined;
162
+ }, {}, {}>;
163
+ notes: import("drizzle-orm/pg-core").PgColumn<{
164
+ name: "notes";
165
+ tableName: "customer_signals";
166
+ dataType: "string";
167
+ columnType: "PgText";
168
+ data: string;
169
+ driverParam: string;
170
+ notNull: false;
171
+ hasDefault: false;
172
+ isPrimaryKey: false;
173
+ isAutoincrement: false;
174
+ hasRuntimeDefault: false;
175
+ enumValues: [string, ...string[]];
176
+ baseColumn: never;
177
+ identity: undefined;
178
+ generated: undefined;
179
+ }, {}, {}>;
180
+ tags: import("drizzle-orm/pg-core").PgColumn<{
181
+ name: "tags";
182
+ tableName: "customer_signals";
183
+ dataType: "json";
184
+ columnType: "PgJsonb";
185
+ data: string[];
186
+ driverParam: unknown;
187
+ notNull: true;
188
+ hasDefault: true;
189
+ isPrimaryKey: false;
190
+ isAutoincrement: false;
191
+ hasRuntimeDefault: false;
192
+ enumValues: undefined;
193
+ baseColumn: never;
194
+ identity: undefined;
195
+ generated: undefined;
196
+ }, {}, {
197
+ $type: string[];
198
+ }>;
199
+ assignedToUserId: import("drizzle-orm/pg-core").PgColumn<{
200
+ name: "assigned_to_user_id";
201
+ tableName: "customer_signals";
202
+ dataType: "string";
203
+ columnType: "PgText";
204
+ data: string;
205
+ driverParam: string;
206
+ notNull: false;
207
+ hasDefault: false;
208
+ isPrimaryKey: false;
209
+ isAutoincrement: false;
210
+ hasRuntimeDefault: false;
211
+ enumValues: [string, ...string[]];
212
+ baseColumn: never;
213
+ identity: undefined;
214
+ generated: undefined;
215
+ }, {}, {}>;
216
+ followUpAt: import("drizzle-orm/pg-core").PgColumn<{
217
+ name: "follow_up_at";
218
+ tableName: "customer_signals";
219
+ dataType: "date";
220
+ columnType: "PgTimestamp";
221
+ data: Date;
222
+ driverParam: string;
223
+ notNull: false;
224
+ hasDefault: false;
225
+ isPrimaryKey: false;
226
+ isAutoincrement: false;
227
+ hasRuntimeDefault: false;
228
+ enumValues: undefined;
229
+ baseColumn: never;
230
+ identity: undefined;
231
+ generated: undefined;
232
+ }, {}, {}>;
233
+ resolvedBookingId: import("drizzle-orm/pg-core").PgColumn<{
234
+ name: "resolved_booking_id";
235
+ tableName: "customer_signals";
236
+ dataType: "string";
237
+ columnType: "PgText";
238
+ data: string;
239
+ driverParam: string;
240
+ notNull: false;
241
+ hasDefault: false;
242
+ isPrimaryKey: false;
243
+ isAutoincrement: false;
244
+ hasRuntimeDefault: false;
245
+ enumValues: [string, ...string[]];
246
+ baseColumn: never;
247
+ identity: undefined;
248
+ generated: undefined;
249
+ }, {}, {}>;
250
+ sourceSubmissionId: import("drizzle-orm/pg-core").PgColumn<{
251
+ name: "source_submission_id";
252
+ tableName: "customer_signals";
253
+ dataType: "string";
254
+ columnType: "PgText";
255
+ data: string;
256
+ driverParam: string;
257
+ notNull: false;
258
+ hasDefault: false;
259
+ isPrimaryKey: false;
260
+ isAutoincrement: false;
261
+ hasRuntimeDefault: false;
262
+ enumValues: [string, ...string[]];
263
+ baseColumn: never;
264
+ identity: undefined;
265
+ generated: undefined;
266
+ }, {}, {}>;
267
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
268
+ name: "metadata";
269
+ tableName: "customer_signals";
270
+ dataType: "json";
271
+ columnType: "PgJsonb";
272
+ data: Record<string, unknown>;
273
+ driverParam: unknown;
274
+ notNull: false;
275
+ hasDefault: false;
276
+ isPrimaryKey: false;
277
+ isAutoincrement: false;
278
+ hasRuntimeDefault: false;
279
+ enumValues: undefined;
280
+ baseColumn: never;
281
+ identity: undefined;
282
+ generated: undefined;
283
+ }, {}, {
284
+ $type: Record<string, unknown>;
285
+ }>;
286
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
287
+ name: "created_at";
288
+ tableName: "customer_signals";
289
+ dataType: "date";
290
+ columnType: "PgTimestamp";
291
+ data: Date;
292
+ driverParam: string;
293
+ notNull: true;
294
+ hasDefault: true;
295
+ isPrimaryKey: false;
296
+ isAutoincrement: false;
297
+ hasRuntimeDefault: false;
298
+ enumValues: undefined;
299
+ baseColumn: never;
300
+ identity: undefined;
301
+ generated: undefined;
302
+ }, {}, {}>;
303
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
304
+ name: "updated_at";
305
+ tableName: "customer_signals";
306
+ dataType: "date";
307
+ columnType: "PgTimestamp";
308
+ data: Date;
309
+ driverParam: string;
310
+ notNull: true;
311
+ hasDefault: true;
312
+ isPrimaryKey: false;
313
+ isAutoincrement: false;
314
+ hasRuntimeDefault: false;
315
+ enumValues: undefined;
316
+ baseColumn: never;
317
+ identity: undefined;
318
+ generated: undefined;
319
+ }, {}, {}>;
320
+ }, "single", Record<"customer_signals", "not-null">, false, "where" | "orderBy", {
321
+ id: string;
322
+ personId: string;
323
+ productId: string | null;
324
+ optionUnitId: string | null;
325
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
326
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
327
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
328
+ priority: string;
329
+ notes: string | null;
330
+ tags: string[];
331
+ assignedToUserId: string | null;
332
+ followUpAt: Date | null;
333
+ resolvedBookingId: string | null;
334
+ sourceSubmissionId: string | null;
335
+ metadata: Record<string, unknown> | null;
336
+ createdAt: Date;
337
+ updatedAt: Date;
338
+ }[], {
339
+ id: import("drizzle-orm/pg-core").PgColumn<{
340
+ name: string;
341
+ tableName: "customer_signals";
342
+ dataType: "string";
343
+ columnType: "PgText";
344
+ data: string;
345
+ driverParam: string;
346
+ notNull: true;
347
+ hasDefault: true;
348
+ isPrimaryKey: true;
349
+ isAutoincrement: false;
350
+ hasRuntimeDefault: true;
351
+ enumValues: [string, ...string[]];
352
+ baseColumn: never;
353
+ identity: undefined;
354
+ generated: undefined;
355
+ }, {}, {}>;
356
+ personId: import("drizzle-orm/pg-core").PgColumn<{
357
+ name: string;
358
+ tableName: "customer_signals";
359
+ dataType: "string";
360
+ columnType: "PgText";
361
+ data: string;
362
+ driverParam: string;
363
+ notNull: true;
364
+ hasDefault: false;
365
+ isPrimaryKey: false;
366
+ isAutoincrement: false;
367
+ hasRuntimeDefault: false;
368
+ enumValues: [string, ...string[]];
369
+ baseColumn: never;
370
+ identity: undefined;
371
+ generated: undefined;
372
+ }, {}, {}>;
373
+ productId: import("drizzle-orm/pg-core").PgColumn<{
374
+ name: "product_id";
375
+ tableName: "customer_signals";
376
+ dataType: "string";
377
+ columnType: "PgText";
378
+ data: string;
379
+ driverParam: string;
380
+ notNull: false;
381
+ hasDefault: false;
382
+ isPrimaryKey: false;
383
+ isAutoincrement: false;
384
+ hasRuntimeDefault: false;
385
+ enumValues: [string, ...string[]];
386
+ baseColumn: never;
387
+ identity: undefined;
388
+ generated: undefined;
389
+ }, {}, {}>;
390
+ optionUnitId: import("drizzle-orm/pg-core").PgColumn<{
391
+ name: "option_unit_id";
392
+ tableName: "customer_signals";
393
+ dataType: "string";
394
+ columnType: "PgText";
395
+ data: string;
396
+ driverParam: string;
397
+ notNull: false;
398
+ hasDefault: false;
399
+ isPrimaryKey: false;
400
+ isAutoincrement: false;
401
+ hasRuntimeDefault: false;
402
+ enumValues: [string, ...string[]];
403
+ baseColumn: never;
404
+ identity: undefined;
405
+ generated: undefined;
406
+ }, {}, {}>;
407
+ kind: import("drizzle-orm/pg-core").PgColumn<{
408
+ name: "kind";
409
+ tableName: "customer_signals";
410
+ dataType: "string";
411
+ columnType: "PgEnumColumn";
412
+ data: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
413
+ driverParam: string;
414
+ notNull: true;
415
+ hasDefault: false;
416
+ isPrimaryKey: false;
417
+ isAutoincrement: false;
418
+ hasRuntimeDefault: false;
419
+ enumValues: ["wishlist", "notify", "inquiry", "request_offer", "referral"];
420
+ baseColumn: never;
421
+ identity: undefined;
422
+ generated: undefined;
423
+ }, {}, {}>;
424
+ source: import("drizzle-orm/pg-core").PgColumn<{
425
+ name: "source";
426
+ tableName: "customer_signals";
427
+ dataType: "string";
428
+ columnType: "PgEnumColumn";
429
+ data: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
430
+ driverParam: string;
431
+ notNull: true;
432
+ hasDefault: false;
433
+ isPrimaryKey: false;
434
+ isAutoincrement: false;
435
+ hasRuntimeDefault: false;
436
+ enumValues: ["form", "phone", "admin", "abandoned_cart", "website", "booking"];
437
+ baseColumn: never;
438
+ identity: undefined;
439
+ generated: undefined;
440
+ }, {}, {}>;
441
+ status: import("drizzle-orm/pg-core").PgColumn<{
442
+ name: "status";
443
+ tableName: "customer_signals";
444
+ dataType: "string";
445
+ columnType: "PgEnumColumn";
446
+ data: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
447
+ driverParam: string;
448
+ notNull: true;
449
+ hasDefault: true;
450
+ isPrimaryKey: false;
451
+ isAutoincrement: false;
452
+ hasRuntimeDefault: false;
453
+ enumValues: ["new", "contacted", "qualified", "converted", "lost", "expired"];
454
+ baseColumn: never;
455
+ identity: undefined;
456
+ generated: undefined;
457
+ }, {}, {}>;
458
+ priority: import("drizzle-orm/pg-core").PgColumn<{
459
+ name: "priority";
460
+ tableName: "customer_signals";
461
+ dataType: "string";
462
+ columnType: "PgText";
463
+ data: string;
464
+ driverParam: string;
465
+ notNull: true;
466
+ hasDefault: true;
467
+ isPrimaryKey: false;
468
+ isAutoincrement: false;
469
+ hasRuntimeDefault: false;
470
+ enumValues: [string, ...string[]];
471
+ baseColumn: never;
472
+ identity: undefined;
473
+ generated: undefined;
474
+ }, {}, {}>;
475
+ notes: import("drizzle-orm/pg-core").PgColumn<{
476
+ name: "notes";
477
+ tableName: "customer_signals";
478
+ dataType: "string";
479
+ columnType: "PgText";
480
+ data: string;
481
+ driverParam: string;
482
+ notNull: false;
483
+ hasDefault: false;
484
+ isPrimaryKey: false;
485
+ isAutoincrement: false;
486
+ hasRuntimeDefault: false;
487
+ enumValues: [string, ...string[]];
488
+ baseColumn: never;
489
+ identity: undefined;
490
+ generated: undefined;
491
+ }, {}, {}>;
492
+ tags: import("drizzle-orm/pg-core").PgColumn<{
493
+ name: "tags";
494
+ tableName: "customer_signals";
495
+ dataType: "json";
496
+ columnType: "PgJsonb";
497
+ data: string[];
498
+ driverParam: unknown;
499
+ notNull: true;
500
+ hasDefault: true;
501
+ isPrimaryKey: false;
502
+ isAutoincrement: false;
503
+ hasRuntimeDefault: false;
504
+ enumValues: undefined;
505
+ baseColumn: never;
506
+ identity: undefined;
507
+ generated: undefined;
508
+ }, {}, {
509
+ $type: string[];
510
+ }>;
511
+ assignedToUserId: import("drizzle-orm/pg-core").PgColumn<{
512
+ name: "assigned_to_user_id";
513
+ tableName: "customer_signals";
514
+ dataType: "string";
515
+ columnType: "PgText";
516
+ data: string;
517
+ driverParam: string;
518
+ notNull: false;
519
+ hasDefault: false;
520
+ isPrimaryKey: false;
521
+ isAutoincrement: false;
522
+ hasRuntimeDefault: false;
523
+ enumValues: [string, ...string[]];
524
+ baseColumn: never;
525
+ identity: undefined;
526
+ generated: undefined;
527
+ }, {}, {}>;
528
+ followUpAt: import("drizzle-orm/pg-core").PgColumn<{
529
+ name: "follow_up_at";
530
+ tableName: "customer_signals";
531
+ dataType: "date";
532
+ columnType: "PgTimestamp";
533
+ data: Date;
534
+ driverParam: string;
535
+ notNull: false;
536
+ hasDefault: false;
537
+ isPrimaryKey: false;
538
+ isAutoincrement: false;
539
+ hasRuntimeDefault: false;
540
+ enumValues: undefined;
541
+ baseColumn: never;
542
+ identity: undefined;
543
+ generated: undefined;
544
+ }, {}, {}>;
545
+ resolvedBookingId: import("drizzle-orm/pg-core").PgColumn<{
546
+ name: "resolved_booking_id";
547
+ tableName: "customer_signals";
548
+ dataType: "string";
549
+ columnType: "PgText";
550
+ data: string;
551
+ driverParam: string;
552
+ notNull: false;
553
+ hasDefault: false;
554
+ isPrimaryKey: false;
555
+ isAutoincrement: false;
556
+ hasRuntimeDefault: false;
557
+ enumValues: [string, ...string[]];
558
+ baseColumn: never;
559
+ identity: undefined;
560
+ generated: undefined;
561
+ }, {}, {}>;
562
+ sourceSubmissionId: import("drizzle-orm/pg-core").PgColumn<{
563
+ name: "source_submission_id";
564
+ tableName: "customer_signals";
565
+ dataType: "string";
566
+ columnType: "PgText";
567
+ data: string;
568
+ driverParam: string;
569
+ notNull: false;
570
+ hasDefault: false;
571
+ isPrimaryKey: false;
572
+ isAutoincrement: false;
573
+ hasRuntimeDefault: false;
574
+ enumValues: [string, ...string[]];
575
+ baseColumn: never;
576
+ identity: undefined;
577
+ generated: undefined;
578
+ }, {}, {}>;
579
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
580
+ name: "metadata";
581
+ tableName: "customer_signals";
582
+ dataType: "json";
583
+ columnType: "PgJsonb";
584
+ data: Record<string, unknown>;
585
+ driverParam: unknown;
586
+ notNull: false;
587
+ hasDefault: false;
588
+ isPrimaryKey: false;
589
+ isAutoincrement: false;
590
+ hasRuntimeDefault: false;
591
+ enumValues: undefined;
592
+ baseColumn: never;
593
+ identity: undefined;
594
+ generated: undefined;
595
+ }, {}, {
596
+ $type: Record<string, unknown>;
597
+ }>;
598
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
599
+ name: "created_at";
600
+ tableName: "customer_signals";
601
+ dataType: "date";
602
+ columnType: "PgTimestamp";
603
+ data: Date;
604
+ driverParam: string;
605
+ notNull: true;
606
+ hasDefault: true;
607
+ isPrimaryKey: false;
608
+ isAutoincrement: false;
609
+ hasRuntimeDefault: false;
610
+ enumValues: undefined;
611
+ baseColumn: never;
612
+ identity: undefined;
613
+ generated: undefined;
614
+ }, {}, {}>;
615
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
616
+ name: "updated_at";
617
+ tableName: "customer_signals";
618
+ dataType: "date";
619
+ columnType: "PgTimestamp";
620
+ data: Date;
621
+ driverParam: string;
622
+ notNull: true;
623
+ hasDefault: true;
624
+ isPrimaryKey: false;
625
+ isAutoincrement: false;
626
+ hasRuntimeDefault: false;
627
+ enumValues: undefined;
628
+ baseColumn: never;
629
+ identity: undefined;
630
+ generated: undefined;
631
+ }, {}, {}>;
632
+ }>, "where" | "orderBy">;
633
+ getCustomerSignal(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
634
+ id: string;
635
+ personId: string;
636
+ productId: string | null;
637
+ optionUnitId: string | null;
638
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
639
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
640
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
641
+ priority: string;
642
+ notes: string | null;
643
+ tags: string[];
644
+ assignedToUserId: string | null;
645
+ followUpAt: Date | null;
646
+ resolvedBookingId: string | null;
647
+ sourceSubmissionId: string | null;
648
+ metadata: Record<string, unknown> | null;
649
+ createdAt: Date;
650
+ updatedAt: Date;
651
+ } | null>;
652
+ createCustomerSignal(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./customer-signals.js").CreateCustomerSignalInput): Promise<{
653
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
654
+ metadata: Record<string, unknown> | null;
655
+ id: string;
656
+ createdAt: Date;
657
+ updatedAt: Date;
658
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
659
+ notes: string | null;
660
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
661
+ tags: string[];
662
+ personId: string;
663
+ productId: string | null;
664
+ optionUnitId: string | null;
665
+ priority: string;
666
+ assignedToUserId: string | null;
667
+ followUpAt: Date | null;
668
+ resolvedBookingId: string | null;
669
+ sourceSubmissionId: string | null;
670
+ } | null>;
671
+ updateCustomerSignal(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./customer-signals.js").UpdateCustomerSignalInput): Promise<{
672
+ id: string;
673
+ personId: string;
674
+ productId: string | null;
675
+ optionUnitId: string | null;
676
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
677
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
678
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
679
+ priority: string;
680
+ notes: string | null;
681
+ tags: string[];
682
+ assignedToUserId: string | null;
683
+ followUpAt: Date | null;
684
+ resolvedBookingId: string | null;
685
+ sourceSubmissionId: string | null;
686
+ metadata: Record<string, unknown> | null;
687
+ createdAt: Date;
688
+ updatedAt: Date;
689
+ } | null>;
690
+ deleteCustomerSignal(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
691
+ id: string;
692
+ } | null>;
693
+ resolveCustomerSignalToBooking(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, signalId: string, bookingId: string): Promise<{
694
+ id: string;
695
+ personId: string;
696
+ productId: string | null;
697
+ optionUnitId: string | null;
698
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
699
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
700
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
701
+ priority: string;
702
+ notes: string | null;
703
+ tags: string[];
704
+ assignedToUserId: string | null;
705
+ followUpAt: Date | null;
706
+ resolvedBookingId: string | null;
707
+ sourceSubmissionId: string | null;
708
+ metadata: Record<string, unknown> | null;
709
+ createdAt: Date;
710
+ updatedAt: Date;
711
+ } | null>;
712
+ listPersonRelationships(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, personId: string, query?: import("./person-relationships.js").PersonRelationshipListQuery): Omit<import("drizzle-orm/pg-core").PgSelectBase<"person_relationships", {
713
+ id: import("drizzle-orm/pg-core").PgColumn<{
714
+ name: string;
715
+ tableName: "person_relationships";
716
+ dataType: "string";
717
+ columnType: "PgText";
718
+ data: string;
719
+ driverParam: string;
720
+ notNull: true;
721
+ hasDefault: true;
722
+ isPrimaryKey: true;
723
+ isAutoincrement: false;
724
+ hasRuntimeDefault: true;
725
+ enumValues: [string, ...string[]];
726
+ baseColumn: never;
727
+ identity: undefined;
728
+ generated: undefined;
729
+ }, {}, {}>;
730
+ fromPersonId: import("drizzle-orm/pg-core").PgColumn<{
731
+ name: string;
732
+ tableName: "person_relationships";
733
+ dataType: "string";
734
+ columnType: "PgText";
735
+ data: string;
736
+ driverParam: string;
737
+ notNull: true;
738
+ hasDefault: false;
739
+ isPrimaryKey: false;
740
+ isAutoincrement: false;
741
+ hasRuntimeDefault: false;
742
+ enumValues: [string, ...string[]];
743
+ baseColumn: never;
744
+ identity: undefined;
745
+ generated: undefined;
746
+ }, {}, {}>;
747
+ toPersonId: import("drizzle-orm/pg-core").PgColumn<{
748
+ name: string;
749
+ tableName: "person_relationships";
750
+ dataType: "string";
751
+ columnType: "PgText";
752
+ data: string;
753
+ driverParam: string;
754
+ notNull: true;
755
+ hasDefault: false;
756
+ isPrimaryKey: false;
757
+ isAutoincrement: false;
758
+ hasRuntimeDefault: false;
759
+ enumValues: [string, ...string[]];
760
+ baseColumn: never;
761
+ identity: undefined;
762
+ generated: undefined;
763
+ }, {}, {}>;
764
+ kind: import("drizzle-orm/pg-core").PgColumn<{
765
+ name: "kind";
766
+ tableName: "person_relationships";
767
+ dataType: "string";
768
+ columnType: "PgEnumColumn";
769
+ data: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion";
770
+ driverParam: string;
771
+ notNull: true;
772
+ hasDefault: false;
773
+ isPrimaryKey: false;
774
+ isAutoincrement: false;
775
+ hasRuntimeDefault: false;
776
+ enumValues: ["spouse", "partner", "parent", "child", "sibling", "guardian", "ward", "emergency_contact", "friend", "travel_companion", "other"];
777
+ baseColumn: never;
778
+ identity: undefined;
779
+ generated: undefined;
780
+ }, {}, {}>;
781
+ inverseKind: import("drizzle-orm/pg-core").PgColumn<{
782
+ name: "inverse_kind";
783
+ tableName: "person_relationships";
784
+ dataType: "string";
785
+ columnType: "PgEnumColumn";
786
+ data: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion";
787
+ driverParam: string;
788
+ notNull: false;
789
+ hasDefault: false;
790
+ isPrimaryKey: false;
791
+ isAutoincrement: false;
792
+ hasRuntimeDefault: false;
793
+ enumValues: ["spouse", "partner", "parent", "child", "sibling", "guardian", "ward", "emergency_contact", "friend", "travel_companion", "other"];
794
+ baseColumn: never;
795
+ identity: undefined;
796
+ generated: undefined;
797
+ }, {}, {}>;
798
+ startDate: import("drizzle-orm/pg-core").PgColumn<{
799
+ name: "start_date";
800
+ tableName: "person_relationships";
801
+ dataType: "string";
802
+ columnType: "PgDateString";
803
+ data: string;
804
+ driverParam: string;
805
+ notNull: false;
806
+ hasDefault: false;
807
+ isPrimaryKey: false;
808
+ isAutoincrement: false;
809
+ hasRuntimeDefault: false;
810
+ enumValues: undefined;
811
+ baseColumn: never;
812
+ identity: undefined;
813
+ generated: undefined;
814
+ }, {}, {}>;
815
+ endDate: import("drizzle-orm/pg-core").PgColumn<{
816
+ name: "end_date";
817
+ tableName: "person_relationships";
818
+ dataType: "string";
819
+ columnType: "PgDateString";
820
+ data: string;
821
+ driverParam: string;
822
+ notNull: false;
823
+ hasDefault: false;
824
+ isPrimaryKey: false;
825
+ isAutoincrement: false;
826
+ hasRuntimeDefault: false;
827
+ enumValues: undefined;
828
+ baseColumn: never;
829
+ identity: undefined;
830
+ generated: undefined;
831
+ }, {}, {}>;
832
+ isPrimary: import("drizzle-orm/pg-core").PgColumn<{
833
+ name: "is_primary";
834
+ tableName: "person_relationships";
835
+ dataType: "boolean";
836
+ columnType: "PgBoolean";
837
+ data: boolean;
838
+ driverParam: boolean;
839
+ notNull: true;
840
+ hasDefault: true;
841
+ isPrimaryKey: false;
842
+ isAutoincrement: false;
843
+ hasRuntimeDefault: false;
844
+ enumValues: undefined;
845
+ baseColumn: never;
846
+ identity: undefined;
847
+ generated: undefined;
848
+ }, {}, {}>;
849
+ notes: import("drizzle-orm/pg-core").PgColumn<{
850
+ name: "notes";
851
+ tableName: "person_relationships";
852
+ dataType: "string";
853
+ columnType: "PgText";
854
+ data: string;
855
+ driverParam: string;
856
+ notNull: false;
857
+ hasDefault: false;
858
+ isPrimaryKey: false;
859
+ isAutoincrement: false;
860
+ hasRuntimeDefault: false;
861
+ enumValues: [string, ...string[]];
862
+ baseColumn: never;
863
+ identity: undefined;
864
+ generated: undefined;
865
+ }, {}, {}>;
866
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
867
+ name: "metadata";
868
+ tableName: "person_relationships";
869
+ dataType: "json";
870
+ columnType: "PgJsonb";
871
+ data: Record<string, unknown>;
872
+ driverParam: unknown;
873
+ notNull: false;
874
+ hasDefault: false;
875
+ isPrimaryKey: false;
876
+ isAutoincrement: false;
877
+ hasRuntimeDefault: false;
878
+ enumValues: undefined;
879
+ baseColumn: never;
880
+ identity: undefined;
881
+ generated: undefined;
882
+ }, {}, {
883
+ $type: Record<string, unknown>;
884
+ }>;
885
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
886
+ name: "created_at";
887
+ tableName: "person_relationships";
888
+ dataType: "date";
889
+ columnType: "PgTimestamp";
890
+ data: Date;
891
+ driverParam: string;
892
+ notNull: true;
893
+ hasDefault: true;
894
+ isPrimaryKey: false;
895
+ isAutoincrement: false;
896
+ hasRuntimeDefault: false;
897
+ enumValues: undefined;
898
+ baseColumn: never;
899
+ identity: undefined;
900
+ generated: undefined;
901
+ }, {}, {}>;
902
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
903
+ name: "updated_at";
904
+ tableName: "person_relationships";
905
+ dataType: "date";
906
+ columnType: "PgTimestamp";
907
+ data: Date;
908
+ driverParam: string;
909
+ notNull: true;
910
+ hasDefault: true;
911
+ isPrimaryKey: false;
912
+ isAutoincrement: false;
913
+ hasRuntimeDefault: false;
914
+ enumValues: undefined;
915
+ baseColumn: never;
916
+ identity: undefined;
917
+ generated: undefined;
918
+ }, {}, {}>;
919
+ }, "single", Record<"person_relationships", "not-null">, false, "where" | "orderBy" | "limit" | "offset", {
920
+ id: string;
921
+ fromPersonId: string;
922
+ toPersonId: string;
923
+ kind: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion";
924
+ inverseKind: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion" | null;
925
+ startDate: string | null;
926
+ endDate: string | null;
927
+ isPrimary: boolean;
928
+ notes: string | null;
929
+ metadata: Record<string, unknown> | null;
930
+ createdAt: Date;
931
+ updatedAt: Date;
932
+ }[], {
933
+ id: import("drizzle-orm/pg-core").PgColumn<{
934
+ name: string;
935
+ tableName: "person_relationships";
936
+ dataType: "string";
937
+ columnType: "PgText";
938
+ data: string;
939
+ driverParam: string;
940
+ notNull: true;
941
+ hasDefault: true;
942
+ isPrimaryKey: true;
943
+ isAutoincrement: false;
944
+ hasRuntimeDefault: true;
945
+ enumValues: [string, ...string[]];
946
+ baseColumn: never;
947
+ identity: undefined;
948
+ generated: undefined;
949
+ }, {}, {}>;
950
+ fromPersonId: import("drizzle-orm/pg-core").PgColumn<{
951
+ name: string;
952
+ tableName: "person_relationships";
953
+ dataType: "string";
954
+ columnType: "PgText";
955
+ data: string;
956
+ driverParam: string;
957
+ notNull: true;
958
+ hasDefault: false;
959
+ isPrimaryKey: false;
960
+ isAutoincrement: false;
961
+ hasRuntimeDefault: false;
962
+ enumValues: [string, ...string[]];
963
+ baseColumn: never;
964
+ identity: undefined;
965
+ generated: undefined;
966
+ }, {}, {}>;
967
+ toPersonId: import("drizzle-orm/pg-core").PgColumn<{
968
+ name: string;
969
+ tableName: "person_relationships";
970
+ dataType: "string";
971
+ columnType: "PgText";
972
+ data: string;
973
+ driverParam: string;
974
+ notNull: true;
975
+ hasDefault: false;
976
+ isPrimaryKey: false;
977
+ isAutoincrement: false;
978
+ hasRuntimeDefault: false;
979
+ enumValues: [string, ...string[]];
980
+ baseColumn: never;
981
+ identity: undefined;
982
+ generated: undefined;
983
+ }, {}, {}>;
984
+ kind: import("drizzle-orm/pg-core").PgColumn<{
985
+ name: "kind";
986
+ tableName: "person_relationships";
987
+ dataType: "string";
988
+ columnType: "PgEnumColumn";
989
+ data: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion";
990
+ driverParam: string;
991
+ notNull: true;
992
+ hasDefault: false;
993
+ isPrimaryKey: false;
994
+ isAutoincrement: false;
995
+ hasRuntimeDefault: false;
996
+ enumValues: ["spouse", "partner", "parent", "child", "sibling", "guardian", "ward", "emergency_contact", "friend", "travel_companion", "other"];
997
+ baseColumn: never;
998
+ identity: undefined;
999
+ generated: undefined;
1000
+ }, {}, {}>;
1001
+ inverseKind: import("drizzle-orm/pg-core").PgColumn<{
1002
+ name: "inverse_kind";
1003
+ tableName: "person_relationships";
1004
+ dataType: "string";
1005
+ columnType: "PgEnumColumn";
1006
+ data: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion";
1007
+ driverParam: string;
1008
+ notNull: false;
1009
+ hasDefault: false;
1010
+ isPrimaryKey: false;
1011
+ isAutoincrement: false;
1012
+ hasRuntimeDefault: false;
1013
+ enumValues: ["spouse", "partner", "parent", "child", "sibling", "guardian", "ward", "emergency_contact", "friend", "travel_companion", "other"];
1014
+ baseColumn: never;
1015
+ identity: undefined;
1016
+ generated: undefined;
1017
+ }, {}, {}>;
1018
+ startDate: import("drizzle-orm/pg-core").PgColumn<{
1019
+ name: "start_date";
1020
+ tableName: "person_relationships";
1021
+ dataType: "string";
1022
+ columnType: "PgDateString";
1023
+ data: string;
1024
+ driverParam: string;
1025
+ notNull: false;
1026
+ hasDefault: false;
1027
+ isPrimaryKey: false;
1028
+ isAutoincrement: false;
1029
+ hasRuntimeDefault: false;
1030
+ enumValues: undefined;
1031
+ baseColumn: never;
1032
+ identity: undefined;
1033
+ generated: undefined;
1034
+ }, {}, {}>;
1035
+ endDate: import("drizzle-orm/pg-core").PgColumn<{
1036
+ name: "end_date";
1037
+ tableName: "person_relationships";
1038
+ dataType: "string";
1039
+ columnType: "PgDateString";
1040
+ data: string;
1041
+ driverParam: string;
1042
+ notNull: false;
1043
+ hasDefault: false;
1044
+ isPrimaryKey: false;
1045
+ isAutoincrement: false;
1046
+ hasRuntimeDefault: false;
1047
+ enumValues: undefined;
1048
+ baseColumn: never;
1049
+ identity: undefined;
1050
+ generated: undefined;
1051
+ }, {}, {}>;
1052
+ isPrimary: import("drizzle-orm/pg-core").PgColumn<{
1053
+ name: "is_primary";
1054
+ tableName: "person_relationships";
1055
+ dataType: "boolean";
1056
+ columnType: "PgBoolean";
1057
+ data: boolean;
1058
+ driverParam: boolean;
1059
+ notNull: true;
1060
+ hasDefault: true;
1061
+ isPrimaryKey: false;
1062
+ isAutoincrement: false;
1063
+ hasRuntimeDefault: false;
1064
+ enumValues: undefined;
1065
+ baseColumn: never;
1066
+ identity: undefined;
1067
+ generated: undefined;
1068
+ }, {}, {}>;
1069
+ notes: import("drizzle-orm/pg-core").PgColumn<{
1070
+ name: "notes";
1071
+ tableName: "person_relationships";
1072
+ dataType: "string";
1073
+ columnType: "PgText";
1074
+ data: string;
1075
+ driverParam: string;
1076
+ notNull: false;
1077
+ hasDefault: false;
1078
+ isPrimaryKey: false;
1079
+ isAutoincrement: false;
1080
+ hasRuntimeDefault: false;
1081
+ enumValues: [string, ...string[]];
1082
+ baseColumn: never;
1083
+ identity: undefined;
1084
+ generated: undefined;
1085
+ }, {}, {}>;
1086
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
1087
+ name: "metadata";
1088
+ tableName: "person_relationships";
1089
+ dataType: "json";
1090
+ columnType: "PgJsonb";
1091
+ data: Record<string, unknown>;
1092
+ driverParam: unknown;
1093
+ notNull: false;
1094
+ hasDefault: false;
1095
+ isPrimaryKey: false;
1096
+ isAutoincrement: false;
1097
+ hasRuntimeDefault: false;
1098
+ enumValues: undefined;
1099
+ baseColumn: never;
1100
+ identity: undefined;
1101
+ generated: undefined;
1102
+ }, {}, {
1103
+ $type: Record<string, unknown>;
1104
+ }>;
1105
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1106
+ name: "created_at";
1107
+ tableName: "person_relationships";
1108
+ dataType: "date";
1109
+ columnType: "PgTimestamp";
1110
+ data: Date;
1111
+ driverParam: string;
1112
+ notNull: true;
1113
+ hasDefault: true;
1114
+ isPrimaryKey: false;
1115
+ isAutoincrement: false;
1116
+ hasRuntimeDefault: false;
1117
+ enumValues: undefined;
1118
+ baseColumn: never;
1119
+ identity: undefined;
1120
+ generated: undefined;
1121
+ }, {}, {}>;
1122
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1123
+ name: "updated_at";
1124
+ tableName: "person_relationships";
1125
+ dataType: "date";
1126
+ columnType: "PgTimestamp";
1127
+ data: Date;
1128
+ driverParam: string;
1129
+ notNull: true;
1130
+ hasDefault: true;
1131
+ isPrimaryKey: false;
1132
+ isAutoincrement: false;
1133
+ hasRuntimeDefault: false;
1134
+ enumValues: undefined;
1135
+ baseColumn: never;
1136
+ identity: undefined;
1137
+ generated: undefined;
1138
+ }, {}, {}>;
1139
+ }>, "where" | "orderBy" | "limit" | "offset">;
1140
+ getPersonRelationship(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1141
+ id: string;
1142
+ fromPersonId: string;
1143
+ toPersonId: string;
1144
+ kind: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion";
1145
+ inverseKind: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion" | null;
1146
+ startDate: string | null;
1147
+ endDate: string | null;
1148
+ isPrimary: boolean;
1149
+ notes: string | null;
1150
+ metadata: Record<string, unknown> | null;
1151
+ createdAt: Date;
1152
+ updatedAt: Date;
1153
+ } | null>;
1154
+ createPersonRelationship(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, fromPersonId: string, data: import("./person-relationships.js").CreatePersonRelationshipInput): Promise<{
1155
+ metadata: Record<string, unknown> | null;
1156
+ id: string;
1157
+ createdAt: Date;
1158
+ updatedAt: Date;
1159
+ startDate: string | null;
1160
+ endDate: string | null;
1161
+ notes: string | null;
1162
+ kind: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion";
1163
+ isPrimary: boolean;
1164
+ fromPersonId: string;
1165
+ toPersonId: string;
1166
+ inverseKind: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion" | null;
1167
+ } | null>;
1168
+ updatePersonRelationship(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./person-relationships.js").UpdatePersonRelationshipInput): Promise<{
1169
+ id: string;
1170
+ fromPersonId: string;
1171
+ toPersonId: string;
1172
+ kind: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion";
1173
+ inverseKind: "partner" | "other" | "spouse" | "parent" | "child" | "sibling" | "guardian" | "ward" | "emergency_contact" | "friend" | "travel_companion" | null;
1174
+ startDate: string | null;
1175
+ endDate: string | null;
1176
+ isPrimary: boolean;
1177
+ notes: string | null;
1178
+ metadata: Record<string, unknown> | null;
1179
+ createdAt: Date;
1180
+ updatedAt: Date;
1181
+ } | null>;
1182
+ deletePersonRelationship(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
1183
+ id: string;
1184
+ } | null>;
2
1185
  listPersonDocuments(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, personId: string, query?: import("./person-documents.js").PersonDocumentListQuery): Omit<import("drizzle-orm/pg-core").PgSelectBase<"person_documents", {
3
1186
  id: import("drizzle-orm/pg-core").PgColumn<{
4
1187
  name: string;
@@ -4706,6 +5889,10 @@ export declare const crmService: {
4706
5889
  id: string;
4707
5890
  } | null>;
4708
5891
  };
5892
+ export type { CreateCustomerSignalInput, CustomerSignalListQuery, UpdateCustomerSignalInput, } from "./customer-signals.js";
5893
+ export { customerSignalsService } from "./customer-signals.js";
4709
5894
  export type { CreatePersonDocumentInput, PersonDocumentListQuery, PersonDocumentType, PersonTravelSnapshot, UpdatePersonDocumentInput, } from "./person-documents.js";
4710
5895
  export { personDocumentNumberPlaintextSchema, personDocumentsService, personPiiBlobPlaintextSchema, } from "./person-documents.js";
5896
+ export type { CreatePersonRelationshipInput, PersonRelationshipKind, PersonRelationshipListQuery, UpdatePersonRelationshipInput, } from "./person-relationships.js";
5897
+ export { personRelationshipsService } from "./person-relationships.js";
4711
5898
  //# sourceMappingURL=index.d.ts.map