@voyant-travel/charters 0.117.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 (108) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +16 -0
  3. package/dist/adapters/index.d.ts +254 -0
  4. package/dist/adapters/index.d.ts.map +1 -0
  5. package/dist/adapters/index.js +16 -0
  6. package/dist/adapters/memoize.d.ts +28 -0
  7. package/dist/adapters/memoize.d.ts.map +1 -0
  8. package/dist/adapters/memoize.js +121 -0
  9. package/dist/adapters/mock.d.ts +50 -0
  10. package/dist/adapters/mock.d.ts.map +1 -0
  11. package/dist/adapters/mock.js +194 -0
  12. package/dist/adapters/registry.d.ts +24 -0
  13. package/dist/adapters/registry.d.ts.map +1 -0
  14. package/dist/adapters/registry.js +40 -0
  15. package/dist/booking-extension.d.ts +895 -0
  16. package/dist/booking-extension.d.ts.map +1 -0
  17. package/dist/booking-extension.js +339 -0
  18. package/dist/catalog-policy.d.ts +23 -0
  19. package/dist/catalog-policy.d.ts.map +1 -0
  20. package/dist/catalog-policy.js +400 -0
  21. package/dist/content-shape.d.ts +5 -0
  22. package/dist/content-shape.d.ts.map +1 -0
  23. package/dist/content-shape.js +13 -0
  24. package/dist/draft-shape.d.ts +29 -0
  25. package/dist/draft-shape.d.ts.map +1 -0
  26. package/dist/draft-shape.js +63 -0
  27. package/dist/index.d.ts +31 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +55 -0
  30. package/dist/lib/key.d.ts +22 -0
  31. package/dist/lib/key.d.ts.map +1 -0
  32. package/dist/lib/key.js +24 -0
  33. package/dist/routes-public.d.ts +785 -0
  34. package/dist/routes-public.d.ts.map +1 -0
  35. package/dist/routes-public.js +234 -0
  36. package/dist/routes.d.ts +1744 -0
  37. package/dist/routes.d.ts.map +1 -0
  38. package/dist/routes.js +543 -0
  39. package/dist/schema-core.d.ts +815 -0
  40. package/dist/schema-core.d.ts.map +1 -0
  41. package/dist/schema-core.js +98 -0
  42. package/dist/schema-itinerary.d.ts +239 -0
  43. package/dist/schema-itinerary.d.ts.map +1 -0
  44. package/dist/schema-itinerary.js +30 -0
  45. package/dist/schema-pricing.d.ts +385 -0
  46. package/dist/schema-pricing.d.ts.map +1 -0
  47. package/dist/schema-pricing.js +62 -0
  48. package/dist/schema-shared.d.ts +8 -0
  49. package/dist/schema-shared.d.ts.map +1 -0
  50. package/dist/schema-shared.js +37 -0
  51. package/dist/schema-sourced-content.d.ts +253 -0
  52. package/dist/schema-sourced-content.d.ts.map +1 -0
  53. package/dist/schema-sourced-content.js +44 -0
  54. package/dist/schema-yachts.d.ts +367 -0
  55. package/dist/schema-yachts.d.ts.map +1 -0
  56. package/dist/schema-yachts.js +30 -0
  57. package/dist/schema.d.ts +8 -0
  58. package/dist/schema.d.ts.map +1 -0
  59. package/dist/schema.js +7 -0
  60. package/dist/service-bookings-helpers.d.ts +20 -0
  61. package/dist/service-bookings-helpers.d.ts.map +1 -0
  62. package/dist/service-bookings-helpers.js +67 -0
  63. package/dist/service-bookings-local.d.ts +5 -0
  64. package/dist/service-bookings-local.d.ts.map +1 -0
  65. package/dist/service-bookings-local.js +177 -0
  66. package/dist/service-bookings-types.d.ts +88 -0
  67. package/dist/service-bookings-types.d.ts.map +1 -0
  68. package/dist/service-bookings-types.js +1 -0
  69. package/dist/service-bookings.d.ts +36 -0
  70. package/dist/service-bookings.d.ts.map +1 -0
  71. package/dist/service-bookings.js +267 -0
  72. package/dist/service-catalog-plane.d.ts +58 -0
  73. package/dist/service-catalog-plane.d.ts.map +1 -0
  74. package/dist/service-catalog-plane.js +145 -0
  75. package/dist/service-content-synthesizer.d.ts +42 -0
  76. package/dist/service-content-synthesizer.d.ts.map +1 -0
  77. package/dist/service-content-synthesizer.js +122 -0
  78. package/dist/service-content.d.ts +43 -0
  79. package/dist/service-content.d.ts.map +1 -0
  80. package/dist/service-content.js +248 -0
  81. package/dist/service-myba.d.ts +85 -0
  82. package/dist/service-myba.d.ts.map +1 -0
  83. package/dist/service-myba.js +88 -0
  84. package/dist/service-pricing.d.ts +64 -0
  85. package/dist/service-pricing.d.ts.map +1 -0
  86. package/dist/service-pricing.js +167 -0
  87. package/dist/service.d.ts +131 -0
  88. package/dist/service.d.ts.map +1 -0
  89. package/dist/service.js +279 -0
  90. package/dist/validation-core.d.ts +152 -0
  91. package/dist/validation-core.d.ts.map +1 -0
  92. package/dist/validation-core.js +66 -0
  93. package/dist/validation-itinerary.d.ts +43 -0
  94. package/dist/validation-itinerary.d.ts.map +1 -0
  95. package/dist/validation-itinerary.js +19 -0
  96. package/dist/validation-pricing.d.ts +103 -0
  97. package/dist/validation-pricing.d.ts.map +1 -0
  98. package/dist/validation-pricing.js +28 -0
  99. package/dist/validation-shared.d.ts +61 -0
  100. package/dist/validation-shared.d.ts.map +1 -0
  101. package/dist/validation-shared.js +60 -0
  102. package/dist/validation-yachts.d.ts +76 -0
  103. package/dist/validation-yachts.d.ts.map +1 -0
  104. package/dist/validation-yachts.js +36 -0
  105. package/dist/validation.d.ts +6 -0
  106. package/dist/validation.d.ts.map +1 -0
  107. package/dist/validation.js +5 -0
  108. package/package.json +116 -0
@@ -0,0 +1,1744 @@
1
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ import { type CharterContractsService } from "./service-myba.js";
3
+ type Env = {
4
+ Variables: {
5
+ db: PostgresJsDatabase;
6
+ userId?: string;
7
+ /**
8
+ * Optional injection of `@voyant-travel/legal`'s contractsService — set by
9
+ * the template at app boot so MYBA generation routes can run without
10
+ * charters taking a hard dep on legal. When unset, the
11
+ * `/bookings/:bookingId/myba` endpoint returns 501.
12
+ */
13
+ chartersContractsService?: CharterContractsService;
14
+ };
15
+ };
16
+ export declare const chartersAdminRoutes: import("hono/hono-base").HonoBase<Env, {
17
+ "/products": {
18
+ $get: {
19
+ input: {};
20
+ output: {
21
+ data: ({
22
+ source: "local";
23
+ sourceProvider: null;
24
+ sourceRef: null;
25
+ key: string;
26
+ product: {
27
+ id: string;
28
+ slug: string;
29
+ name: string;
30
+ lineSupplierId: string | null;
31
+ defaultYachtId: string | null;
32
+ description: string | null;
33
+ shortDescription: string | null;
34
+ heroImageUrl: string | null;
35
+ mapImageUrl: string | null;
36
+ regions: string[] | null;
37
+ themes: string[] | null;
38
+ status: "draft" | "awaiting_review" | "live" | "archived";
39
+ defaultBookingModes: ("per_suite" | "whole_yacht")[] | null;
40
+ defaultMybaTemplateId: string | null;
41
+ defaultApaPercent: string | null;
42
+ lowestPriceCachedAmount: string | null;
43
+ lowestPriceCachedCurrency: string | null;
44
+ earliestVoyageCached: string | null;
45
+ latestVoyageCached: string | null;
46
+ externalRefs: {
47
+ [x: string]: string;
48
+ } | null;
49
+ createdAt: string;
50
+ updatedAt: string;
51
+ };
52
+ } | {
53
+ source: "external";
54
+ sourceProvider: string;
55
+ sourceRef: {
56
+ [x: string]: import("hono/utils/types").JSONValue;
57
+ connectionId?: string | undefined;
58
+ externalId: string;
59
+ };
60
+ key: string;
61
+ product: import("hono/utils/types").JSONValue;
62
+ })[];
63
+ total: number;
64
+ localTotal: number;
65
+ adapterCount: number;
66
+ adapterErrors: {
67
+ adapter: string;
68
+ error: string;
69
+ }[];
70
+ limit: number;
71
+ offset: number;
72
+ };
73
+ outputFormat: "json";
74
+ status: import("hono/utils/http-status").ContentfulStatusCode;
75
+ };
76
+ };
77
+ } & {
78
+ "/products": {
79
+ $post: {
80
+ input: {};
81
+ output: {
82
+ data: {
83
+ name: string;
84
+ createdAt: string;
85
+ updatedAt: string;
86
+ description: string | null;
87
+ id: string;
88
+ status: "draft" | "awaiting_review" | "live" | "archived";
89
+ lineSupplierId: string | null;
90
+ slug: string;
91
+ externalRefs: {
92
+ [x: string]: string;
93
+ } | null;
94
+ defaultYachtId: string | null;
95
+ shortDescription: string | null;
96
+ heroImageUrl: string | null;
97
+ mapImageUrl: string | null;
98
+ regions: string[] | null;
99
+ themes: string[] | null;
100
+ defaultBookingModes: ("per_suite" | "whole_yacht")[] | null;
101
+ defaultMybaTemplateId: string | null;
102
+ defaultApaPercent: string | null;
103
+ lowestPriceCachedAmount: string | null;
104
+ lowestPriceCachedCurrency: string | null;
105
+ earliestVoyageCached: string | null;
106
+ latestVoyageCached: string | null;
107
+ };
108
+ };
109
+ outputFormat: "json";
110
+ status: 201;
111
+ };
112
+ };
113
+ } & {
114
+ "/products/:key": {
115
+ $get: {
116
+ input: {
117
+ param: {
118
+ key: string;
119
+ };
120
+ };
121
+ output: {
122
+ error: string;
123
+ detail: string;
124
+ };
125
+ outputFormat: "json";
126
+ status: 400;
127
+ } | {
128
+ input: {
129
+ param: {
130
+ key: string;
131
+ };
132
+ };
133
+ output: {
134
+ error: string;
135
+ detail: string;
136
+ };
137
+ outputFormat: "json";
138
+ status: 501;
139
+ } | {
140
+ input: {
141
+ param: {
142
+ key: string;
143
+ };
144
+ };
145
+ output: {
146
+ error: string;
147
+ };
148
+ outputFormat: "json";
149
+ status: 404;
150
+ } | {
151
+ input: {
152
+ param: {
153
+ key: string;
154
+ };
155
+ };
156
+ output: {
157
+ data: {
158
+ [x: string]: import("hono/utils/types").JSONValue;
159
+ };
160
+ };
161
+ outputFormat: "json";
162
+ status: import("hono/utils/http-status").ContentfulStatusCode;
163
+ } | {
164
+ input: {
165
+ param: {
166
+ key: string;
167
+ };
168
+ };
169
+ output: {
170
+ data: {
171
+ name: string;
172
+ createdAt: string;
173
+ updatedAt: string;
174
+ description: string | null;
175
+ id: string;
176
+ status: "draft" | "awaiting_review" | "live" | "archived";
177
+ lineSupplierId: string | null;
178
+ slug: string;
179
+ externalRefs: {
180
+ [x: string]: string;
181
+ } | null;
182
+ defaultYachtId: string | null;
183
+ shortDescription: string | null;
184
+ heroImageUrl: string | null;
185
+ mapImageUrl: string | null;
186
+ regions: string[] | null;
187
+ themes: string[] | null;
188
+ defaultBookingModes: ("per_suite" | "whole_yacht")[] | null;
189
+ defaultMybaTemplateId: string | null;
190
+ defaultApaPercent: string | null;
191
+ lowestPriceCachedAmount: string | null;
192
+ lowestPriceCachedCurrency: string | null;
193
+ earliestVoyageCached: string | null;
194
+ latestVoyageCached: string | null;
195
+ voyages?: {
196
+ name: string | null;
197
+ yachtId: string;
198
+ createdAt: string;
199
+ updatedAt: string;
200
+ id: string;
201
+ externalRefs: {
202
+ [x: string]: string;
203
+ } | null;
204
+ productId: string;
205
+ voyageCode: string;
206
+ embarkPortFacilityId: string | null;
207
+ embarkPortName: string | null;
208
+ disembarkPortFacilityId: string | null;
209
+ disembarkPortName: string | null;
210
+ departureDate: string;
211
+ returnDate: string;
212
+ nights: number;
213
+ bookingModes: ("per_suite" | "whole_yacht")[];
214
+ appointmentOnly: boolean;
215
+ wholeYachtPricesByCurrency: {
216
+ [x: string]: string;
217
+ };
218
+ apaPercentOverride: string | null;
219
+ mybaTemplateIdOverride: string | null;
220
+ charterAreaOverride: string | null;
221
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
222
+ availabilityNote: string | null;
223
+ lastSyncedAt: string | null;
224
+ }[] | undefined;
225
+ yacht?: {
226
+ name: string;
227
+ createdAt: string;
228
+ updatedAt: string;
229
+ description: string | null;
230
+ id: string;
231
+ amenities: {
232
+ [x: string]: import("hono/utils/types").JSONValue;
233
+ } | null;
234
+ lineSupplierId: string | null;
235
+ slug: string;
236
+ yachtClass: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise";
237
+ capacityGuests: number | null;
238
+ capacityCrew: number | null;
239
+ lengthMeters: string | null;
240
+ yearBuilt: number | null;
241
+ yearRefurbished: number | null;
242
+ imo: string | null;
243
+ gallery: string[] | null;
244
+ crewBios: {
245
+ role: string;
246
+ name: string;
247
+ bio?: string | undefined;
248
+ photoUrl?: string | undefined;
249
+ }[] | null;
250
+ defaultCharterAreas: string[] | null;
251
+ externalRefs: {
252
+ [x: string]: string;
253
+ } | null;
254
+ isActive: boolean;
255
+ } | null | undefined;
256
+ };
257
+ };
258
+ outputFormat: "json";
259
+ status: import("hono/utils/http-status").ContentfulStatusCode;
260
+ };
261
+ };
262
+ } & {
263
+ "/products/:key": {
264
+ $put: {
265
+ input: {
266
+ param: {
267
+ key: string;
268
+ };
269
+ };
270
+ output: {
271
+ error: string;
272
+ detail: string;
273
+ };
274
+ outputFormat: "json";
275
+ status: 400;
276
+ } | {
277
+ input: {
278
+ param: {
279
+ key: string;
280
+ };
281
+ };
282
+ output: {
283
+ error: string;
284
+ detail: string;
285
+ };
286
+ outputFormat: "json";
287
+ status: 409;
288
+ } | {
289
+ input: {
290
+ param: {
291
+ key: string;
292
+ };
293
+ };
294
+ output: {
295
+ error: string;
296
+ };
297
+ outputFormat: "json";
298
+ status: 404;
299
+ } | {
300
+ input: {
301
+ param: {
302
+ key: string;
303
+ };
304
+ };
305
+ output: {
306
+ data: {
307
+ name: string;
308
+ createdAt: string;
309
+ updatedAt: string;
310
+ description: string | null;
311
+ id: string;
312
+ status: "draft" | "awaiting_review" | "live" | "archived";
313
+ lineSupplierId: string | null;
314
+ slug: string;
315
+ externalRefs: {
316
+ [x: string]: string;
317
+ } | null;
318
+ defaultYachtId: string | null;
319
+ shortDescription: string | null;
320
+ heroImageUrl: string | null;
321
+ mapImageUrl: string | null;
322
+ regions: string[] | null;
323
+ themes: string[] | null;
324
+ defaultBookingModes: ("per_suite" | "whole_yacht")[] | null;
325
+ defaultMybaTemplateId: string | null;
326
+ defaultApaPercent: string | null;
327
+ lowestPriceCachedAmount: string | null;
328
+ lowestPriceCachedCurrency: string | null;
329
+ earliestVoyageCached: string | null;
330
+ latestVoyageCached: string | null;
331
+ };
332
+ };
333
+ outputFormat: "json";
334
+ status: import("hono/utils/http-status").ContentfulStatusCode;
335
+ };
336
+ };
337
+ } & {
338
+ "/products/:key": {
339
+ $delete: {
340
+ input: {
341
+ param: {
342
+ key: string;
343
+ };
344
+ };
345
+ output: {
346
+ error: string;
347
+ detail: string;
348
+ };
349
+ outputFormat: "json";
350
+ status: 400;
351
+ } | {
352
+ input: {
353
+ param: {
354
+ key: string;
355
+ };
356
+ };
357
+ output: {
358
+ error: string;
359
+ detail: string;
360
+ };
361
+ outputFormat: "json";
362
+ status: 409;
363
+ } | {
364
+ input: {
365
+ param: {
366
+ key: string;
367
+ };
368
+ };
369
+ output: {
370
+ error: string;
371
+ };
372
+ outputFormat: "json";
373
+ status: 404;
374
+ } | {
375
+ input: {
376
+ param: {
377
+ key: string;
378
+ };
379
+ };
380
+ output: {
381
+ data: {
382
+ name: string;
383
+ createdAt: string;
384
+ updatedAt: string;
385
+ description: string | null;
386
+ id: string;
387
+ status: "draft" | "awaiting_review" | "live" | "archived";
388
+ lineSupplierId: string | null;
389
+ slug: string;
390
+ externalRefs: {
391
+ [x: string]: string;
392
+ } | null;
393
+ defaultYachtId: string | null;
394
+ shortDescription: string | null;
395
+ heroImageUrl: string | null;
396
+ mapImageUrl: string | null;
397
+ regions: string[] | null;
398
+ themes: string[] | null;
399
+ defaultBookingModes: ("per_suite" | "whole_yacht")[] | null;
400
+ defaultMybaTemplateId: string | null;
401
+ defaultApaPercent: string | null;
402
+ lowestPriceCachedAmount: string | null;
403
+ lowestPriceCachedCurrency: string | null;
404
+ earliestVoyageCached: string | null;
405
+ latestVoyageCached: string | null;
406
+ };
407
+ };
408
+ outputFormat: "json";
409
+ status: import("hono/utils/http-status").ContentfulStatusCode;
410
+ };
411
+ };
412
+ } & {
413
+ "/products/:key/aggregates/recompute": {
414
+ $post: {
415
+ input: {
416
+ param: {
417
+ key: string;
418
+ };
419
+ };
420
+ output: {
421
+ error: string;
422
+ detail: string;
423
+ };
424
+ outputFormat: "json";
425
+ status: 400;
426
+ } | {
427
+ input: {
428
+ param: {
429
+ key: string;
430
+ };
431
+ };
432
+ output: {
433
+ error: string;
434
+ detail: string;
435
+ };
436
+ outputFormat: "json";
437
+ status: 409;
438
+ } | {
439
+ input: {
440
+ param: {
441
+ key: string;
442
+ };
443
+ };
444
+ output: {
445
+ error: string;
446
+ };
447
+ outputFormat: "json";
448
+ status: 404;
449
+ } | {
450
+ input: {
451
+ param: {
452
+ key: string;
453
+ };
454
+ };
455
+ output: {
456
+ data: {
457
+ name: string;
458
+ createdAt: string;
459
+ updatedAt: string;
460
+ description: string | null;
461
+ id: string;
462
+ status: "draft" | "awaiting_review" | "live" | "archived";
463
+ lineSupplierId: string | null;
464
+ slug: string;
465
+ externalRefs: {
466
+ [x: string]: string;
467
+ } | null;
468
+ defaultYachtId: string | null;
469
+ shortDescription: string | null;
470
+ heroImageUrl: string | null;
471
+ mapImageUrl: string | null;
472
+ regions: string[] | null;
473
+ themes: string[] | null;
474
+ defaultBookingModes: ("per_suite" | "whole_yacht")[] | null;
475
+ defaultMybaTemplateId: string | null;
476
+ defaultApaPercent: string | null;
477
+ lowestPriceCachedAmount: string | null;
478
+ lowestPriceCachedCurrency: string | null;
479
+ earliestVoyageCached: string | null;
480
+ latestVoyageCached: string | null;
481
+ };
482
+ };
483
+ outputFormat: "json";
484
+ status: import("hono/utils/http-status").ContentfulStatusCode;
485
+ };
486
+ };
487
+ } & {
488
+ "/products/:key/voyages": {
489
+ $get: {
490
+ input: {
491
+ param: {
492
+ key: string;
493
+ };
494
+ };
495
+ output: {
496
+ data: {
497
+ id: string;
498
+ productId: string;
499
+ yachtId: string;
500
+ voyageCode: string;
501
+ name: string | null;
502
+ embarkPortFacilityId: string | null;
503
+ embarkPortName: string | null;
504
+ disembarkPortFacilityId: string | null;
505
+ disembarkPortName: string | null;
506
+ departureDate: string;
507
+ returnDate: string;
508
+ nights: number;
509
+ bookingModes: ("per_suite" | "whole_yacht")[];
510
+ appointmentOnly: boolean;
511
+ wholeYachtPricesByCurrency: {
512
+ [x: string]: string;
513
+ };
514
+ apaPercentOverride: string | null;
515
+ mybaTemplateIdOverride: string | null;
516
+ charterAreaOverride: string | null;
517
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
518
+ availabilityNote: string | null;
519
+ externalRefs: {
520
+ [x: string]: string;
521
+ } | null;
522
+ lastSyncedAt: string | null;
523
+ createdAt: string;
524
+ updatedAt: string;
525
+ }[];
526
+ total: number;
527
+ limit: number;
528
+ offset: number;
529
+ };
530
+ outputFormat: "json";
531
+ status: import("hono/utils/http-status").ContentfulStatusCode;
532
+ } | {
533
+ input: {
534
+ param: {
535
+ key: string;
536
+ };
537
+ };
538
+ output: {
539
+ error: string;
540
+ detail: string;
541
+ };
542
+ outputFormat: "json";
543
+ status: 400;
544
+ } | {
545
+ input: {
546
+ param: {
547
+ key: string;
548
+ };
549
+ };
550
+ output: {
551
+ error: string;
552
+ detail: string;
553
+ };
554
+ outputFormat: "json";
555
+ status: 501;
556
+ } | {
557
+ input: {
558
+ param: {
559
+ key: string;
560
+ };
561
+ };
562
+ output: {
563
+ data: {
564
+ source: "external";
565
+ sourceProvider: string;
566
+ key: string;
567
+ voyage: {
568
+ sourceRef: {
569
+ [x: string]: import("hono/utils/types").JSONValue;
570
+ connectionId?: string | undefined;
571
+ externalId: string;
572
+ };
573
+ productRef: {
574
+ [x: string]: import("hono/utils/types").JSONValue;
575
+ connectionId?: string | undefined;
576
+ externalId: string;
577
+ };
578
+ yachtRef: {
579
+ [x: string]: import("hono/utils/types").JSONValue;
580
+ connectionId?: string | undefined;
581
+ externalId: string;
582
+ };
583
+ voyageCode: string;
584
+ name?: string | null | undefined;
585
+ embarkPortName?: string | null | undefined;
586
+ disembarkPortName?: string | null | undefined;
587
+ departureDate: string;
588
+ returnDate: string;
589
+ nights: number;
590
+ bookingModes: Array<"per_suite" | "whole_yacht">;
591
+ appointmentOnly?: boolean | undefined;
592
+ wholeYachtPricesByCurrency?: {
593
+ [x: string]: string;
594
+ } | undefined;
595
+ apaPercentOverride?: string | null | undefined;
596
+ mybaTemplateRefOverride?: string | null | undefined;
597
+ charterAreaOverride?: string | null | undefined;
598
+ salesStatus?: "open" | "on_request" | "wait_list" | "sold_out" | "closed" | undefined;
599
+ availabilityNote?: string | null | undefined;
600
+ };
601
+ }[];
602
+ total: number;
603
+ };
604
+ outputFormat: "json";
605
+ status: import("hono/utils/http-status").ContentfulStatusCode;
606
+ };
607
+ };
608
+ } & {
609
+ "/voyages": {
610
+ $get: {
611
+ input: {};
612
+ output: {
613
+ data: {
614
+ id: string;
615
+ productId: string;
616
+ yachtId: string;
617
+ voyageCode: string;
618
+ name: string | null;
619
+ embarkPortFacilityId: string | null;
620
+ embarkPortName: string | null;
621
+ disembarkPortFacilityId: string | null;
622
+ disembarkPortName: string | null;
623
+ departureDate: string;
624
+ returnDate: string;
625
+ nights: number;
626
+ bookingModes: ("per_suite" | "whole_yacht")[];
627
+ appointmentOnly: boolean;
628
+ wholeYachtPricesByCurrency: {
629
+ [x: string]: string;
630
+ };
631
+ apaPercentOverride: string | null;
632
+ mybaTemplateIdOverride: string | null;
633
+ charterAreaOverride: string | null;
634
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
635
+ availabilityNote: string | null;
636
+ externalRefs: {
637
+ [x: string]: string;
638
+ } | null;
639
+ lastSyncedAt: string | null;
640
+ createdAt: string;
641
+ updatedAt: string;
642
+ }[];
643
+ total: number;
644
+ limit: number;
645
+ offset: number;
646
+ };
647
+ outputFormat: "json";
648
+ status: import("hono/utils/http-status").ContentfulStatusCode;
649
+ };
650
+ };
651
+ } & {
652
+ "/voyages": {
653
+ $post: {
654
+ input: {};
655
+ output: {
656
+ data: {
657
+ name: string | null;
658
+ yachtId: string;
659
+ createdAt: string;
660
+ updatedAt: string;
661
+ id: string;
662
+ externalRefs: {
663
+ [x: string]: string;
664
+ } | null;
665
+ productId: string;
666
+ voyageCode: string;
667
+ embarkPortFacilityId: string | null;
668
+ embarkPortName: string | null;
669
+ disembarkPortFacilityId: string | null;
670
+ disembarkPortName: string | null;
671
+ departureDate: string;
672
+ returnDate: string;
673
+ nights: number;
674
+ bookingModes: ("per_suite" | "whole_yacht")[];
675
+ appointmentOnly: boolean;
676
+ wholeYachtPricesByCurrency: {
677
+ [x: string]: string;
678
+ };
679
+ apaPercentOverride: string | null;
680
+ mybaTemplateIdOverride: string | null;
681
+ charterAreaOverride: string | null;
682
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
683
+ availabilityNote: string | null;
684
+ lastSyncedAt: string | null;
685
+ };
686
+ };
687
+ outputFormat: "json";
688
+ status: 201;
689
+ };
690
+ };
691
+ } & {
692
+ "/voyages/:key": {
693
+ $get: {
694
+ input: {
695
+ param: {
696
+ key: string;
697
+ };
698
+ };
699
+ output: {
700
+ error: string;
701
+ detail: string;
702
+ };
703
+ outputFormat: "json";
704
+ status: 400;
705
+ } | {
706
+ input: {
707
+ param: {
708
+ key: string;
709
+ };
710
+ };
711
+ output: {
712
+ error: string;
713
+ detail: string;
714
+ };
715
+ outputFormat: "json";
716
+ status: 501;
717
+ } | {
718
+ input: {
719
+ param: {
720
+ key: string;
721
+ };
722
+ };
723
+ output: {
724
+ error: string;
725
+ };
726
+ outputFormat: "json";
727
+ status: 404;
728
+ } | {
729
+ input: {
730
+ param: {
731
+ key: string;
732
+ };
733
+ };
734
+ output: {
735
+ data: {
736
+ [x: string]: import("hono/utils/types").JSONValue;
737
+ };
738
+ };
739
+ outputFormat: "json";
740
+ status: import("hono/utils/http-status").ContentfulStatusCode;
741
+ } | {
742
+ input: {
743
+ param: {
744
+ key: string;
745
+ };
746
+ };
747
+ output: {
748
+ data: {
749
+ name: string | null;
750
+ yachtId: string;
751
+ createdAt: string;
752
+ updatedAt: string;
753
+ id: string;
754
+ externalRefs: {
755
+ [x: string]: string;
756
+ } | null;
757
+ productId: string;
758
+ voyageCode: string;
759
+ embarkPortFacilityId: string | null;
760
+ embarkPortName: string | null;
761
+ disembarkPortFacilityId: string | null;
762
+ disembarkPortName: string | null;
763
+ departureDate: string;
764
+ returnDate: string;
765
+ nights: number;
766
+ bookingModes: ("per_suite" | "whole_yacht")[];
767
+ appointmentOnly: boolean;
768
+ wholeYachtPricesByCurrency: {
769
+ [x: string]: string;
770
+ };
771
+ apaPercentOverride: string | null;
772
+ mybaTemplateIdOverride: string | null;
773
+ charterAreaOverride: string | null;
774
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
775
+ availabilityNote: string | null;
776
+ lastSyncedAt: string | null;
777
+ suites?: {
778
+ voyageId: string;
779
+ notes: string | null;
780
+ createdAt: string;
781
+ updatedAt: string;
782
+ description: string | null;
783
+ id: string;
784
+ images: string[] | null;
785
+ externalRefs: {
786
+ [x: string]: string;
787
+ } | null;
788
+ appointmentOnly: boolean;
789
+ lastSyncedAt: string | null;
790
+ suiteCode: string;
791
+ suiteName: string;
792
+ suiteCategory: "standard" | "deluxe" | "suite" | "penthouse" | "owners" | "signature" | null;
793
+ squareFeet: string | null;
794
+ floorplanImages: string[] | null;
795
+ maxGuests: number | null;
796
+ pricesByCurrency: {
797
+ [x: string]: string;
798
+ };
799
+ portFeesByCurrency: {
800
+ [x: string]: string;
801
+ };
802
+ availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
803
+ unitsAvailable: number | null;
804
+ extra: {
805
+ [x: string]: import("hono/utils/types").JSONValue;
806
+ } | null;
807
+ }[] | undefined;
808
+ schedule?: {
809
+ voyageId: string;
810
+ createdAt: string;
811
+ updatedAt: string;
812
+ description: string | null;
813
+ id: string;
814
+ activities: string[] | null;
815
+ dayNumber: number;
816
+ portFacilityId: string | null;
817
+ portName: string | null;
818
+ scheduleDate: string | null;
819
+ arrivalTime: string | null;
820
+ departureTime: string | null;
821
+ isSeaDay: boolean;
822
+ }[] | undefined;
823
+ };
824
+ };
825
+ outputFormat: "json";
826
+ status: import("hono/utils/http-status").ContentfulStatusCode;
827
+ };
828
+ };
829
+ } & {
830
+ "/voyages/:key": {
831
+ $put: {
832
+ input: {
833
+ param: {
834
+ key: string;
835
+ };
836
+ };
837
+ output: {
838
+ error: string;
839
+ detail: string;
840
+ };
841
+ outputFormat: "json";
842
+ status: 400;
843
+ } | {
844
+ input: {
845
+ param: {
846
+ key: string;
847
+ };
848
+ };
849
+ output: {
850
+ error: string;
851
+ detail: string;
852
+ };
853
+ outputFormat: "json";
854
+ status: 409;
855
+ } | {
856
+ input: {
857
+ param: {
858
+ key: string;
859
+ };
860
+ };
861
+ output: {
862
+ error: string;
863
+ };
864
+ outputFormat: "json";
865
+ status: 404;
866
+ } | {
867
+ input: {
868
+ param: {
869
+ key: string;
870
+ };
871
+ };
872
+ output: {
873
+ data: {
874
+ name: string | null;
875
+ yachtId: string;
876
+ createdAt: string;
877
+ updatedAt: string;
878
+ id: string;
879
+ externalRefs: {
880
+ [x: string]: string;
881
+ } | null;
882
+ productId: string;
883
+ voyageCode: string;
884
+ embarkPortFacilityId: string | null;
885
+ embarkPortName: string | null;
886
+ disembarkPortFacilityId: string | null;
887
+ disembarkPortName: string | null;
888
+ departureDate: string;
889
+ returnDate: string;
890
+ nights: number;
891
+ bookingModes: ("per_suite" | "whole_yacht")[];
892
+ appointmentOnly: boolean;
893
+ wholeYachtPricesByCurrency: {
894
+ [x: string]: string;
895
+ };
896
+ apaPercentOverride: string | null;
897
+ mybaTemplateIdOverride: string | null;
898
+ charterAreaOverride: string | null;
899
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
900
+ availabilityNote: string | null;
901
+ lastSyncedAt: string | null;
902
+ };
903
+ };
904
+ outputFormat: "json";
905
+ status: import("hono/utils/http-status").ContentfulStatusCode;
906
+ };
907
+ };
908
+ } & {
909
+ "/voyages/:key/suites/bulk": {
910
+ $put: {
911
+ input: {
912
+ param: {
913
+ key: string;
914
+ };
915
+ };
916
+ output: {
917
+ error: string;
918
+ detail: string;
919
+ };
920
+ outputFormat: "json";
921
+ status: 400;
922
+ } | {
923
+ input: {
924
+ param: {
925
+ key: string;
926
+ };
927
+ };
928
+ output: {
929
+ error: string;
930
+ detail: string;
931
+ };
932
+ outputFormat: "json";
933
+ status: 409;
934
+ } | {
935
+ input: {
936
+ param: {
937
+ key: string;
938
+ };
939
+ };
940
+ output: {
941
+ data: {
942
+ voyageId: string;
943
+ notes: string | null;
944
+ createdAt: string;
945
+ updatedAt: string;
946
+ description: string | null;
947
+ id: string;
948
+ images: string[] | null;
949
+ externalRefs: {
950
+ [x: string]: string;
951
+ } | null;
952
+ appointmentOnly: boolean;
953
+ lastSyncedAt: string | null;
954
+ suiteCode: string;
955
+ suiteName: string;
956
+ suiteCategory: "standard" | "deluxe" | "suite" | "penthouse" | "owners" | "signature" | null;
957
+ squareFeet: string | null;
958
+ floorplanImages: string[] | null;
959
+ maxGuests: number | null;
960
+ pricesByCurrency: {
961
+ [x: string]: string;
962
+ };
963
+ portFeesByCurrency: {
964
+ [x: string]: string;
965
+ };
966
+ availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
967
+ unitsAvailable: number | null;
968
+ extra: {
969
+ [x: string]: import("hono/utils/types").JSONValue;
970
+ } | null;
971
+ }[];
972
+ };
973
+ outputFormat: "json";
974
+ status: import("hono/utils/http-status").ContentfulStatusCode;
975
+ };
976
+ };
977
+ } & {
978
+ "/voyages/:key/schedule/bulk": {
979
+ $put: {
980
+ input: {
981
+ param: {
982
+ key: string;
983
+ };
984
+ };
985
+ output: {
986
+ error: string;
987
+ detail: string;
988
+ };
989
+ outputFormat: "json";
990
+ status: 400;
991
+ } | {
992
+ input: {
993
+ param: {
994
+ key: string;
995
+ };
996
+ };
997
+ output: {
998
+ error: string;
999
+ detail: string;
1000
+ };
1001
+ outputFormat: "json";
1002
+ status: 409;
1003
+ } | {
1004
+ input: {
1005
+ param: {
1006
+ key: string;
1007
+ };
1008
+ };
1009
+ output: {
1010
+ data: {
1011
+ voyageId: string;
1012
+ createdAt: string;
1013
+ updatedAt: string;
1014
+ description: string | null;
1015
+ id: string;
1016
+ activities: string[] | null;
1017
+ dayNumber: number;
1018
+ portFacilityId: string | null;
1019
+ portName: string | null;
1020
+ scheduleDate: string | null;
1021
+ arrivalTime: string | null;
1022
+ departureTime: string | null;
1023
+ isSeaDay: boolean;
1024
+ }[];
1025
+ };
1026
+ outputFormat: "json";
1027
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1028
+ };
1029
+ };
1030
+ } & {
1031
+ "/voyages/:key/quote/per-suite": {
1032
+ $post: {
1033
+ input: {
1034
+ param: {
1035
+ key: string;
1036
+ };
1037
+ };
1038
+ output: {
1039
+ error: string;
1040
+ detail: string;
1041
+ };
1042
+ outputFormat: "json";
1043
+ status: 400;
1044
+ } | {
1045
+ input: {
1046
+ param: {
1047
+ key: string;
1048
+ };
1049
+ };
1050
+ output: {
1051
+ error: string;
1052
+ detail: string;
1053
+ };
1054
+ outputFormat: "json";
1055
+ status: 501;
1056
+ } | {
1057
+ input: {
1058
+ param: {
1059
+ key: string;
1060
+ };
1061
+ };
1062
+ output: {
1063
+ error: string;
1064
+ };
1065
+ outputFormat: "json";
1066
+ status: 404;
1067
+ } | {
1068
+ input: {
1069
+ param: {
1070
+ key: string;
1071
+ };
1072
+ };
1073
+ output: {
1074
+ data: {
1075
+ mode: "per_suite";
1076
+ voyageId: string;
1077
+ suiteId: string;
1078
+ suiteName: string;
1079
+ currency: string;
1080
+ suitePrice: string;
1081
+ portFee: string | null;
1082
+ total: string;
1083
+ };
1084
+ };
1085
+ outputFormat: "json";
1086
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1087
+ };
1088
+ };
1089
+ } & {
1090
+ "/voyages/:key/bookings/per-suite": {
1091
+ $post: {
1092
+ input: {
1093
+ param: {
1094
+ key: string;
1095
+ };
1096
+ };
1097
+ output: {
1098
+ error: string;
1099
+ detail: string;
1100
+ };
1101
+ outputFormat: "json";
1102
+ status: 400;
1103
+ } | {
1104
+ input: {
1105
+ param: {
1106
+ key: string;
1107
+ };
1108
+ };
1109
+ output: {
1110
+ error: string;
1111
+ detail: string;
1112
+ };
1113
+ outputFormat: "json";
1114
+ status: 501;
1115
+ } | {
1116
+ input: {
1117
+ param: {
1118
+ key: string;
1119
+ };
1120
+ };
1121
+ output: {
1122
+ data: {
1123
+ bookingId: string;
1124
+ bookingNumber: string;
1125
+ charterDetails: {
1126
+ bookingId: string;
1127
+ bookingMode: "per_suite" | "whole_yacht";
1128
+ source: "local" | "external";
1129
+ sourceProvider: string | null;
1130
+ sourceRef: {
1131
+ [x: string]: import("hono/utils/types").JSONValue;
1132
+ connectionId?: string | undefined;
1133
+ externalId: string;
1134
+ } | null;
1135
+ voyageId: string | null;
1136
+ suiteId: string | null;
1137
+ yachtId: string | null;
1138
+ voyageDisplayName: string | null;
1139
+ suiteDisplayName: string | null;
1140
+ yachtName: string | null;
1141
+ charterAreaSnapshot: string | null;
1142
+ guestCount: number;
1143
+ quotedCurrency: string;
1144
+ quotedSuitePrice: string | null;
1145
+ quotedPortFee: string | null;
1146
+ quotedCharterFee: string | null;
1147
+ apaPercent: string | null;
1148
+ apaAmount: string | null;
1149
+ quotedTotal: string;
1150
+ mybaTemplateIdSnapshot: string | null;
1151
+ mybaContractId: string | null;
1152
+ apaPaidAmount: string | null;
1153
+ apaSpentAmount: string | null;
1154
+ apaRefundAmount: string | null;
1155
+ apaSettledAt: string | null;
1156
+ connectorBookingRef: string | null;
1157
+ connectorStatus: string | null;
1158
+ notes: string | null;
1159
+ createdAt: string;
1160
+ updatedAt: string;
1161
+ };
1162
+ quote: {
1163
+ mode: "per_suite";
1164
+ voyageId: string;
1165
+ suiteId: string;
1166
+ suiteName: string;
1167
+ currency: string;
1168
+ suitePrice: string;
1169
+ portFee: string | null;
1170
+ total: string;
1171
+ };
1172
+ };
1173
+ };
1174
+ outputFormat: "json";
1175
+ status: 201;
1176
+ };
1177
+ };
1178
+ } & {
1179
+ "/voyages/:key/quote/whole-yacht": {
1180
+ $post: {
1181
+ input: {
1182
+ param: {
1183
+ key: string;
1184
+ };
1185
+ };
1186
+ output: {
1187
+ error: string;
1188
+ detail: string;
1189
+ };
1190
+ outputFormat: "json";
1191
+ status: 400;
1192
+ } | {
1193
+ input: {
1194
+ param: {
1195
+ key: string;
1196
+ };
1197
+ };
1198
+ output: {
1199
+ error: string;
1200
+ detail: string;
1201
+ };
1202
+ outputFormat: "json";
1203
+ status: 501;
1204
+ } | {
1205
+ input: {
1206
+ param: {
1207
+ key: string;
1208
+ };
1209
+ };
1210
+ output: {
1211
+ error: string;
1212
+ };
1213
+ outputFormat: "json";
1214
+ status: 404;
1215
+ } | {
1216
+ input: {
1217
+ param: {
1218
+ key: string;
1219
+ };
1220
+ };
1221
+ output: {
1222
+ data: {
1223
+ mode: "whole_yacht";
1224
+ voyageId: string;
1225
+ currency: string;
1226
+ charterFee: string;
1227
+ apaPercent: string;
1228
+ apaAmount: string;
1229
+ total: string;
1230
+ };
1231
+ };
1232
+ outputFormat: "json";
1233
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1234
+ };
1235
+ };
1236
+ } & {
1237
+ "/voyages/:key/bookings/whole-yacht": {
1238
+ $post: {
1239
+ input: {
1240
+ param: {
1241
+ key: string;
1242
+ };
1243
+ };
1244
+ output: {
1245
+ error: string;
1246
+ detail: string;
1247
+ };
1248
+ outputFormat: "json";
1249
+ status: 400;
1250
+ } | {
1251
+ input: {
1252
+ param: {
1253
+ key: string;
1254
+ };
1255
+ };
1256
+ output: {
1257
+ error: string;
1258
+ detail: string;
1259
+ };
1260
+ outputFormat: "json";
1261
+ status: 501;
1262
+ } | {
1263
+ input: {
1264
+ param: {
1265
+ key: string;
1266
+ };
1267
+ };
1268
+ output: {
1269
+ data: {
1270
+ bookingId: string;
1271
+ bookingNumber: string;
1272
+ charterDetails: {
1273
+ bookingId: string;
1274
+ bookingMode: "per_suite" | "whole_yacht";
1275
+ source: "local" | "external";
1276
+ sourceProvider: string | null;
1277
+ sourceRef: {
1278
+ [x: string]: import("hono/utils/types").JSONValue;
1279
+ connectionId?: string | undefined;
1280
+ externalId: string;
1281
+ } | null;
1282
+ voyageId: string | null;
1283
+ suiteId: string | null;
1284
+ yachtId: string | null;
1285
+ voyageDisplayName: string | null;
1286
+ suiteDisplayName: string | null;
1287
+ yachtName: string | null;
1288
+ charterAreaSnapshot: string | null;
1289
+ guestCount: number;
1290
+ quotedCurrency: string;
1291
+ quotedSuitePrice: string | null;
1292
+ quotedPortFee: string | null;
1293
+ quotedCharterFee: string | null;
1294
+ apaPercent: string | null;
1295
+ apaAmount: string | null;
1296
+ quotedTotal: string;
1297
+ mybaTemplateIdSnapshot: string | null;
1298
+ mybaContractId: string | null;
1299
+ apaPaidAmount: string | null;
1300
+ apaSpentAmount: string | null;
1301
+ apaRefundAmount: string | null;
1302
+ apaSettledAt: string | null;
1303
+ connectorBookingRef: string | null;
1304
+ connectorStatus: string | null;
1305
+ notes: string | null;
1306
+ createdAt: string;
1307
+ updatedAt: string;
1308
+ };
1309
+ quote: {
1310
+ mode: "whole_yacht";
1311
+ voyageId: string;
1312
+ currency: string;
1313
+ charterFee: string;
1314
+ apaPercent: string;
1315
+ apaAmount: string;
1316
+ total: string;
1317
+ };
1318
+ };
1319
+ };
1320
+ outputFormat: "json";
1321
+ status: 201;
1322
+ };
1323
+ };
1324
+ } & {
1325
+ "/bookings/:bookingId/myba": {
1326
+ $post: {
1327
+ input: {
1328
+ param: {
1329
+ bookingId: string;
1330
+ };
1331
+ };
1332
+ output: {
1333
+ error: string;
1334
+ detail: string;
1335
+ };
1336
+ outputFormat: "json";
1337
+ status: 501;
1338
+ } | {
1339
+ input: {
1340
+ param: {
1341
+ bookingId: string;
1342
+ };
1343
+ };
1344
+ output: {
1345
+ error: "not_found";
1346
+ };
1347
+ outputFormat: "json";
1348
+ status: 404;
1349
+ } | {
1350
+ input: {
1351
+ param: {
1352
+ bookingId: string;
1353
+ };
1354
+ };
1355
+ output: {
1356
+ status: "wrong_mode";
1357
+ bookingMode: string;
1358
+ error: "wrong_mode";
1359
+ };
1360
+ outputFormat: "json";
1361
+ status: 409;
1362
+ } | {
1363
+ input: {
1364
+ param: {
1365
+ bookingId: string;
1366
+ };
1367
+ };
1368
+ output: {
1369
+ error: "no_template";
1370
+ };
1371
+ outputFormat: "json";
1372
+ status: 412;
1373
+ } | {
1374
+ input: {
1375
+ param: {
1376
+ bookingId: string;
1377
+ };
1378
+ };
1379
+ output: {
1380
+ status: "template_not_found";
1381
+ templateId: string;
1382
+ error: "template_not_found";
1383
+ };
1384
+ outputFormat: "json";
1385
+ status: 404;
1386
+ } | {
1387
+ input: {
1388
+ param: {
1389
+ bookingId: string;
1390
+ };
1391
+ };
1392
+ output: {
1393
+ error: "contract_create_failed";
1394
+ };
1395
+ outputFormat: "json";
1396
+ status: 500;
1397
+ } | {
1398
+ input: {
1399
+ param: {
1400
+ bookingId: string;
1401
+ };
1402
+ };
1403
+ output: {
1404
+ data: {
1405
+ contractId: string;
1406
+ charterDetails: {
1407
+ bookingId: string;
1408
+ bookingMode: "per_suite" | "whole_yacht";
1409
+ source: "local" | "external";
1410
+ sourceProvider: string | null;
1411
+ sourceRef: {
1412
+ [x: string]: import("hono/utils/types").JSONValue;
1413
+ connectionId?: string | undefined;
1414
+ externalId: string;
1415
+ } | null;
1416
+ voyageId: string | null;
1417
+ suiteId: string | null;
1418
+ yachtId: string | null;
1419
+ voyageDisplayName: string | null;
1420
+ suiteDisplayName: string | null;
1421
+ yachtName: string | null;
1422
+ charterAreaSnapshot: string | null;
1423
+ guestCount: number;
1424
+ quotedCurrency: string;
1425
+ quotedSuitePrice: string | null;
1426
+ quotedPortFee: string | null;
1427
+ quotedCharterFee: string | null;
1428
+ apaPercent: string | null;
1429
+ apaAmount: string | null;
1430
+ quotedTotal: string;
1431
+ mybaTemplateIdSnapshot: string | null;
1432
+ mybaContractId: string | null;
1433
+ apaPaidAmount: string | null;
1434
+ apaSpentAmount: string | null;
1435
+ apaRefundAmount: string | null;
1436
+ apaSettledAt: string | null;
1437
+ connectorBookingRef: string | null;
1438
+ connectorStatus: string | null;
1439
+ notes: string | null;
1440
+ createdAt: string;
1441
+ updatedAt: string;
1442
+ };
1443
+ };
1444
+ };
1445
+ outputFormat: "json";
1446
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1447
+ };
1448
+ };
1449
+ } & {
1450
+ "/yachts": {
1451
+ $get: {
1452
+ input: {};
1453
+ output: {
1454
+ data: {
1455
+ id: string;
1456
+ lineSupplierId: string | null;
1457
+ name: string;
1458
+ slug: string;
1459
+ yachtClass: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise";
1460
+ capacityGuests: number | null;
1461
+ capacityCrew: number | null;
1462
+ lengthMeters: string | null;
1463
+ yearBuilt: number | null;
1464
+ yearRefurbished: number | null;
1465
+ imo: string | null;
1466
+ description: string | null;
1467
+ gallery: string[] | null;
1468
+ amenities: {
1469
+ [x: string]: import("hono/utils/types").JSONValue;
1470
+ } | null;
1471
+ crewBios: {
1472
+ role: string;
1473
+ name: string;
1474
+ bio?: string | undefined;
1475
+ photoUrl?: string | undefined;
1476
+ }[] | null;
1477
+ defaultCharterAreas: string[] | null;
1478
+ externalRefs: {
1479
+ [x: string]: string;
1480
+ } | null;
1481
+ isActive: boolean;
1482
+ createdAt: string;
1483
+ updatedAt: string;
1484
+ }[];
1485
+ total: number;
1486
+ limit: number;
1487
+ offset: number;
1488
+ };
1489
+ outputFormat: "json";
1490
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1491
+ };
1492
+ };
1493
+ } & {
1494
+ "/yachts": {
1495
+ $post: {
1496
+ input: {};
1497
+ output: {
1498
+ data: {
1499
+ name: string;
1500
+ createdAt: string;
1501
+ updatedAt: string;
1502
+ description: string | null;
1503
+ id: string;
1504
+ amenities: {
1505
+ [x: string]: import("hono/utils/types").JSONValue;
1506
+ } | null;
1507
+ lineSupplierId: string | null;
1508
+ slug: string;
1509
+ yachtClass: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise";
1510
+ capacityGuests: number | null;
1511
+ capacityCrew: number | null;
1512
+ lengthMeters: string | null;
1513
+ yearBuilt: number | null;
1514
+ yearRefurbished: number | null;
1515
+ imo: string | null;
1516
+ gallery: string[] | null;
1517
+ crewBios: {
1518
+ role: string;
1519
+ name: string;
1520
+ bio?: string | undefined;
1521
+ photoUrl?: string | undefined;
1522
+ }[] | null;
1523
+ defaultCharterAreas: string[] | null;
1524
+ externalRefs: {
1525
+ [x: string]: string;
1526
+ } | null;
1527
+ isActive: boolean;
1528
+ };
1529
+ };
1530
+ outputFormat: "json";
1531
+ status: 201;
1532
+ };
1533
+ };
1534
+ } & {
1535
+ "/yachts/:key": {
1536
+ $get: {
1537
+ input: {
1538
+ param: {
1539
+ key: string;
1540
+ };
1541
+ };
1542
+ output: {
1543
+ error: string;
1544
+ detail: string;
1545
+ };
1546
+ outputFormat: "json";
1547
+ status: 400;
1548
+ } | {
1549
+ input: {
1550
+ param: {
1551
+ key: string;
1552
+ };
1553
+ };
1554
+ output: {
1555
+ error: string;
1556
+ detail: string;
1557
+ };
1558
+ outputFormat: "json";
1559
+ status: 501;
1560
+ } | {
1561
+ input: {
1562
+ param: {
1563
+ key: string;
1564
+ };
1565
+ };
1566
+ output: {
1567
+ error: string;
1568
+ };
1569
+ outputFormat: "json";
1570
+ status: 404;
1571
+ } | {
1572
+ input: {
1573
+ param: {
1574
+ key: string;
1575
+ };
1576
+ };
1577
+ output: {
1578
+ data: {
1579
+ source: string;
1580
+ sourceProvider: string;
1581
+ sourceRef: {
1582
+ [x: string]: import("hono/utils/types").JSONValue;
1583
+ connectionId?: string | undefined;
1584
+ externalId: string;
1585
+ };
1586
+ yacht: {
1587
+ sourceRef: {
1588
+ [x: string]: import("hono/utils/types").JSONValue;
1589
+ connectionId?: string | undefined;
1590
+ externalId: string;
1591
+ };
1592
+ name: string;
1593
+ slug: string;
1594
+ yachtClass: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise";
1595
+ capacityGuests?: number | null | undefined;
1596
+ capacityCrew?: number | null | undefined;
1597
+ lengthMeters?: string | null | undefined;
1598
+ yearBuilt?: number | null | undefined;
1599
+ yearRefurbished?: number | null | undefined;
1600
+ imo?: string | null | undefined;
1601
+ description?: string | null | undefined;
1602
+ gallery?: string[] | undefined;
1603
+ amenities?: {
1604
+ [x: string]: import("hono/utils/types").JSONValue;
1605
+ } | undefined;
1606
+ crewBios?: {
1607
+ role: string;
1608
+ name: string;
1609
+ bio?: string | undefined;
1610
+ photoUrl?: string | undefined;
1611
+ }[] | undefined;
1612
+ defaultCharterAreas?: string[] | undefined;
1613
+ };
1614
+ };
1615
+ };
1616
+ outputFormat: "json";
1617
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1618
+ } | {
1619
+ input: {
1620
+ param: {
1621
+ key: string;
1622
+ };
1623
+ };
1624
+ output: {
1625
+ data: {
1626
+ name: string;
1627
+ createdAt: string;
1628
+ updatedAt: string;
1629
+ description: string | null;
1630
+ id: string;
1631
+ amenities: {
1632
+ [x: string]: import("hono/utils/types").JSONValue;
1633
+ } | null;
1634
+ lineSupplierId: string | null;
1635
+ slug: string;
1636
+ yachtClass: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise";
1637
+ capacityGuests: number | null;
1638
+ capacityCrew: number | null;
1639
+ lengthMeters: string | null;
1640
+ yearBuilt: number | null;
1641
+ yearRefurbished: number | null;
1642
+ imo: string | null;
1643
+ gallery: string[] | null;
1644
+ crewBios: {
1645
+ role: string;
1646
+ name: string;
1647
+ bio?: string | undefined;
1648
+ photoUrl?: string | undefined;
1649
+ }[] | null;
1650
+ defaultCharterAreas: string[] | null;
1651
+ externalRefs: {
1652
+ [x: string]: string;
1653
+ } | null;
1654
+ isActive: boolean;
1655
+ };
1656
+ };
1657
+ outputFormat: "json";
1658
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1659
+ };
1660
+ };
1661
+ } & {
1662
+ "/yachts/:key": {
1663
+ $put: {
1664
+ input: {
1665
+ param: {
1666
+ key: string;
1667
+ };
1668
+ };
1669
+ output: {
1670
+ error: string;
1671
+ detail: string;
1672
+ };
1673
+ outputFormat: "json";
1674
+ status: 400;
1675
+ } | {
1676
+ input: {
1677
+ param: {
1678
+ key: string;
1679
+ };
1680
+ };
1681
+ output: {
1682
+ error: string;
1683
+ detail: string;
1684
+ };
1685
+ outputFormat: "json";
1686
+ status: 409;
1687
+ } | {
1688
+ input: {
1689
+ param: {
1690
+ key: string;
1691
+ };
1692
+ };
1693
+ output: {
1694
+ error: string;
1695
+ };
1696
+ outputFormat: "json";
1697
+ status: 404;
1698
+ } | {
1699
+ input: {
1700
+ param: {
1701
+ key: string;
1702
+ };
1703
+ };
1704
+ output: {
1705
+ data: {
1706
+ name: string;
1707
+ createdAt: string;
1708
+ updatedAt: string;
1709
+ description: string | null;
1710
+ id: string;
1711
+ amenities: {
1712
+ [x: string]: import("hono/utils/types").JSONValue;
1713
+ } | null;
1714
+ lineSupplierId: string | null;
1715
+ slug: string;
1716
+ yachtClass: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise";
1717
+ capacityGuests: number | null;
1718
+ capacityCrew: number | null;
1719
+ lengthMeters: string | null;
1720
+ yearBuilt: number | null;
1721
+ yearRefurbished: number | null;
1722
+ imo: string | null;
1723
+ gallery: string[] | null;
1724
+ crewBios: {
1725
+ role: string;
1726
+ name: string;
1727
+ bio?: string | undefined;
1728
+ photoUrl?: string | undefined;
1729
+ }[] | null;
1730
+ defaultCharterAreas: string[] | null;
1731
+ externalRefs: {
1732
+ [x: string]: string;
1733
+ } | null;
1734
+ isActive: boolean;
1735
+ };
1736
+ };
1737
+ outputFormat: "json";
1738
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1739
+ };
1740
+ };
1741
+ }, "/", "/yachts/:key">;
1742
+ export type ChartersAdminRoutes = typeof chartersAdminRoutes;
1743
+ export {};
1744
+ //# sourceMappingURL=routes.d.ts.map