@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,785 @@
1
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ type Env = {
3
+ Variables: {
4
+ db: PostgresJsDatabase;
5
+ };
6
+ };
7
+ /**
8
+ * Public-facing charter routes. Browsing fans out to local `live` products +
9
+ * every registered adapter; detail routes accept either a TypeID slug or a
10
+ * `<provider>:<ref>` external key.
11
+ *
12
+ * Charters has no dedicated search index — the operator universe is small
13
+ * enough that direct `listEntries` fan-out is fine.
14
+ */
15
+ export declare const chartersPublicRoutes: import("hono/hono-base").HonoBase<Env, {
16
+ "/": {
17
+ $get: {
18
+ input: {};
19
+ output: {
20
+ data: ({
21
+ [x: string]: import("hono/utils/types").JSONValue;
22
+ } | {
23
+ source: "local";
24
+ sourceProvider: null;
25
+ sourceRef: null;
26
+ key: string;
27
+ product: {
28
+ id: string;
29
+ slug: string;
30
+ name: string;
31
+ lineSupplierId: string | null;
32
+ defaultYachtId: string | null;
33
+ description: string | null;
34
+ shortDescription: string | null;
35
+ heroImageUrl: string | null;
36
+ mapImageUrl: string | null;
37
+ regions: string[] | null;
38
+ themes: string[] | null;
39
+ status: "draft" | "awaiting_review" | "live" | "archived";
40
+ defaultBookingModes: ("per_suite" | "whole_yacht")[] | null;
41
+ defaultMybaTemplateId: string | null;
42
+ defaultApaPercent: string | null;
43
+ lowestPriceCachedAmount: string | null;
44
+ lowestPriceCachedCurrency: string | null;
45
+ earliestVoyageCached: string | null;
46
+ latestVoyageCached: string | null;
47
+ externalRefs: {
48
+ [x: string]: string;
49
+ } | null;
50
+ createdAt: string;
51
+ updatedAt: string;
52
+ };
53
+ })[];
54
+ total: number;
55
+ limit: number;
56
+ offset: number;
57
+ };
58
+ outputFormat: "json";
59
+ status: import("hono/utils/http-status").ContentfulStatusCode;
60
+ };
61
+ };
62
+ } & {
63
+ "/products/:key": {
64
+ $get: {
65
+ input: {
66
+ param: {
67
+ key: string;
68
+ };
69
+ };
70
+ output: {
71
+ error: string;
72
+ };
73
+ outputFormat: "json";
74
+ status: 501;
75
+ } | {
76
+ input: {
77
+ param: {
78
+ key: string;
79
+ };
80
+ };
81
+ output: {
82
+ error: string;
83
+ };
84
+ outputFormat: "json";
85
+ status: 404;
86
+ } | {
87
+ input: {
88
+ param: {
89
+ key: string;
90
+ };
91
+ };
92
+ output: {
93
+ data: {
94
+ source: string;
95
+ sourceProvider: string;
96
+ sourceRef: {
97
+ [x: string]: import("hono/utils/types").JSONValue;
98
+ connectionId?: string | undefined;
99
+ externalId: string;
100
+ };
101
+ product: {
102
+ sourceRef: {
103
+ [x: string]: import("hono/utils/types").JSONValue;
104
+ connectionId?: string | undefined;
105
+ externalId: string;
106
+ };
107
+ name: string;
108
+ slug: string;
109
+ lineName: string;
110
+ defaultYachtRef?: {
111
+ [x: string]: import("hono/utils/types").JSONValue;
112
+ connectionId?: string | undefined;
113
+ externalId: string;
114
+ } | null | undefined;
115
+ description?: string | null | undefined;
116
+ shortDescription?: string | null | undefined;
117
+ heroImageUrl?: string | null | undefined;
118
+ mapImageUrl?: string | null | undefined;
119
+ regions?: string[] | undefined;
120
+ themes?: string[] | undefined;
121
+ status?: "draft" | "awaiting_review" | "live" | "archived" | undefined;
122
+ defaultBookingModes?: Array<"per_suite" | "whole_yacht"> | undefined;
123
+ defaultApaPercent?: string | null | undefined;
124
+ defaultMybaTemplateRef?: string | null | undefined;
125
+ };
126
+ voyages: {
127
+ sourceRef: {
128
+ [x: string]: import("hono/utils/types").JSONValue;
129
+ connectionId?: string | undefined;
130
+ externalId: string;
131
+ };
132
+ productRef: {
133
+ [x: string]: import("hono/utils/types").JSONValue;
134
+ connectionId?: string | undefined;
135
+ externalId: string;
136
+ };
137
+ yachtRef: {
138
+ [x: string]: import("hono/utils/types").JSONValue;
139
+ connectionId?: string | undefined;
140
+ externalId: string;
141
+ };
142
+ voyageCode: string;
143
+ name?: string | null | undefined;
144
+ embarkPortName?: string | null | undefined;
145
+ disembarkPortName?: string | null | undefined;
146
+ departureDate: string;
147
+ returnDate: string;
148
+ nights: number;
149
+ bookingModes: Array<"per_suite" | "whole_yacht">;
150
+ appointmentOnly?: boolean | undefined;
151
+ wholeYachtPricesByCurrency?: {
152
+ [x: string]: string;
153
+ } | undefined;
154
+ apaPercentOverride?: string | null | undefined;
155
+ mybaTemplateRefOverride?: string | null | undefined;
156
+ charterAreaOverride?: string | null | undefined;
157
+ salesStatus?: "open" | "on_request" | "wait_list" | "sold_out" | "closed" | undefined;
158
+ availabilityNote?: string | null | undefined;
159
+ }[];
160
+ yacht: {
161
+ sourceRef: {
162
+ [x: string]: import("hono/utils/types").JSONValue;
163
+ connectionId?: string | undefined;
164
+ externalId: string;
165
+ };
166
+ name: string;
167
+ slug: string;
168
+ yachtClass: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise";
169
+ capacityGuests?: number | null | undefined;
170
+ capacityCrew?: number | null | undefined;
171
+ lengthMeters?: string | null | undefined;
172
+ yearBuilt?: number | null | undefined;
173
+ yearRefurbished?: number | null | undefined;
174
+ imo?: string | null | undefined;
175
+ description?: string | null | undefined;
176
+ gallery?: string[] | undefined;
177
+ amenities?: {
178
+ [x: string]: import("hono/utils/types").JSONValue;
179
+ } | undefined;
180
+ crewBios?: {
181
+ role: string;
182
+ name: string;
183
+ bio?: string | undefined;
184
+ photoUrl?: string | undefined;
185
+ }[] | undefined;
186
+ defaultCharterAreas?: string[] | undefined;
187
+ } | null;
188
+ };
189
+ };
190
+ outputFormat: "json";
191
+ status: import("hono/utils/http-status").ContentfulStatusCode;
192
+ } | {
193
+ input: {
194
+ param: {
195
+ key: string;
196
+ };
197
+ };
198
+ output: {
199
+ data: {
200
+ name: string;
201
+ createdAt: string;
202
+ updatedAt: string;
203
+ description: string | null;
204
+ id: string;
205
+ status: "draft" | "awaiting_review" | "live" | "archived";
206
+ lineSupplierId: string | null;
207
+ slug: string;
208
+ externalRefs: {
209
+ [x: string]: string;
210
+ } | null;
211
+ defaultYachtId: string | null;
212
+ shortDescription: string | null;
213
+ heroImageUrl: string | null;
214
+ mapImageUrl: string | null;
215
+ regions: string[] | null;
216
+ themes: string[] | null;
217
+ defaultBookingModes: ("per_suite" | "whole_yacht")[] | null;
218
+ defaultMybaTemplateId: string | null;
219
+ defaultApaPercent: string | null;
220
+ lowestPriceCachedAmount: string | null;
221
+ lowestPriceCachedCurrency: string | null;
222
+ earliestVoyageCached: string | null;
223
+ latestVoyageCached: string | null;
224
+ voyages?: {
225
+ name: string | null;
226
+ yachtId: string;
227
+ createdAt: string;
228
+ updatedAt: string;
229
+ id: string;
230
+ externalRefs: {
231
+ [x: string]: string;
232
+ } | null;
233
+ productId: string;
234
+ voyageCode: string;
235
+ embarkPortFacilityId: string | null;
236
+ embarkPortName: string | null;
237
+ disembarkPortFacilityId: string | null;
238
+ disembarkPortName: string | null;
239
+ departureDate: string;
240
+ returnDate: string;
241
+ nights: number;
242
+ bookingModes: ("per_suite" | "whole_yacht")[];
243
+ appointmentOnly: boolean;
244
+ wholeYachtPricesByCurrency: {
245
+ [x: string]: string;
246
+ };
247
+ apaPercentOverride: string | null;
248
+ mybaTemplateIdOverride: string | null;
249
+ charterAreaOverride: string | null;
250
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
251
+ availabilityNote: string | null;
252
+ lastSyncedAt: string | null;
253
+ }[] | undefined;
254
+ yacht?: {
255
+ name: string;
256
+ createdAt: string;
257
+ updatedAt: string;
258
+ description: string | null;
259
+ id: string;
260
+ amenities: {
261
+ [x: string]: import("hono/utils/types").JSONValue;
262
+ } | null;
263
+ lineSupplierId: string | null;
264
+ slug: string;
265
+ yachtClass: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise";
266
+ capacityGuests: number | null;
267
+ capacityCrew: number | null;
268
+ lengthMeters: string | null;
269
+ yearBuilt: number | null;
270
+ yearRefurbished: number | null;
271
+ imo: string | null;
272
+ gallery: string[] | null;
273
+ crewBios: {
274
+ role: string;
275
+ name: string;
276
+ bio?: string | undefined;
277
+ photoUrl?: string | undefined;
278
+ }[] | null;
279
+ defaultCharterAreas: string[] | null;
280
+ externalRefs: {
281
+ [x: string]: string;
282
+ } | null;
283
+ isActive: boolean;
284
+ } | null | undefined;
285
+ };
286
+ };
287
+ outputFormat: "json";
288
+ status: import("hono/utils/http-status").ContentfulStatusCode;
289
+ };
290
+ };
291
+ } & {
292
+ "/voyages": {
293
+ $get: {
294
+ input: {};
295
+ output: {
296
+ data: {
297
+ id: string;
298
+ productId: string;
299
+ yachtId: string;
300
+ voyageCode: string;
301
+ name: string | null;
302
+ embarkPortFacilityId: string | null;
303
+ embarkPortName: string | null;
304
+ disembarkPortFacilityId: string | null;
305
+ disembarkPortName: string | null;
306
+ departureDate: string;
307
+ returnDate: string;
308
+ nights: number;
309
+ bookingModes: ("per_suite" | "whole_yacht")[];
310
+ appointmentOnly: boolean;
311
+ wholeYachtPricesByCurrency: {
312
+ [x: string]: string;
313
+ };
314
+ apaPercentOverride: string | null;
315
+ mybaTemplateIdOverride: string | null;
316
+ charterAreaOverride: string | null;
317
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
318
+ availabilityNote: string | null;
319
+ externalRefs: {
320
+ [x: string]: string;
321
+ } | null;
322
+ lastSyncedAt: string | null;
323
+ createdAt: string;
324
+ updatedAt: string;
325
+ }[];
326
+ total: number;
327
+ limit: number;
328
+ offset: number;
329
+ };
330
+ outputFormat: "json";
331
+ status: import("hono/utils/http-status").ContentfulStatusCode;
332
+ };
333
+ };
334
+ } & {
335
+ "/voyages/:key": {
336
+ $get: {
337
+ input: {
338
+ param: {
339
+ key: string;
340
+ };
341
+ };
342
+ output: {
343
+ error: string;
344
+ };
345
+ outputFormat: "json";
346
+ status: 400;
347
+ } | {
348
+ input: {
349
+ param: {
350
+ key: string;
351
+ };
352
+ };
353
+ output: {
354
+ error: string;
355
+ };
356
+ outputFormat: "json";
357
+ status: 501;
358
+ } | {
359
+ input: {
360
+ param: {
361
+ key: string;
362
+ };
363
+ };
364
+ output: {
365
+ error: string;
366
+ };
367
+ outputFormat: "json";
368
+ status: 404;
369
+ } | {
370
+ input: {
371
+ param: {
372
+ key: string;
373
+ };
374
+ };
375
+ output: {
376
+ data: {
377
+ source: string;
378
+ sourceProvider: string;
379
+ sourceRef: {
380
+ [x: string]: import("hono/utils/types").JSONValue;
381
+ connectionId?: string | undefined;
382
+ externalId: string;
383
+ };
384
+ voyage: {
385
+ sourceRef: {
386
+ [x: string]: import("hono/utils/types").JSONValue;
387
+ connectionId?: string | undefined;
388
+ externalId: string;
389
+ };
390
+ productRef: {
391
+ [x: string]: import("hono/utils/types").JSONValue;
392
+ connectionId?: string | undefined;
393
+ externalId: string;
394
+ };
395
+ yachtRef: {
396
+ [x: string]: import("hono/utils/types").JSONValue;
397
+ connectionId?: string | undefined;
398
+ externalId: string;
399
+ };
400
+ voyageCode: string;
401
+ name?: string | null | undefined;
402
+ embarkPortName?: string | null | undefined;
403
+ disembarkPortName?: string | null | undefined;
404
+ departureDate: string;
405
+ returnDate: string;
406
+ nights: number;
407
+ bookingModes: Array<"per_suite" | "whole_yacht">;
408
+ appointmentOnly?: boolean | undefined;
409
+ wholeYachtPricesByCurrency?: {
410
+ [x: string]: string;
411
+ } | undefined;
412
+ apaPercentOverride?: string | null | undefined;
413
+ mybaTemplateRefOverride?: string | null | undefined;
414
+ charterAreaOverride?: string | null | undefined;
415
+ salesStatus?: "open" | "on_request" | "wait_list" | "sold_out" | "closed" | undefined;
416
+ availabilityNote?: string | null | undefined;
417
+ };
418
+ suites: {
419
+ sourceRef: {
420
+ [x: string]: import("hono/utils/types").JSONValue;
421
+ connectionId?: string | undefined;
422
+ externalId: string;
423
+ };
424
+ voyageRef: {
425
+ [x: string]: import("hono/utils/types").JSONValue;
426
+ connectionId?: string | undefined;
427
+ externalId: string;
428
+ };
429
+ suiteCode: string;
430
+ suiteName: string;
431
+ suiteCategory?: "standard" | "deluxe" | "suite" | "penthouse" | "owners" | "signature" | null | undefined;
432
+ description?: string | null | undefined;
433
+ squareFeet?: string | null | undefined;
434
+ images?: string[] | undefined;
435
+ floorplanImages?: string[] | undefined;
436
+ maxGuests?: number | null | undefined;
437
+ pricesByCurrency?: {
438
+ [x: string]: string;
439
+ } | undefined;
440
+ portFeesByCurrency?: {
441
+ [x: string]: string;
442
+ } | undefined;
443
+ availability: "available" | "limited" | "on_request" | "wait_list" | "sold_out";
444
+ unitsAvailable?: number | null | undefined;
445
+ appointmentOnly?: boolean | undefined;
446
+ notes?: string | null | undefined;
447
+ extra?: {
448
+ [x: string]: import("hono/utils/types").JSONValue;
449
+ } | undefined;
450
+ }[];
451
+ schedule: {
452
+ dayNumber: number;
453
+ portName?: string | null | undefined;
454
+ scheduleDate?: string | null | undefined;
455
+ arrivalTime?: string | null | undefined;
456
+ departureTime?: string | null | undefined;
457
+ isSeaDay?: boolean | undefined;
458
+ description?: string | null | undefined;
459
+ activities?: string[] | undefined;
460
+ }[];
461
+ };
462
+ };
463
+ outputFormat: "json";
464
+ status: import("hono/utils/http-status").ContentfulStatusCode;
465
+ } | {
466
+ input: {
467
+ param: {
468
+ key: string;
469
+ };
470
+ };
471
+ output: {
472
+ data: {
473
+ name: string | null;
474
+ yachtId: string;
475
+ createdAt: string;
476
+ updatedAt: string;
477
+ id: string;
478
+ externalRefs: {
479
+ [x: string]: string;
480
+ } | null;
481
+ productId: string;
482
+ voyageCode: string;
483
+ embarkPortFacilityId: string | null;
484
+ embarkPortName: string | null;
485
+ disembarkPortFacilityId: string | null;
486
+ disembarkPortName: string | null;
487
+ departureDate: string;
488
+ returnDate: string;
489
+ nights: number;
490
+ bookingModes: ("per_suite" | "whole_yacht")[];
491
+ appointmentOnly: boolean;
492
+ wholeYachtPricesByCurrency: {
493
+ [x: string]: string;
494
+ };
495
+ apaPercentOverride: string | null;
496
+ mybaTemplateIdOverride: string | null;
497
+ charterAreaOverride: string | null;
498
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
499
+ availabilityNote: string | null;
500
+ lastSyncedAt: string | null;
501
+ suites?: {
502
+ voyageId: string;
503
+ notes: string | null;
504
+ createdAt: string;
505
+ updatedAt: string;
506
+ description: string | null;
507
+ id: string;
508
+ images: string[] | null;
509
+ externalRefs: {
510
+ [x: string]: string;
511
+ } | null;
512
+ appointmentOnly: boolean;
513
+ lastSyncedAt: string | null;
514
+ suiteCode: string;
515
+ suiteName: string;
516
+ suiteCategory: "standard" | "deluxe" | "suite" | "penthouse" | "owners" | "signature" | null;
517
+ squareFeet: string | null;
518
+ floorplanImages: string[] | null;
519
+ maxGuests: number | null;
520
+ pricesByCurrency: {
521
+ [x: string]: string;
522
+ };
523
+ portFeesByCurrency: {
524
+ [x: string]: string;
525
+ };
526
+ availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
527
+ unitsAvailable: number | null;
528
+ extra: {
529
+ [x: string]: import("hono/utils/types").JSONValue;
530
+ } | null;
531
+ }[] | undefined;
532
+ schedule?: {
533
+ voyageId: string;
534
+ createdAt: string;
535
+ updatedAt: string;
536
+ description: string | null;
537
+ id: string;
538
+ activities: string[] | null;
539
+ dayNumber: number;
540
+ portFacilityId: string | null;
541
+ portName: string | null;
542
+ scheduleDate: string | null;
543
+ arrivalTime: string | null;
544
+ departureTime: string | null;
545
+ isSeaDay: boolean;
546
+ }[] | undefined;
547
+ };
548
+ };
549
+ outputFormat: "json";
550
+ status: import("hono/utils/http-status").ContentfulStatusCode;
551
+ };
552
+ };
553
+ } & {
554
+ "/voyages/:key/quote/per-suite": {
555
+ $post: {
556
+ input: {
557
+ param: {
558
+ key: string;
559
+ };
560
+ };
561
+ output: {
562
+ error: string;
563
+ };
564
+ outputFormat: "json";
565
+ status: 400;
566
+ } | {
567
+ input: {
568
+ param: {
569
+ key: string;
570
+ };
571
+ };
572
+ output: {
573
+ error: string;
574
+ };
575
+ outputFormat: "json";
576
+ status: 501;
577
+ } | {
578
+ input: {
579
+ param: {
580
+ key: string;
581
+ };
582
+ };
583
+ output: {
584
+ error: string;
585
+ };
586
+ outputFormat: "json";
587
+ status: 404;
588
+ } | {
589
+ input: {
590
+ param: {
591
+ key: string;
592
+ };
593
+ };
594
+ output: {
595
+ data: {
596
+ mode: "per_suite";
597
+ voyageId: string;
598
+ suiteId: string;
599
+ suiteName: string;
600
+ currency: string;
601
+ suitePrice: string;
602
+ portFee: string | null;
603
+ total: string;
604
+ };
605
+ };
606
+ outputFormat: "json";
607
+ status: import("hono/utils/http-status").ContentfulStatusCode;
608
+ };
609
+ };
610
+ } & {
611
+ "/voyages/:key/quote/whole-yacht": {
612
+ $post: {
613
+ input: {
614
+ param: {
615
+ key: string;
616
+ };
617
+ };
618
+ output: {
619
+ error: string;
620
+ };
621
+ outputFormat: "json";
622
+ status: 400;
623
+ } | {
624
+ input: {
625
+ param: {
626
+ key: string;
627
+ };
628
+ };
629
+ output: {
630
+ error: string;
631
+ };
632
+ outputFormat: "json";
633
+ status: 501;
634
+ } | {
635
+ input: {
636
+ param: {
637
+ key: string;
638
+ };
639
+ };
640
+ output: {
641
+ error: string;
642
+ };
643
+ outputFormat: "json";
644
+ status: 404;
645
+ } | {
646
+ input: {
647
+ param: {
648
+ key: string;
649
+ };
650
+ };
651
+ output: {
652
+ data: {
653
+ mode: "whole_yacht";
654
+ voyageId: string;
655
+ currency: string;
656
+ charterFee: string;
657
+ apaPercent: string;
658
+ apaAmount: string;
659
+ total: string;
660
+ };
661
+ };
662
+ outputFormat: "json";
663
+ status: import("hono/utils/http-status").ContentfulStatusCode;
664
+ };
665
+ };
666
+ } & {
667
+ "/yachts/:key": {
668
+ $get: {
669
+ input: {
670
+ param: {
671
+ key: string;
672
+ };
673
+ };
674
+ output: {
675
+ error: string;
676
+ };
677
+ outputFormat: "json";
678
+ status: 400;
679
+ } | {
680
+ input: {
681
+ param: {
682
+ key: string;
683
+ };
684
+ };
685
+ output: {
686
+ error: string;
687
+ };
688
+ outputFormat: "json";
689
+ status: 501;
690
+ } | {
691
+ input: {
692
+ param: {
693
+ key: string;
694
+ };
695
+ };
696
+ output: {
697
+ error: string;
698
+ };
699
+ outputFormat: "json";
700
+ status: 404;
701
+ } | {
702
+ input: {
703
+ param: {
704
+ key: string;
705
+ };
706
+ };
707
+ output: {
708
+ data: {
709
+ sourceRef: {
710
+ [x: string]: import("hono/utils/types").JSONValue;
711
+ connectionId?: string | undefined;
712
+ externalId: string;
713
+ };
714
+ name: string;
715
+ slug: string;
716
+ yachtClass: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise";
717
+ capacityGuests?: number | null | undefined;
718
+ capacityCrew?: number | null | undefined;
719
+ lengthMeters?: string | null | undefined;
720
+ yearBuilt?: number | null | undefined;
721
+ yearRefurbished?: number | null | undefined;
722
+ imo?: string | null | undefined;
723
+ description?: string | null | undefined;
724
+ gallery?: string[] | undefined;
725
+ amenities?: {
726
+ [x: string]: import("hono/utils/types").JSONValue;
727
+ } | undefined;
728
+ crewBios?: {
729
+ role: string;
730
+ name: string;
731
+ bio?: string | undefined;
732
+ photoUrl?: string | undefined;
733
+ }[] | undefined;
734
+ defaultCharterAreas?: string[] | undefined;
735
+ };
736
+ };
737
+ outputFormat: "json";
738
+ status: import("hono/utils/http-status").ContentfulStatusCode;
739
+ } | {
740
+ input: {
741
+ param: {
742
+ key: string;
743
+ };
744
+ };
745
+ output: {
746
+ data: {
747
+ name: string;
748
+ createdAt: string;
749
+ updatedAt: string;
750
+ description: string | null;
751
+ id: string;
752
+ amenities: {
753
+ [x: string]: import("hono/utils/types").JSONValue;
754
+ } | null;
755
+ lineSupplierId: string | null;
756
+ slug: string;
757
+ yachtClass: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise";
758
+ capacityGuests: number | null;
759
+ capacityCrew: number | null;
760
+ lengthMeters: string | null;
761
+ yearBuilt: number | null;
762
+ yearRefurbished: number | null;
763
+ imo: string | null;
764
+ gallery: string[] | null;
765
+ crewBios: {
766
+ role: string;
767
+ name: string;
768
+ bio?: string | undefined;
769
+ photoUrl?: string | undefined;
770
+ }[] | null;
771
+ defaultCharterAreas: string[] | null;
772
+ externalRefs: {
773
+ [x: string]: string;
774
+ } | null;
775
+ isActive: boolean;
776
+ };
777
+ };
778
+ outputFormat: "json";
779
+ status: import("hono/utils/http-status").ContentfulStatusCode;
780
+ };
781
+ };
782
+ }, "/", "/yachts/:key">;
783
+ export type ChartersPublicRoutes = typeof chartersPublicRoutes;
784
+ export {};
785
+ //# sourceMappingURL=routes-public.d.ts.map