@voyantjs/bookings 0.6.8 → 0.6.9

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 (63) hide show
  1. package/README.md +2 -2
  2. package/dist/index.d.ts +7 -7
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +4 -4
  5. package/dist/pii.d.ts +10 -9
  6. package/dist/pii.d.ts.map +1 -1
  7. package/dist/pii.js +33 -33
  8. package/dist/routes-groups.d.ts +25 -5
  9. package/dist/routes-groups.d.ts.map +1 -1
  10. package/dist/routes-groups.js +3 -3
  11. package/dist/routes-public.d.ts +19 -21
  12. package/dist/routes-public.d.ts.map +1 -1
  13. package/dist/routes-public.js +1 -1
  14. package/dist/routes-shared.d.ts +1 -1
  15. package/dist/routes-shared.d.ts.map +1 -1
  16. package/dist/routes.d.ts +200 -187
  17. package/dist/routes.d.ts.map +1 -1
  18. package/dist/routes.js +65 -95
  19. package/dist/schema/travel-details.d.ts +27 -27
  20. package/dist/schema/travel-details.d.ts.map +1 -1
  21. package/dist/schema/travel-details.js +19 -14
  22. package/dist/schema-core.d.ts +194 -305
  23. package/dist/schema-core.d.ts.map +1 -1
  24. package/dist/schema-core.js +19 -10
  25. package/dist/schema-items.d.ts +15 -15
  26. package/dist/schema-items.d.ts.map +1 -1
  27. package/dist/schema-items.js +12 -12
  28. package/dist/schema-operations.d.ts +1 -1
  29. package/dist/schema-operations.js +3 -3
  30. package/dist/schema-relations.d.ts +26 -9
  31. package/dist/schema-relations.d.ts.map +1 -1
  32. package/dist/schema-relations.js +36 -21
  33. package/dist/schema-shared.d.ts +3 -2
  34. package/dist/schema-shared.d.ts.map +1 -1
  35. package/dist/schema-shared.js +4 -5
  36. package/dist/schema-staff.d.ts +267 -0
  37. package/dist/schema-staff.d.ts.map +1 -0
  38. package/dist/schema-staff.js +31 -0
  39. package/dist/schema.d.ts +1 -0
  40. package/dist/schema.d.ts.map +1 -1
  41. package/dist/schema.js +1 -0
  42. package/dist/service-groups.d.ts +3 -7
  43. package/dist/service-groups.d.ts.map +1 -1
  44. package/dist/service-groups.js +6 -10
  45. package/dist/service-public.d.ts +49 -55
  46. package/dist/service-public.d.ts.map +1 -1
  47. package/dist/service-public.js +106 -53
  48. package/dist/service.d.ts +227 -99
  49. package/dist/service.d.ts.map +1 -1
  50. package/dist/service.js +321 -108
  51. package/dist/transactions-ref.d.ts +930 -66
  52. package/dist/transactions-ref.d.ts.map +1 -1
  53. package/dist/transactions-ref.js +56 -2
  54. package/dist/validation-public.d.ts +29 -69
  55. package/dist/validation-public.d.ts.map +1 -1
  56. package/dist/validation-public.js +21 -20
  57. package/dist/validation-shared.d.ts +4 -5
  58. package/dist/validation-shared.d.ts.map +1 -1
  59. package/dist/validation-shared.js +2 -10
  60. package/dist/validation.d.ts +229 -44
  61. package/dist/validation.d.ts.map +1 -1
  62. package/dist/validation.js +84 -28
  63. package/package.json +6 -6
@@ -23,6 +23,16 @@ export declare const insertBookingSchema: z.ZodObject<{
23
23
  }>>;
24
24
  externalBookingRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
25
25
  communicationLanguage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
26
+ contactFirstName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
27
+ contactLastName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
28
+ contactEmail: z.ZodNullable<z.ZodOptional<z.ZodString>>;
29
+ contactPhone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
30
+ contactPreferredLanguage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
31
+ contactCountry: z.ZodNullable<z.ZodOptional<z.ZodString>>;
32
+ contactRegion: z.ZodNullable<z.ZodOptional<z.ZodString>>;
33
+ contactCity: z.ZodNullable<z.ZodOptional<z.ZodString>>;
34
+ contactAddressLine1: z.ZodNullable<z.ZodOptional<z.ZodString>>;
35
+ contactPostalCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
26
36
  sellCurrency: z.ZodString;
27
37
  baseCurrency: z.ZodNullable<z.ZodOptional<z.ZodString>>;
28
38
  sellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
@@ -65,6 +75,16 @@ export declare const updateBookingSchema: z.ZodObject<{
65
75
  }>>>;
66
76
  externalBookingRef: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
67
77
  communicationLanguage: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
78
+ contactFirstName: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
79
+ contactLastName: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
80
+ contactEmail: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
81
+ contactPhone: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
82
+ contactPreferredLanguage: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
83
+ contactCountry: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
84
+ contactRegion: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
85
+ contactCity: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
86
+ contactAddressLine1: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
87
+ contactPostalCode: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
68
88
  sellCurrency: z.ZodOptional<z.ZodString>;
69
89
  baseCurrency: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
70
90
  sellAmountCents: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
@@ -98,6 +118,16 @@ export declare const createBookingSchema: z.ZodObject<{
98
118
  organizationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
99
119
  externalBookingRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
100
120
  communicationLanguage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
121
+ contactFirstName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
122
+ contactLastName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
123
+ contactEmail: z.ZodNullable<z.ZodOptional<z.ZodString>>;
124
+ contactPhone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
125
+ contactPreferredLanguage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
126
+ contactCountry: z.ZodNullable<z.ZodOptional<z.ZodString>>;
127
+ contactRegion: z.ZodNullable<z.ZodOptional<z.ZodString>>;
128
+ contactCity: z.ZodNullable<z.ZodOptional<z.ZodString>>;
129
+ contactAddressLine1: z.ZodNullable<z.ZodOptional<z.ZodString>>;
130
+ contactPostalCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
101
131
  sellCurrency: z.ZodString;
102
132
  baseCurrency: z.ZodNullable<z.ZodOptional<z.ZodString>>;
103
133
  sellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
@@ -208,6 +238,16 @@ export declare const reserveBookingSchema: z.ZodObject<{
208
238
  }>>;
209
239
  externalBookingRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
210
240
  communicationLanguage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
241
+ contactFirstName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
242
+ contactLastName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
243
+ contactEmail: z.ZodNullable<z.ZodOptional<z.ZodString>>;
244
+ contactPhone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
245
+ contactPreferredLanguage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
246
+ contactCountry: z.ZodNullable<z.ZodOptional<z.ZodString>>;
247
+ contactRegion: z.ZodNullable<z.ZodOptional<z.ZodString>>;
248
+ contactCity: z.ZodNullable<z.ZodOptional<z.ZodString>>;
249
+ contactAddressLine1: z.ZodNullable<z.ZodOptional<z.ZodString>>;
250
+ contactPostalCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
211
251
  sellCurrency: z.ZodString;
212
252
  baseCurrency: z.ZodNullable<z.ZodOptional<z.ZodString>>;
213
253
  sellAmountCents: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
@@ -276,6 +316,17 @@ export declare const expireStaleBookingsSchema: z.ZodObject<{
276
316
  }, z.core.$strip>;
277
317
  export declare const reserveBookingFromTransactionSchema: z.ZodObject<{
278
318
  bookingNumber: z.ZodString;
319
+ contactFirstName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
320
+ contactLastName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
321
+ contactEmail: z.ZodNullable<z.ZodOptional<z.ZodString>>;
322
+ contactPhone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
323
+ contactPreferredLanguage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
324
+ contactCountry: z.ZodNullable<z.ZodOptional<z.ZodString>>;
325
+ contactRegion: z.ZodNullable<z.ZodOptional<z.ZodString>>;
326
+ contactCity: z.ZodNullable<z.ZodOptional<z.ZodString>>;
327
+ contactAddressLine1: z.ZodNullable<z.ZodOptional<z.ZodString>>;
328
+ contactPostalCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
329
+ internalNotes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
279
330
  sourceType: z.ZodDefault<z.ZodEnum<{
280
331
  internal: "internal";
281
332
  reseller: "reseller";
@@ -287,18 +338,50 @@ export declare const reserveBookingFromTransactionSchema: z.ZodObject<{
287
338
  }>>;
288
339
  holdMinutes: z.ZodDefault<z.ZodNumber>;
289
340
  holdExpiresAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
290
- internalNotes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
291
341
  note: z.ZodNullable<z.ZodOptional<z.ZodString>>;
292
342
  includeParticipants: z.ZodDefault<z.ZodBoolean>;
293
343
  }, z.core.$strip>;
294
- export declare const insertParticipantSchema: z.ZodObject<{
344
+ export declare const insertTravelerSchema: z.ZodObject<{
345
+ firstName: z.ZodString;
346
+ lastName: z.ZodString;
347
+ email: z.ZodNullable<z.ZodOptional<z.ZodString>>;
348
+ phone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
349
+ preferredLanguage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
350
+ accessibilityNeeds: z.ZodNullable<z.ZodOptional<z.ZodString>>;
351
+ specialRequests: z.ZodNullable<z.ZodOptional<z.ZodString>>;
352
+ travelerCategory: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
353
+ other: "other";
354
+ adult: "adult";
355
+ child: "child";
356
+ infant: "infant";
357
+ senior: "senior";
358
+ }>>>;
359
+ isPrimary: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
360
+ notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
361
+ }, z.core.$strip>;
362
+ export declare const updateTravelerSchema: z.ZodObject<{
363
+ firstName: z.ZodOptional<z.ZodString>;
364
+ lastName: z.ZodOptional<z.ZodString>;
365
+ email: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
366
+ phone: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
367
+ preferredLanguage: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
368
+ accessibilityNeeds: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
369
+ specialRequests: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
370
+ travelerCategory: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodEnum<{
371
+ other: "other";
372
+ adult: "adult";
373
+ child: "child";
374
+ infant: "infant";
375
+ senior: "senior";
376
+ }>>>>;
377
+ isPrimary: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
378
+ notes: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
379
+ }, z.core.$strip>;
380
+ export declare const insertTravelerRecordSchema: z.ZodObject<{
295
381
  personId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
296
382
  participantType: z.ZodDefault<z.ZodEnum<{
297
- staff: "staff";
298
383
  other: "other";
299
384
  traveler: "traveler";
300
- booker: "booker";
301
- contact: "contact";
302
385
  occupant: "occupant";
303
386
  }>>;
304
387
  travelerCategory: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
@@ -318,14 +401,11 @@ export declare const insertParticipantSchema: z.ZodObject<{
318
401
  isPrimary: z.ZodDefault<z.ZodBoolean>;
319
402
  notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
320
403
  }, z.core.$strip>;
321
- export declare const updateParticipantSchema: z.ZodObject<{
404
+ export declare const updateTravelerRecordSchema: z.ZodObject<{
322
405
  personId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
323
406
  participantType: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
324
- staff: "staff";
325
407
  other: "other";
326
408
  traveler: "traveler";
327
- booker: "booker";
328
- contact: "contact";
329
409
  occupant: "occupant";
330
410
  }>>>;
331
411
  travelerCategory: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodEnum<{
@@ -345,23 +425,7 @@ export declare const updateParticipantSchema: z.ZodObject<{
345
425
  isPrimary: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
346
426
  notes: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
347
427
  }, z.core.$strip>;
348
- export declare const insertPassengerSchema: z.ZodObject<{
349
- firstName: z.ZodString;
350
- lastName: z.ZodString;
351
- email: z.ZodNullable<z.ZodOptional<z.ZodString>>;
352
- phone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
353
- specialRequests: z.ZodNullable<z.ZodOptional<z.ZodString>>;
354
- isLeadPassenger: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
355
- }, z.core.$strip>;
356
- export declare const updatePassengerSchema: z.ZodObject<{
357
- firstName: z.ZodOptional<z.ZodString>;
358
- lastName: z.ZodOptional<z.ZodString>;
359
- email: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
360
- phone: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
361
- specialRequests: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
362
- isLeadPassenger: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
363
- }, z.core.$strip>;
364
- export declare const upsertParticipantTravelDetailsSchema: z.ZodObject<{
428
+ export declare const upsertTravelerTravelDetailsSchema: z.ZodObject<{
365
429
  nationality: z.ZodNullable<z.ZodOptional<z.ZodString>>;
366
430
  passportNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
367
431
  passportExpiry: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -505,9 +569,9 @@ export declare const updateBookingAllocationSchema: z.ZodObject<{
505
569
  releasedAt: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
506
570
  metadata: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
507
571
  }, z.core.$strip>;
508
- export declare const insertBookingFulfillmentSchema: z.ZodObject<{
572
+ export declare const insertBookingFulfillmentSchema: z.ZodPipe<z.ZodObject<{
509
573
  bookingItemId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
510
- participantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
574
+ travelerId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
511
575
  fulfillmentType: z.ZodEnum<{
512
576
  other: "other";
513
577
  voucher: "voucher";
@@ -535,10 +599,30 @@ export declare const insertBookingFulfillmentSchema: z.ZodObject<{
535
599
  payload: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
536
600
  issuedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
537
601
  revokedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
538
- }, z.core.$strip>;
539
- export declare const updateBookingFulfillmentSchema: z.ZodObject<{
602
+ }, z.core.$strip>, z.ZodTransform<{
603
+ travelerId: string | null;
604
+ fulfillmentType: "other" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "mobile";
605
+ deliveryChannel: "email" | "other" | "download" | "api" | "wallet";
606
+ status: "pending" | "issued" | "reissued" | "revoked" | "failed";
607
+ bookingItemId?: string | null | undefined;
608
+ artifactUrl?: string | null | undefined;
609
+ payload?: Record<string, unknown> | null | undefined;
610
+ issuedAt?: string | null | undefined;
611
+ revokedAt?: string | null | undefined;
612
+ }, {
613
+ fulfillmentType: "other" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "mobile";
614
+ deliveryChannel: "email" | "other" | "download" | "api" | "wallet";
615
+ status: "pending" | "issued" | "reissued" | "revoked" | "failed";
616
+ bookingItemId?: string | null | undefined;
617
+ travelerId?: string | null | undefined;
618
+ artifactUrl?: string | null | undefined;
619
+ payload?: Record<string, unknown> | null | undefined;
620
+ issuedAt?: string | null | undefined;
621
+ revokedAt?: string | null | undefined;
622
+ }>>;
623
+ export declare const updateBookingFulfillmentSchema: z.ZodPipe<z.ZodObject<{
540
624
  bookingItemId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
541
- participantId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
625
+ travelerId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
542
626
  fulfillmentType: z.ZodOptional<z.ZodEnum<{
543
627
  other: "other";
544
628
  voucher: "voucher";
@@ -566,10 +650,30 @@ export declare const updateBookingFulfillmentSchema: z.ZodObject<{
566
650
  payload: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
567
651
  issuedAt: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
568
652
  revokedAt: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
569
- }, z.core.$strip>;
570
- export declare const recordBookingRedemptionSchema: z.ZodObject<{
653
+ }, z.core.$strip>, z.ZodTransform<{
654
+ travelerId: string | null | undefined;
655
+ bookingItemId?: string | null | undefined;
656
+ fulfillmentType?: "other" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "mobile" | undefined;
657
+ deliveryChannel?: "email" | "other" | "download" | "api" | "wallet" | undefined;
658
+ status?: "pending" | "issued" | "reissued" | "revoked" | "failed" | undefined;
659
+ artifactUrl?: string | null | undefined;
660
+ payload?: Record<string, unknown> | null | undefined;
661
+ issuedAt?: string | null | undefined;
662
+ revokedAt?: string | null | undefined;
663
+ }, {
664
+ bookingItemId?: string | null | undefined;
665
+ travelerId?: string | null | undefined;
666
+ fulfillmentType?: "other" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "mobile" | undefined;
667
+ deliveryChannel?: "email" | "other" | "download" | "api" | "wallet" | undefined;
668
+ status?: "pending" | "issued" | "reissued" | "revoked" | "failed" | undefined;
669
+ artifactUrl?: string | null | undefined;
670
+ payload?: Record<string, unknown> | null | undefined;
671
+ issuedAt?: string | null | undefined;
672
+ revokedAt?: string | null | undefined;
673
+ }>>;
674
+ export declare const recordBookingRedemptionSchema: z.ZodPipe<z.ZodObject<{
571
675
  bookingItemId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
572
- participantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
676
+ travelerId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
573
677
  redeemedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
574
678
  redeemedBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
575
679
  location: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -580,19 +684,59 @@ export declare const recordBookingRedemptionSchema: z.ZodObject<{
580
684
  scan: "scan";
581
685
  }>>;
582
686
  metadata: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
583
- }, z.core.$strip>;
584
- export declare const insertBookingItemParticipantSchema: z.ZodObject<{
585
- participantId: z.ZodString;
687
+ }, z.core.$strip>, z.ZodTransform<{
688
+ travelerId: string | null;
689
+ method: "other" | "manual" | "api" | "scan";
690
+ bookingItemId?: string | null | undefined;
691
+ redeemedAt?: string | null | undefined;
692
+ redeemedBy?: string | null | undefined;
693
+ location?: string | null | undefined;
694
+ metadata?: Record<string, unknown> | null | undefined;
695
+ }, {
696
+ method: "other" | "manual" | "api" | "scan";
697
+ bookingItemId?: string | null | undefined;
698
+ travelerId?: string | null | undefined;
699
+ redeemedAt?: string | null | undefined;
700
+ redeemedBy?: string | null | undefined;
701
+ location?: string | null | undefined;
702
+ metadata?: Record<string, unknown> | null | undefined;
703
+ }>>;
704
+ export declare const insertBookingItemTravelerSchema: z.ZodPipe<z.ZodObject<{
705
+ travelerId: z.ZodOptional<z.ZodString>;
586
706
  role: z.ZodDefault<z.ZodEnum<{
587
707
  other: "other";
588
708
  traveler: "traveler";
589
709
  occupant: "occupant";
590
- primary_contact: "primary_contact";
591
- service_assignee: "service_assignee";
592
710
  beneficiary: "beneficiary";
593
711
  }>>;
594
712
  isPrimary: z.ZodDefault<z.ZodBoolean>;
595
- }, z.core.$strip>;
713
+ }, z.core.$strip>, z.ZodTransform<{
714
+ travelerId: string;
715
+ role: "other" | "traveler" | "occupant" | "beneficiary";
716
+ isPrimary: boolean;
717
+ }, {
718
+ role: "other" | "traveler" | "occupant" | "beneficiary";
719
+ isPrimary: boolean;
720
+ travelerId?: string | undefined;
721
+ }>>;
722
+ export declare const insertBookingItemParticipantSchema: z.ZodPipe<z.ZodObject<{
723
+ travelerId: z.ZodOptional<z.ZodString>;
724
+ role: z.ZodDefault<z.ZodEnum<{
725
+ other: "other";
726
+ traveler: "traveler";
727
+ occupant: "occupant";
728
+ beneficiary: "beneficiary";
729
+ }>>;
730
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
731
+ }, z.core.$strip>, z.ZodTransform<{
732
+ travelerId: string;
733
+ role: "other" | "traveler" | "occupant" | "beneficiary";
734
+ isPrimary: boolean;
735
+ }, {
736
+ role: "other" | "traveler" | "occupant" | "beneficiary";
737
+ isPrimary: boolean;
738
+ travelerId?: string | undefined;
739
+ }>>;
596
740
  export declare const insertSupplierStatusSchema: z.ZodObject<{
597
741
  supplierServiceId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
598
742
  serviceName: z.ZodString;
@@ -625,9 +769,8 @@ export declare const updateSupplierStatusSchema: z.ZodObject<{
625
769
  export declare const insertBookingNoteSchema: z.ZodObject<{
626
770
  content: z.ZodString;
627
771
  }, z.core.$strip>;
628
- export declare const insertBookingDocumentSchema: z.ZodObject<{
629
- participantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
630
- passengerId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
772
+ export declare const insertBookingDocumentSchema: z.ZodPipe<z.ZodObject<{
773
+ travelerId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
631
774
  type: z.ZodEnum<{
632
775
  visa: "visa";
633
776
  other: "other";
@@ -639,7 +782,49 @@ export declare const insertBookingDocumentSchema: z.ZodObject<{
639
782
  fileUrl: z.ZodString;
640
783
  expiresAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
641
784
  notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
642
- }, z.core.$strip>;
785
+ }, z.core.$strip>, z.ZodTransform<{
786
+ travelerId: string | null;
787
+ type: "visa" | "other" | "insurance" | "health" | "passport_copy";
788
+ fileName: string;
789
+ fileUrl: string;
790
+ expiresAt?: string | null | undefined;
791
+ notes?: string | null | undefined;
792
+ }, {
793
+ type: "visa" | "other" | "insurance" | "health" | "passport_copy";
794
+ fileName: string;
795
+ fileUrl: string;
796
+ travelerId?: string | null | undefined;
797
+ expiresAt?: string | null | undefined;
798
+ notes?: string | null | undefined;
799
+ }>>;
800
+ export declare const insertBookingTravelerDocumentSchema: z.ZodPipe<z.ZodObject<{
801
+ travelerId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
802
+ type: z.ZodEnum<{
803
+ visa: "visa";
804
+ other: "other";
805
+ insurance: "insurance";
806
+ health: "health";
807
+ passport_copy: "passport_copy";
808
+ }>;
809
+ fileName: z.ZodString;
810
+ fileUrl: z.ZodString;
811
+ expiresAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
812
+ notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
813
+ }, z.core.$strip>, z.ZodTransform<{
814
+ travelerId: string | null;
815
+ type: "visa" | "other" | "insurance" | "health" | "passport_copy";
816
+ fileName: string;
817
+ fileUrl: string;
818
+ expiresAt?: string | null | undefined;
819
+ notes?: string | null | undefined;
820
+ }, {
821
+ type: "visa" | "other" | "insurance" | "health" | "passport_copy";
822
+ fileName: string;
823
+ fileUrl: string;
824
+ travelerId?: string | null | undefined;
825
+ expiresAt?: string | null | undefined;
826
+ notes?: string | null | undefined;
827
+ }>>;
643
828
  export declare const bookingGroupKindSchema: z.ZodEnum<{
644
829
  other: "other";
645
830
  shared_room: "shared_room";
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAiDvB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAoB,CAAA;AACpD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA8B,CAAA;AAE9D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW5B,CAAA;AAEJ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;iBAKjC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;iBAO/B,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;iBAGpC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBnC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB7B,CAAA;AAEJ,eAAO,MAAM,uBAAuB;;;iBAYhC,CAAA;AAEJ,eAAO,MAAM,oBAAoB;;iBAE/B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;iBAE9B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;iBAE9B,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAA;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;iBAa9C,CAAA;AAmBF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAwB,CAAA;AAC5D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkC,CAAA;AAatE,eAAO,MAAM,qBAAqB;;;;;;;iBAAsB,CAAA;AACxD,eAAO,MAAM,qBAAqB;;;;;;;iBAAgC,CAAA;AAIlE,eAAO,MAAM,oCAAoC;;;;;;;iBAO/C,CAAA;AA6BF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAwB,CAAA;AAC5D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkC,CAAA;AAEtE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;iBAcxC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;iBAA0C,CAAA;AAgBpF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA+B,CAAA;AAC1E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAA;AAIpF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;iBAQxC,CAAA;AAIF,eAAO,MAAM,kCAAkC;;;;;;;;;;;iBAI7C,CAAA;AAcF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;iBAA2B,CAAA;AAClE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;iBAErC,CAAA;AAIF,eAAO,MAAM,uBAAuB;;iBAElC,CAAA;AAIF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;iBAQtC,CAAA;AAIF,eAAO,MAAM,sBAAsB;;;EAAmC,CAAA;AACtE,eAAO,MAAM,4BAA4B;;;EAAgC,CAAA;AAWzE,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAAyB,CAAA;AAC9D,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAAmC,CAAA;AAExE,eAAO,MAAM,2BAA2B;;;;;;iBAGtC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;iBAMtC,CAAA;AAEF,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,16 @@ const bookingCoreSchema = z.object({
9
9
  sourceType: bookingSourceTypeSchema.default("manual"),
10
10
  externalBookingRef: z.string().optional().nullable(),
11
11
  communicationLanguage: z.string().max(35).optional().nullable(),
12
+ contactFirstName: z.string().max(255).optional().nullable(),
13
+ contactLastName: z.string().max(255).optional().nullable(),
14
+ contactEmail: z.string().email().optional().nullable(),
15
+ contactPhone: z.string().max(50).optional().nullable(),
16
+ contactPreferredLanguage: z.string().max(35).optional().nullable(),
17
+ contactCountry: z.string().max(100).optional().nullable(),
18
+ contactRegion: z.string().max(255).optional().nullable(),
19
+ contactCity: z.string().max(255).optional().nullable(),
20
+ contactAddressLine1: z.string().max(255).optional().nullable(),
21
+ contactPostalCode: z.string().max(50).optional().nullable(),
12
22
  sellCurrency: z.string().min(3).max(3),
13
23
  baseCurrency: z.string().min(3).max(3).optional().nullable(),
14
24
  sellAmountCents: z.number().int().min(0).optional().nullable(),
@@ -127,8 +137,23 @@ export const expireStaleBookingsSchema = z.object({
127
137
  before: z.string().datetime().optional().nullable(),
128
138
  note: z.string().optional().nullable(),
129
139
  });
130
- export const reserveBookingFromTransactionSchema = z.object({
131
- bookingNumber: z.string().min(1).max(50),
140
+ export const reserveBookingFromTransactionSchema = bookingCoreSchema
141
+ .pick({
142
+ bookingNumber: true,
143
+ sourceType: true,
144
+ contactFirstName: true,
145
+ contactLastName: true,
146
+ contactEmail: true,
147
+ contactPhone: true,
148
+ contactPreferredLanguage: true,
149
+ contactCountry: true,
150
+ contactRegion: true,
151
+ contactCity: true,
152
+ contactAddressLine1: true,
153
+ contactPostalCode: true,
154
+ internalNotes: true,
155
+ })
156
+ .extend({
132
157
  sourceType: bookingSourceTypeSchema.default("internal"),
133
158
  holdMinutes: z
134
159
  .number()
@@ -137,12 +162,11 @@ export const reserveBookingFromTransactionSchema = z.object({
137
162
  .max(24 * 60)
138
163
  .default(30),
139
164
  holdExpiresAt: z.string().datetime().optional().nullable(),
140
- internalNotes: z.string().optional().nullable(),
141
165
  note: z.string().optional().nullable(),
142
166
  includeParticipants: z.boolean().default(true),
143
167
  });
144
- // ---------- participants ----------
145
- const participantCoreSchema = z.object({
168
+ // ---------- traveler records ----------
169
+ const travelerRecordCoreSchema = z.object({
146
170
  personId: z.string().optional().nullable(),
147
171
  participantType: bookingParticipantTypeSchema.default("traveler"),
148
172
  travelerCategory: bookingTravelerCategorySchema.optional().nullable(),
@@ -156,21 +180,25 @@ const participantCoreSchema = z.object({
156
180
  isPrimary: z.boolean().default(false),
157
181
  notes: z.string().optional().nullable(),
158
182
  });
159
- export const insertParticipantSchema = participantCoreSchema;
160
- export const updateParticipantSchema = participantCoreSchema.partial();
161
- // ---------- passengers (legacy compatibility) ----------
162
- const passengerCoreSchema = z.object({
183
+ // ---------- travelers ----------
184
+ const travelerCoreSchema = z.object({
163
185
  firstName: z.string().min(1).max(255),
164
186
  lastName: z.string().min(1).max(255),
165
187
  email: z.string().email().optional().nullable(),
166
188
  phone: z.string().max(50).optional().nullable(),
189
+ preferredLanguage: z.string().max(35).optional().nullable(),
190
+ accessibilityNeeds: z.string().optional().nullable(),
167
191
  specialRequests: z.string().optional().nullable(),
168
- isLeadPassenger: z.boolean().optional().nullable(),
192
+ travelerCategory: bookingTravelerCategorySchema.optional().nullable(),
193
+ isPrimary: z.boolean().optional().nullable(),
194
+ notes: z.string().optional().nullable(),
169
195
  });
170
- export const insertPassengerSchema = passengerCoreSchema;
171
- export const updatePassengerSchema = passengerCoreSchema.partial();
172
- // ---------- participant travel details ----------
173
- export const upsertParticipantTravelDetailsSchema = z.object({
196
+ export const insertTravelerSchema = travelerCoreSchema;
197
+ export const updateTravelerSchema = travelerCoreSchema.partial();
198
+ export const insertTravelerRecordSchema = travelerRecordCoreSchema;
199
+ export const updateTravelerRecordSchema = travelerRecordCoreSchema.partial();
200
+ // ---------- traveler travel details ----------
201
+ export const upsertTravelerTravelDetailsSchema = z.object({
174
202
  nationality: z.string().max(100).optional().nullable(),
175
203
  passportNumber: z.string().max(255).optional().nullable(),
176
204
  passportExpiry: z.string().optional().nullable(),
@@ -222,9 +250,9 @@ export const insertBookingAllocationSchema = z.object({
222
250
  });
223
251
  export const updateBookingAllocationSchema = insertBookingAllocationSchema.partial();
224
252
  // ---------- booking fulfillments ----------
225
- const bookingFulfillmentCoreSchema = z.object({
253
+ const bookingFulfillmentInputSchema = z.object({
226
254
  bookingItemId: z.string().optional().nullable(),
227
- participantId: z.string().optional().nullable(),
255
+ travelerId: z.string().optional().nullable(),
228
256
  fulfillmentType: bookingFulfillmentTypeSchema,
229
257
  deliveryChannel: bookingFulfillmentDeliveryChannelSchema,
230
258
  status: bookingFulfillmentStatusSchema.default("issued"),
@@ -233,24 +261,47 @@ const bookingFulfillmentCoreSchema = z.object({
233
261
  issuedAt: z.string().datetime().optional().nullable(),
234
262
  revokedAt: z.string().datetime().optional().nullable(),
235
263
  });
236
- export const insertBookingFulfillmentSchema = bookingFulfillmentCoreSchema;
237
- export const updateBookingFulfillmentSchema = bookingFulfillmentCoreSchema.partial();
264
+ export const insertBookingFulfillmentSchema = bookingFulfillmentInputSchema.transform(({ travelerId, ...rest }) => ({
265
+ ...rest,
266
+ travelerId: travelerId ?? null,
267
+ }));
268
+ export const updateBookingFulfillmentSchema = bookingFulfillmentInputSchema
269
+ .partial()
270
+ .transform(({ travelerId, ...rest }) => ({
271
+ ...rest,
272
+ travelerId: travelerId !== undefined ? (travelerId ?? null) : undefined,
273
+ }));
238
274
  // ---------- booking redemption events ----------
239
- export const recordBookingRedemptionSchema = z.object({
275
+ export const recordBookingRedemptionSchema = z
276
+ .object({
240
277
  bookingItemId: z.string().optional().nullable(),
241
- participantId: z.string().optional().nullable(),
278
+ travelerId: z.string().optional().nullable(),
242
279
  redeemedAt: z.string().datetime().optional().nullable(),
243
280
  redeemedBy: z.string().max(255).optional().nullable(),
244
281
  location: z.string().max(500).optional().nullable(),
245
282
  method: bookingRedemptionMethodSchema.default("manual"),
246
283
  metadata: z.record(z.string(), z.unknown()).optional().nullable(),
247
- });
284
+ })
285
+ .transform(({ travelerId, ...rest }) => ({
286
+ ...rest,
287
+ travelerId: travelerId ?? null,
288
+ }));
248
289
  // ---------- booking item participants ----------
249
- export const insertBookingItemParticipantSchema = z.object({
250
- participantId: z.string().min(1),
290
+ export const insertBookingItemTravelerSchema = z
291
+ .object({
292
+ travelerId: z.string().min(1).optional(),
251
293
  role: bookingItemParticipantRoleSchema.default("traveler"),
252
294
  isPrimary: z.boolean().default(false),
253
- });
295
+ })
296
+ .refine((value) => Boolean(value.travelerId), {
297
+ message: "travelerId is required",
298
+ path: ["travelerId"],
299
+ })
300
+ .transform(({ travelerId, ...rest }) => ({
301
+ ...rest,
302
+ travelerId: travelerId,
303
+ }));
304
+ export const insertBookingItemParticipantSchema = insertBookingItemTravelerSchema;
254
305
  // ---------- supplier statuses ----------
255
306
  const supplierStatusCoreSchema = z.object({
256
307
  supplierServiceId: z.string().optional().nullable(),
@@ -270,15 +321,20 @@ export const insertBookingNoteSchema = z.object({
270
321
  content: z.string().min(1).max(10000),
271
322
  });
272
323
  // ---------- documents ----------
273
- export const insertBookingDocumentSchema = z.object({
274
- participantId: z.string().optional().nullable(),
275
- passengerId: z.string().optional().nullable(),
324
+ export const insertBookingDocumentSchema = z
325
+ .object({
326
+ travelerId: z.string().optional().nullable(),
276
327
  type: bookingDocumentTypeSchema,
277
328
  fileName: z.string().min(1).max(500),
278
329
  fileUrl: z.string().url(),
279
330
  expiresAt: z.string().optional().nullable(),
280
331
  notes: z.string().optional().nullable(),
281
- });
332
+ })
333
+ .transform(({ travelerId, ...rest }) => ({
334
+ ...rest,
335
+ travelerId: travelerId ?? null,
336
+ }));
337
+ export const insertBookingTravelerDocumentSchema = insertBookingDocumentSchema;
282
338
  // ---------- booking groups ----------
283
339
  export const bookingGroupKindSchema = z.enum(["shared_room", "other"]);
284
340
  export const bookingGroupMemberRoleSchema = z.enum(["primary", "shared"]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/bookings",
3
- "version": "0.6.8",
3
+ "version": "0.6.9",
4
4
  "license": "FSL-1.1-Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -49,14 +49,14 @@
49
49
  "drizzle-orm": "^0.45.2",
50
50
  "hono": "^4.12.10",
51
51
  "zod": "^4.3.6",
52
- "@voyantjs/core": "0.6.8",
53
- "@voyantjs/db": "0.6.8",
54
- "@voyantjs/hono": "0.6.8",
55
- "@voyantjs/utils": "0.6.8"
52
+ "@voyantjs/core": "0.6.9",
53
+ "@voyantjs/db": "0.6.9",
54
+ "@voyantjs/hono": "0.6.9",
55
+ "@voyantjs/utils": "0.6.9"
56
56
  },
57
57
  "devDependencies": {
58
58
  "typescript": "^6.0.2",
59
- "@voyantjs/products": "0.6.8",
59
+ "@voyantjs/products": "0.6.9",
60
60
  "@voyantjs/voyant-typescript-config": "0.1.0"
61
61
  },
62
62
  "files": [