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