@voyant-travel/trips 0.110.2

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