@voyantjs/catalog 0.55.0 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -69,12 +69,59 @@ export declare const cabinNumberOptionV1: z.ZodObject<{
69
69
  capacity: z.ZodOptional<z.ZodNumber>;
70
70
  hasAccessibilityFeatures: z.ZodOptional<z.ZodBoolean>;
71
71
  }, z.core.$strip>;
72
+ export declare const productVariantUnitOptionV1: z.ZodObject<{
73
+ id: z.ZodString;
74
+ name: z.ZodString;
75
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
76
+ unitType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
77
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
78
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
79
+ }, z.core.$strip>;
80
+ export declare const productVariantOptionV1: z.ZodObject<{
81
+ id: z.ZodString;
82
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ name: z.ZodString;
84
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
85
+ isDefault: z.ZodOptional<z.ZodBoolean>;
86
+ units: z.ZodOptional<z.ZodArray<z.ZodObject<{
87
+ id: z.ZodString;
88
+ name: z.ZodString;
89
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
90
+ unitType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
91
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
92
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
93
+ }, z.core.$strip>>>;
94
+ }, z.core.$strip>;
95
+ export declare const ratePlanOptionV1: z.ZodObject<{
96
+ id: z.ZodString;
97
+ name: z.ZodString;
98
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
99
+ chargeFrequency: z.ZodOptional<z.ZodEnum<{
100
+ per_night: "per_night";
101
+ per_stay: "per_stay";
102
+ }>>;
103
+ cancellationPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
104
+ inclusions: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
+ currency: z.ZodOptional<z.ZodString>;
106
+ }, z.core.$strip>;
72
107
  export declare const roomOptionV1: z.ZodObject<{
73
108
  id: z.ZodString;
74
109
  name: z.ZodString;
75
110
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
76
111
  capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
77
112
  baseRateHint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
113
+ ratePlans: z.ZodOptional<z.ZodArray<z.ZodObject<{
114
+ id: z.ZodString;
115
+ name: z.ZodString;
116
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
117
+ chargeFrequency: z.ZodOptional<z.ZodEnum<{
118
+ per_night: "per_night";
119
+ per_stay: "per_stay";
120
+ }>>;
121
+ cancellationPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
122
+ inclusions: z.ZodOptional<z.ZodArray<z.ZodString>>;
123
+ currency: z.ZodOptional<z.ZodString>;
124
+ }, z.core.$strip>>>;
78
125
  }, z.core.$strip>;
79
126
  export declare const extensionOptionV1: z.ZodObject<{
80
127
  id: z.ZodString;
@@ -98,10 +145,39 @@ export declare const addonOfferV1: z.ZodObject<{
98
145
  }>;
99
146
  groupKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
100
147
  pricingMode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
148
+ unitAmountCents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
149
+ currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
150
+ pricedPerPerson: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
151
+ selectionType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
152
+ unavailable: "unavailable";
153
+ optional: "optional";
154
+ required: "required";
155
+ default_selected: "default_selected";
156
+ }>>>;
157
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
158
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
159
+ defaultQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
101
160
  }, z.core.$strip>;
102
161
  export declare const configureSubStepV1: z.ZodDiscriminatedUnion<[z.ZodObject<{
103
162
  kind: z.ZodLiteral<"departure">;
104
163
  required: z.ZodLiteral<true>;
164
+ }, z.core.$strip>, z.ZodObject<{
165
+ kind: z.ZodLiteral<"product-option">;
166
+ options: z.ZodArray<z.ZodObject<{
167
+ id: z.ZodString;
168
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
169
+ name: z.ZodString;
170
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
171
+ isDefault: z.ZodOptional<z.ZodBoolean>;
172
+ units: z.ZodOptional<z.ZodArray<z.ZodObject<{
173
+ id: z.ZodString;
174
+ name: z.ZodString;
175
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
176
+ unitType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
177
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
178
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
179
+ }, z.core.$strip>>>;
180
+ }, z.core.$strip>>;
105
181
  }, z.core.$strip>, z.ZodObject<{
106
182
  kind: z.ZodLiteral<"cabin-category">;
107
183
  categories: z.ZodArray<z.ZodObject<{
@@ -148,6 +224,18 @@ export declare const accommodationSubStepV1: z.ZodDiscriminatedUnion<[z.ZodObjec
148
224
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
149
225
  capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
150
226
  baseRateHint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
227
+ ratePlans: z.ZodOptional<z.ZodArray<z.ZodObject<{
228
+ id: z.ZodString;
229
+ name: z.ZodString;
230
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
231
+ chargeFrequency: z.ZodOptional<z.ZodEnum<{
232
+ per_night: "per_night";
233
+ per_stay: "per_stay";
234
+ }>>;
235
+ cancellationPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
236
+ inclusions: z.ZodOptional<z.ZodArray<z.ZodString>>;
237
+ currency: z.ZodOptional<z.ZodString>;
238
+ }, z.core.$strip>>>;
151
239
  }, z.core.$strip>>;
152
240
  sharedRoomAllowed: z.ZodBoolean;
153
241
  }, z.core.$strip>, z.ZodObject<{
@@ -189,6 +277,18 @@ export declare const addonGroupV1: z.ZodObject<{
189
277
  }>;
190
278
  groupKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
191
279
  pricingMode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
280
+ unitAmountCents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
281
+ currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
282
+ pricedPerPerson: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
283
+ selectionType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
284
+ unavailable: "unavailable";
285
+ optional: "optional";
286
+ required: "required";
287
+ default_selected: "default_selected";
288
+ }>>>;
289
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
290
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
291
+ defaultQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
192
292
  }, z.core.$strip>>;
193
293
  }, z.core.$strip>;
194
294
  export declare const travelerFieldRequirementV1: z.ZodObject<{
@@ -224,6 +324,23 @@ export declare const bookingDraftShapeV1: z.ZodObject<{
224
324
  configureSubSteps: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
225
325
  kind: z.ZodLiteral<"departure">;
226
326
  required: z.ZodLiteral<true>;
327
+ }, z.core.$strip>, z.ZodObject<{
328
+ kind: z.ZodLiteral<"product-option">;
329
+ options: z.ZodArray<z.ZodObject<{
330
+ id: z.ZodString;
331
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
332
+ name: z.ZodString;
333
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
334
+ isDefault: z.ZodOptional<z.ZodBoolean>;
335
+ units: z.ZodOptional<z.ZodArray<z.ZodObject<{
336
+ id: z.ZodString;
337
+ name: z.ZodString;
338
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
339
+ unitType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
340
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
341
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
342
+ }, z.core.$strip>>>;
343
+ }, z.core.$strip>>;
227
344
  }, z.core.$strip>, z.ZodObject<{
228
345
  kind: z.ZodLiteral<"cabin-category">;
229
346
  categories: z.ZodArray<z.ZodObject<{
@@ -303,6 +420,18 @@ export declare const bookingDraftShapeV1: z.ZodObject<{
303
420
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
304
421
  capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
305
422
  baseRateHint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
423
+ ratePlans: z.ZodOptional<z.ZodArray<z.ZodObject<{
424
+ id: z.ZodString;
425
+ name: z.ZodString;
426
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
427
+ chargeFrequency: z.ZodOptional<z.ZodEnum<{
428
+ per_night: "per_night";
429
+ per_stay: "per_stay";
430
+ }>>;
431
+ cancellationPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
432
+ inclusions: z.ZodOptional<z.ZodArray<z.ZodString>>;
433
+ currency: z.ZodOptional<z.ZodString>;
434
+ }, z.core.$strip>>>;
306
435
  }, z.core.$strip>>>;
307
436
  sharedRoomAllowed: z.ZodBoolean;
308
437
  subSteps: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -313,6 +442,18 @@ export declare const bookingDraftShapeV1: z.ZodObject<{
313
442
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
314
443
  capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
315
444
  baseRateHint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
445
+ ratePlans: z.ZodOptional<z.ZodArray<z.ZodObject<{
446
+ id: z.ZodString;
447
+ name: z.ZodString;
448
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
449
+ chargeFrequency: z.ZodOptional<z.ZodEnum<{
450
+ per_night: "per_night";
451
+ per_stay: "per_stay";
452
+ }>>;
453
+ cancellationPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
454
+ inclusions: z.ZodOptional<z.ZodArray<z.ZodString>>;
455
+ currency: z.ZodOptional<z.ZodString>;
456
+ }, z.core.$strip>>>;
316
457
  }, z.core.$strip>>;
317
458
  sharedRoomAllowed: z.ZodBoolean;
318
459
  }, z.core.$strip>, z.ZodObject<{
@@ -344,6 +485,18 @@ export declare const bookingDraftShapeV1: z.ZodObject<{
344
485
  }>;
345
486
  groupKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
346
487
  pricingMode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
488
+ unitAmountCents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
489
+ currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
490
+ pricedPerPerson: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
491
+ selectionType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
492
+ unavailable: "unavailable";
493
+ optional: "optional";
494
+ required: "required";
495
+ default_selected: "default_selected";
496
+ }>>>;
497
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
498
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
499
+ defaultQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
347
500
  }, z.core.$strip>>>;
348
501
  groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
349
502
  kind: z.ZodEnum<{
@@ -368,6 +521,18 @@ export declare const bookingDraftShapeV1: z.ZodObject<{
368
521
  }>;
369
522
  groupKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
370
523
  pricingMode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
524
+ unitAmountCents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
525
+ currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
526
+ pricedPerPerson: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
527
+ selectionType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
528
+ unavailable: "unavailable";
529
+ optional: "optional";
530
+ required: "required";
531
+ default_selected: "default_selected";
532
+ }>>>;
533
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
534
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
535
+ defaultQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
371
536
  }, z.core.$strip>>;
372
537
  }, z.core.$strip>>>;
373
538
  }, z.core.$strip>>;
@@ -441,6 +606,27 @@ export declare const pricingBreakdownV1: z.ZodObject<{
441
606
  taxTotal: z.ZodNumber;
442
607
  total: z.ZodNumber;
443
608
  }, z.core.$strip>;
609
+ export declare const bookingPaymentScheduleV1: z.ZodObject<{
610
+ scheduleType: z.ZodEnum<{
611
+ other: "other";
612
+ hold: "hold";
613
+ deposit: "deposit";
614
+ installment: "installment";
615
+ balance: "balance";
616
+ }>;
617
+ status: z.ZodEnum<{
618
+ cancelled: "cancelled";
619
+ pending: "pending";
620
+ due: "due";
621
+ paid: "paid";
622
+ waived: "waived";
623
+ expired: "expired";
624
+ }>;
625
+ dueDate: z.ZodString;
626
+ currency: z.ZodString;
627
+ amountCents: z.ZodNumber;
628
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
629
+ }, z.core.$strip>;
444
630
  export declare const bookingDraftV1: z.ZodObject<{
445
631
  entity: z.ZodObject<{
446
632
  module: z.ZodString;
@@ -455,6 +641,13 @@ export declare const bookingDraftV1: z.ZodObject<{
455
641
  departureTime: z.ZodOptional<z.ZodString>;
456
642
  pax: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
457
643
  variantId: z.ZodOptional<z.ZodString>;
644
+ optionSelections: z.ZodOptional<z.ZodArray<z.ZodObject<{
645
+ optionId: z.ZodString;
646
+ optionName: z.ZodOptional<z.ZodString>;
647
+ optionUnitId: z.ZodOptional<z.ZodString>;
648
+ optionUnitName: z.ZodOptional<z.ZodString>;
649
+ quantity: z.ZodNumber;
650
+ }, z.core.$strip>>>;
458
651
  cabinCategoryId: z.ZodOptional<z.ZodString>;
459
652
  cabinNumberId: z.ZodOptional<z.ZodString>;
460
653
  dateRange: z.ZodOptional<z.ZodObject<{
@@ -542,6 +735,31 @@ export declare const bookingDraftV1: z.ZodObject<{
542
735
  }>>;
543
736
  schedule: z.ZodOptional<z.ZodUnknown>;
544
737
  }, z.core.$strip>>;
738
+ paymentSchedules: z.ZodOptional<z.ZodArray<z.ZodObject<{
739
+ scheduleType: z.ZodEnum<{
740
+ other: "other";
741
+ hold: "hold";
742
+ deposit: "deposit";
743
+ installment: "installment";
744
+ balance: "balance";
745
+ }>;
746
+ status: z.ZodEnum<{
747
+ cancelled: "cancelled";
748
+ pending: "pending";
749
+ due: "due";
750
+ paid: "paid";
751
+ waived: "waived";
752
+ expired: "expired";
753
+ }>;
754
+ dueDate: z.ZodString;
755
+ currency: z.ZodString;
756
+ amountCents: z.ZodNumber;
757
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
758
+ }, z.core.$strip>>>;
759
+ documentGeneration: z.ZodOptional<z.ZodObject<{
760
+ contractDocument: z.ZodOptional<z.ZodBoolean>;
761
+ invoiceDocument: z.ZodOptional<z.ZodBoolean>;
762
+ }, z.core.$strip>>;
545
763
  promotionCode: z.ZodOptional<z.ZodString>;
546
764
  internalNotes: z.ZodOptional<z.ZodString>;
547
765
  customerNotes: z.ZodOptional<z.ZodString>;
@@ -593,6 +811,13 @@ export declare const quoteRequestV1: z.ZodObject<{
593
811
  departureTime: z.ZodOptional<z.ZodString>;
594
812
  pax: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
595
813
  variantId: z.ZodOptional<z.ZodString>;
814
+ optionSelections: z.ZodOptional<z.ZodArray<z.ZodObject<{
815
+ optionId: z.ZodString;
816
+ optionName: z.ZodOptional<z.ZodString>;
817
+ optionUnitId: z.ZodOptional<z.ZodString>;
818
+ optionUnitName: z.ZodOptional<z.ZodString>;
819
+ quantity: z.ZodNumber;
820
+ }, z.core.$strip>>>;
596
821
  cabinCategoryId: z.ZodOptional<z.ZodString>;
597
822
  cabinNumberId: z.ZodOptional<z.ZodString>;
598
823
  dateRange: z.ZodOptional<z.ZodObject<{
@@ -680,6 +905,31 @@ export declare const quoteRequestV1: z.ZodObject<{
680
905
  }>>;
681
906
  schedule: z.ZodOptional<z.ZodUnknown>;
682
907
  }, z.core.$strip>>;
908
+ paymentSchedules: z.ZodOptional<z.ZodArray<z.ZodObject<{
909
+ scheduleType: z.ZodEnum<{
910
+ other: "other";
911
+ hold: "hold";
912
+ deposit: "deposit";
913
+ installment: "installment";
914
+ balance: "balance";
915
+ }>;
916
+ status: z.ZodEnum<{
917
+ cancelled: "cancelled";
918
+ pending: "pending";
919
+ due: "due";
920
+ paid: "paid";
921
+ waived: "waived";
922
+ expired: "expired";
923
+ }>;
924
+ dueDate: z.ZodString;
925
+ currency: z.ZodString;
926
+ amountCents: z.ZodNumber;
927
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
928
+ }, z.core.$strip>>>;
929
+ documentGeneration: z.ZodOptional<z.ZodObject<{
930
+ contractDocument: z.ZodOptional<z.ZodBoolean>;
931
+ invoiceDocument: z.ZodOptional<z.ZodBoolean>;
932
+ }, z.core.$strip>>;
683
933
  promotionCode: z.ZodOptional<z.ZodString>;
684
934
  internalNotes: z.ZodOptional<z.ZodString>;
685
935
  customerNotes: z.ZodOptional<z.ZodString>;
@@ -705,6 +955,23 @@ export declare const quoteResponseV1: z.ZodObject<{
705
955
  configureSubSteps: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
706
956
  kind: z.ZodLiteral<"departure">;
707
957
  required: z.ZodLiteral<true>;
958
+ }, z.core.$strip>, z.ZodObject<{
959
+ kind: z.ZodLiteral<"product-option">;
960
+ options: z.ZodArray<z.ZodObject<{
961
+ id: z.ZodString;
962
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
963
+ name: z.ZodString;
964
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
965
+ isDefault: z.ZodOptional<z.ZodBoolean>;
966
+ units: z.ZodOptional<z.ZodArray<z.ZodObject<{
967
+ id: z.ZodString;
968
+ name: z.ZodString;
969
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
970
+ unitType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
971
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
972
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
973
+ }, z.core.$strip>>>;
974
+ }, z.core.$strip>>;
708
975
  }, z.core.$strip>, z.ZodObject<{
709
976
  kind: z.ZodLiteral<"cabin-category">;
710
977
  categories: z.ZodArray<z.ZodObject<{
@@ -784,6 +1051,18 @@ export declare const quoteResponseV1: z.ZodObject<{
784
1051
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
785
1052
  capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
786
1053
  baseRateHint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1054
+ ratePlans: z.ZodOptional<z.ZodArray<z.ZodObject<{
1055
+ id: z.ZodString;
1056
+ name: z.ZodString;
1057
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1058
+ chargeFrequency: z.ZodOptional<z.ZodEnum<{
1059
+ per_night: "per_night";
1060
+ per_stay: "per_stay";
1061
+ }>>;
1062
+ cancellationPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1063
+ inclusions: z.ZodOptional<z.ZodArray<z.ZodString>>;
1064
+ currency: z.ZodOptional<z.ZodString>;
1065
+ }, z.core.$strip>>>;
787
1066
  }, z.core.$strip>>>;
788
1067
  sharedRoomAllowed: z.ZodBoolean;
789
1068
  subSteps: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -794,6 +1073,18 @@ export declare const quoteResponseV1: z.ZodObject<{
794
1073
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
795
1074
  capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
796
1075
  baseRateHint: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1076
+ ratePlans: z.ZodOptional<z.ZodArray<z.ZodObject<{
1077
+ id: z.ZodString;
1078
+ name: z.ZodString;
1079
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1080
+ chargeFrequency: z.ZodOptional<z.ZodEnum<{
1081
+ per_night: "per_night";
1082
+ per_stay: "per_stay";
1083
+ }>>;
1084
+ cancellationPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1085
+ inclusions: z.ZodOptional<z.ZodArray<z.ZodString>>;
1086
+ currency: z.ZodOptional<z.ZodString>;
1087
+ }, z.core.$strip>>>;
797
1088
  }, z.core.$strip>>;
798
1089
  sharedRoomAllowed: z.ZodBoolean;
799
1090
  }, z.core.$strip>, z.ZodObject<{
@@ -825,6 +1116,18 @@ export declare const quoteResponseV1: z.ZodObject<{
825
1116
  }>;
826
1117
  groupKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
827
1118
  pricingMode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1119
+ unitAmountCents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1120
+ currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1121
+ pricedPerPerson: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1122
+ selectionType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1123
+ unavailable: "unavailable";
1124
+ optional: "optional";
1125
+ required: "required";
1126
+ default_selected: "default_selected";
1127
+ }>>>;
1128
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1129
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1130
+ defaultQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
828
1131
  }, z.core.$strip>>>;
829
1132
  groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
830
1133
  kind: z.ZodEnum<{
@@ -849,6 +1152,18 @@ export declare const quoteResponseV1: z.ZodObject<{
849
1152
  }>;
850
1153
  groupKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
851
1154
  pricingMode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1155
+ unitAmountCents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1156
+ currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1157
+ pricedPerPerson: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1158
+ selectionType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1159
+ unavailable: "unavailable";
1160
+ optional: "optional";
1161
+ required: "required";
1162
+ default_selected: "default_selected";
1163
+ }>>>;
1164
+ minQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1165
+ maxQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1166
+ defaultQuantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
852
1167
  }, z.core.$strip>>;
853
1168
  }, z.core.$strip>>>;
854
1169
  }, z.core.$strip>>;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/booking-engine/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,eAAO,MAAM,iBAAiB;;;;;;;EAAqE,CAAA;AACnG,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;iBAsB1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAM7D,eAAO,MAAM,aAAa;;;;;;;iBAOxB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEzD,eAAO,MAAM,qBAAqB;;;;;;;;iBAQhC,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;iBAMvB,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;iBAO5B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;iBAOvB,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiB7B,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;2BAYjC,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;iBAMvB,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;iBAOrC,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;iBAMpC,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2B9B,CAAA;AAMF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;iBAOxB,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;iBAQvB,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO7B,CAAA;AAMF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2IzB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAC3D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAMnE,eAAO,MAAM,YAAY;;;;;;;;;;iBAKvB,CAAA;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASzB,CAAA;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS1B,CAAA;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;iBAmBtB,CAAA;AAEJ,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOzB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAC7D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AACzD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAQ3D,eAAO,MAAM,mBAAmB;;iBAAsC,CAAA;AACtE,eAAO,MAAM,oBAAoB;;iBAAsC,CAAA;AAEvE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAG,IAAa,CAAA;AAC/C,MAAM,MAAM,qBAAqB,GAAG,OAAO,kBAAkB,CAAA"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/booking-engine/contracts.ts"],"names":[],"mappings":"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"}
@@ -68,12 +68,38 @@ export const cabinNumberOptionV1 = z.object({
68
68
  capacity: z.number().int().nonnegative().optional(),
69
69
  hasAccessibilityFeatures: z.boolean().optional(),
70
70
  });
71
+ export const productVariantUnitOptionV1 = z.object({
72
+ id: z.string(),
73
+ name: z.string(),
74
+ description: z.string().nullable().optional(),
75
+ unitType: z.string().nullable().optional(),
76
+ minQuantity: z.number().int().nonnegative().nullable().optional(),
77
+ maxQuantity: z.number().int().nonnegative().nullable().optional(),
78
+ });
79
+ export const productVariantOptionV1 = z.object({
80
+ id: z.string(),
81
+ code: z.string().nullable().optional(),
82
+ name: z.string(),
83
+ description: z.string().nullable().optional(),
84
+ isDefault: z.boolean().optional(),
85
+ units: z.array(productVariantUnitOptionV1).optional(),
86
+ });
87
+ export const ratePlanOptionV1 = z.object({
88
+ id: z.string(),
89
+ name: z.string(),
90
+ description: z.string().nullable().optional(),
91
+ chargeFrequency: z.enum(["per_night", "per_stay"]).optional(),
92
+ cancellationPolicy: z.string().nullable().optional(),
93
+ inclusions: z.array(z.string()).optional(),
94
+ currency: z.string().optional(),
95
+ });
71
96
  export const roomOptionV1 = z.object({
72
97
  id: z.string(),
73
98
  name: z.string(),
74
99
  description: z.string().nullable().optional(),
75
100
  capacity: z.number().int().nonnegative().nullable().optional(),
76
101
  baseRateHint: z.number().nullable().optional(),
102
+ ratePlans: z.array(ratePlanOptionV1).optional(),
77
103
  });
78
104
  export const extensionOptionV1 = z.object({
79
105
  id: z.string(),
@@ -90,9 +116,20 @@ export const addonOfferV1 = z.object({
90
116
  kind: z.enum(["extras", "excursions", "insurance"]),
91
117
  groupKey: z.string().nullable().optional(),
92
118
  pricingMode: z.string().nullable().optional(),
119
+ unitAmountCents: z.number().int().nullable().optional(),
120
+ currency: z.string().nullable().optional(),
121
+ pricedPerPerson: z.boolean().nullable().optional(),
122
+ selectionType: z
123
+ .enum(["optional", "required", "default_selected", "unavailable"])
124
+ .nullable()
125
+ .optional(),
126
+ minQuantity: z.number().int().nonnegative().nullable().optional(),
127
+ maxQuantity: z.number().int().nonnegative().nullable().optional(),
128
+ defaultQuantity: z.number().int().nonnegative().nullable().optional(),
93
129
  });
94
130
  export const configureSubStepV1 = z.discriminatedUnion("kind", [
95
131
  z.object({ kind: z.literal("departure"), required: z.literal(true) }),
132
+ z.object({ kind: z.literal("product-option"), options: z.array(productVariantOptionV1) }),
96
133
  z.object({ kind: z.literal("cabin-category"), categories: z.array(cabinCategoryOptionV1) }),
97
134
  z.object({
98
135
  kind: z.literal("cabin-number"),
@@ -200,6 +237,14 @@ export const pricingBreakdownV1 = z.object({
200
237
  taxTotal: z.number().int(),
201
238
  total: z.number().int(),
202
239
  });
240
+ export const bookingPaymentScheduleV1 = z.object({
241
+ scheduleType: z.enum(["deposit", "installment", "balance", "hold", "other"]),
242
+ status: z.enum(["pending", "due", "paid", "waived", "cancelled", "expired"]),
243
+ dueDate: z.string(),
244
+ currency: z.string().length(3),
245
+ amountCents: z.number().int().nonnegative(),
246
+ notes: z.string().nullable().optional(),
247
+ });
203
248
  // ─────────────────────────────────────────────────────────────────
204
249
  // Draft state — what survives across step transitions
205
250
  // ─────────────────────────────────────────────────────────────────
@@ -224,6 +269,15 @@ export const bookingDraftV1 = z.object({
224
269
  // when omitted.
225
270
  pax: z.record(z.string(), z.number().int().nonnegative()).default(() => ({})),
226
271
  variantId: z.string().optional(),
272
+ optionSelections: z
273
+ .array(z.object({
274
+ optionId: z.string(),
275
+ optionName: z.string().optional(),
276
+ optionUnitId: z.string().optional(),
277
+ optionUnitName: z.string().optional(),
278
+ quantity: z.number().int().nonnegative(),
279
+ }))
280
+ .optional(),
227
281
  cabinCategoryId: z.string().optional(),
228
282
  cabinNumberId: z.string().optional(),
229
283
  dateRange: z
@@ -305,6 +359,13 @@ export const bookingDraftV1 = z.object({
305
359
  schedule: z.unknown().optional(),
306
360
  })
307
361
  .default({ intent: "hold" }),
362
+ paymentSchedules: z.array(bookingPaymentScheduleV1).optional(),
363
+ documentGeneration: z
364
+ .object({
365
+ contractDocument: z.boolean().optional(),
366
+ invoiceDocument: z.boolean().optional(),
367
+ })
368
+ .optional(),
308
369
  /**
309
370
  * Customer-typed promotion code. Validated case-insensitively against
310
371
  * `promotional_offers.code` at quote time when the operator template
@@ -58,6 +58,24 @@ export interface CabinNumberOption {
58
58
  capacity?: number;
59
59
  hasAccessibilityFeatures?: boolean;
60
60
  }
61
+ /** A bookable unit under a product option / variant. */
62
+ export interface ProductVariantUnitOption {
63
+ id: string;
64
+ name: string;
65
+ description?: string | null;
66
+ unitType?: string | null;
67
+ minQuantity?: number | null;
68
+ maxQuantity?: number | null;
69
+ }
70
+ /** A product option / variant selectable before pricing and booking. */
71
+ export interface ProductVariantOption {
72
+ id: string;
73
+ code?: string | null;
74
+ name: string;
75
+ description?: string | null;
76
+ isDefault?: boolean;
77
+ units?: ReadonlyArray<ProductVariantUnitOption>;
78
+ }
61
79
  /** A rate-plan option attached to a `RoomOption` (accommodations only, today). */
62
80
  export interface RatePlanOption {
63
81
  id: string;
@@ -109,11 +127,24 @@ export interface AddonOffer {
109
127
  groupKey?: string | null;
110
128
  /** Pricing model — display-only. */
111
129
  pricingMode?: string | null;
130
+ /** Optional sell price hint in minor units. */
131
+ unitAmountCents?: number | null;
132
+ /** Optional currency for the sell price hint. */
133
+ currency?: string | null;
134
+ /** True when quantity is applied once per traveler. */
135
+ pricedPerPerson?: boolean | null;
136
+ selectionType?: "optional" | "required" | "default_selected" | "unavailable" | null;
137
+ minQuantity?: number | null;
138
+ maxQuantity?: number | null;
139
+ defaultQuantity?: number | null;
112
140
  }
113
141
  /** Configure step sub-step union. */
114
142
  export type ConfigureSubStep = {
115
143
  kind: "departure";
116
144
  required: true;
145
+ } | {
146
+ kind: "product-option";
147
+ options: ReadonlyArray<ProductVariantOption>;
117
148
  } | {
118
149
  kind: "cabin-category";
119
150
  categories: ReadonlyArray<CabinCategoryOption>;
@@ -1 +1 @@
1
- {"version":3,"file":"draft-shape.d.ts","sourceRoot":"","sources":["../../src/booking-engine/draft-shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draft-shape.d.ts","sourceRoot":"","sources":["../../src/booking-engine/draft-shape.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export { type BookEntityDeps, type BookEntityRequest, type BookEntityResult, typ
20
20
  export { type CancelEntityDeps, type CancelEntityRequest, type CancelEntityResult, cancelEntity, } from "./cancel.js";
21
21
  export { type CheckoutFinalizeDeps, type CheckoutFinalizeInput, type CheckoutFinalizeStepRecorder, checkoutFinalizeWorkflow, runCheckoutFinalize, } from "./checkout-finalize.js";
22
22
  export { accommodationSubStepV1, addonGroupV1, addonOfferV1, type BookingDraftShapeV1, type BookingDraftV1, type BookRequestV1, type BookResponseV1, bookingDraftShapeV1, bookingDraftV1, bookingFieldRequirementV1, bookRequestV1, bookResponseV1, cabinCategoryOptionV1, cabinNumberOptionV1, configureSubStepV1, ENGINE_CONTRACT_V1, type EngineContractVersion, extensionOptionV1, type HoldExtendRequestV1, type HoldReleaseRequestV1, holdExtendRequestV1, holdReleaseRequestV1, type PaxBandCode, type PaxBandSpecV1, type PricingBreakdownV1, paxBandCodeSchema, paxBandSpecV1, pricingBreakdownV1, pricingLineV1, pricingTaxV1, type QuoteRequestV1, type QuoteResponseV1, quoteRequestV1, quoteResponseV1, quoteScopeV1, roomOptionV1, type TravelerEntryV1, travelerEntryV1, travelerFieldRequirementV1, } from "./contracts.js";
23
- export { type AccommodationSubStep, type AddonGroup, type AddonOffer, type BookingDraftShape, type BookingFieldRequirement, type CabinCategoryOption, type CabinNumberOption, type ConfigureSubStep, DEFAULT_PAX_BANDS, DEFAULT_PAX_TOTAL, defaultBookingFields, defaultDraftShapeFlags, defaultTravelerFields, type ExtensionOption, type PaxBandSpec, paxBandsAllowedTotalFrom, type RatePlanOption, type RoomOption, type TravelerFieldRequirement, } from "./draft-shape.js";
23
+ export { type AccommodationSubStep, type AddonGroup, type AddonOffer, type BookingDraftShape, type BookingFieldRequirement, type CabinCategoryOption, type CabinNumberOption, type ConfigureSubStep, DEFAULT_PAX_BANDS, DEFAULT_PAX_TOTAL, defaultBookingFields, defaultDraftShapeFlags, defaultTravelerFields, type ExtensionOption, type PaxBandSpec, type ProductVariantOption, type ProductVariantUnitOption, paxBandsAllowedTotalFrom, type RatePlanOption, type RoomOption, type TravelerFieldRequirement, } from "./draft-shape.js";
24
24
  export { bookingDraftsTable, type InsertBookingDraft, type SelectBookingDraft, } from "./drafts-schema.js";
25
25
  export { createBookingDraft, DEFAULT_DRAFT_TTL_MS, deleteBookingDraft, findExpiredDrafts, getBookingDraft, markDraftConsumed, type UpdateDraftPatch, type UpsertDraftInput, updateBookingDraft, } from "./drafts-service.js";
26
26
  export { BookingEngineError, type BookingEngineErrorCode, NO_ADAPTER_REGISTERED, NO_HANDLER_REGISTERED, NoAdapterRegisteredError, NoOwnedHandlerRegisteredError, ORDER_ALREADY_CANCELLED, ORDER_NOT_FOUND, QUOTE_EXPIRED, QUOTE_MISMATCH, QUOTE_NOT_FOUND, QuoteExpiredError, QuoteMismatchError, RESERVE_FAILED, ReserveFailedError, SNAPSHOT_CONTENT_UNAVAILABLE, SnapshotContentUnavailableError, } from "./errors.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/booking-engine/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/booking-engine/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/catalog",
3
- "version": "0.55.0",
3
+ "version": "0.56.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -140,9 +140,9 @@
140
140
  "drizzle-orm": "^0.45.2",
141
141
  "hono": "^4.12.10",
142
142
  "zod": "^4.1.4",
143
- "@voyantjs/core": "0.55.0",
144
- "@voyantjs/db": "0.55.0",
145
- "@voyantjs/hono": "0.55.0"
143
+ "@voyantjs/core": "0.56.0",
144
+ "@voyantjs/db": "0.56.0",
145
+ "@voyantjs/hono": "0.56.0"
146
146
  },
147
147
  "devDependencies": {
148
148
  "drizzle-kit": "^0.31.10",