@voyantjs/transactions 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,1981 @@
1
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ type Env = {
3
+ Bindings: Partial<{
4
+ KMS_PROVIDER: string;
5
+ KMS_ENV_KEY: string;
6
+ KMS_LOCAL_KEY: string;
7
+ GCP_PROJECT_ID: string;
8
+ GCP_SERVICE_ACCOUNT_EMAIL: string;
9
+ GCP_PRIVATE_KEY: string;
10
+ GCP_KMS_KEYRING: string;
11
+ GCP_KMS_LOCATION: string;
12
+ GCP_KMS_PEOPLE_KEY_NAME: string;
13
+ GCP_KMS_INTEGRATIONS_KEY_NAME: string;
14
+ AWS_REGION: string;
15
+ AWS_ACCESS_KEY_ID: string;
16
+ AWS_SECRET_ACCESS_KEY: string;
17
+ AWS_SESSION_TOKEN: string;
18
+ AWS_KMS_ENDPOINT: string;
19
+ AWS_KMS_PEOPLE_KEY_ID: string;
20
+ AWS_KMS_INTEGRATIONS_KEY_ID: string;
21
+ }>;
22
+ Variables: {
23
+ db: PostgresJsDatabase;
24
+ userId?: string;
25
+ actor?: "staff" | "customer" | "partner" | "supplier";
26
+ callerType?: "session" | "api_key" | "internal";
27
+ scopes?: string[] | null;
28
+ isInternalRequest?: boolean;
29
+ authorizeTransactionPii?: (args: {
30
+ db: PostgresJsDatabase;
31
+ userId?: string;
32
+ actor?: "staff" | "customer" | "partner" | "supplier";
33
+ callerType?: "session" | "api_key" | "internal";
34
+ scopes?: string[] | null;
35
+ isInternalRequest?: boolean;
36
+ participantKind: "offer" | "order";
37
+ participantId: string;
38
+ parentId: string;
39
+ action: "read" | "update" | "delete";
40
+ }) => boolean | Promise<boolean>;
41
+ };
42
+ };
43
+ export declare const transactionsRoutes: import("hono/hono-base").HonoBase<Env, {
44
+ "/offers": {
45
+ $get: {
46
+ input: {};
47
+ output: {
48
+ data: {
49
+ id: string;
50
+ offerNumber: string;
51
+ title: string;
52
+ status: "draft" | "published" | "sent" | "accepted" | "expired" | "withdrawn" | "converted";
53
+ personId: string | null;
54
+ organizationId: string | null;
55
+ opportunityId: string | null;
56
+ quoteId: string | null;
57
+ marketId: string | null;
58
+ sourceChannelId: string | null;
59
+ currency: string;
60
+ baseCurrency: string | null;
61
+ fxRateSetId: string | null;
62
+ subtotalAmountCents: number;
63
+ taxAmountCents: number;
64
+ feeAmountCents: number;
65
+ totalAmountCents: number;
66
+ costAmountCents: number;
67
+ validFrom: string | null;
68
+ validUntil: string | null;
69
+ sentAt: string | null;
70
+ acceptedAt: string | null;
71
+ convertedAt: string | null;
72
+ notes: string | null;
73
+ metadata: import("hono/utils/types").JSONValue;
74
+ createdAt: string;
75
+ updatedAt: string;
76
+ }[];
77
+ total: number;
78
+ limit: number;
79
+ offset: number;
80
+ };
81
+ outputFormat: "json";
82
+ status: import("hono/utils/http-status").ContentfulStatusCode;
83
+ };
84
+ };
85
+ } & {
86
+ "/offers": {
87
+ $post: {
88
+ input: {};
89
+ output: {
90
+ data: {
91
+ createdAt: string;
92
+ updatedAt: string;
93
+ id: string;
94
+ currency: string;
95
+ notes: string | null;
96
+ offerNumber: string;
97
+ title: string;
98
+ status: "draft" | "published" | "sent" | "accepted" | "expired" | "withdrawn" | "converted";
99
+ personId: string | null;
100
+ organizationId: string | null;
101
+ opportunityId: string | null;
102
+ quoteId: string | null;
103
+ marketId: string | null;
104
+ sourceChannelId: string | null;
105
+ baseCurrency: string | null;
106
+ fxRateSetId: string | null;
107
+ subtotalAmountCents: number;
108
+ taxAmountCents: number;
109
+ feeAmountCents: number;
110
+ totalAmountCents: number;
111
+ costAmountCents: number;
112
+ validFrom: string | null;
113
+ validUntil: string | null;
114
+ sentAt: string | null;
115
+ acceptedAt: string | null;
116
+ convertedAt: string | null;
117
+ metadata: import("hono/utils/types").JSONValue;
118
+ } | null;
119
+ };
120
+ outputFormat: "json";
121
+ status: 201;
122
+ };
123
+ };
124
+ } & {
125
+ "/offers/:id": {
126
+ $get: {
127
+ input: {
128
+ param: {
129
+ id: string;
130
+ };
131
+ };
132
+ output: {
133
+ error: string;
134
+ };
135
+ outputFormat: "json";
136
+ status: 404;
137
+ } | {
138
+ input: {
139
+ param: {
140
+ id: string;
141
+ };
142
+ };
143
+ output: {
144
+ data: {
145
+ id: string;
146
+ offerNumber: string;
147
+ title: string;
148
+ status: "draft" | "published" | "sent" | "accepted" | "expired" | "withdrawn" | "converted";
149
+ personId: string | null;
150
+ organizationId: string | null;
151
+ opportunityId: string | null;
152
+ quoteId: string | null;
153
+ marketId: string | null;
154
+ sourceChannelId: string | null;
155
+ currency: string;
156
+ baseCurrency: string | null;
157
+ fxRateSetId: string | null;
158
+ subtotalAmountCents: number;
159
+ taxAmountCents: number;
160
+ feeAmountCents: number;
161
+ totalAmountCents: number;
162
+ costAmountCents: number;
163
+ validFrom: string | null;
164
+ validUntil: string | null;
165
+ sentAt: string | null;
166
+ acceptedAt: string | null;
167
+ convertedAt: string | null;
168
+ notes: string | null;
169
+ metadata: import("hono/utils/types").JSONValue;
170
+ createdAt: string;
171
+ updatedAt: string;
172
+ };
173
+ };
174
+ outputFormat: "json";
175
+ status: import("hono/utils/http-status").ContentfulStatusCode;
176
+ };
177
+ };
178
+ } & {
179
+ "/offers/:id": {
180
+ $patch: {
181
+ input: {
182
+ param: {
183
+ id: string;
184
+ };
185
+ };
186
+ output: {
187
+ error: string;
188
+ };
189
+ outputFormat: "json";
190
+ status: 404;
191
+ } | {
192
+ input: {
193
+ param: {
194
+ id: string;
195
+ };
196
+ };
197
+ output: {
198
+ data: {
199
+ id: string;
200
+ offerNumber: string;
201
+ title: string;
202
+ status: "draft" | "published" | "sent" | "accepted" | "expired" | "withdrawn" | "converted";
203
+ personId: string | null;
204
+ organizationId: string | null;
205
+ opportunityId: string | null;
206
+ quoteId: string | null;
207
+ marketId: string | null;
208
+ sourceChannelId: string | null;
209
+ currency: string;
210
+ baseCurrency: string | null;
211
+ fxRateSetId: string | null;
212
+ subtotalAmountCents: number;
213
+ taxAmountCents: number;
214
+ feeAmountCents: number;
215
+ totalAmountCents: number;
216
+ costAmountCents: number;
217
+ validFrom: string | null;
218
+ validUntil: string | null;
219
+ sentAt: string | null;
220
+ acceptedAt: string | null;
221
+ convertedAt: string | null;
222
+ notes: string | null;
223
+ metadata: import("hono/utils/types").JSONValue;
224
+ createdAt: string;
225
+ updatedAt: string;
226
+ };
227
+ };
228
+ outputFormat: "json";
229
+ status: import("hono/utils/http-status").ContentfulStatusCode;
230
+ };
231
+ };
232
+ } & {
233
+ "/offers/:id": {
234
+ $delete: {
235
+ input: {
236
+ param: {
237
+ id: string;
238
+ };
239
+ };
240
+ output: {
241
+ error: string;
242
+ };
243
+ outputFormat: "json";
244
+ status: 404;
245
+ } | {
246
+ input: {
247
+ param: {
248
+ id: string;
249
+ };
250
+ };
251
+ output: {
252
+ success: true;
253
+ };
254
+ outputFormat: "json";
255
+ status: import("hono/utils/http-status").ContentfulStatusCode;
256
+ };
257
+ };
258
+ } & {
259
+ "/offer-participants": {
260
+ $get: {
261
+ input: {};
262
+ output: {
263
+ data: {
264
+ id: string;
265
+ offerId: string;
266
+ personId: string | null;
267
+ participantType: "staff" | "other" | "traveler" | "booker" | "contact" | "occupant";
268
+ travelerCategory: "other" | "adult" | "child" | "infant" | "senior" | null;
269
+ firstName: string;
270
+ lastName: string;
271
+ email: string | null;
272
+ phone: string | null;
273
+ preferredLanguage: string | null;
274
+ isPrimary: boolean;
275
+ notes: string | null;
276
+ hasTravelIdentity: boolean;
277
+ createdAt: string;
278
+ updatedAt: string;
279
+ }[];
280
+ total: number;
281
+ limit: number;
282
+ offset: number;
283
+ };
284
+ outputFormat: "json";
285
+ status: import("hono/utils/http-status").ContentfulStatusCode;
286
+ };
287
+ };
288
+ } & {
289
+ "/offer-participants": {
290
+ $post: {
291
+ input: {};
292
+ output: {
293
+ data: {
294
+ id: string;
295
+ offerId: string;
296
+ personId: string | null;
297
+ participantType: "staff" | "other" | "traveler" | "booker" | "contact" | "occupant";
298
+ travelerCategory: "other" | "adult" | "child" | "infant" | "senior" | null;
299
+ firstName: string;
300
+ lastName: string;
301
+ email: string | null;
302
+ phone: string | null;
303
+ preferredLanguage: string | null;
304
+ isPrimary: boolean;
305
+ notes: string | null;
306
+ hasTravelIdentity: boolean;
307
+ createdAt: string;
308
+ updatedAt: string;
309
+ } | null;
310
+ };
311
+ outputFormat: "json";
312
+ status: 201;
313
+ };
314
+ };
315
+ } & {
316
+ "/offer-participants/:id": {
317
+ $get: {
318
+ input: {
319
+ param: {
320
+ id: string;
321
+ };
322
+ };
323
+ output: {
324
+ error: string;
325
+ };
326
+ outputFormat: "json";
327
+ status: 404;
328
+ } | {
329
+ input: {
330
+ param: {
331
+ id: string;
332
+ };
333
+ };
334
+ output: {
335
+ data: {
336
+ id: string;
337
+ offerId: string;
338
+ personId: string | null;
339
+ participantType: "staff" | "other" | "traveler" | "booker" | "contact" | "occupant";
340
+ travelerCategory: "other" | "adult" | "child" | "infant" | "senior" | null;
341
+ firstName: string;
342
+ lastName: string;
343
+ email: string | null;
344
+ phone: string | null;
345
+ preferredLanguage: string | null;
346
+ isPrimary: boolean;
347
+ notes: string | null;
348
+ hasTravelIdentity: boolean;
349
+ createdAt: string;
350
+ updatedAt: string;
351
+ };
352
+ };
353
+ outputFormat: "json";
354
+ status: import("hono/utils/http-status").ContentfulStatusCode;
355
+ };
356
+ };
357
+ } & {
358
+ "/offer-participants/:id": {
359
+ $patch: {
360
+ input: {
361
+ param: {
362
+ id: string;
363
+ };
364
+ };
365
+ output: {
366
+ error: string;
367
+ };
368
+ outputFormat: "json";
369
+ status: 404;
370
+ } | {
371
+ input: {
372
+ param: {
373
+ id: string;
374
+ };
375
+ };
376
+ output: {
377
+ data: {
378
+ id: string;
379
+ offerId: string;
380
+ personId: string | null;
381
+ participantType: "staff" | "other" | "traveler" | "booker" | "contact" | "occupant";
382
+ travelerCategory: "other" | "adult" | "child" | "infant" | "senior" | null;
383
+ firstName: string;
384
+ lastName: string;
385
+ email: string | null;
386
+ phone: string | null;
387
+ preferredLanguage: string | null;
388
+ isPrimary: boolean;
389
+ notes: string | null;
390
+ hasTravelIdentity: boolean;
391
+ createdAt: string;
392
+ updatedAt: string;
393
+ } | null;
394
+ };
395
+ outputFormat: "json";
396
+ status: import("hono/utils/http-status").ContentfulStatusCode;
397
+ };
398
+ };
399
+ } & {
400
+ "/offer-participants/:id/travel-details": {
401
+ $get: {
402
+ input: {
403
+ param: {
404
+ id: string;
405
+ };
406
+ };
407
+ output: {
408
+ error: string;
409
+ };
410
+ outputFormat: "json";
411
+ status: 401;
412
+ } | {
413
+ input: {
414
+ param: {
415
+ id: string;
416
+ };
417
+ };
418
+ output: {
419
+ error: string;
420
+ };
421
+ outputFormat: "json";
422
+ status: 403;
423
+ } | {
424
+ input: {
425
+ param: {
426
+ id: string;
427
+ };
428
+ };
429
+ output: {
430
+ error: string;
431
+ };
432
+ outputFormat: "json";
433
+ status: 404;
434
+ } | {
435
+ input: {
436
+ param: {
437
+ id: string;
438
+ };
439
+ };
440
+ output: {
441
+ data: {
442
+ participantId: string;
443
+ participantKind: "offer" | "order";
444
+ dateOfBirth: string | null;
445
+ nationality: string | null;
446
+ createdAt: string;
447
+ updatedAt: string;
448
+ };
449
+ };
450
+ outputFormat: "json";
451
+ status: import("hono/utils/http-status").ContentfulStatusCode;
452
+ };
453
+ };
454
+ } & {
455
+ "/offer-participants/:id/travel-details": {
456
+ $patch: {
457
+ input: {
458
+ param: {
459
+ id: string;
460
+ };
461
+ };
462
+ output: {
463
+ error: string;
464
+ };
465
+ outputFormat: "json";
466
+ status: 401;
467
+ } | {
468
+ input: {
469
+ param: {
470
+ id: string;
471
+ };
472
+ };
473
+ output: {
474
+ error: string;
475
+ };
476
+ outputFormat: "json";
477
+ status: 403;
478
+ } | {
479
+ input: {
480
+ param: {
481
+ id: string;
482
+ };
483
+ };
484
+ output: {
485
+ error: string;
486
+ };
487
+ outputFormat: "json";
488
+ status: 404;
489
+ } | {
490
+ input: {
491
+ param: {
492
+ id: string;
493
+ };
494
+ };
495
+ output: {
496
+ data: {
497
+ participantId: string;
498
+ participantKind: "offer" | "order";
499
+ dateOfBirth: string | null;
500
+ nationality: string | null;
501
+ createdAt: string;
502
+ updatedAt: string;
503
+ };
504
+ };
505
+ outputFormat: "json";
506
+ status: import("hono/utils/http-status").ContentfulStatusCode;
507
+ };
508
+ };
509
+ } & {
510
+ "/offer-participants/:id/travel-details": {
511
+ $delete: {
512
+ input: {
513
+ param: {
514
+ id: string;
515
+ };
516
+ };
517
+ output: {
518
+ error: string;
519
+ };
520
+ outputFormat: "json";
521
+ status: 401;
522
+ } | {
523
+ input: {
524
+ param: {
525
+ id: string;
526
+ };
527
+ };
528
+ output: {
529
+ error: string;
530
+ };
531
+ outputFormat: "json";
532
+ status: 403;
533
+ } | {
534
+ input: {
535
+ param: {
536
+ id: string;
537
+ };
538
+ };
539
+ output: {
540
+ error: string;
541
+ };
542
+ outputFormat: "json";
543
+ status: 404;
544
+ } | {
545
+ input: {
546
+ param: {
547
+ id: string;
548
+ };
549
+ };
550
+ output: {
551
+ success: true;
552
+ };
553
+ outputFormat: "json";
554
+ status: import("hono/utils/http-status").ContentfulStatusCode;
555
+ };
556
+ };
557
+ } & {
558
+ "/offer-participants/:id": {
559
+ $delete: {
560
+ input: {
561
+ param: {
562
+ id: string;
563
+ };
564
+ };
565
+ output: {
566
+ error: string;
567
+ };
568
+ outputFormat: "json";
569
+ status: 404;
570
+ } | {
571
+ input: {
572
+ param: {
573
+ id: string;
574
+ };
575
+ };
576
+ output: {
577
+ success: true;
578
+ };
579
+ outputFormat: "json";
580
+ status: import("hono/utils/http-status").ContentfulStatusCode;
581
+ };
582
+ };
583
+ } & {
584
+ "/offer-items": {
585
+ $get: {
586
+ input: {};
587
+ output: {
588
+ data: {
589
+ id: string;
590
+ offerId: string;
591
+ productId: string | null;
592
+ optionId: string | null;
593
+ unitId: string | null;
594
+ slotId: string | null;
595
+ title: string;
596
+ description: string | null;
597
+ itemType: "other" | "unit" | "service" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
598
+ status: "draft" | "confirmed" | "fulfilled" | "cancelled" | "priced";
599
+ serviceDate: string | null;
600
+ startsAt: string | null;
601
+ endsAt: string | null;
602
+ quantity: number;
603
+ sellCurrency: string;
604
+ unitSellAmountCents: number | null;
605
+ totalSellAmountCents: number | null;
606
+ taxAmountCents: number | null;
607
+ feeAmountCents: number | null;
608
+ costCurrency: string | null;
609
+ unitCostAmountCents: number | null;
610
+ totalCostAmountCents: number | null;
611
+ notes: string | null;
612
+ metadata: import("hono/utils/types").JSONValue;
613
+ createdAt: string;
614
+ updatedAt: string;
615
+ }[];
616
+ total: number;
617
+ limit: number;
618
+ offset: number;
619
+ };
620
+ outputFormat: "json";
621
+ status: import("hono/utils/http-status").ContentfulStatusCode;
622
+ };
623
+ };
624
+ } & {
625
+ "/offer-items": {
626
+ $post: {
627
+ input: {};
628
+ output: {
629
+ data: {
630
+ offerId: string;
631
+ createdAt: string;
632
+ updatedAt: string;
633
+ description: string | null;
634
+ id: string;
635
+ notes: string | null;
636
+ title: string;
637
+ status: "draft" | "confirmed" | "fulfilled" | "cancelled" | "priced";
638
+ taxAmountCents: number | null;
639
+ feeAmountCents: number | null;
640
+ metadata: import("hono/utils/types").JSONValue;
641
+ productId: string | null;
642
+ optionId: string | null;
643
+ unitId: string | null;
644
+ slotId: string | null;
645
+ itemType: "other" | "unit" | "service" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
646
+ serviceDate: string | null;
647
+ startsAt: string | null;
648
+ endsAt: string | null;
649
+ quantity: number;
650
+ sellCurrency: string;
651
+ unitSellAmountCents: number | null;
652
+ totalSellAmountCents: number | null;
653
+ costCurrency: string | null;
654
+ unitCostAmountCents: number | null;
655
+ totalCostAmountCents: number | null;
656
+ } | null;
657
+ };
658
+ outputFormat: "json";
659
+ status: 201;
660
+ };
661
+ };
662
+ } & {
663
+ "/offer-items/:id": {
664
+ $get: {
665
+ input: {
666
+ param: {
667
+ id: string;
668
+ };
669
+ };
670
+ output: {
671
+ error: string;
672
+ };
673
+ outputFormat: "json";
674
+ status: 404;
675
+ } | {
676
+ input: {
677
+ param: {
678
+ id: string;
679
+ };
680
+ };
681
+ output: {
682
+ data: {
683
+ id: string;
684
+ offerId: string;
685
+ productId: string | null;
686
+ optionId: string | null;
687
+ unitId: string | null;
688
+ slotId: string | null;
689
+ title: string;
690
+ description: string | null;
691
+ itemType: "other" | "unit" | "service" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
692
+ status: "draft" | "confirmed" | "fulfilled" | "cancelled" | "priced";
693
+ serviceDate: string | null;
694
+ startsAt: string | null;
695
+ endsAt: string | null;
696
+ quantity: number;
697
+ sellCurrency: string;
698
+ unitSellAmountCents: number | null;
699
+ totalSellAmountCents: number | null;
700
+ taxAmountCents: number | null;
701
+ feeAmountCents: number | null;
702
+ costCurrency: string | null;
703
+ unitCostAmountCents: number | null;
704
+ totalCostAmountCents: number | null;
705
+ notes: string | null;
706
+ metadata: import("hono/utils/types").JSONValue;
707
+ createdAt: string;
708
+ updatedAt: string;
709
+ };
710
+ };
711
+ outputFormat: "json";
712
+ status: import("hono/utils/http-status").ContentfulStatusCode;
713
+ };
714
+ };
715
+ } & {
716
+ "/offer-items/:id": {
717
+ $patch: {
718
+ input: {
719
+ param: {
720
+ id: string;
721
+ };
722
+ };
723
+ output: {
724
+ error: string;
725
+ };
726
+ outputFormat: "json";
727
+ status: 404;
728
+ } | {
729
+ input: {
730
+ param: {
731
+ id: string;
732
+ };
733
+ };
734
+ output: {
735
+ data: {
736
+ id: string;
737
+ offerId: string;
738
+ productId: string | null;
739
+ optionId: string | null;
740
+ unitId: string | null;
741
+ slotId: string | null;
742
+ title: string;
743
+ description: string | null;
744
+ itemType: "other" | "unit" | "service" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
745
+ status: "draft" | "confirmed" | "fulfilled" | "cancelled" | "priced";
746
+ serviceDate: string | null;
747
+ startsAt: string | null;
748
+ endsAt: string | null;
749
+ quantity: number;
750
+ sellCurrency: string;
751
+ unitSellAmountCents: number | null;
752
+ totalSellAmountCents: number | null;
753
+ taxAmountCents: number | null;
754
+ feeAmountCents: number | null;
755
+ costCurrency: string | null;
756
+ unitCostAmountCents: number | null;
757
+ totalCostAmountCents: number | null;
758
+ notes: string | null;
759
+ metadata: import("hono/utils/types").JSONValue;
760
+ createdAt: string;
761
+ updatedAt: string;
762
+ };
763
+ };
764
+ outputFormat: "json";
765
+ status: import("hono/utils/http-status").ContentfulStatusCode;
766
+ };
767
+ };
768
+ } & {
769
+ "/offer-items/:id": {
770
+ $delete: {
771
+ input: {
772
+ param: {
773
+ id: string;
774
+ };
775
+ };
776
+ output: {
777
+ error: string;
778
+ };
779
+ outputFormat: "json";
780
+ status: 404;
781
+ } | {
782
+ input: {
783
+ param: {
784
+ id: string;
785
+ };
786
+ };
787
+ output: {
788
+ success: true;
789
+ };
790
+ outputFormat: "json";
791
+ status: import("hono/utils/http-status").ContentfulStatusCode;
792
+ };
793
+ };
794
+ } & {
795
+ "/offer-item-participants": {
796
+ $get: {
797
+ input: {};
798
+ output: {
799
+ data: {
800
+ id: string;
801
+ offerItemId: string;
802
+ participantId: string;
803
+ role: "other" | "traveler" | "occupant" | "primary_contact" | "beneficiary" | "service_assignee";
804
+ isPrimary: boolean;
805
+ createdAt: string;
806
+ }[];
807
+ total: number;
808
+ limit: number;
809
+ offset: number;
810
+ };
811
+ outputFormat: "json";
812
+ status: import("hono/utils/http-status").ContentfulStatusCode;
813
+ };
814
+ };
815
+ } & {
816
+ "/offer-item-participants": {
817
+ $post: {
818
+ input: {};
819
+ output: {
820
+ data: {
821
+ createdAt: string;
822
+ id: string;
823
+ isPrimary: boolean;
824
+ offerItemId: string;
825
+ participantId: string;
826
+ role: "other" | "traveler" | "occupant" | "primary_contact" | "beneficiary" | "service_assignee";
827
+ } | null;
828
+ };
829
+ outputFormat: "json";
830
+ status: 201;
831
+ };
832
+ };
833
+ } & {
834
+ "/offer-item-participants/:id": {
835
+ $get: {
836
+ input: {
837
+ param: {
838
+ id: string;
839
+ };
840
+ };
841
+ output: {
842
+ error: string;
843
+ };
844
+ outputFormat: "json";
845
+ status: 404;
846
+ } | {
847
+ input: {
848
+ param: {
849
+ id: string;
850
+ };
851
+ };
852
+ output: {
853
+ data: {
854
+ id: string;
855
+ offerItemId: string;
856
+ participantId: string;
857
+ role: "other" | "traveler" | "occupant" | "primary_contact" | "beneficiary" | "service_assignee";
858
+ isPrimary: boolean;
859
+ createdAt: string;
860
+ };
861
+ };
862
+ outputFormat: "json";
863
+ status: import("hono/utils/http-status").ContentfulStatusCode;
864
+ };
865
+ };
866
+ } & {
867
+ "/offer-item-participants/:id": {
868
+ $patch: {
869
+ input: {
870
+ param: {
871
+ id: string;
872
+ };
873
+ };
874
+ output: {
875
+ error: string;
876
+ };
877
+ outputFormat: "json";
878
+ status: 404;
879
+ } | {
880
+ input: {
881
+ param: {
882
+ id: string;
883
+ };
884
+ };
885
+ output: {
886
+ data: {
887
+ id: string;
888
+ offerItemId: string;
889
+ participantId: string;
890
+ role: "other" | "traveler" | "occupant" | "primary_contact" | "beneficiary" | "service_assignee";
891
+ isPrimary: boolean;
892
+ createdAt: string;
893
+ };
894
+ };
895
+ outputFormat: "json";
896
+ status: import("hono/utils/http-status").ContentfulStatusCode;
897
+ };
898
+ };
899
+ } & {
900
+ "/offer-item-participants/:id": {
901
+ $delete: {
902
+ input: {
903
+ param: {
904
+ id: string;
905
+ };
906
+ };
907
+ output: {
908
+ error: string;
909
+ };
910
+ outputFormat: "json";
911
+ status: 404;
912
+ } | {
913
+ input: {
914
+ param: {
915
+ id: string;
916
+ };
917
+ };
918
+ output: {
919
+ success: true;
920
+ };
921
+ outputFormat: "json";
922
+ status: import("hono/utils/http-status").ContentfulStatusCode;
923
+ };
924
+ };
925
+ } & {
926
+ "/orders": {
927
+ $get: {
928
+ input: {};
929
+ output: {
930
+ data: {
931
+ id: string;
932
+ orderNumber: string;
933
+ offerId: string | null;
934
+ title: string;
935
+ status: "draft" | "expired" | "pending" | "confirmed" | "fulfilled" | "cancelled";
936
+ personId: string | null;
937
+ organizationId: string | null;
938
+ opportunityId: string | null;
939
+ quoteId: string | null;
940
+ marketId: string | null;
941
+ sourceChannelId: string | null;
942
+ currency: string;
943
+ baseCurrency: string | null;
944
+ fxRateSetId: string | null;
945
+ subtotalAmountCents: number;
946
+ taxAmountCents: number;
947
+ feeAmountCents: number;
948
+ totalAmountCents: number;
949
+ costAmountCents: number;
950
+ orderedAt: string | null;
951
+ confirmedAt: string | null;
952
+ cancelledAt: string | null;
953
+ expiresAt: string | null;
954
+ notes: string | null;
955
+ metadata: import("hono/utils/types").JSONValue;
956
+ createdAt: string;
957
+ updatedAt: string;
958
+ }[];
959
+ total: number;
960
+ limit: number;
961
+ offset: number;
962
+ };
963
+ outputFormat: "json";
964
+ status: import("hono/utils/http-status").ContentfulStatusCode;
965
+ };
966
+ };
967
+ } & {
968
+ "/orders": {
969
+ $post: {
970
+ input: {};
971
+ output: {
972
+ data: {
973
+ offerId: string | null;
974
+ createdAt: string;
975
+ updatedAt: string;
976
+ id: string;
977
+ currency: string;
978
+ notes: string | null;
979
+ title: string;
980
+ status: "draft" | "expired" | "pending" | "confirmed" | "fulfilled" | "cancelled";
981
+ personId: string | null;
982
+ organizationId: string | null;
983
+ opportunityId: string | null;
984
+ quoteId: string | null;
985
+ marketId: string | null;
986
+ sourceChannelId: string | null;
987
+ baseCurrency: string | null;
988
+ fxRateSetId: string | null;
989
+ subtotalAmountCents: number;
990
+ taxAmountCents: number;
991
+ feeAmountCents: number;
992
+ totalAmountCents: number;
993
+ costAmountCents: number;
994
+ metadata: import("hono/utils/types").JSONValue;
995
+ orderNumber: string;
996
+ orderedAt: string | null;
997
+ confirmedAt: string | null;
998
+ cancelledAt: string | null;
999
+ expiresAt: string | null;
1000
+ } | null;
1001
+ };
1002
+ outputFormat: "json";
1003
+ status: 201;
1004
+ };
1005
+ };
1006
+ } & {
1007
+ "/orders/:id": {
1008
+ $get: {
1009
+ input: {
1010
+ param: {
1011
+ id: string;
1012
+ };
1013
+ };
1014
+ output: {
1015
+ error: string;
1016
+ };
1017
+ outputFormat: "json";
1018
+ status: 404;
1019
+ } | {
1020
+ input: {
1021
+ param: {
1022
+ id: string;
1023
+ };
1024
+ };
1025
+ output: {
1026
+ data: {
1027
+ id: string;
1028
+ orderNumber: string;
1029
+ offerId: string | null;
1030
+ title: string;
1031
+ status: "draft" | "expired" | "pending" | "confirmed" | "fulfilled" | "cancelled";
1032
+ personId: string | null;
1033
+ organizationId: string | null;
1034
+ opportunityId: string | null;
1035
+ quoteId: string | null;
1036
+ marketId: string | null;
1037
+ sourceChannelId: string | null;
1038
+ currency: string;
1039
+ baseCurrency: string | null;
1040
+ fxRateSetId: string | null;
1041
+ subtotalAmountCents: number;
1042
+ taxAmountCents: number;
1043
+ feeAmountCents: number;
1044
+ totalAmountCents: number;
1045
+ costAmountCents: number;
1046
+ orderedAt: string | null;
1047
+ confirmedAt: string | null;
1048
+ cancelledAt: string | null;
1049
+ expiresAt: string | null;
1050
+ notes: string | null;
1051
+ metadata: import("hono/utils/types").JSONValue;
1052
+ createdAt: string;
1053
+ updatedAt: string;
1054
+ };
1055
+ };
1056
+ outputFormat: "json";
1057
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1058
+ };
1059
+ };
1060
+ } & {
1061
+ "/orders/:id": {
1062
+ $patch: {
1063
+ input: {
1064
+ param: {
1065
+ id: string;
1066
+ };
1067
+ };
1068
+ output: {
1069
+ error: string;
1070
+ };
1071
+ outputFormat: "json";
1072
+ status: 404;
1073
+ } | {
1074
+ input: {
1075
+ param: {
1076
+ id: string;
1077
+ };
1078
+ };
1079
+ output: {
1080
+ data: {
1081
+ id: string;
1082
+ orderNumber: string;
1083
+ offerId: string | null;
1084
+ title: string;
1085
+ status: "draft" | "expired" | "pending" | "confirmed" | "fulfilled" | "cancelled";
1086
+ personId: string | null;
1087
+ organizationId: string | null;
1088
+ opportunityId: string | null;
1089
+ quoteId: string | null;
1090
+ marketId: string | null;
1091
+ sourceChannelId: string | null;
1092
+ currency: string;
1093
+ baseCurrency: string | null;
1094
+ fxRateSetId: string | null;
1095
+ subtotalAmountCents: number;
1096
+ taxAmountCents: number;
1097
+ feeAmountCents: number;
1098
+ totalAmountCents: number;
1099
+ costAmountCents: number;
1100
+ orderedAt: string | null;
1101
+ confirmedAt: string | null;
1102
+ cancelledAt: string | null;
1103
+ expiresAt: string | null;
1104
+ notes: string | null;
1105
+ metadata: import("hono/utils/types").JSONValue;
1106
+ createdAt: string;
1107
+ updatedAt: string;
1108
+ };
1109
+ };
1110
+ outputFormat: "json";
1111
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1112
+ };
1113
+ };
1114
+ } & {
1115
+ "/orders/:id": {
1116
+ $delete: {
1117
+ input: {
1118
+ param: {
1119
+ id: string;
1120
+ };
1121
+ };
1122
+ output: {
1123
+ error: string;
1124
+ };
1125
+ outputFormat: "json";
1126
+ status: 404;
1127
+ } | {
1128
+ input: {
1129
+ param: {
1130
+ id: string;
1131
+ };
1132
+ };
1133
+ output: {
1134
+ success: true;
1135
+ };
1136
+ outputFormat: "json";
1137
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1138
+ };
1139
+ };
1140
+ } & {
1141
+ "/order-participants": {
1142
+ $get: {
1143
+ input: {};
1144
+ output: {
1145
+ data: {
1146
+ id: string;
1147
+ orderId: string;
1148
+ personId: string | null;
1149
+ participantType: "staff" | "other" | "traveler" | "booker" | "contact" | "occupant";
1150
+ travelerCategory: "other" | "adult" | "child" | "infant" | "senior" | null;
1151
+ firstName: string;
1152
+ lastName: string;
1153
+ email: string | null;
1154
+ phone: string | null;
1155
+ preferredLanguage: string | null;
1156
+ isPrimary: boolean;
1157
+ notes: string | null;
1158
+ hasTravelIdentity: boolean;
1159
+ createdAt: string;
1160
+ updatedAt: string;
1161
+ }[];
1162
+ total: number;
1163
+ limit: number;
1164
+ offset: number;
1165
+ };
1166
+ outputFormat: "json";
1167
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1168
+ };
1169
+ };
1170
+ } & {
1171
+ "/order-participants": {
1172
+ $post: {
1173
+ input: {};
1174
+ output: {
1175
+ data: {
1176
+ id: string;
1177
+ orderId: string;
1178
+ personId: string | null;
1179
+ participantType: "staff" | "other" | "traveler" | "booker" | "contact" | "occupant";
1180
+ travelerCategory: "other" | "adult" | "child" | "infant" | "senior" | null;
1181
+ firstName: string;
1182
+ lastName: string;
1183
+ email: string | null;
1184
+ phone: string | null;
1185
+ preferredLanguage: string | null;
1186
+ isPrimary: boolean;
1187
+ notes: string | null;
1188
+ hasTravelIdentity: boolean;
1189
+ createdAt: string;
1190
+ updatedAt: string;
1191
+ } | null;
1192
+ };
1193
+ outputFormat: "json";
1194
+ status: 201;
1195
+ };
1196
+ };
1197
+ } & {
1198
+ "/order-participants/:id": {
1199
+ $get: {
1200
+ input: {
1201
+ param: {
1202
+ id: string;
1203
+ };
1204
+ };
1205
+ output: {
1206
+ error: string;
1207
+ };
1208
+ outputFormat: "json";
1209
+ status: 404;
1210
+ } | {
1211
+ input: {
1212
+ param: {
1213
+ id: string;
1214
+ };
1215
+ };
1216
+ output: {
1217
+ data: {
1218
+ id: string;
1219
+ orderId: string;
1220
+ personId: string | null;
1221
+ participantType: "staff" | "other" | "traveler" | "booker" | "contact" | "occupant";
1222
+ travelerCategory: "other" | "adult" | "child" | "infant" | "senior" | null;
1223
+ firstName: string;
1224
+ lastName: string;
1225
+ email: string | null;
1226
+ phone: string | null;
1227
+ preferredLanguage: string | null;
1228
+ isPrimary: boolean;
1229
+ notes: string | null;
1230
+ hasTravelIdentity: boolean;
1231
+ createdAt: string;
1232
+ updatedAt: string;
1233
+ };
1234
+ };
1235
+ outputFormat: "json";
1236
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1237
+ };
1238
+ };
1239
+ } & {
1240
+ "/order-participants/:id": {
1241
+ $patch: {
1242
+ input: {
1243
+ param: {
1244
+ id: string;
1245
+ };
1246
+ };
1247
+ output: {
1248
+ error: string;
1249
+ };
1250
+ outputFormat: "json";
1251
+ status: 404;
1252
+ } | {
1253
+ input: {
1254
+ param: {
1255
+ id: string;
1256
+ };
1257
+ };
1258
+ output: {
1259
+ data: {
1260
+ id: string;
1261
+ orderId: string;
1262
+ personId: string | null;
1263
+ participantType: "staff" | "other" | "traveler" | "booker" | "contact" | "occupant";
1264
+ travelerCategory: "other" | "adult" | "child" | "infant" | "senior" | null;
1265
+ firstName: string;
1266
+ lastName: string;
1267
+ email: string | null;
1268
+ phone: string | null;
1269
+ preferredLanguage: string | null;
1270
+ isPrimary: boolean;
1271
+ notes: string | null;
1272
+ hasTravelIdentity: boolean;
1273
+ createdAt: string;
1274
+ updatedAt: string;
1275
+ } | null;
1276
+ };
1277
+ outputFormat: "json";
1278
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1279
+ };
1280
+ };
1281
+ } & {
1282
+ "/order-participants/:id/travel-details": {
1283
+ $get: {
1284
+ input: {
1285
+ param: {
1286
+ id: string;
1287
+ };
1288
+ };
1289
+ output: {
1290
+ error: string;
1291
+ };
1292
+ outputFormat: "json";
1293
+ status: 401;
1294
+ } | {
1295
+ input: {
1296
+ param: {
1297
+ id: string;
1298
+ };
1299
+ };
1300
+ output: {
1301
+ error: string;
1302
+ };
1303
+ outputFormat: "json";
1304
+ status: 403;
1305
+ } | {
1306
+ input: {
1307
+ param: {
1308
+ id: string;
1309
+ };
1310
+ };
1311
+ output: {
1312
+ error: string;
1313
+ };
1314
+ outputFormat: "json";
1315
+ status: 404;
1316
+ } | {
1317
+ input: {
1318
+ param: {
1319
+ id: string;
1320
+ };
1321
+ };
1322
+ output: {
1323
+ data: {
1324
+ participantId: string;
1325
+ participantKind: "offer" | "order";
1326
+ dateOfBirth: string | null;
1327
+ nationality: string | null;
1328
+ createdAt: string;
1329
+ updatedAt: string;
1330
+ };
1331
+ };
1332
+ outputFormat: "json";
1333
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1334
+ };
1335
+ };
1336
+ } & {
1337
+ "/order-participants/:id/travel-details": {
1338
+ $patch: {
1339
+ input: {
1340
+ param: {
1341
+ id: string;
1342
+ };
1343
+ };
1344
+ output: {
1345
+ error: string;
1346
+ };
1347
+ outputFormat: "json";
1348
+ status: 401;
1349
+ } | {
1350
+ input: {
1351
+ param: {
1352
+ id: string;
1353
+ };
1354
+ };
1355
+ output: {
1356
+ error: string;
1357
+ };
1358
+ outputFormat: "json";
1359
+ status: 403;
1360
+ } | {
1361
+ input: {
1362
+ param: {
1363
+ id: string;
1364
+ };
1365
+ };
1366
+ output: {
1367
+ error: string;
1368
+ };
1369
+ outputFormat: "json";
1370
+ status: 404;
1371
+ } | {
1372
+ input: {
1373
+ param: {
1374
+ id: string;
1375
+ };
1376
+ };
1377
+ output: {
1378
+ data: {
1379
+ participantId: string;
1380
+ participantKind: "offer" | "order";
1381
+ dateOfBirth: string | null;
1382
+ nationality: string | null;
1383
+ createdAt: string;
1384
+ updatedAt: string;
1385
+ };
1386
+ };
1387
+ outputFormat: "json";
1388
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1389
+ };
1390
+ };
1391
+ } & {
1392
+ "/order-participants/:id/travel-details": {
1393
+ $delete: {
1394
+ input: {
1395
+ param: {
1396
+ id: string;
1397
+ };
1398
+ };
1399
+ output: {
1400
+ error: string;
1401
+ };
1402
+ outputFormat: "json";
1403
+ status: 401;
1404
+ } | {
1405
+ input: {
1406
+ param: {
1407
+ id: string;
1408
+ };
1409
+ };
1410
+ output: {
1411
+ error: string;
1412
+ };
1413
+ outputFormat: "json";
1414
+ status: 403;
1415
+ } | {
1416
+ input: {
1417
+ param: {
1418
+ id: string;
1419
+ };
1420
+ };
1421
+ output: {
1422
+ error: string;
1423
+ };
1424
+ outputFormat: "json";
1425
+ status: 404;
1426
+ } | {
1427
+ input: {
1428
+ param: {
1429
+ id: string;
1430
+ };
1431
+ };
1432
+ output: {
1433
+ success: true;
1434
+ };
1435
+ outputFormat: "json";
1436
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1437
+ };
1438
+ };
1439
+ } & {
1440
+ "/order-participants/:id": {
1441
+ $delete: {
1442
+ input: {
1443
+ param: {
1444
+ id: string;
1445
+ };
1446
+ };
1447
+ output: {
1448
+ error: string;
1449
+ };
1450
+ outputFormat: "json";
1451
+ status: 404;
1452
+ } | {
1453
+ input: {
1454
+ param: {
1455
+ id: string;
1456
+ };
1457
+ };
1458
+ output: {
1459
+ success: true;
1460
+ };
1461
+ outputFormat: "json";
1462
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1463
+ };
1464
+ };
1465
+ } & {
1466
+ "/order-items": {
1467
+ $get: {
1468
+ input: {};
1469
+ output: {
1470
+ data: {
1471
+ id: string;
1472
+ orderId: string;
1473
+ offerItemId: string | null;
1474
+ productId: string | null;
1475
+ optionId: string | null;
1476
+ unitId: string | null;
1477
+ slotId: string | null;
1478
+ title: string;
1479
+ description: string | null;
1480
+ itemType: "other" | "unit" | "service" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
1481
+ status: "draft" | "confirmed" | "fulfilled" | "cancelled" | "priced";
1482
+ serviceDate: string | null;
1483
+ startsAt: string | null;
1484
+ endsAt: string | null;
1485
+ quantity: number;
1486
+ sellCurrency: string;
1487
+ unitSellAmountCents: number | null;
1488
+ totalSellAmountCents: number | null;
1489
+ taxAmountCents: number | null;
1490
+ feeAmountCents: number | null;
1491
+ costCurrency: string | null;
1492
+ unitCostAmountCents: number | null;
1493
+ totalCostAmountCents: number | null;
1494
+ notes: string | null;
1495
+ metadata: import("hono/utils/types").JSONValue;
1496
+ createdAt: string;
1497
+ updatedAt: string;
1498
+ }[];
1499
+ total: number;
1500
+ limit: number;
1501
+ offset: number;
1502
+ };
1503
+ outputFormat: "json";
1504
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1505
+ };
1506
+ };
1507
+ } & {
1508
+ "/order-items": {
1509
+ $post: {
1510
+ input: {};
1511
+ output: {
1512
+ data: {
1513
+ orderId: string;
1514
+ createdAt: string;
1515
+ updatedAt: string;
1516
+ description: string | null;
1517
+ id: string;
1518
+ notes: string | null;
1519
+ title: string;
1520
+ status: "draft" | "confirmed" | "fulfilled" | "cancelled" | "priced";
1521
+ taxAmountCents: number | null;
1522
+ feeAmountCents: number | null;
1523
+ metadata: import("hono/utils/types").JSONValue;
1524
+ productId: string | null;
1525
+ optionId: string | null;
1526
+ unitId: string | null;
1527
+ slotId: string | null;
1528
+ itemType: "other" | "unit" | "service" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
1529
+ serviceDate: string | null;
1530
+ startsAt: string | null;
1531
+ endsAt: string | null;
1532
+ quantity: number;
1533
+ sellCurrency: string;
1534
+ unitSellAmountCents: number | null;
1535
+ totalSellAmountCents: number | null;
1536
+ costCurrency: string | null;
1537
+ unitCostAmountCents: number | null;
1538
+ totalCostAmountCents: number | null;
1539
+ offerItemId: string | null;
1540
+ } | null;
1541
+ };
1542
+ outputFormat: "json";
1543
+ status: 201;
1544
+ };
1545
+ };
1546
+ } & {
1547
+ "/order-items/:id": {
1548
+ $get: {
1549
+ input: {
1550
+ param: {
1551
+ id: string;
1552
+ };
1553
+ };
1554
+ output: {
1555
+ error: string;
1556
+ };
1557
+ outputFormat: "json";
1558
+ status: 404;
1559
+ } | {
1560
+ input: {
1561
+ param: {
1562
+ id: string;
1563
+ };
1564
+ };
1565
+ output: {
1566
+ data: {
1567
+ id: string;
1568
+ orderId: string;
1569
+ offerItemId: string | null;
1570
+ productId: string | null;
1571
+ optionId: string | null;
1572
+ unitId: string | null;
1573
+ slotId: string | null;
1574
+ title: string;
1575
+ description: string | null;
1576
+ itemType: "other" | "unit" | "service" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
1577
+ status: "draft" | "confirmed" | "fulfilled" | "cancelled" | "priced";
1578
+ serviceDate: string | null;
1579
+ startsAt: string | null;
1580
+ endsAt: string | null;
1581
+ quantity: number;
1582
+ sellCurrency: string;
1583
+ unitSellAmountCents: number | null;
1584
+ totalSellAmountCents: number | null;
1585
+ taxAmountCents: number | null;
1586
+ feeAmountCents: number | null;
1587
+ costCurrency: string | null;
1588
+ unitCostAmountCents: number | null;
1589
+ totalCostAmountCents: number | null;
1590
+ notes: string | null;
1591
+ metadata: import("hono/utils/types").JSONValue;
1592
+ createdAt: string;
1593
+ updatedAt: string;
1594
+ };
1595
+ };
1596
+ outputFormat: "json";
1597
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1598
+ };
1599
+ };
1600
+ } & {
1601
+ "/order-items/:id": {
1602
+ $patch: {
1603
+ input: {
1604
+ param: {
1605
+ id: string;
1606
+ };
1607
+ };
1608
+ output: {
1609
+ error: string;
1610
+ };
1611
+ outputFormat: "json";
1612
+ status: 404;
1613
+ } | {
1614
+ input: {
1615
+ param: {
1616
+ id: string;
1617
+ };
1618
+ };
1619
+ output: {
1620
+ data: {
1621
+ id: string;
1622
+ orderId: string;
1623
+ offerItemId: string | null;
1624
+ productId: string | null;
1625
+ optionId: string | null;
1626
+ unitId: string | null;
1627
+ slotId: string | null;
1628
+ title: string;
1629
+ description: string | null;
1630
+ itemType: "other" | "unit" | "service" | "extra" | "fee" | "tax" | "discount" | "adjustment" | "accommodation" | "transport";
1631
+ status: "draft" | "confirmed" | "fulfilled" | "cancelled" | "priced";
1632
+ serviceDate: string | null;
1633
+ startsAt: string | null;
1634
+ endsAt: string | null;
1635
+ quantity: number;
1636
+ sellCurrency: string;
1637
+ unitSellAmountCents: number | null;
1638
+ totalSellAmountCents: number | null;
1639
+ taxAmountCents: number | null;
1640
+ feeAmountCents: number | null;
1641
+ costCurrency: string | null;
1642
+ unitCostAmountCents: number | null;
1643
+ totalCostAmountCents: number | null;
1644
+ notes: string | null;
1645
+ metadata: import("hono/utils/types").JSONValue;
1646
+ createdAt: string;
1647
+ updatedAt: string;
1648
+ };
1649
+ };
1650
+ outputFormat: "json";
1651
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1652
+ };
1653
+ };
1654
+ } & {
1655
+ "/order-items/:id": {
1656
+ $delete: {
1657
+ input: {
1658
+ param: {
1659
+ id: string;
1660
+ };
1661
+ };
1662
+ output: {
1663
+ error: string;
1664
+ };
1665
+ outputFormat: "json";
1666
+ status: 404;
1667
+ } | {
1668
+ input: {
1669
+ param: {
1670
+ id: string;
1671
+ };
1672
+ };
1673
+ output: {
1674
+ success: true;
1675
+ };
1676
+ outputFormat: "json";
1677
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1678
+ };
1679
+ };
1680
+ } & {
1681
+ "/order-item-participants": {
1682
+ $get: {
1683
+ input: {};
1684
+ output: {
1685
+ data: {
1686
+ id: string;
1687
+ orderItemId: string;
1688
+ participantId: string;
1689
+ role: "other" | "traveler" | "occupant" | "primary_contact" | "beneficiary" | "service_assignee";
1690
+ isPrimary: boolean;
1691
+ createdAt: string;
1692
+ }[];
1693
+ total: number;
1694
+ limit: number;
1695
+ offset: number;
1696
+ };
1697
+ outputFormat: "json";
1698
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1699
+ };
1700
+ };
1701
+ } & {
1702
+ "/order-item-participants": {
1703
+ $post: {
1704
+ input: {};
1705
+ output: {
1706
+ data: {
1707
+ createdAt: string;
1708
+ id: string;
1709
+ isPrimary: boolean;
1710
+ participantId: string;
1711
+ role: "other" | "traveler" | "occupant" | "primary_contact" | "beneficiary" | "service_assignee";
1712
+ orderItemId: string;
1713
+ } | null;
1714
+ };
1715
+ outputFormat: "json";
1716
+ status: 201;
1717
+ };
1718
+ };
1719
+ } & {
1720
+ "/order-item-participants/:id": {
1721
+ $get: {
1722
+ input: {
1723
+ param: {
1724
+ id: string;
1725
+ };
1726
+ };
1727
+ output: {
1728
+ error: string;
1729
+ };
1730
+ outputFormat: "json";
1731
+ status: 404;
1732
+ } | {
1733
+ input: {
1734
+ param: {
1735
+ id: string;
1736
+ };
1737
+ };
1738
+ output: {
1739
+ data: {
1740
+ id: string;
1741
+ orderItemId: string;
1742
+ participantId: string;
1743
+ role: "other" | "traveler" | "occupant" | "primary_contact" | "beneficiary" | "service_assignee";
1744
+ isPrimary: boolean;
1745
+ createdAt: string;
1746
+ };
1747
+ };
1748
+ outputFormat: "json";
1749
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1750
+ };
1751
+ };
1752
+ } & {
1753
+ "/order-item-participants/:id": {
1754
+ $patch: {
1755
+ input: {
1756
+ param: {
1757
+ id: string;
1758
+ };
1759
+ };
1760
+ output: {
1761
+ error: string;
1762
+ };
1763
+ outputFormat: "json";
1764
+ status: 404;
1765
+ } | {
1766
+ input: {
1767
+ param: {
1768
+ id: string;
1769
+ };
1770
+ };
1771
+ output: {
1772
+ data: {
1773
+ id: string;
1774
+ orderItemId: string;
1775
+ participantId: string;
1776
+ role: "other" | "traveler" | "occupant" | "primary_contact" | "beneficiary" | "service_assignee";
1777
+ isPrimary: boolean;
1778
+ createdAt: string;
1779
+ };
1780
+ };
1781
+ outputFormat: "json";
1782
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1783
+ };
1784
+ };
1785
+ } & {
1786
+ "/order-item-participants/:id": {
1787
+ $delete: {
1788
+ input: {
1789
+ param: {
1790
+ id: string;
1791
+ };
1792
+ };
1793
+ output: {
1794
+ error: string;
1795
+ };
1796
+ outputFormat: "json";
1797
+ status: 404;
1798
+ } | {
1799
+ input: {
1800
+ param: {
1801
+ id: string;
1802
+ };
1803
+ };
1804
+ output: {
1805
+ success: true;
1806
+ };
1807
+ outputFormat: "json";
1808
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1809
+ };
1810
+ };
1811
+ } & {
1812
+ "/order-terms": {
1813
+ $get: {
1814
+ input: {};
1815
+ output: {
1816
+ data: {
1817
+ id: string;
1818
+ offerId: string | null;
1819
+ orderId: string | null;
1820
+ termType: "other" | "terms_and_conditions" | "cancellation" | "guarantee" | "payment" | "pricing" | "commission";
1821
+ title: string;
1822
+ body: string;
1823
+ language: string | null;
1824
+ required: boolean;
1825
+ sortOrder: number;
1826
+ acceptanceStatus: "accepted" | "pending" | "not_required" | "declined";
1827
+ acceptedAt: string | null;
1828
+ acceptedBy: string | null;
1829
+ metadata: import("hono/utils/types").JSONValue;
1830
+ createdAt: string;
1831
+ updatedAt: string;
1832
+ }[];
1833
+ total: number;
1834
+ limit: number;
1835
+ offset: number;
1836
+ };
1837
+ outputFormat: "json";
1838
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1839
+ };
1840
+ };
1841
+ } & {
1842
+ "/order-terms": {
1843
+ $post: {
1844
+ input: {};
1845
+ output: {
1846
+ data: {
1847
+ offerId: string | null;
1848
+ orderId: string | null;
1849
+ createdAt: string;
1850
+ updatedAt: string;
1851
+ body: string;
1852
+ id: string;
1853
+ title: string;
1854
+ acceptedAt: string | null;
1855
+ metadata: import("hono/utils/types").JSONValue;
1856
+ termType: "other" | "terms_and_conditions" | "cancellation" | "guarantee" | "payment" | "pricing" | "commission";
1857
+ language: string | null;
1858
+ required: boolean;
1859
+ sortOrder: number;
1860
+ acceptanceStatus: "accepted" | "pending" | "not_required" | "declined";
1861
+ acceptedBy: string | null;
1862
+ } | null;
1863
+ };
1864
+ outputFormat: "json";
1865
+ status: 201;
1866
+ };
1867
+ };
1868
+ } & {
1869
+ "/order-terms/:id": {
1870
+ $get: {
1871
+ input: {
1872
+ param: {
1873
+ id: string;
1874
+ };
1875
+ };
1876
+ output: {
1877
+ error: string;
1878
+ };
1879
+ outputFormat: "json";
1880
+ status: 404;
1881
+ } | {
1882
+ input: {
1883
+ param: {
1884
+ id: string;
1885
+ };
1886
+ };
1887
+ output: {
1888
+ data: {
1889
+ id: string;
1890
+ offerId: string | null;
1891
+ orderId: string | null;
1892
+ termType: "other" | "terms_and_conditions" | "cancellation" | "guarantee" | "payment" | "pricing" | "commission";
1893
+ title: string;
1894
+ body: string;
1895
+ language: string | null;
1896
+ required: boolean;
1897
+ sortOrder: number;
1898
+ acceptanceStatus: "accepted" | "pending" | "not_required" | "declined";
1899
+ acceptedAt: string | null;
1900
+ acceptedBy: string | null;
1901
+ metadata: import("hono/utils/types").JSONValue;
1902
+ createdAt: string;
1903
+ updatedAt: string;
1904
+ };
1905
+ };
1906
+ outputFormat: "json";
1907
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1908
+ };
1909
+ };
1910
+ } & {
1911
+ "/order-terms/:id": {
1912
+ $patch: {
1913
+ input: {
1914
+ param: {
1915
+ id: string;
1916
+ };
1917
+ };
1918
+ output: {
1919
+ error: string;
1920
+ };
1921
+ outputFormat: "json";
1922
+ status: 404;
1923
+ } | {
1924
+ input: {
1925
+ param: {
1926
+ id: string;
1927
+ };
1928
+ };
1929
+ output: {
1930
+ data: {
1931
+ id: string;
1932
+ offerId: string | null;
1933
+ orderId: string | null;
1934
+ termType: "other" | "terms_and_conditions" | "cancellation" | "guarantee" | "payment" | "pricing" | "commission";
1935
+ title: string;
1936
+ body: string;
1937
+ language: string | null;
1938
+ required: boolean;
1939
+ sortOrder: number;
1940
+ acceptanceStatus: "accepted" | "pending" | "not_required" | "declined";
1941
+ acceptedAt: string | null;
1942
+ acceptedBy: string | null;
1943
+ metadata: import("hono/utils/types").JSONValue;
1944
+ createdAt: string;
1945
+ updatedAt: string;
1946
+ };
1947
+ };
1948
+ outputFormat: "json";
1949
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1950
+ };
1951
+ };
1952
+ } & {
1953
+ "/order-terms/:id": {
1954
+ $delete: {
1955
+ input: {
1956
+ param: {
1957
+ id: string;
1958
+ };
1959
+ };
1960
+ output: {
1961
+ error: string;
1962
+ };
1963
+ outputFormat: "json";
1964
+ status: 404;
1965
+ } | {
1966
+ input: {
1967
+ param: {
1968
+ id: string;
1969
+ };
1970
+ };
1971
+ output: {
1972
+ success: true;
1973
+ };
1974
+ outputFormat: "json";
1975
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1976
+ };
1977
+ };
1978
+ }, "/", "/order-terms/:id">;
1979
+ export type TransactionsRoutes = typeof transactionsRoutes;
1980
+ export {};
1981
+ //# sourceMappingURL=routes.d.ts.map