@voyantjs/cruises 0.41.0 → 0.41.1

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.
package/dist/routes.d.ts CHANGED
@@ -130,114 +130,57 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
130
130
  };
131
131
  };
132
132
  } & {
133
- "/:key": {
134
- $get: {
133
+ "/enrichment/:programId": {
134
+ $put: {
135
135
  input: {
136
136
  param: {
137
- key: string;
137
+ programId: string;
138
138
  };
139
139
  };
140
140
  output: {
141
141
  error: string;
142
- detail: string;
143
142
  };
144
143
  outputFormat: "json";
145
- status: 400;
144
+ status: 404;
146
145
  } | {
147
146
  input: {
148
147
  param: {
149
- key: string;
148
+ programId: string;
150
149
  };
151
150
  };
152
151
  output: {
153
- error: string;
154
- detail: string;
152
+ data: {
153
+ id: string;
154
+ name: string;
155
+ createdAt: string;
156
+ updatedAt: string;
157
+ description: string | null;
158
+ cruiseId: string;
159
+ kind: "other" | "naturalist" | "historian" | "photographer" | "lecturer" | "expert";
160
+ title: string | null;
161
+ sortOrder: number;
162
+ bioImageUrl: string | null;
163
+ };
155
164
  };
156
165
  outputFormat: "json";
157
- status: 503;
158
- } | {
166
+ status: import("hono/utils/http-status").ContentfulStatusCode;
167
+ };
168
+ };
169
+ } & {
170
+ "/enrichment/:programId": {
171
+ $delete: {
159
172
  input: {
160
173
  param: {
161
- key: string;
162
- };
163
- };
164
- output: {
165
- data: {
166
- source: string;
167
- sourceProvider: string;
168
- sourceRef: string;
169
- entityId: string;
170
- content: {
171
- cruise: {
172
- id: string;
173
- name: string;
174
- status?: string | undefined;
175
- description?: string | null | undefined;
176
- cruise_type?: string | null | undefined;
177
- hero_image_url?: string | null | undefined;
178
- highlights?: string[] | undefined;
179
- cruise_line?: string | null | undefined;
180
- duration_nights?: number | null | undefined;
181
- embarkation_port?: string | null | undefined;
182
- disembarkation_port?: string | null | undefined;
183
- };
184
- sailings: {
185
- id: string;
186
- start_date: string;
187
- end_date: string;
188
- source_ref?: string | null | undefined;
189
- duration_nights?: number | null | undefined;
190
- status?: string | null | undefined;
191
- embarkation_port?: string | null | undefined;
192
- disembarkation_port?: string | null | undefined;
193
- }[];
194
- cabin_categories: {
195
- id: string;
196
- name: string;
197
- inclusions: string[];
198
- code?: string | null | undefined;
199
- description?: string | null | undefined;
200
- type?: string | null | undefined;
201
- capacity_min?: number | null | undefined;
202
- capacity_max?: number | null | undefined;
203
- }[];
204
- itinerary_stops: {
205
- day_number: number;
206
- port_name: string;
207
- is_at_sea: boolean;
208
- date?: string | null | undefined;
209
- arrival_time?: string | null | undefined;
210
- departure_time?: string | null | undefined;
211
- description?: string | null | undefined;
212
- }[];
213
- policies: {
214
- kind: "supplier_notes" | "payment" | "cancellation" | "requirements";
215
- body: string;
216
- rules?: import("hono/utils/types").JSONValue | undefined;
217
- }[];
218
- ship?: {
219
- name: string;
220
- id?: string | null | undefined;
221
- description?: string | null | undefined;
222
- capacity?: number | null | undefined;
223
- decks?: number | null | undefined;
224
- year_built?: number | null | undefined;
225
- } | null | undefined;
226
- };
227
- servedLocale: string;
228
- matchKind: import("@voyantjs/catalog").ContentLocaleMatchKind;
229
- contentSource: "sourced-cache" | "sourced-fresh" | "synthesized";
230
- servedStale: boolean;
231
- synthesized: boolean;
232
- machineTranslated: boolean;
174
+ programId: string;
233
175
  };
234
176
  };
235
- outputFormat: "json";
236
- status: import("hono/utils/http-status").ContentfulStatusCode;
177
+ output: null;
178
+ outputFormat: "body";
179
+ status: 204;
237
180
  } | {
238
181
  input: {
239
182
  param: {
240
- key: string;
183
+ programId: string;
241
184
  };
242
185
  };
243
186
  output: {
@@ -245,97 +188,44 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
245
188
  };
246
189
  outputFormat: "json";
247
190
  status: 404;
248
- } | {
249
- input: {
250
- param: {
251
- key: string;
252
- };
253
- };
191
+ };
192
+ };
193
+ } & {
194
+ "/sailings": {
195
+ $get: {
196
+ input: {};
254
197
  output: {
255
198
  data: {
256
- source: string;
257
- sourceProvider: null;
258
- sourceRef: null;
259
- cruise: {
260
- id: string;
261
- name: string;
262
- createdAt: string;
263
- updatedAt: string;
264
- slug: string;
265
- status: "live" | "draft" | "awaiting_review" | "archived";
266
- description: string | null;
267
- lineSupplierId: string | null;
268
- externalRefs: {
269
- [x: string]: string;
270
- } | null;
271
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
272
- cruiseType: "ocean" | "river" | "expedition" | "coastal";
273
- defaultShipId: string | null;
274
- nights: number;
275
- embarkPortFacilityId: string | null;
276
- disembarkPortFacilityId: string | null;
277
- shortDescription: string | null;
278
- highlights: string[] | null;
279
- inclusionsHtml: string | null;
280
- exclusionsHtml: string | null;
281
- regions: string[] | null;
282
- themes: string[] | null;
283
- heroImageUrl: string | null;
284
- mapImageUrl: string | null;
285
- lowestPriceCached: string | null;
286
- lowestPriceCurrencyCached: string | null;
287
- earliestDepartureCached: string | null;
288
- latestDepartureCached: string | null;
289
- sailings?: {
290
- id: string;
291
- createdAt: string;
292
- updatedAt: string;
293
- externalRefs: {
294
- [x: string]: string;
295
- } | null;
296
- shipId: string;
297
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
298
- embarkPortFacilityId: string | null;
299
- disembarkPortFacilityId: string | null;
300
- cruiseId: string;
301
- departureDate: string;
302
- returnDate: string;
303
- direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
304
- availabilityNote: string | null;
305
- isCharter: boolean;
306
- salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
307
- lastSyncedAt: string | null;
308
- }[] | undefined;
309
- days?: {
310
- id: string;
311
- createdAt: string;
312
- updatedAt: string;
313
- description: string | null;
314
- meals: {
315
- breakfast?: boolean | undefined;
316
- lunch?: boolean | undefined;
317
- dinner?: boolean | undefined;
318
- } | null;
319
- cruiseId: string;
320
- departureTime: string | null;
321
- title: string | null;
322
- dayNumber: number;
323
- portFacilityId: string | null;
324
- arrivalTime: string | null;
325
- isOvernight: boolean;
326
- isSeaDay: boolean;
327
- isExpeditionLanding: boolean;
328
- }[] | undefined;
329
- };
330
- };
199
+ id: string;
200
+ cruiseId: string;
201
+ shipId: string;
202
+ departureDate: string;
203
+ returnDate: string;
204
+ embarkPortFacilityId: string | null;
205
+ disembarkPortFacilityId: string | null;
206
+ direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
207
+ availabilityNote: string | null;
208
+ isCharter: boolean;
209
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
210
+ externalRefs: {
211
+ [x: string]: string;
212
+ } | null;
213
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
214
+ lastSyncedAt: string | null;
215
+ createdAt: string;
216
+ updatedAt: string;
217
+ }[];
218
+ total: number;
219
+ limit: number;
220
+ offset: number;
331
221
  };
332
222
  outputFormat: "json";
333
223
  status: import("hono/utils/http-status").ContentfulStatusCode;
334
224
  };
335
225
  };
336
226
  } & {
337
- "/:key": {
338
- $put: {
227
+ "/sailings/:key": {
228
+ $get: {
339
229
  input: {
340
230
  param: {
341
231
  key: string;
@@ -358,7 +248,7 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
358
248
  detail: string;
359
249
  };
360
250
  outputFormat: "json";
361
- status: 409;
251
+ status: 501;
362
252
  } | {
363
253
  input: {
364
254
  param: {
@@ -370,6 +260,19 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
370
260
  };
371
261
  outputFormat: "json";
372
262
  status: 404;
263
+ } | {
264
+ input: {
265
+ param: {
266
+ key: string;
267
+ };
268
+ };
269
+ output: {
270
+ data: {
271
+ [x: string]: import("hono/utils/types").JSONValue;
272
+ };
273
+ };
274
+ outputFormat: "json";
275
+ status: import("hono/utils/http-status").ContentfulStatusCode;
373
276
  } | {
374
277
  input: {
375
278
  param: {
@@ -379,34 +282,78 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
379
282
  output: {
380
283
  data: {
381
284
  id: string;
382
- name: string;
383
285
  createdAt: string;
384
286
  updatedAt: string;
385
- slug: string;
386
- status: "live" | "draft" | "awaiting_review" | "archived";
387
- description: string | null;
388
- lineSupplierId: string | null;
389
287
  externalRefs: {
390
288
  [x: string]: string;
391
289
  } | null;
290
+ shipId: string;
392
291
  customerPaymentPolicy: import("hono/utils/types").JSONValue;
393
- cruiseType: "ocean" | "river" | "expedition" | "coastal";
394
- defaultShipId: string | null;
395
- nights: number;
396
292
  embarkPortFacilityId: string | null;
397
293
  disembarkPortFacilityId: string | null;
398
- shortDescription: string | null;
399
- highlights: string[] | null;
400
- inclusionsHtml: string | null;
401
- exclusionsHtml: string | null;
402
- regions: string[] | null;
403
- themes: string[] | null;
404
- heroImageUrl: string | null;
405
- mapImageUrl: string | null;
406
- lowestPriceCached: string | null;
407
- lowestPriceCurrencyCached: string | null;
408
- earliestDepartureCached: string | null;
409
- latestDepartureCached: string | null;
294
+ cruiseId: string;
295
+ departureDate: string;
296
+ returnDate: string;
297
+ direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
298
+ availabilityNote: string | null;
299
+ isCharter: boolean;
300
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
301
+ lastSyncedAt: string | null;
302
+ prices?: {
303
+ id: string;
304
+ createdAt: string;
305
+ updatedAt: string;
306
+ currency: string;
307
+ notes: string | null;
308
+ availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
309
+ externalRefs: {
310
+ [x: string]: string;
311
+ } | null;
312
+ lastSyncedAt: string | null;
313
+ sailingId: string;
314
+ cabinCategoryId: string;
315
+ occupancy: number;
316
+ fareCode: string | null;
317
+ fareCodeName: string | null;
318
+ pricePerPerson: string;
319
+ secondGuestPricePerPerson: string | null;
320
+ singleSupplementPercent: string | null;
321
+ availabilityCount: number | null;
322
+ priceCatalogId: string | null;
323
+ priceScheduleId: string | null;
324
+ bookingDeadline: string | null;
325
+ requiresRequest: boolean;
326
+ }[] | undefined;
327
+ priceComponents?: {
328
+ id: string;
329
+ createdAt: string;
330
+ updatedAt: string;
331
+ currency: string;
332
+ direction: "addition" | "inclusion" | "credit";
333
+ priceId: string;
334
+ kind: "gratuity" | "onboard_credit" | "port_charge" | "tax" | "ncf" | "airfare" | "transfer" | "insurance";
335
+ label: string | null;
336
+ amount: string;
337
+ perPerson: boolean;
338
+ }[] | undefined;
339
+ effectiveDays?: {
340
+ dayNumber: number;
341
+ title: string | null;
342
+ description: string | null;
343
+ portFacilityId: string | null;
344
+ arrivalTime: string | null;
345
+ departureTime: string | null;
346
+ isOvernight: boolean;
347
+ isSeaDay: boolean;
348
+ isExpeditionLanding: boolean;
349
+ isSkipped: boolean;
350
+ meals: {
351
+ breakfast?: boolean | undefined;
352
+ lunch?: boolean | undefined;
353
+ dinner?: boolean | undefined;
354
+ };
355
+ hasOverride: boolean;
356
+ }[] | undefined;
410
357
  };
411
358
  };
412
359
  outputFormat: "json";
@@ -414,8 +361,38 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
414
361
  };
415
362
  };
416
363
  } & {
417
- "/:key": {
418
- $delete: {
364
+ "/sailings": {
365
+ $post: {
366
+ input: {};
367
+ output: {
368
+ data: {
369
+ id: string;
370
+ createdAt: string;
371
+ updatedAt: string;
372
+ externalRefs: {
373
+ [x: string]: string;
374
+ } | null;
375
+ shipId: string;
376
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
377
+ embarkPortFacilityId: string | null;
378
+ disembarkPortFacilityId: string | null;
379
+ cruiseId: string;
380
+ departureDate: string;
381
+ returnDate: string;
382
+ direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
383
+ availabilityNote: string | null;
384
+ isCharter: boolean;
385
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
386
+ lastSyncedAt: string | null;
387
+ };
388
+ };
389
+ outputFormat: "json";
390
+ status: 201;
391
+ };
392
+ };
393
+ } & {
394
+ "/sailings/:key": {
395
+ $put: {
419
396
  input: {
420
397
  param: {
421
398
  key: string;
@@ -435,7 +412,6 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
435
412
  };
436
413
  output: {
437
414
  error: string;
438
- detail: string;
439
415
  };
440
416
  outputFormat: "json";
441
417
  status: 409;
@@ -459,34 +435,23 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
459
435
  output: {
460
436
  data: {
461
437
  id: string;
462
- name: string;
463
438
  createdAt: string;
464
439
  updatedAt: string;
465
- slug: string;
466
- status: "live" | "draft" | "awaiting_review" | "archived";
467
- description: string | null;
468
- lineSupplierId: string | null;
469
440
  externalRefs: {
470
441
  [x: string]: string;
471
442
  } | null;
443
+ shipId: string;
472
444
  customerPaymentPolicy: import("hono/utils/types").JSONValue;
473
- cruiseType: "ocean" | "river" | "expedition" | "coastal";
474
- defaultShipId: string | null;
475
- nights: number;
476
445
  embarkPortFacilityId: string | null;
477
446
  disembarkPortFacilityId: string | null;
478
- shortDescription: string | null;
479
- highlights: string[] | null;
480
- inclusionsHtml: string | null;
481
- exclusionsHtml: string | null;
482
- regions: string[] | null;
483
- themes: string[] | null;
484
- heroImageUrl: string | null;
485
- mapImageUrl: string | null;
486
- lowestPriceCached: string | null;
487
- lowestPriceCurrencyCached: string | null;
488
- earliestDepartureCached: string | null;
489
- latestDepartureCached: string | null;
447
+ cruiseId: string;
448
+ departureDate: string;
449
+ returnDate: string;
450
+ direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
451
+ availabilityNote: string | null;
452
+ isCharter: boolean;
453
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
454
+ lastSyncedAt: string | null;
490
455
  };
491
456
  };
492
457
  outputFormat: "json";
@@ -494,8 +459,8 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
494
459
  };
495
460
  };
496
461
  } & {
497
- "/:key/aggregates/recompute": {
498
- $post: {
462
+ "/sailings/:key/itinerary": {
463
+ $get: {
499
464
  input: {
500
465
  param: {
501
466
  key: string;
@@ -518,7 +483,7 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
518
483
  detail: string;
519
484
  };
520
485
  outputFormat: "json";
521
- status: 409;
486
+ status: 501;
522
487
  } | {
523
488
  input: {
524
489
  param: {
@@ -526,10 +491,25 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
526
491
  };
527
492
  };
528
493
  output: {
529
- error: string;
494
+ data: {
495
+ dayNumber: number;
496
+ title?: string | null | undefined;
497
+ description?: string | null | undefined;
498
+ portName?: string | null | undefined;
499
+ arrivalTime?: string | null | undefined;
500
+ departureTime?: string | null | undefined;
501
+ isOvernight?: boolean | undefined;
502
+ isSeaDay?: boolean | undefined;
503
+ isExpeditionLanding?: boolean | undefined;
504
+ meals?: {
505
+ breakfast?: boolean | undefined;
506
+ lunch?: boolean | undefined;
507
+ dinner?: boolean | undefined;
508
+ } | undefined;
509
+ }[];
530
510
  };
531
511
  outputFormat: "json";
532
- status: 404;
512
+ status: import("hono/utils/http-status").ContentfulStatusCode;
533
513
  } | {
534
514
  input: {
535
515
  param: {
@@ -538,44 +518,31 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
538
518
  };
539
519
  output: {
540
520
  data: {
541
- id: string;
542
- name: string;
543
- createdAt: string;
544
- updatedAt: string;
545
- slug: string;
546
- status: "live" | "draft" | "awaiting_review" | "archived";
521
+ dayNumber: number;
522
+ title: string | null;
547
523
  description: string | null;
548
- lineSupplierId: string | null;
549
- externalRefs: {
550
- [x: string]: string;
551
- } | null;
552
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
553
- cruiseType: "ocean" | "river" | "expedition" | "coastal";
554
- defaultShipId: string | null;
555
- nights: number;
556
- embarkPortFacilityId: string | null;
557
- disembarkPortFacilityId: string | null;
558
- shortDescription: string | null;
559
- highlights: string[] | null;
560
- inclusionsHtml: string | null;
561
- exclusionsHtml: string | null;
562
- regions: string[] | null;
563
- themes: string[] | null;
564
- heroImageUrl: string | null;
565
- mapImageUrl: string | null;
566
- lowestPriceCached: string | null;
567
- lowestPriceCurrencyCached: string | null;
568
- earliestDepartureCached: string | null;
569
- latestDepartureCached: string | null;
570
- };
524
+ portFacilityId: string | null;
525
+ arrivalTime: string | null;
526
+ departureTime: string | null;
527
+ isOvernight: boolean;
528
+ isSeaDay: boolean;
529
+ isExpeditionLanding: boolean;
530
+ isSkipped: boolean;
531
+ meals: {
532
+ breakfast?: boolean | undefined;
533
+ lunch?: boolean | undefined;
534
+ dinner?: boolean | undefined;
535
+ };
536
+ hasOverride: boolean;
537
+ }[];
571
538
  };
572
539
  outputFormat: "json";
573
540
  status: import("hono/utils/http-status").ContentfulStatusCode;
574
541
  };
575
542
  };
576
543
  } & {
577
- "/:key/sailings": {
578
- $get: {
544
+ "/sailings/:key/days/bulk": {
545
+ $put: {
579
546
  input: {
580
547
  param: {
581
548
  key: string;
@@ -595,51 +562,9 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
595
562
  };
596
563
  output: {
597
564
  error: string;
598
- detail: string;
599
- };
600
- outputFormat: "json";
601
- status: 501;
602
- } | {
603
- input: {
604
- param: {
605
- key: string;
606
- };
607
- };
608
- output: {
609
- data: {
610
- source: string;
611
- sourceProvider: string;
612
- key: string;
613
- sailing: {
614
- sourceRef: {
615
- [x: string]: import("hono/utils/types").JSONValue;
616
- connectionId?: string | undefined;
617
- externalId: string;
618
- };
619
- cruiseRef: {
620
- [x: string]: import("hono/utils/types").JSONValue;
621
- connectionId?: string | undefined;
622
- externalId: string;
623
- };
624
- shipRef: {
625
- [x: string]: import("hono/utils/types").JSONValue;
626
- connectionId?: string | undefined;
627
- externalId: string;
628
- };
629
- departureDate: string;
630
- returnDate: string;
631
- embarkPortName?: string | null | undefined;
632
- disembarkPortName?: string | null | undefined;
633
- direction?: "upstream" | "downstream" | "round_trip" | "one_way" | null | undefined;
634
- availabilityNote?: string | null | undefined;
635
- isCharter?: boolean | undefined;
636
- salesStatus?: "open" | "on_request" | "wait_list" | "sold_out" | "closed" | undefined;
637
- };
638
- }[];
639
- total: number;
640
565
  };
641
566
  outputFormat: "json";
642
- status: import("hono/utils/http-status").ContentfulStatusCode;
567
+ status: 409;
643
568
  } | {
644
569
  input: {
645
570
  param: {
@@ -649,34 +574,32 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
649
574
  output: {
650
575
  data: {
651
576
  id: string;
652
- cruiseId: string;
653
- shipId: string;
654
- departureDate: string;
655
- returnDate: string;
656
- embarkPortFacilityId: string | null;
657
- disembarkPortFacilityId: string | null;
658
- direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
659
- availabilityNote: string | null;
660
- isCharter: boolean;
661
- salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
662
- externalRefs: {
663
- [x: string]: string;
664
- } | null;
665
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
666
- lastSyncedAt: string | null;
667
577
  createdAt: string;
668
578
  updatedAt: string;
579
+ description: string | null;
580
+ meals: {
581
+ breakfast?: boolean | undefined;
582
+ lunch?: boolean | undefined;
583
+ dinner?: boolean | undefined;
584
+ } | null;
585
+ sailingId: string;
586
+ departureTime: string | null;
587
+ title: string | null;
588
+ dayNumber: number;
589
+ portFacilityId: string | null;
590
+ arrivalTime: string | null;
591
+ isOvernight: boolean | null;
592
+ isSeaDay: boolean | null;
593
+ isExpeditionLanding: boolean | null;
594
+ isSkipped: boolean;
669
595
  }[];
670
- total: number;
671
- limit: number;
672
- offset: number;
673
596
  };
674
597
  outputFormat: "json";
675
598
  status: import("hono/utils/http-status").ContentfulStatusCode;
676
599
  };
677
600
  };
678
601
  } & {
679
- "/:key/days/bulk": {
602
+ "/sailings/:key/pricing/bulk": {
680
603
  $put: {
681
604
  input: {
682
605
  param: {
@@ -711,21 +634,26 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
711
634
  id: string;
712
635
  createdAt: string;
713
636
  updatedAt: string;
714
- description: string | null;
715
- meals: {
716
- breakfast?: boolean | undefined;
717
- lunch?: boolean | undefined;
718
- dinner?: boolean | undefined;
637
+ currency: string;
638
+ notes: string | null;
639
+ availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
640
+ externalRefs: {
641
+ [x: string]: string;
719
642
  } | null;
720
- cruiseId: string;
721
- departureTime: string | null;
722
- title: string | null;
723
- dayNumber: number;
724
- portFacilityId: string | null;
725
- arrivalTime: string | null;
726
- isOvernight: boolean;
727
- isSeaDay: boolean;
728
- isExpeditionLanding: boolean;
643
+ lastSyncedAt: string | null;
644
+ sailingId: string;
645
+ cabinCategoryId: string;
646
+ occupancy: number;
647
+ fareCode: string | null;
648
+ fareCodeName: string | null;
649
+ pricePerPerson: string;
650
+ secondGuestPricePerPerson: string | null;
651
+ singleSupplementPercent: string | null;
652
+ availabilityCount: number | null;
653
+ priceCatalogId: string | null;
654
+ priceScheduleId: string | null;
655
+ bookingDeadline: string | null;
656
+ requiresRequest: boolean;
729
657
  }[];
730
658
  };
731
659
  outputFormat: "json";
@@ -733,7 +661,7 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
733
661
  };
734
662
  };
735
663
  } & {
736
- "/:key/refresh": {
664
+ "/sailings/:key/quote": {
737
665
  $post: {
738
666
  input: {
739
667
  param: {
@@ -745,7 +673,7 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
745
673
  detail: string;
746
674
  };
747
675
  outputFormat: "json";
748
- status: 503;
676
+ status: 400;
749
677
  } | {
750
678
  input: {
751
679
  param: {
@@ -754,9 +682,10 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
754
682
  };
755
683
  output: {
756
684
  error: string;
685
+ detail: string;
757
686
  };
758
687
  outputFormat: "json";
759
- status: 400;
688
+ status: 501;
760
689
  } | {
761
690
  input: {
762
691
  param: {
@@ -765,7 +694,6 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
765
694
  };
766
695
  output: {
767
696
  error: string;
768
- detail: string;
769
697
  };
770
698
  outputFormat: "json";
771
699
  status: 404;
@@ -777,70 +705,22 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
777
705
  };
778
706
  output: {
779
707
  data: {
780
- source: string;
781
- sourceProvider: string;
782
- sourceRef: string;
783
- entityId: string;
784
- content: {
785
- cruise: {
786
- id: string;
787
- name: string;
788
- status?: string | undefined;
789
- description?: string | null | undefined;
790
- cruise_type?: string | null | undefined;
791
- hero_image_url?: string | null | undefined;
792
- highlights?: string[] | undefined;
793
- cruise_line?: string | null | undefined;
794
- duration_nights?: number | null | undefined;
795
- embarkation_port?: string | null | undefined;
796
- disembarkation_port?: string | null | undefined;
797
- };
798
- sailings: {
799
- id: string;
800
- start_date: string;
801
- end_date: string;
802
- source_ref?: string | null | undefined;
803
- duration_nights?: number | null | undefined;
804
- status?: string | null | undefined;
805
- embarkation_port?: string | null | undefined;
806
- disembarkation_port?: string | null | undefined;
807
- }[];
808
- cabin_categories: {
809
- id: string;
810
- name: string;
811
- inclusions: string[];
812
- code?: string | null | undefined;
813
- description?: string | null | undefined;
814
- type?: string | null | undefined;
815
- capacity_min?: number | null | undefined;
816
- capacity_max?: number | null | undefined;
817
- }[];
818
- itinerary_stops: {
819
- day_number: number;
820
- port_name: string;
821
- is_at_sea: boolean;
822
- date?: string | null | undefined;
823
- arrival_time?: string | null | undefined;
824
- departure_time?: string | null | undefined;
825
- description?: string | null | undefined;
826
- }[];
827
- policies: {
828
- kind: "supplier_notes" | "payment" | "cancellation" | "requirements";
829
- body: string;
830
- rules?: import("hono/utils/types").JSONValue | undefined;
831
- }[];
832
- ship?: {
833
- name: string;
834
- id?: string | null | undefined;
835
- description?: string | null | undefined;
836
- capacity?: number | null | undefined;
837
- decks?: number | null | undefined;
838
- year_built?: number | null | undefined;
839
- } | null | undefined;
840
- };
841
- contentSource: "sourced-cache" | "sourced-fresh" | "synthesized";
842
- servedStale: boolean;
843
- refreshedAt: string;
708
+ fareCode: string | null;
709
+ fareCodeName: string | null;
710
+ currency: string;
711
+ occupancy: number;
712
+ guestCount: number;
713
+ basePerPerson: string;
714
+ components: {
715
+ kind: import("./schema-pricing.js").CruisePriceComponent["kind"];
716
+ label: string | null;
717
+ amount: string;
718
+ currency: string;
719
+ direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
720
+ perPerson: boolean;
721
+ }[];
722
+ totalPerPerson: string;
723
+ totalForCabin: string;
844
724
  };
845
725
  };
846
726
  outputFormat: "json";
@@ -848,7 +728,7 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
848
728
  };
849
729
  };
850
730
  } & {
851
- "/:key/detach": {
731
+ "/sailings/:key/bookings": {
852
732
  $post: {
853
733
  input: {
854
734
  param: {
@@ -860,7 +740,7 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
860
740
  detail: string;
861
741
  };
862
742
  outputFormat: "json";
863
- status: 501;
743
+ status: 400;
864
744
  } | {
865
745
  input: {
866
746
  param: {
@@ -869,9 +749,10 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
869
749
  };
870
750
  output: {
871
751
  error: string;
752
+ detail: string;
872
753
  };
873
754
  outputFormat: "json";
874
- status: 400;
755
+ status: 501;
875
756
  } | {
876
757
  input: {
877
758
  param: {
@@ -880,35 +761,62 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
880
761
  };
881
762
  output: {
882
763
  data: {
883
- id: string;
884
- name: string;
885
- createdAt: string;
886
- updatedAt: string;
887
- slug: string;
888
- status: "live" | "draft" | "awaiting_review" | "archived";
889
- description: string | null;
890
- lineSupplierId: string | null;
891
- externalRefs: {
892
- [x: string]: string;
893
- } | null;
894
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
895
- cruiseType: "ocean" | "river" | "expedition" | "coastal";
896
- defaultShipId: string | null;
897
- nights: number;
898
- embarkPortFacilityId: string | null;
899
- disembarkPortFacilityId: string | null;
900
- shortDescription: string | null;
901
- highlights: string[] | null;
902
- inclusionsHtml: string | null;
903
- exclusionsHtml: string | null;
904
- regions: string[] | null;
905
- themes: string[] | null;
906
- heroImageUrl: string | null;
907
- mapImageUrl: string | null;
908
- lowestPriceCached: string | null;
909
- lowestPriceCurrencyCached: string | null;
910
- earliestDepartureCached: string | null;
911
- latestDepartureCached: string | null;
764
+ bookingId: string;
765
+ bookingNumber: string;
766
+ cruiseDetails: {
767
+ source: "external" | "local";
768
+ mode: "reserve" | "inquiry";
769
+ createdAt: string;
770
+ updatedAt: string;
771
+ notes: string | null;
772
+ bookingId: string;
773
+ sailingId: string | null;
774
+ cabinCategoryId: string | null;
775
+ occupancy: number;
776
+ fareCode: string | null;
777
+ sourceProvider: string | null;
778
+ sourceRef: {
779
+ [x: string]: import("hono/utils/types").JSONValue;
780
+ connectionId?: string | undefined;
781
+ externalId: string;
782
+ } | null;
783
+ airArrangement: "none" | "cruise_line" | "independent" | null;
784
+ cabinId: string | null;
785
+ sailingDisplayName: string | null;
786
+ cabinDisplayName: string | null;
787
+ quotedPricePerPerson: string;
788
+ quotedTotalForCabin: string;
789
+ quotedCurrency: string;
790
+ quotedComponentsJson: {
791
+ kind: import("./schema-pricing.js").CruisePriceComponent["kind"];
792
+ label: string | null;
793
+ amount: string;
794
+ currency: string;
795
+ direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
796
+ perPerson: boolean;
797
+ }[] | null;
798
+ connectorBookingRef: string | null;
799
+ connectorStatus: string | null;
800
+ linkedFlightBookingId: string | null;
801
+ };
802
+ quote: {
803
+ fareCode: string | null;
804
+ fareCodeName: string | null;
805
+ currency: string;
806
+ occupancy: number;
807
+ guestCount: number;
808
+ basePerPerson: string;
809
+ components: {
810
+ kind: import("./schema-pricing.js").CruisePriceComponent["kind"];
811
+ label: string | null;
812
+ amount: string;
813
+ currency: string;
814
+ direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
815
+ perPerson: boolean;
816
+ }[];
817
+ totalPerPerson: string;
818
+ totalForCabin: string;
819
+ };
912
820
  };
913
821
  };
914
822
  outputFormat: "json";
@@ -916,8 +824,8 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
916
824
  };
917
825
  };
918
826
  } & {
919
- "/:key/enrichment": {
920
- $get: {
827
+ "/sailings/:key/party-bookings": {
828
+ $post: {
921
829
  input: {
922
830
  param: {
923
831
  key: string;
@@ -949,126 +857,170 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
949
857
  };
950
858
  output: {
951
859
  data: {
952
- id: string;
953
- name: string;
954
- createdAt: string;
955
- updatedAt: string;
956
- description: string | null;
957
- cruiseId: string;
958
- kind: "other" | "naturalist" | "historian" | "photographer" | "lecturer" | "expert";
959
- title: string | null;
960
- sortOrder: number;
961
- bioImageUrl: string | null;
962
- }[];
860
+ groupId: string;
861
+ primaryBookingId: string | null;
862
+ groupDetails: {
863
+ source: "external" | "local";
864
+ createdAt: string;
865
+ updatedAt: string;
866
+ notes: string | null;
867
+ cabinCount: number;
868
+ sailingId: string | null;
869
+ sourceProvider: string | null;
870
+ sourceRef: {
871
+ [x: string]: import("hono/utils/types").JSONValue;
872
+ connectionId?: string | undefined;
873
+ externalId: string;
874
+ } | null;
875
+ sailingDisplayName: string | null;
876
+ quotedCurrency: string;
877
+ connectorBookingRef: string | null;
878
+ bookingGroupId: string;
879
+ totalQuotedAmount: string;
880
+ };
881
+ cabins: {
882
+ bookingId: string;
883
+ bookingNumber: string;
884
+ cruiseDetails: {
885
+ source: "external" | "local";
886
+ mode: "reserve" | "inquiry";
887
+ createdAt: string;
888
+ updatedAt: string;
889
+ notes: string | null;
890
+ bookingId: string;
891
+ sailingId: string | null;
892
+ cabinCategoryId: string | null;
893
+ occupancy: number;
894
+ fareCode: string | null;
895
+ sourceProvider: string | null;
896
+ sourceRef: {
897
+ [x: string]: import("hono/utils/types").JSONValue;
898
+ connectionId?: string | undefined;
899
+ externalId: string;
900
+ } | null;
901
+ airArrangement: "none" | "cruise_line" | "independent" | null;
902
+ cabinId: string | null;
903
+ sailingDisplayName: string | null;
904
+ cabinDisplayName: string | null;
905
+ quotedPricePerPerson: string;
906
+ quotedTotalForCabin: string;
907
+ quotedCurrency: string;
908
+ quotedComponentsJson: {
909
+ kind: import("./schema-pricing.js").CruisePriceComponent["kind"];
910
+ label: string | null;
911
+ amount: string;
912
+ currency: string;
913
+ direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
914
+ perPerson: boolean;
915
+ }[] | null;
916
+ connectorBookingRef: string | null;
917
+ connectorStatus: string | null;
918
+ linkedFlightBookingId: string | null;
919
+ };
920
+ quote: {
921
+ fareCode: string | null;
922
+ fareCodeName: string | null;
923
+ currency: string;
924
+ occupancy: number;
925
+ guestCount: number;
926
+ basePerPerson: string;
927
+ components: {
928
+ kind: import("./schema-pricing.js").CruisePriceComponent["kind"];
929
+ label: string | null;
930
+ amount: string;
931
+ currency: string;
932
+ direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
933
+ perPerson: boolean;
934
+ }[];
935
+ totalPerPerson: string;
936
+ totalForCabin: string;
937
+ };
938
+ }[];
939
+ };
963
940
  };
964
941
  outputFormat: "json";
965
- status: import("hono/utils/http-status").ContentfulStatusCode;
942
+ status: 201;
966
943
  };
967
944
  };
968
945
  } & {
969
- "/:key/enrichment": {
970
- $post: {
971
- input: {
972
- param: {
973
- key: string;
974
- };
975
- };
976
- output: {
977
- error: string;
978
- detail: string;
979
- };
980
- outputFormat: "json";
981
- status: 400;
982
- } | {
983
- input: {
984
- param: {
985
- key: string;
986
- };
987
- };
988
- output: {
989
- error: string;
990
- };
991
- outputFormat: "json";
992
- status: 409;
993
- } | {
994
- input: {
995
- param: {
996
- key: string;
997
- };
998
- };
946
+ "/prices": {
947
+ $get: {
948
+ input: {};
999
949
  output: {
1000
950
  data: {
1001
951
  id: string;
1002
- name: string;
952
+ sailingId: string;
953
+ cabinCategoryId: string;
954
+ occupancy: number;
955
+ fareCode: string | null;
956
+ fareCodeName: string | null;
957
+ currency: string;
958
+ pricePerPerson: string;
959
+ secondGuestPricePerPerson: string | null;
960
+ singleSupplementPercent: string | null;
961
+ availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
962
+ availabilityCount: number | null;
963
+ priceCatalogId: string | null;
964
+ priceScheduleId: string | null;
965
+ bookingDeadline: string | null;
966
+ requiresRequest: boolean;
967
+ notes: string | null;
968
+ externalRefs: {
969
+ [x: string]: string;
970
+ } | null;
971
+ lastSyncedAt: string | null;
1003
972
  createdAt: string;
1004
973
  updatedAt: string;
1005
- description: string | null;
1006
- cruiseId: string;
1007
- kind: "other" | "naturalist" | "historian" | "photographer" | "lecturer" | "expert";
1008
- title: string | null;
1009
- sortOrder: number;
1010
- bioImageUrl: string | null;
1011
- };
974
+ }[];
975
+ total: number;
976
+ limit: number;
977
+ offset: number;
1012
978
  };
1013
979
  outputFormat: "json";
1014
- status: 201;
980
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1015
981
  };
1016
982
  };
1017
983
  } & {
1018
- "/:key/enrichment/bulk": {
1019
- $put: {
1020
- input: {
1021
- param: {
1022
- key: string;
1023
- };
1024
- };
1025
- output: {
1026
- error: string;
1027
- detail: string;
1028
- };
1029
- outputFormat: "json";
1030
- status: 400;
1031
- } | {
1032
- input: {
1033
- param: {
1034
- key: string;
1035
- };
1036
- };
1037
- output: {
1038
- error: string;
1039
- };
1040
- outputFormat: "json";
1041
- status: 409;
1042
- } | {
1043
- input: {
1044
- param: {
1045
- key: string;
1046
- };
1047
- };
984
+ "/prices": {
985
+ $post: {
986
+ input: {};
1048
987
  output: {
1049
988
  data: {
1050
989
  id: string;
1051
- name: string;
1052
990
  createdAt: string;
1053
991
  updatedAt: string;
1054
- description: string | null;
1055
- cruiseId: string;
1056
- kind: "other" | "naturalist" | "historian" | "photographer" | "lecturer" | "expert";
1057
- title: string | null;
1058
- sortOrder: number;
1059
- bioImageUrl: string | null;
1060
- }[];
992
+ currency: string;
993
+ notes: string | null;
994
+ availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
995
+ externalRefs: {
996
+ [x: string]: string;
997
+ } | null;
998
+ lastSyncedAt: string | null;
999
+ sailingId: string;
1000
+ cabinCategoryId: string;
1001
+ occupancy: number;
1002
+ fareCode: string | null;
1003
+ fareCodeName: string | null;
1004
+ pricePerPerson: string;
1005
+ secondGuestPricePerPerson: string | null;
1006
+ singleSupplementPercent: string | null;
1007
+ availabilityCount: number | null;
1008
+ priceCatalogId: string | null;
1009
+ priceScheduleId: string | null;
1010
+ bookingDeadline: string | null;
1011
+ requiresRequest: boolean;
1012
+ };
1061
1013
  };
1062
1014
  outputFormat: "json";
1063
- status: import("hono/utils/http-status").ContentfulStatusCode;
1015
+ status: 201;
1064
1016
  };
1065
1017
  };
1066
1018
  } & {
1067
- "/enrichment/:programId": {
1019
+ "/prices/:priceId": {
1068
1020
  $put: {
1069
1021
  input: {
1070
1022
  param: {
1071
- programId: string;
1023
+ priceId: string;
1072
1024
  };
1073
1025
  };
1074
1026
  output: {
@@ -1079,21 +1031,34 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1079
1031
  } | {
1080
1032
  input: {
1081
1033
  param: {
1082
- programId: string;
1034
+ priceId: string;
1083
1035
  };
1084
1036
  };
1085
1037
  output: {
1086
1038
  data: {
1087
1039
  id: string;
1088
- name: string;
1089
1040
  createdAt: string;
1090
1041
  updatedAt: string;
1091
- description: string | null;
1092
- cruiseId: string;
1093
- kind: "other" | "naturalist" | "historian" | "photographer" | "lecturer" | "expert";
1094
- title: string | null;
1095
- sortOrder: number;
1096
- bioImageUrl: string | null;
1042
+ currency: string;
1043
+ notes: string | null;
1044
+ availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
1045
+ externalRefs: {
1046
+ [x: string]: string;
1047
+ } | null;
1048
+ lastSyncedAt: string | null;
1049
+ sailingId: string;
1050
+ cabinCategoryId: string;
1051
+ occupancy: number;
1052
+ fareCode: string | null;
1053
+ fareCodeName: string | null;
1054
+ pricePerPerson: string;
1055
+ secondGuestPricePerPerson: string | null;
1056
+ singleSupplementPercent: string | null;
1057
+ availabilityCount: number | null;
1058
+ priceCatalogId: string | null;
1059
+ priceScheduleId: string | null;
1060
+ bookingDeadline: string | null;
1061
+ requiresRequest: boolean;
1097
1062
  };
1098
1063
  };
1099
1064
  outputFormat: "json";
@@ -1101,51 +1066,35 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1101
1066
  };
1102
1067
  };
1103
1068
  } & {
1104
- "/enrichment/:programId": {
1105
- $delete: {
1106
- input: {
1107
- param: {
1108
- programId: string;
1109
- };
1110
- };
1111
- output: null;
1112
- outputFormat: "body";
1113
- status: 204;
1114
- } | {
1115
- input: {
1116
- param: {
1117
- programId: string;
1118
- };
1119
- };
1120
- output: {
1121
- error: string;
1122
- };
1123
- outputFormat: "json";
1124
- status: 404;
1125
- };
1126
- };
1127
- } & {
1128
- "/sailings": {
1069
+ "/ships": {
1129
1070
  $get: {
1130
1071
  input: {};
1131
1072
  output: {
1132
1073
  data: {
1133
1074
  id: string;
1134
- cruiseId: string;
1135
- shipId: string;
1136
- departureDate: string;
1137
- returnDate: string;
1138
- embarkPortFacilityId: string | null;
1139
- disembarkPortFacilityId: string | null;
1140
- direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
1141
- availabilityNote: string | null;
1142
- isCharter: boolean;
1143
- salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
1075
+ lineSupplierId: string | null;
1076
+ name: string;
1077
+ slug: string;
1078
+ shipType: "ocean" | "river" | "expedition" | "coastal" | "yacht" | "sailing";
1079
+ capacityGuests: number | null;
1080
+ capacityCrew: number | null;
1081
+ cabinCount: number | null;
1082
+ deckCount: number | null;
1083
+ lengthMeters: string | null;
1084
+ cruisingSpeedKnots: string | null;
1085
+ yearBuilt: number | null;
1086
+ yearRefurbished: number | null;
1087
+ imo: string | null;
1088
+ description: string | null;
1089
+ deckPlanUrl: string | null;
1090
+ gallery: string[] | null;
1091
+ amenities: {
1092
+ [x: string]: import("hono/utils/types").JSONValue;
1093
+ } | null;
1144
1094
  externalRefs: {
1145
1095
  [x: string]: string;
1146
1096
  } | null;
1147
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
1148
- lastSyncedAt: string | null;
1097
+ isActive: boolean;
1149
1098
  createdAt: string;
1150
1099
  updatedAt: string;
1151
1100
  }[];
@@ -1158,7 +1107,45 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1158
1107
  };
1159
1108
  };
1160
1109
  } & {
1161
- "/sailings/:key": {
1110
+ "/ships": {
1111
+ $post: {
1112
+ input: {};
1113
+ output: {
1114
+ data: {
1115
+ id: string;
1116
+ name: string;
1117
+ createdAt: string;
1118
+ updatedAt: string;
1119
+ slug: string;
1120
+ description: string | null;
1121
+ lineSupplierId: string | null;
1122
+ shipType: "ocean" | "river" | "expedition" | "coastal" | "yacht" | "sailing";
1123
+ capacityGuests: number | null;
1124
+ capacityCrew: number | null;
1125
+ cabinCount: number | null;
1126
+ deckCount: number | null;
1127
+ lengthMeters: string | null;
1128
+ cruisingSpeedKnots: string | null;
1129
+ yearBuilt: number | null;
1130
+ yearRefurbished: number | null;
1131
+ imo: string | null;
1132
+ deckPlanUrl: string | null;
1133
+ gallery: string[] | null;
1134
+ amenities: {
1135
+ [x: string]: import("hono/utils/types").JSONValue;
1136
+ } | null;
1137
+ externalRefs: {
1138
+ [x: string]: string;
1139
+ } | null;
1140
+ isActive: boolean;
1141
+ };
1142
+ };
1143
+ outputFormat: "json";
1144
+ status: 201;
1145
+ };
1146
+ };
1147
+ } & {
1148
+ "/ships/:key": {
1162
1149
  $get: {
1163
1150
  input: {
1164
1151
  param: {
@@ -1202,7 +1189,62 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1202
1189
  };
1203
1190
  output: {
1204
1191
  data: {
1205
- [x: string]: import("hono/utils/types").JSONValue;
1192
+ source: string;
1193
+ sourceProvider: string;
1194
+ sourceRef: {
1195
+ [x: string]: import("hono/utils/types").JSONValue;
1196
+ connectionId?: string | undefined;
1197
+ externalId: string;
1198
+ };
1199
+ ship: {
1200
+ sourceRef: {
1201
+ [x: string]: import("hono/utils/types").JSONValue;
1202
+ connectionId?: string | undefined;
1203
+ externalId: string;
1204
+ };
1205
+ name: string;
1206
+ slug: string;
1207
+ shipType: "ocean" | "river" | "expedition" | "yacht" | "sailing" | "coastal";
1208
+ capacityGuests?: number | null | undefined;
1209
+ capacityCrew?: number | null | undefined;
1210
+ cabinCount?: number | null | undefined;
1211
+ deckCount?: number | null | undefined;
1212
+ lengthMeters?: string | null | undefined;
1213
+ cruisingSpeedKnots?: string | null | undefined;
1214
+ yearBuilt?: number | null | undefined;
1215
+ yearRefurbished?: number | null | undefined;
1216
+ imo?: string | null | undefined;
1217
+ description?: string | null | undefined;
1218
+ deckPlanUrl?: string | null | undefined;
1219
+ gallery?: string[] | undefined;
1220
+ amenities?: {
1221
+ [x: string]: import("hono/utils/types").JSONValue;
1222
+ } | undefined;
1223
+ decks?: {
1224
+ name: string;
1225
+ level?: number | null | undefined;
1226
+ planImageUrl?: string | null | undefined;
1227
+ }[] | undefined;
1228
+ categories?: {
1229
+ sourceRef: {
1230
+ [x: string]: import("hono/utils/types").JSONValue;
1231
+ connectionId?: string | undefined;
1232
+ externalId: string;
1233
+ };
1234
+ code: string;
1235
+ name: string;
1236
+ roomType: "inside" | "oceanview" | "balcony" | "suite" | "penthouse" | "single";
1237
+ description?: string | null | undefined;
1238
+ minOccupancy: number;
1239
+ maxOccupancy: number;
1240
+ squareFeet?: string | null | undefined;
1241
+ wheelchairAccessible?: boolean | undefined;
1242
+ amenities?: string[] | undefined;
1243
+ images?: string[] | undefined;
1244
+ floorplanImages?: string[] | undefined;
1245
+ gradeCodes?: string[] | undefined;
1246
+ }[] | undefined;
1247
+ };
1206
1248
  };
1207
1249
  };
1208
1250
  outputFormat: "json";
@@ -1216,78 +1258,31 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1216
1258
  output: {
1217
1259
  data: {
1218
1260
  id: string;
1261
+ name: string;
1219
1262
  createdAt: string;
1220
1263
  updatedAt: string;
1264
+ slug: string;
1265
+ description: string | null;
1266
+ lineSupplierId: string | null;
1267
+ shipType: "ocean" | "river" | "expedition" | "coastal" | "yacht" | "sailing";
1268
+ capacityGuests: number | null;
1269
+ capacityCrew: number | null;
1270
+ cabinCount: number | null;
1271
+ deckCount: number | null;
1272
+ lengthMeters: string | null;
1273
+ cruisingSpeedKnots: string | null;
1274
+ yearBuilt: number | null;
1275
+ yearRefurbished: number | null;
1276
+ imo: string | null;
1277
+ deckPlanUrl: string | null;
1278
+ gallery: string[] | null;
1279
+ amenities: {
1280
+ [x: string]: import("hono/utils/types").JSONValue;
1281
+ } | null;
1221
1282
  externalRefs: {
1222
1283
  [x: string]: string;
1223
1284
  } | null;
1224
- shipId: string;
1225
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
1226
- embarkPortFacilityId: string | null;
1227
- disembarkPortFacilityId: string | null;
1228
- cruiseId: string;
1229
- departureDate: string;
1230
- returnDate: string;
1231
- direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
1232
- availabilityNote: string | null;
1233
- isCharter: boolean;
1234
- salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
1235
- lastSyncedAt: string | null;
1236
- prices?: {
1237
- id: string;
1238
- createdAt: string;
1239
- updatedAt: string;
1240
- currency: string;
1241
- notes: string | null;
1242
- availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
1243
- externalRefs: {
1244
- [x: string]: string;
1245
- } | null;
1246
- lastSyncedAt: string | null;
1247
- sailingId: string;
1248
- cabinCategoryId: string;
1249
- occupancy: number;
1250
- fareCode: string | null;
1251
- fareCodeName: string | null;
1252
- pricePerPerson: string;
1253
- secondGuestPricePerPerson: string | null;
1254
- singleSupplementPercent: string | null;
1255
- availabilityCount: number | null;
1256
- priceCatalogId: string | null;
1257
- priceScheduleId: string | null;
1258
- bookingDeadline: string | null;
1259
- requiresRequest: boolean;
1260
- }[] | undefined;
1261
- priceComponents?: {
1262
- id: string;
1263
- createdAt: string;
1264
- updatedAt: string;
1265
- currency: string;
1266
- direction: "addition" | "inclusion" | "credit";
1267
- priceId: string;
1268
- kind: "gratuity" | "onboard_credit" | "port_charge" | "tax" | "ncf" | "airfare" | "transfer" | "insurance";
1269
- label: string | null;
1270
- amount: string;
1271
- perPerson: boolean;
1272
- }[] | undefined;
1273
- effectiveDays?: {
1274
- dayNumber: number;
1275
- title: string | null;
1276
- description: string | null;
1277
- portFacilityId: string | null;
1278
- arrivalTime: string | null;
1279
- departureTime: string | null;
1280
- isOvernight: boolean;
1281
- isSeaDay: boolean;
1282
- isExpeditionLanding: boolean;
1283
- isSkipped: boolean;
1284
- meals: {
1285
- breakfast?: boolean | undefined;
1286
- lunch?: boolean | undefined;
1287
- dinner?: boolean | undefined;
1288
- };
1289
- hasOverride: boolean;
1290
- }[] | undefined;
1285
+ isActive: boolean;
1291
1286
  };
1292
1287
  };
1293
1288
  outputFormat: "json";
@@ -1295,43 +1290,13 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1295
1290
  };
1296
1291
  };
1297
1292
  } & {
1298
- "/sailings": {
1299
- $post: {
1300
- input: {};
1301
- output: {
1302
- data: {
1303
- id: string;
1304
- createdAt: string;
1305
- updatedAt: string;
1306
- externalRefs: {
1307
- [x: string]: string;
1308
- } | null;
1309
- shipId: string;
1310
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
1311
- embarkPortFacilityId: string | null;
1312
- disembarkPortFacilityId: string | null;
1313
- cruiseId: string;
1314
- departureDate: string;
1315
- returnDate: string;
1316
- direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
1317
- availabilityNote: string | null;
1318
- isCharter: boolean;
1319
- salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
1320
- lastSyncedAt: string | null;
1321
- };
1322
- };
1323
- outputFormat: "json";
1324
- status: 201;
1325
- };
1326
- };
1327
- } & {
1328
- "/sailings/:key": {
1329
- $put: {
1330
- input: {
1331
- param: {
1332
- key: string;
1333
- };
1334
- };
1293
+ "/ships/:key": {
1294
+ $put: {
1295
+ input: {
1296
+ param: {
1297
+ key: string;
1298
+ };
1299
+ };
1335
1300
  output: {
1336
1301
  error: string;
1337
1302
  detail: string;
@@ -1369,23 +1334,31 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1369
1334
  output: {
1370
1335
  data: {
1371
1336
  id: string;
1337
+ name: string;
1372
1338
  createdAt: string;
1373
1339
  updatedAt: string;
1340
+ slug: string;
1341
+ description: string | null;
1342
+ lineSupplierId: string | null;
1343
+ shipType: "ocean" | "river" | "expedition" | "coastal" | "yacht" | "sailing";
1344
+ capacityGuests: number | null;
1345
+ capacityCrew: number | null;
1346
+ cabinCount: number | null;
1347
+ deckCount: number | null;
1348
+ lengthMeters: string | null;
1349
+ cruisingSpeedKnots: string | null;
1350
+ yearBuilt: number | null;
1351
+ yearRefurbished: number | null;
1352
+ imo: string | null;
1353
+ deckPlanUrl: string | null;
1354
+ gallery: string[] | null;
1355
+ amenities: {
1356
+ [x: string]: import("hono/utils/types").JSONValue;
1357
+ } | null;
1374
1358
  externalRefs: {
1375
1359
  [x: string]: string;
1376
1360
  } | null;
1377
- shipId: string;
1378
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
1379
- embarkPortFacilityId: string | null;
1380
- disembarkPortFacilityId: string | null;
1381
- cruiseId: string;
1382
- departureDate: string;
1383
- returnDate: string;
1384
- direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
1385
- availabilityNote: string | null;
1386
- isCharter: boolean;
1387
- salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
1388
- lastSyncedAt: string | null;
1361
+ isActive: boolean;
1389
1362
  };
1390
1363
  };
1391
1364
  outputFormat: "json";
@@ -1393,7 +1366,7 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1393
1366
  };
1394
1367
  };
1395
1368
  } & {
1396
- "/sailings/:key/itinerary": {
1369
+ "/ships/:key/decks": {
1397
1370
  $get: {
1398
1371
  input: {
1399
1372
  param: {
@@ -1426,48 +1399,9 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1426
1399
  };
1427
1400
  output: {
1428
1401
  data: {
1429
- dayNumber: number;
1430
- title?: string | null | undefined;
1431
- description?: string | null | undefined;
1432
- portName?: string | null | undefined;
1433
- arrivalTime?: string | null | undefined;
1434
- departureTime?: string | null | undefined;
1435
- isOvernight?: boolean | undefined;
1436
- isSeaDay?: boolean | undefined;
1437
- isExpeditionLanding?: boolean | undefined;
1438
- meals?: {
1439
- breakfast?: boolean | undefined;
1440
- lunch?: boolean | undefined;
1441
- dinner?: boolean | undefined;
1442
- } | undefined;
1443
- }[];
1444
- };
1445
- outputFormat: "json";
1446
- status: import("hono/utils/http-status").ContentfulStatusCode;
1447
- } | {
1448
- input: {
1449
- param: {
1450
- key: string;
1451
- };
1452
- };
1453
- output: {
1454
- data: {
1455
- dayNumber: number;
1456
- title: string | null;
1457
- description: string | null;
1458
- portFacilityId: string | null;
1459
- arrivalTime: string | null;
1460
- departureTime: string | null;
1461
- isOvernight: boolean;
1462
- isSeaDay: boolean;
1463
- isExpeditionLanding: boolean;
1464
- isSkipped: boolean;
1465
- meals: {
1466
- breakfast?: boolean | undefined;
1467
- lunch?: boolean | undefined;
1468
- dinner?: boolean | undefined;
1469
- };
1470
- hasOverride: boolean;
1402
+ name: string;
1403
+ level?: number | null | undefined;
1404
+ planImageUrl?: string | null | undefined;
1471
1405
  }[];
1472
1406
  };
1473
1407
  outputFormat: "json";
@@ -1475,8 +1409,8 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1475
1409
  };
1476
1410
  };
1477
1411
  } & {
1478
- "/sailings/:key/days/bulk": {
1479
- $put: {
1412
+ "/ships/:key/decks": {
1413
+ $post: {
1480
1414
  input: {
1481
1415
  param: {
1482
1416
  key: string;
@@ -1508,95 +1442,55 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1508
1442
  output: {
1509
1443
  data: {
1510
1444
  id: string;
1445
+ name: string;
1511
1446
  createdAt: string;
1512
1447
  updatedAt: string;
1513
- description: string | null;
1514
- meals: {
1515
- breakfast?: boolean | undefined;
1516
- lunch?: boolean | undefined;
1517
- dinner?: boolean | undefined;
1518
- } | null;
1519
- sailingId: string;
1520
- departureTime: string | null;
1521
- title: string | null;
1522
- dayNumber: number;
1523
- portFacilityId: string | null;
1524
- arrivalTime: string | null;
1525
- isOvernight: boolean | null;
1526
- isSeaDay: boolean | null;
1527
- isExpeditionLanding: boolean | null;
1528
- isSkipped: boolean;
1529
- }[];
1448
+ shipId: string;
1449
+ level: number | null;
1450
+ planImageUrl: string | null;
1451
+ };
1530
1452
  };
1531
1453
  outputFormat: "json";
1532
- status: import("hono/utils/http-status").ContentfulStatusCode;
1454
+ status: 201;
1533
1455
  };
1534
1456
  };
1535
1457
  } & {
1536
- "/sailings/:key/pricing/bulk": {
1458
+ "/decks/:deckId": {
1537
1459
  $put: {
1538
1460
  input: {
1539
1461
  param: {
1540
- key: string;
1541
- };
1542
- };
1543
- output: {
1544
- error: string;
1545
- detail: string;
1546
- };
1547
- outputFormat: "json";
1548
- status: 400;
1549
- } | {
1550
- input: {
1551
- param: {
1552
- key: string;
1462
+ deckId: string;
1553
1463
  };
1554
1464
  };
1555
1465
  output: {
1556
1466
  error: string;
1557
1467
  };
1558
1468
  outputFormat: "json";
1559
- status: 409;
1469
+ status: 404;
1560
1470
  } | {
1561
1471
  input: {
1562
1472
  param: {
1563
- key: string;
1473
+ deckId: string;
1564
1474
  };
1565
1475
  };
1566
1476
  output: {
1567
1477
  data: {
1568
1478
  id: string;
1479
+ name: string;
1569
1480
  createdAt: string;
1570
1481
  updatedAt: string;
1571
- currency: string;
1572
- notes: string | null;
1573
- availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
1574
- externalRefs: {
1575
- [x: string]: string;
1576
- } | null;
1577
- lastSyncedAt: string | null;
1578
- sailingId: string;
1579
- cabinCategoryId: string;
1580
- occupancy: number;
1581
- fareCode: string | null;
1582
- fareCodeName: string | null;
1583
- pricePerPerson: string;
1584
- secondGuestPricePerPerson: string | null;
1585
- singleSupplementPercent: string | null;
1586
- availabilityCount: number | null;
1587
- priceCatalogId: string | null;
1588
- priceScheduleId: string | null;
1589
- bookingDeadline: string | null;
1590
- requiresRequest: boolean;
1591
- }[];
1482
+ shipId: string;
1483
+ level: number | null;
1484
+ planImageUrl: string | null;
1485
+ };
1592
1486
  };
1593
1487
  outputFormat: "json";
1594
1488
  status: import("hono/utils/http-status").ContentfulStatusCode;
1595
1489
  };
1596
1490
  };
1597
1491
  } & {
1598
- "/sailings/:key/quote": {
1599
- $post: {
1492
+ "/ships/:key/categories": {
1493
+ $get: {
1600
1494
  input: {
1601
1495
  param: {
1602
1496
  key: string;
@@ -1627,10 +1521,28 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1627
1521
  };
1628
1522
  };
1629
1523
  output: {
1630
- error: string;
1524
+ data: {
1525
+ sourceRef: {
1526
+ [x: string]: import("hono/utils/types").JSONValue;
1527
+ connectionId?: string | undefined;
1528
+ externalId: string;
1529
+ };
1530
+ code: string;
1531
+ name: string;
1532
+ roomType: "inside" | "oceanview" | "balcony" | "suite" | "penthouse" | "single";
1533
+ description?: string | null | undefined;
1534
+ minOccupancy: number;
1535
+ maxOccupancy: number;
1536
+ squareFeet?: string | null | undefined;
1537
+ wheelchairAccessible?: boolean | undefined;
1538
+ amenities?: string[] | undefined;
1539
+ images?: string[] | undefined;
1540
+ floorplanImages?: string[] | undefined;
1541
+ gradeCodes?: string[] | undefined;
1542
+ }[];
1631
1543
  };
1632
1544
  outputFormat: "json";
1633
- status: 404;
1545
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1634
1546
  } | {
1635
1547
  input: {
1636
1548
  param: {
@@ -1639,31 +1551,35 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1639
1551
  };
1640
1552
  output: {
1641
1553
  data: {
1642
- fareCode: string | null;
1643
- fareCodeName: string | null;
1644
- currency: string;
1645
- occupancy: number;
1646
- guestCount: number;
1647
- basePerPerson: string;
1648
- components: {
1649
- kind: import("./schema-pricing.js").CruisePriceComponent["kind"];
1650
- label: string | null;
1651
- amount: string;
1652
- currency: string;
1653
- direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
1654
- perPerson: boolean;
1655
- }[];
1656
- totalPerPerson: string;
1657
- totalForCabin: string;
1658
- };
1554
+ id: string;
1555
+ name: string;
1556
+ createdAt: string;
1557
+ updatedAt: string;
1558
+ description: string | null;
1559
+ code: string;
1560
+ amenities: string[] | null;
1561
+ externalRefs: {
1562
+ [x: string]: string;
1563
+ } | null;
1564
+ shipId: string;
1565
+ roomType: "single" | "inside" | "oceanview" | "balcony" | "suite" | "penthouse";
1566
+ minOccupancy: number;
1567
+ maxOccupancy: number;
1568
+ squareFeet: string | null;
1569
+ wheelchairAccessible: boolean;
1570
+ images: string[] | null;
1571
+ floorplanImages: string[] | null;
1572
+ gradeCodes: string[] | null;
1573
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
1574
+ }[];
1659
1575
  };
1660
1576
  outputFormat: "json";
1661
1577
  status: import("hono/utils/http-status").ContentfulStatusCode;
1662
1578
  };
1663
1579
  };
1664
1580
  } & {
1665
- "/sailings/:key/bookings": {
1666
- $post: {
1581
+ "/ships/:key/categories/bulk": {
1582
+ $put: {
1667
1583
  input: {
1668
1584
  param: {
1669
1585
  key: string;
@@ -1683,10 +1599,9 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1683
1599
  };
1684
1600
  output: {
1685
1601
  error: string;
1686
- detail: string;
1687
1602
  };
1688
1603
  outputFormat: "json";
1689
- status: 501;
1604
+ status: 409;
1690
1605
  } | {
1691
1606
  input: {
1692
1607
  param: {
@@ -1695,355 +1610,470 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
1695
1610
  };
1696
1611
  output: {
1697
1612
  data: {
1698
- bookingId: string;
1699
- bookingNumber: string;
1700
- cruiseDetails: {
1701
- source: "external" | "local";
1702
- mode: "reserve" | "inquiry";
1703
- createdAt: string;
1704
- updatedAt: string;
1705
- notes: string | null;
1706
- bookingId: string;
1707
- sailingId: string | null;
1708
- cabinCategoryId: string | null;
1709
- occupancy: number;
1710
- fareCode: string | null;
1711
- sourceProvider: string | null;
1712
- sourceRef: {
1713
- [x: string]: import("hono/utils/types").JSONValue;
1714
- connectionId?: string | undefined;
1715
- externalId: string;
1716
- } | null;
1717
- airArrangement: "none" | "cruise_line" | "independent" | null;
1718
- cabinId: string | null;
1719
- sailingDisplayName: string | null;
1720
- cabinDisplayName: string | null;
1721
- quotedPricePerPerson: string;
1722
- quotedTotalForCabin: string;
1723
- quotedCurrency: string;
1724
- quotedComponentsJson: {
1725
- kind: import("./schema-pricing.js").CruisePriceComponent["kind"];
1726
- label: string | null;
1727
- amount: string;
1728
- currency: string;
1729
- direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
1730
- perPerson: boolean;
1731
- }[] | null;
1732
- connectorBookingRef: string | null;
1733
- connectorStatus: string | null;
1734
- linkedFlightBookingId: string | null;
1735
- };
1736
- quote: {
1737
- fareCode: string | null;
1738
- fareCodeName: string | null;
1739
- currency: string;
1740
- occupancy: number;
1741
- guestCount: number;
1742
- basePerPerson: string;
1743
- components: {
1744
- kind: import("./schema-pricing.js").CruisePriceComponent["kind"];
1745
- label: string | null;
1746
- amount: string;
1747
- currency: string;
1748
- direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
1749
- perPerson: boolean;
1750
- }[];
1751
- totalPerPerson: string;
1752
- totalForCabin: string;
1753
- };
1754
- };
1613
+ id: string;
1614
+ name: string;
1615
+ createdAt: string;
1616
+ updatedAt: string;
1617
+ description: string | null;
1618
+ code: string;
1619
+ amenities: string[] | null;
1620
+ externalRefs: {
1621
+ [x: string]: string;
1622
+ } | null;
1623
+ shipId: string;
1624
+ roomType: "single" | "inside" | "oceanview" | "balcony" | "suite" | "penthouse";
1625
+ minOccupancy: number;
1626
+ maxOccupancy: number;
1627
+ squareFeet: string | null;
1628
+ wheelchairAccessible: boolean;
1629
+ images: string[] | null;
1630
+ floorplanImages: string[] | null;
1631
+ gradeCodes: string[] | null;
1632
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
1633
+ }[];
1755
1634
  };
1756
1635
  outputFormat: "json";
1757
- status: 201;
1636
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1758
1637
  };
1759
1638
  };
1760
1639
  } & {
1761
- "/sailings/:key/party-bookings": {
1762
- $post: {
1763
- input: {
1764
- param: {
1765
- key: string;
1766
- };
1767
- };
1768
- output: {
1769
- error: string;
1770
- detail: string;
1771
- };
1772
- outputFormat: "json";
1773
- status: 400;
1774
- } | {
1640
+ "/categories/:categoryId": {
1641
+ $put: {
1775
1642
  input: {
1776
1643
  param: {
1777
- key: string;
1644
+ categoryId: string;
1778
1645
  };
1779
1646
  };
1780
1647
  output: {
1781
1648
  error: string;
1782
- detail: string;
1783
1649
  };
1784
1650
  outputFormat: "json";
1785
- status: 501;
1651
+ status: 404;
1786
1652
  } | {
1787
1653
  input: {
1788
1654
  param: {
1789
- key: string;
1655
+ categoryId: string;
1790
1656
  };
1791
1657
  };
1792
1658
  output: {
1793
1659
  data: {
1794
- groupId: string;
1795
- primaryBookingId: string | null;
1796
- groupDetails: {
1797
- source: "external" | "local";
1798
- createdAt: string;
1799
- updatedAt: string;
1800
- notes: string | null;
1801
- cabinCount: number;
1802
- sailingId: string | null;
1803
- sourceProvider: string | null;
1804
- sourceRef: {
1805
- [x: string]: import("hono/utils/types").JSONValue;
1806
- connectionId?: string | undefined;
1807
- externalId: string;
1808
- } | null;
1809
- sailingDisplayName: string | null;
1810
- quotedCurrency: string;
1811
- connectorBookingRef: string | null;
1812
- bookingGroupId: string;
1813
- totalQuotedAmount: string;
1814
- };
1815
- cabins: {
1816
- bookingId: string;
1817
- bookingNumber: string;
1818
- cruiseDetails: {
1819
- source: "external" | "local";
1820
- mode: "reserve" | "inquiry";
1821
- createdAt: string;
1822
- updatedAt: string;
1823
- notes: string | null;
1824
- bookingId: string;
1825
- sailingId: string | null;
1826
- cabinCategoryId: string | null;
1827
- occupancy: number;
1828
- fareCode: string | null;
1829
- sourceProvider: string | null;
1830
- sourceRef: {
1831
- [x: string]: import("hono/utils/types").JSONValue;
1832
- connectionId?: string | undefined;
1833
- externalId: string;
1834
- } | null;
1835
- airArrangement: "none" | "cruise_line" | "independent" | null;
1836
- cabinId: string | null;
1837
- sailingDisplayName: string | null;
1838
- cabinDisplayName: string | null;
1839
- quotedPricePerPerson: string;
1840
- quotedTotalForCabin: string;
1841
- quotedCurrency: string;
1842
- quotedComponentsJson: {
1843
- kind: import("./schema-pricing.js").CruisePriceComponent["kind"];
1844
- label: string | null;
1845
- amount: string;
1846
- currency: string;
1847
- direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
1848
- perPerson: boolean;
1849
- }[] | null;
1850
- connectorBookingRef: string | null;
1851
- connectorStatus: string | null;
1852
- linkedFlightBookingId: string | null;
1853
- };
1854
- quote: {
1855
- fareCode: string | null;
1856
- fareCodeName: string | null;
1857
- currency: string;
1858
- occupancy: number;
1859
- guestCount: number;
1860
- basePerPerson: string;
1861
- components: {
1862
- kind: import("./schema-pricing.js").CruisePriceComponent["kind"];
1863
- label: string | null;
1864
- amount: string;
1865
- currency: string;
1866
- direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
1867
- perPerson: boolean;
1868
- }[];
1869
- totalPerPerson: string;
1870
- totalForCabin: string;
1871
- };
1872
- }[];
1660
+ id: string;
1661
+ name: string;
1662
+ createdAt: string;
1663
+ updatedAt: string;
1664
+ description: string | null;
1665
+ code: string;
1666
+ amenities: string[] | null;
1667
+ externalRefs: {
1668
+ [x: string]: string;
1669
+ } | null;
1670
+ shipId: string;
1671
+ roomType: "single" | "inside" | "oceanview" | "balcony" | "suite" | "penthouse";
1672
+ minOccupancy: number;
1673
+ maxOccupancy: number;
1674
+ squareFeet: string | null;
1675
+ wheelchairAccessible: boolean;
1676
+ images: string[] | null;
1677
+ floorplanImages: string[] | null;
1678
+ gradeCodes: string[] | null;
1679
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
1873
1680
  };
1874
1681
  };
1875
1682
  outputFormat: "json";
1876
- status: 201;
1683
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1877
1684
  };
1878
1685
  };
1879
1686
  } & {
1880
- "/prices": {
1687
+ "/categories/:categoryId/cabins": {
1881
1688
  $get: {
1882
- input: {};
1689
+ input: {
1690
+ param: {
1691
+ categoryId: string;
1692
+ };
1693
+ };
1883
1694
  output: {
1884
1695
  data: {
1885
1696
  id: string;
1886
- sailingId: string;
1887
- cabinCategoryId: string;
1888
- occupancy: number;
1889
- fareCode: string | null;
1890
- fareCodeName: string | null;
1891
- currency: string;
1892
- pricePerPerson: string;
1893
- secondGuestPricePerPerson: string | null;
1894
- singleSupplementPercent: string | null;
1895
- availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
1896
- availabilityCount: number | null;
1897
- priceCatalogId: string | null;
1898
- priceScheduleId: string | null;
1899
- bookingDeadline: string | null;
1900
- requiresRequest: boolean;
1901
- notes: string | null;
1902
- externalRefs: {
1903
- [x: string]: string;
1904
- } | null;
1905
- lastSyncedAt: string | null;
1906
1697
  createdAt: string;
1907
1698
  updatedAt: string;
1699
+ notes: string | null;
1700
+ isActive: boolean;
1701
+ categoryId: string;
1702
+ cabinNumber: string;
1703
+ deckId: string | null;
1704
+ position: string | null;
1705
+ connectsTo: string | null;
1908
1706
  }[];
1909
- total: number;
1910
- limit: number;
1911
- offset: number;
1912
1707
  };
1913
1708
  outputFormat: "json";
1914
1709
  status: import("hono/utils/http-status").ContentfulStatusCode;
1915
1710
  };
1916
1711
  };
1917
1712
  } & {
1918
- "/prices": {
1919
- $post: {
1920
- input: {};
1713
+ "/categories/:categoryId/cabins/bulk": {
1714
+ $put: {
1715
+ input: {
1716
+ param: {
1717
+ categoryId: string;
1718
+ };
1719
+ };
1921
1720
  output: {
1922
1721
  data: {
1923
1722
  id: string;
1924
1723
  createdAt: string;
1925
1724
  updatedAt: string;
1926
- currency: string;
1927
1725
  notes: string | null;
1928
- availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
1929
- externalRefs: {
1930
- [x: string]: string;
1931
- } | null;
1932
- lastSyncedAt: string | null;
1933
- sailingId: string;
1934
- cabinCategoryId: string;
1935
- occupancy: number;
1936
- fareCode: string | null;
1937
- fareCodeName: string | null;
1938
- pricePerPerson: string;
1939
- secondGuestPricePerPerson: string | null;
1940
- singleSupplementPercent: string | null;
1941
- availabilityCount: number | null;
1942
- priceCatalogId: string | null;
1943
- priceScheduleId: string | null;
1944
- bookingDeadline: string | null;
1945
- requiresRequest: boolean;
1726
+ isActive: boolean;
1727
+ categoryId: string;
1728
+ cabinNumber: string;
1729
+ deckId: string | null;
1730
+ position: string | null;
1731
+ connectsTo: string | null;
1732
+ }[];
1733
+ };
1734
+ outputFormat: "json";
1735
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1736
+ };
1737
+ };
1738
+ } & {
1739
+ "/cabins/:cabinId": {
1740
+ $put: {
1741
+ input: {
1742
+ param: {
1743
+ cabinId: string;
1744
+ };
1745
+ };
1746
+ output: {
1747
+ error: string;
1748
+ };
1749
+ outputFormat: "json";
1750
+ status: 404;
1751
+ } | {
1752
+ input: {
1753
+ param: {
1754
+ cabinId: string;
1755
+ };
1756
+ };
1757
+ output: {
1758
+ data: {
1759
+ id: string;
1760
+ createdAt: string;
1761
+ updatedAt: string;
1762
+ notes: string | null;
1763
+ isActive: boolean;
1764
+ categoryId: string;
1765
+ cabinNumber: string;
1766
+ deckId: string | null;
1767
+ position: string | null;
1768
+ connectsTo: string | null;
1769
+ };
1770
+ };
1771
+ outputFormat: "json";
1772
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1773
+ };
1774
+ };
1775
+ } & {
1776
+ "/search-index/bulk": {
1777
+ $put: {
1778
+ input: {};
1779
+ output: {
1780
+ data: {
1781
+ upserted: number;
1782
+ };
1783
+ };
1784
+ outputFormat: "json";
1785
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1786
+ };
1787
+ };
1788
+ } & {
1789
+ "/search-index/:crsiId": {
1790
+ $delete: {
1791
+ input: {
1792
+ param: {
1793
+ crsiId: string;
1794
+ };
1795
+ };
1796
+ output: null;
1797
+ outputFormat: "body";
1798
+ status: 204;
1799
+ } | {
1800
+ input: {
1801
+ param: {
1802
+ crsiId: string;
1803
+ };
1804
+ };
1805
+ output: {
1806
+ error: string;
1807
+ };
1808
+ outputFormat: "json";
1809
+ status: 404;
1810
+ };
1811
+ };
1812
+ } & {
1813
+ "/search-index/rebuild": {
1814
+ $post: {
1815
+ input: {};
1816
+ output: {
1817
+ data: {
1818
+ localUpserted: number;
1819
+ externalUpserted: number;
1820
+ externalErrors: {
1821
+ adapter: string;
1822
+ error: string;
1823
+ }[];
1824
+ };
1825
+ };
1826
+ outputFormat: "json";
1827
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1828
+ };
1829
+ };
1830
+ } & {
1831
+ "/:key": {
1832
+ $get: {
1833
+ input: {
1834
+ param: {
1835
+ key: string;
1836
+ };
1837
+ };
1838
+ output: {
1839
+ error: string;
1840
+ detail: string;
1841
+ };
1842
+ outputFormat: "json";
1843
+ status: 400;
1844
+ } | {
1845
+ input: {
1846
+ param: {
1847
+ key: string;
1848
+ };
1849
+ };
1850
+ output: {
1851
+ error: string;
1852
+ detail: string;
1853
+ };
1854
+ outputFormat: "json";
1855
+ status: 503;
1856
+ } | {
1857
+ input: {
1858
+ param: {
1859
+ key: string;
1860
+ };
1861
+ };
1862
+ output: {
1863
+ data: {
1864
+ source: string;
1865
+ sourceProvider: string;
1866
+ sourceRef: string;
1867
+ entityId: string;
1868
+ content: {
1869
+ cruise: {
1870
+ id: string;
1871
+ name: string;
1872
+ status?: string | undefined;
1873
+ description?: string | null | undefined;
1874
+ cruise_type?: string | null | undefined;
1875
+ hero_image_url?: string | null | undefined;
1876
+ highlights?: string[] | undefined;
1877
+ cruise_line?: string | null | undefined;
1878
+ duration_nights?: number | null | undefined;
1879
+ embarkation_port?: string | null | undefined;
1880
+ disembarkation_port?: string | null | undefined;
1881
+ };
1882
+ sailings: {
1883
+ id: string;
1884
+ start_date: string;
1885
+ end_date: string;
1886
+ source_ref?: string | null | undefined;
1887
+ duration_nights?: number | null | undefined;
1888
+ status?: string | null | undefined;
1889
+ embarkation_port?: string | null | undefined;
1890
+ disembarkation_port?: string | null | undefined;
1891
+ }[];
1892
+ cabin_categories: {
1893
+ id: string;
1894
+ name: string;
1895
+ inclusions: string[];
1896
+ code?: string | null | undefined;
1897
+ description?: string | null | undefined;
1898
+ type?: string | null | undefined;
1899
+ capacity_min?: number | null | undefined;
1900
+ capacity_max?: number | null | undefined;
1901
+ }[];
1902
+ itinerary_stops: {
1903
+ day_number: number;
1904
+ port_name: string;
1905
+ is_at_sea: boolean;
1906
+ date?: string | null | undefined;
1907
+ arrival_time?: string | null | undefined;
1908
+ departure_time?: string | null | undefined;
1909
+ description?: string | null | undefined;
1910
+ }[];
1911
+ policies: {
1912
+ kind: "supplier_notes" | "payment" | "cancellation" | "requirements";
1913
+ body: string;
1914
+ rules?: import("hono/utils/types").JSONValue | undefined;
1915
+ }[];
1916
+ ship?: {
1917
+ name: string;
1918
+ id?: string | null | undefined;
1919
+ description?: string | null | undefined;
1920
+ capacity?: number | null | undefined;
1921
+ decks?: number | null | undefined;
1922
+ year_built?: number | null | undefined;
1923
+ } | null | undefined;
1924
+ };
1925
+ servedLocale: string;
1926
+ matchKind: import("@voyantjs/catalog").ContentLocaleMatchKind;
1927
+ contentSource: "sourced-cache" | "sourced-fresh" | "synthesized";
1928
+ servedStale: boolean;
1929
+ synthesized: boolean;
1930
+ machineTranslated: boolean;
1931
+ };
1932
+ };
1933
+ outputFormat: "json";
1934
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1935
+ } | {
1936
+ input: {
1937
+ param: {
1938
+ key: string;
1939
+ };
1940
+ };
1941
+ output: {
1942
+ error: string;
1943
+ };
1944
+ outputFormat: "json";
1945
+ status: 404;
1946
+ } | {
1947
+ input: {
1948
+ param: {
1949
+ key: string;
1950
+ };
1951
+ };
1952
+ output: {
1953
+ data: {
1954
+ source: string;
1955
+ sourceProvider: null;
1956
+ sourceRef: null;
1957
+ cruise: {
1958
+ id: string;
1959
+ name: string;
1960
+ createdAt: string;
1961
+ updatedAt: string;
1962
+ slug: string;
1963
+ status: "live" | "draft" | "awaiting_review" | "archived";
1964
+ description: string | null;
1965
+ lineSupplierId: string | null;
1966
+ externalRefs: {
1967
+ [x: string]: string;
1968
+ } | null;
1969
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
1970
+ cruiseType: "ocean" | "river" | "expedition" | "coastal";
1971
+ defaultShipId: string | null;
1972
+ nights: number;
1973
+ embarkPortFacilityId: string | null;
1974
+ disembarkPortFacilityId: string | null;
1975
+ shortDescription: string | null;
1976
+ highlights: string[] | null;
1977
+ inclusionsHtml: string | null;
1978
+ exclusionsHtml: string | null;
1979
+ regions: string[] | null;
1980
+ themes: string[] | null;
1981
+ heroImageUrl: string | null;
1982
+ mapImageUrl: string | null;
1983
+ lowestPriceCached: string | null;
1984
+ lowestPriceCurrencyCached: string | null;
1985
+ earliestDepartureCached: string | null;
1986
+ latestDepartureCached: string | null;
1987
+ sailings?: {
1988
+ id: string;
1989
+ createdAt: string;
1990
+ updatedAt: string;
1991
+ externalRefs: {
1992
+ [x: string]: string;
1993
+ } | null;
1994
+ shipId: string;
1995
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
1996
+ embarkPortFacilityId: string | null;
1997
+ disembarkPortFacilityId: string | null;
1998
+ cruiseId: string;
1999
+ departureDate: string;
2000
+ returnDate: string;
2001
+ direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
2002
+ availabilityNote: string | null;
2003
+ isCharter: boolean;
2004
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
2005
+ lastSyncedAt: string | null;
2006
+ }[] | undefined;
2007
+ days?: {
2008
+ id: string;
2009
+ createdAt: string;
2010
+ updatedAt: string;
2011
+ description: string | null;
2012
+ meals: {
2013
+ breakfast?: boolean | undefined;
2014
+ lunch?: boolean | undefined;
2015
+ dinner?: boolean | undefined;
2016
+ } | null;
2017
+ cruiseId: string;
2018
+ departureTime: string | null;
2019
+ title: string | null;
2020
+ dayNumber: number;
2021
+ portFacilityId: string | null;
2022
+ arrivalTime: string | null;
2023
+ isOvernight: boolean;
2024
+ isSeaDay: boolean;
2025
+ isExpeditionLanding: boolean;
2026
+ }[] | undefined;
2027
+ };
1946
2028
  };
1947
2029
  };
1948
2030
  outputFormat: "json";
1949
- status: 201;
2031
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1950
2032
  };
1951
2033
  };
1952
2034
  } & {
1953
- "/prices/:priceId": {
2035
+ "/:key": {
1954
2036
  $put: {
1955
2037
  input: {
1956
2038
  param: {
1957
- priceId: string;
2039
+ key: string;
1958
2040
  };
1959
2041
  };
1960
2042
  output: {
1961
2043
  error: string;
2044
+ detail: string;
1962
2045
  };
1963
2046
  outputFormat: "json";
1964
- status: 404;
2047
+ status: 400;
1965
2048
  } | {
1966
2049
  input: {
1967
2050
  param: {
1968
- priceId: string;
2051
+ key: string;
1969
2052
  };
1970
2053
  };
1971
2054
  output: {
1972
- data: {
1973
- id: string;
1974
- createdAt: string;
1975
- updatedAt: string;
1976
- currency: string;
1977
- notes: string | null;
1978
- availability: "on_request" | "wait_list" | "sold_out" | "available" | "limited";
1979
- externalRefs: {
1980
- [x: string]: string;
1981
- } | null;
1982
- lastSyncedAt: string | null;
1983
- sailingId: string;
1984
- cabinCategoryId: string;
1985
- occupancy: number;
1986
- fareCode: string | null;
1987
- fareCodeName: string | null;
1988
- pricePerPerson: string;
1989
- secondGuestPricePerPerson: string | null;
1990
- singleSupplementPercent: string | null;
1991
- availabilityCount: number | null;
1992
- priceCatalogId: string | null;
1993
- priceScheduleId: string | null;
1994
- bookingDeadline: string | null;
1995
- requiresRequest: boolean;
1996
- };
2055
+ error: string;
2056
+ detail: string;
1997
2057
  };
1998
2058
  outputFormat: "json";
1999
- status: import("hono/utils/http-status").ContentfulStatusCode;
2000
- };
2001
- };
2002
- } & {
2003
- "/ships": {
2004
- $get: {
2005
- input: {};
2059
+ status: 409;
2060
+ } | {
2061
+ input: {
2062
+ param: {
2063
+ key: string;
2064
+ };
2065
+ };
2006
2066
  output: {
2007
- data: {
2008
- id: string;
2009
- lineSupplierId: string | null;
2010
- name: string;
2011
- slug: string;
2012
- shipType: "ocean" | "river" | "expedition" | "coastal" | "yacht" | "sailing";
2013
- capacityGuests: number | null;
2014
- capacityCrew: number | null;
2015
- cabinCount: number | null;
2016
- deckCount: number | null;
2017
- lengthMeters: string | null;
2018
- cruisingSpeedKnots: string | null;
2019
- yearBuilt: number | null;
2020
- yearRefurbished: number | null;
2021
- imo: string | null;
2022
- description: string | null;
2023
- deckPlanUrl: string | null;
2024
- gallery: string[] | null;
2025
- amenities: {
2026
- [x: string]: import("hono/utils/types").JSONValue;
2027
- } | null;
2028
- externalRefs: {
2029
- [x: string]: string;
2030
- } | null;
2031
- isActive: boolean;
2032
- createdAt: string;
2033
- updatedAt: string;
2034
- }[];
2035
- total: number;
2036
- limit: number;
2037
- offset: number;
2067
+ error: string;
2038
2068
  };
2039
2069
  outputFormat: "json";
2040
- status: import("hono/utils/http-status").ContentfulStatusCode;
2041
- };
2042
- };
2043
- } & {
2044
- "/ships": {
2045
- $post: {
2046
- input: {};
2070
+ status: 404;
2071
+ } | {
2072
+ input: {
2073
+ param: {
2074
+ key: string;
2075
+ };
2076
+ };
2047
2077
  output: {
2048
2078
  data: {
2049
2079
  id: string;
@@ -2051,36 +2081,39 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2051
2081
  createdAt: string;
2052
2082
  updatedAt: string;
2053
2083
  slug: string;
2084
+ status: "live" | "draft" | "awaiting_review" | "archived";
2054
2085
  description: string | null;
2055
2086
  lineSupplierId: string | null;
2056
- shipType: "ocean" | "river" | "expedition" | "coastal" | "yacht" | "sailing";
2057
- capacityGuests: number | null;
2058
- capacityCrew: number | null;
2059
- cabinCount: number | null;
2060
- deckCount: number | null;
2061
- lengthMeters: string | null;
2062
- cruisingSpeedKnots: string | null;
2063
- yearBuilt: number | null;
2064
- yearRefurbished: number | null;
2065
- imo: string | null;
2066
- deckPlanUrl: string | null;
2067
- gallery: string[] | null;
2068
- amenities: {
2069
- [x: string]: import("hono/utils/types").JSONValue;
2070
- } | null;
2071
2087
  externalRefs: {
2072
2088
  [x: string]: string;
2073
2089
  } | null;
2074
- isActive: boolean;
2090
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
2091
+ cruiseType: "ocean" | "river" | "expedition" | "coastal";
2092
+ defaultShipId: string | null;
2093
+ nights: number;
2094
+ embarkPortFacilityId: string | null;
2095
+ disembarkPortFacilityId: string | null;
2096
+ shortDescription: string | null;
2097
+ highlights: string[] | null;
2098
+ inclusionsHtml: string | null;
2099
+ exclusionsHtml: string | null;
2100
+ regions: string[] | null;
2101
+ themes: string[] | null;
2102
+ heroImageUrl: string | null;
2103
+ mapImageUrl: string | null;
2104
+ lowestPriceCached: string | null;
2105
+ lowestPriceCurrencyCached: string | null;
2106
+ earliestDepartureCached: string | null;
2107
+ latestDepartureCached: string | null;
2075
2108
  };
2076
2109
  };
2077
2110
  outputFormat: "json";
2078
- status: 201;
2111
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2079
2112
  };
2080
2113
  };
2081
2114
  } & {
2082
- "/ships/:key": {
2083
- $get: {
2115
+ "/:key": {
2116
+ $delete: {
2084
2117
  input: {
2085
2118
  param: {
2086
2119
  key: string;
@@ -2103,7 +2136,7 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2103
2136
  detail: string;
2104
2137
  };
2105
2138
  outputFormat: "json";
2106
- status: 501;
2139
+ status: 409;
2107
2140
  } | {
2108
2141
  input: {
2109
2142
  param: {
@@ -2115,74 +2148,6 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2115
2148
  };
2116
2149
  outputFormat: "json";
2117
2150
  status: 404;
2118
- } | {
2119
- input: {
2120
- param: {
2121
- key: string;
2122
- };
2123
- };
2124
- output: {
2125
- data: {
2126
- source: string;
2127
- sourceProvider: string;
2128
- sourceRef: {
2129
- [x: string]: import("hono/utils/types").JSONValue;
2130
- connectionId?: string | undefined;
2131
- externalId: string;
2132
- };
2133
- ship: {
2134
- sourceRef: {
2135
- [x: string]: import("hono/utils/types").JSONValue;
2136
- connectionId?: string | undefined;
2137
- externalId: string;
2138
- };
2139
- name: string;
2140
- slug: string;
2141
- shipType: "ocean" | "river" | "expedition" | "yacht" | "sailing" | "coastal";
2142
- capacityGuests?: number | null | undefined;
2143
- capacityCrew?: number | null | undefined;
2144
- cabinCount?: number | null | undefined;
2145
- deckCount?: number | null | undefined;
2146
- lengthMeters?: string | null | undefined;
2147
- cruisingSpeedKnots?: string | null | undefined;
2148
- yearBuilt?: number | null | undefined;
2149
- yearRefurbished?: number | null | undefined;
2150
- imo?: string | null | undefined;
2151
- description?: string | null | undefined;
2152
- deckPlanUrl?: string | null | undefined;
2153
- gallery?: string[] | undefined;
2154
- amenities?: {
2155
- [x: string]: import("hono/utils/types").JSONValue;
2156
- } | undefined;
2157
- decks?: {
2158
- name: string;
2159
- level?: number | null | undefined;
2160
- planImageUrl?: string | null | undefined;
2161
- }[] | undefined;
2162
- categories?: {
2163
- sourceRef: {
2164
- [x: string]: import("hono/utils/types").JSONValue;
2165
- connectionId?: string | undefined;
2166
- externalId: string;
2167
- };
2168
- code: string;
2169
- name: string;
2170
- roomType: "inside" | "oceanview" | "balcony" | "suite" | "penthouse" | "single";
2171
- description?: string | null | undefined;
2172
- minOccupancy: number;
2173
- maxOccupancy: number;
2174
- squareFeet?: string | null | undefined;
2175
- wheelchairAccessible?: boolean | undefined;
2176
- amenities?: string[] | undefined;
2177
- images?: string[] | undefined;
2178
- floorplanImages?: string[] | undefined;
2179
- gradeCodes?: string[] | undefined;
2180
- }[] | undefined;
2181
- };
2182
- };
2183
- };
2184
- outputFormat: "json";
2185
- status: import("hono/utils/http-status").ContentfulStatusCode;
2186
2151
  } | {
2187
2152
  input: {
2188
2153
  param: {
@@ -2196,27 +2161,30 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2196
2161
  createdAt: string;
2197
2162
  updatedAt: string;
2198
2163
  slug: string;
2164
+ status: "live" | "draft" | "awaiting_review" | "archived";
2199
2165
  description: string | null;
2200
2166
  lineSupplierId: string | null;
2201
- shipType: "ocean" | "river" | "expedition" | "coastal" | "yacht" | "sailing";
2202
- capacityGuests: number | null;
2203
- capacityCrew: number | null;
2204
- cabinCount: number | null;
2205
- deckCount: number | null;
2206
- lengthMeters: string | null;
2207
- cruisingSpeedKnots: string | null;
2208
- yearBuilt: number | null;
2209
- yearRefurbished: number | null;
2210
- imo: string | null;
2211
- deckPlanUrl: string | null;
2212
- gallery: string[] | null;
2213
- amenities: {
2214
- [x: string]: import("hono/utils/types").JSONValue;
2215
- } | null;
2216
2167
  externalRefs: {
2217
2168
  [x: string]: string;
2218
2169
  } | null;
2219
- isActive: boolean;
2170
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
2171
+ cruiseType: "ocean" | "river" | "expedition" | "coastal";
2172
+ defaultShipId: string | null;
2173
+ nights: number;
2174
+ embarkPortFacilityId: string | null;
2175
+ disembarkPortFacilityId: string | null;
2176
+ shortDescription: string | null;
2177
+ highlights: string[] | null;
2178
+ inclusionsHtml: string | null;
2179
+ exclusionsHtml: string | null;
2180
+ regions: string[] | null;
2181
+ themes: string[] | null;
2182
+ heroImageUrl: string | null;
2183
+ mapImageUrl: string | null;
2184
+ lowestPriceCached: string | null;
2185
+ lowestPriceCurrencyCached: string | null;
2186
+ earliestDepartureCached: string | null;
2187
+ latestDepartureCached: string | null;
2220
2188
  };
2221
2189
  };
2222
2190
  outputFormat: "json";
@@ -2224,8 +2192,8 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2224
2192
  };
2225
2193
  };
2226
2194
  } & {
2227
- "/ships/:key": {
2228
- $put: {
2195
+ "/:key/aggregates/recompute": {
2196
+ $post: {
2229
2197
  input: {
2230
2198
  param: {
2231
2199
  key: string;
@@ -2245,6 +2213,7 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2245
2213
  };
2246
2214
  output: {
2247
2215
  error: string;
2216
+ detail: string;
2248
2217
  };
2249
2218
  outputFormat: "json";
2250
2219
  status: 409;
@@ -2272,27 +2241,30 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2272
2241
  createdAt: string;
2273
2242
  updatedAt: string;
2274
2243
  slug: string;
2244
+ status: "live" | "draft" | "awaiting_review" | "archived";
2275
2245
  description: string | null;
2276
2246
  lineSupplierId: string | null;
2277
- shipType: "ocean" | "river" | "expedition" | "coastal" | "yacht" | "sailing";
2278
- capacityGuests: number | null;
2279
- capacityCrew: number | null;
2280
- cabinCount: number | null;
2281
- deckCount: number | null;
2282
- lengthMeters: string | null;
2283
- cruisingSpeedKnots: string | null;
2284
- yearBuilt: number | null;
2285
- yearRefurbished: number | null;
2286
- imo: string | null;
2287
- deckPlanUrl: string | null;
2288
- gallery: string[] | null;
2289
- amenities: {
2290
- [x: string]: import("hono/utils/types").JSONValue;
2291
- } | null;
2292
2247
  externalRefs: {
2293
2248
  [x: string]: string;
2294
2249
  } | null;
2295
- isActive: boolean;
2250
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
2251
+ cruiseType: "ocean" | "river" | "expedition" | "coastal";
2252
+ defaultShipId: string | null;
2253
+ nights: number;
2254
+ embarkPortFacilityId: string | null;
2255
+ disembarkPortFacilityId: string | null;
2256
+ shortDescription: string | null;
2257
+ highlights: string[] | null;
2258
+ inclusionsHtml: string | null;
2259
+ exclusionsHtml: string | null;
2260
+ regions: string[] | null;
2261
+ themes: string[] | null;
2262
+ heroImageUrl: string | null;
2263
+ mapImageUrl: string | null;
2264
+ lowestPriceCached: string | null;
2265
+ lowestPriceCurrencyCached: string | null;
2266
+ earliestDepartureCached: string | null;
2267
+ latestDepartureCached: string | null;
2296
2268
  };
2297
2269
  };
2298
2270
  outputFormat: "json";
@@ -2300,8 +2272,41 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2300
2272
  };
2301
2273
  };
2302
2274
  } & {
2303
- "/ships/:key/decks": {
2275
+ "/:key/sailings": {
2304
2276
  $get: {
2277
+ input: {
2278
+ param: {
2279
+ key: string;
2280
+ };
2281
+ };
2282
+ output: {
2283
+ data: {
2284
+ id: string;
2285
+ cruiseId: string;
2286
+ shipId: string;
2287
+ departureDate: string;
2288
+ returnDate: string;
2289
+ embarkPortFacilityId: string | null;
2290
+ disembarkPortFacilityId: string | null;
2291
+ direction: "upstream" | "downstream" | "round_trip" | "one_way" | null;
2292
+ availabilityNote: string | null;
2293
+ isCharter: boolean;
2294
+ salesStatus: "open" | "on_request" | "wait_list" | "sold_out" | "closed";
2295
+ externalRefs: {
2296
+ [x: string]: string;
2297
+ } | null;
2298
+ customerPaymentPolicy: import("hono/utils/types").JSONValue;
2299
+ lastSyncedAt: string | null;
2300
+ createdAt: string;
2301
+ updatedAt: string;
2302
+ }[];
2303
+ total: number;
2304
+ limit: number;
2305
+ offset: number;
2306
+ };
2307
+ outputFormat: "json";
2308
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2309
+ } | {
2305
2310
  input: {
2306
2311
  param: {
2307
2312
  key: string;
@@ -2333,18 +2338,44 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2333
2338
  };
2334
2339
  output: {
2335
2340
  data: {
2336
- name: string;
2337
- level?: number | null | undefined;
2338
- planImageUrl?: string | null | undefined;
2341
+ source: string;
2342
+ sourceProvider: string;
2343
+ key: string;
2344
+ sailing: {
2345
+ sourceRef: {
2346
+ [x: string]: import("hono/utils/types").JSONValue;
2347
+ connectionId?: string | undefined;
2348
+ externalId: string;
2349
+ };
2350
+ cruiseRef: {
2351
+ [x: string]: import("hono/utils/types").JSONValue;
2352
+ connectionId?: string | undefined;
2353
+ externalId: string;
2354
+ };
2355
+ shipRef: {
2356
+ [x: string]: import("hono/utils/types").JSONValue;
2357
+ connectionId?: string | undefined;
2358
+ externalId: string;
2359
+ };
2360
+ departureDate: string;
2361
+ returnDate: string;
2362
+ embarkPortName?: string | null | undefined;
2363
+ disembarkPortName?: string | null | undefined;
2364
+ direction?: "upstream" | "downstream" | "round_trip" | "one_way" | null | undefined;
2365
+ availabilityNote?: string | null | undefined;
2366
+ isCharter?: boolean | undefined;
2367
+ salesStatus?: "open" | "on_request" | "wait_list" | "sold_out" | "closed" | undefined;
2368
+ };
2339
2369
  }[];
2370
+ total: number;
2340
2371
  };
2341
2372
  outputFormat: "json";
2342
2373
  status: import("hono/utils/http-status").ContentfulStatusCode;
2343
2374
  };
2344
2375
  };
2345
2376
  } & {
2346
- "/ships/:key/decks": {
2347
- $post: {
2377
+ "/:key/days/bulk": {
2378
+ $put: {
2348
2379
  input: {
2349
2380
  param: {
2350
2381
  key: string;
@@ -2376,55 +2407,55 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2376
2407
  output: {
2377
2408
  data: {
2378
2409
  id: string;
2379
- name: string;
2380
2410
  createdAt: string;
2381
2411
  updatedAt: string;
2382
- shipId: string;
2383
- level: number | null;
2384
- planImageUrl: string | null;
2385
- };
2412
+ description: string | null;
2413
+ meals: {
2414
+ breakfast?: boolean | undefined;
2415
+ lunch?: boolean | undefined;
2416
+ dinner?: boolean | undefined;
2417
+ } | null;
2418
+ cruiseId: string;
2419
+ departureTime: string | null;
2420
+ title: string | null;
2421
+ dayNumber: number;
2422
+ portFacilityId: string | null;
2423
+ arrivalTime: string | null;
2424
+ isOvernight: boolean;
2425
+ isSeaDay: boolean;
2426
+ isExpeditionLanding: boolean;
2427
+ }[];
2386
2428
  };
2387
2429
  outputFormat: "json";
2388
- status: 201;
2430
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2389
2431
  };
2390
2432
  };
2391
2433
  } & {
2392
- "/decks/:deckId": {
2393
- $put: {
2434
+ "/:key/refresh": {
2435
+ $post: {
2394
2436
  input: {
2395
2437
  param: {
2396
- deckId: string;
2438
+ key: string;
2397
2439
  };
2398
2440
  };
2399
2441
  output: {
2400
2442
  error: string;
2443
+ detail: string;
2401
2444
  };
2402
2445
  outputFormat: "json";
2403
- status: 404;
2446
+ status: 503;
2404
2447
  } | {
2405
2448
  input: {
2406
2449
  param: {
2407
- deckId: string;
2450
+ key: string;
2408
2451
  };
2409
2452
  };
2410
2453
  output: {
2411
- data: {
2412
- id: string;
2413
- name: string;
2414
- createdAt: string;
2415
- updatedAt: string;
2416
- shipId: string;
2417
- level: number | null;
2418
- planImageUrl: string | null;
2419
- };
2454
+ error: string;
2420
2455
  };
2421
2456
  outputFormat: "json";
2422
- status: import("hono/utils/http-status").ContentfulStatusCode;
2423
- };
2424
- };
2425
- } & {
2426
- "/ships/:key/categories": {
2427
- $get: {
2457
+ status: 400;
2458
+ } | {
2428
2459
  input: {
2429
2460
  param: {
2430
2461
  key: string;
@@ -2435,8 +2466,88 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2435
2466
  detail: string;
2436
2467
  };
2437
2468
  outputFormat: "json";
2438
- status: 400;
2469
+ status: 404;
2439
2470
  } | {
2471
+ input: {
2472
+ param: {
2473
+ key: string;
2474
+ };
2475
+ };
2476
+ output: {
2477
+ data: {
2478
+ source: string;
2479
+ sourceProvider: string;
2480
+ sourceRef: string;
2481
+ entityId: string;
2482
+ content: {
2483
+ cruise: {
2484
+ id: string;
2485
+ name: string;
2486
+ status?: string | undefined;
2487
+ description?: string | null | undefined;
2488
+ cruise_type?: string | null | undefined;
2489
+ hero_image_url?: string | null | undefined;
2490
+ highlights?: string[] | undefined;
2491
+ cruise_line?: string | null | undefined;
2492
+ duration_nights?: number | null | undefined;
2493
+ embarkation_port?: string | null | undefined;
2494
+ disembarkation_port?: string | null | undefined;
2495
+ };
2496
+ sailings: {
2497
+ id: string;
2498
+ start_date: string;
2499
+ end_date: string;
2500
+ source_ref?: string | null | undefined;
2501
+ duration_nights?: number | null | undefined;
2502
+ status?: string | null | undefined;
2503
+ embarkation_port?: string | null | undefined;
2504
+ disembarkation_port?: string | null | undefined;
2505
+ }[];
2506
+ cabin_categories: {
2507
+ id: string;
2508
+ name: string;
2509
+ inclusions: string[];
2510
+ code?: string | null | undefined;
2511
+ description?: string | null | undefined;
2512
+ type?: string | null | undefined;
2513
+ capacity_min?: number | null | undefined;
2514
+ capacity_max?: number | null | undefined;
2515
+ }[];
2516
+ itinerary_stops: {
2517
+ day_number: number;
2518
+ port_name: string;
2519
+ is_at_sea: boolean;
2520
+ date?: string | null | undefined;
2521
+ arrival_time?: string | null | undefined;
2522
+ departure_time?: string | null | undefined;
2523
+ description?: string | null | undefined;
2524
+ }[];
2525
+ policies: {
2526
+ kind: "supplier_notes" | "payment" | "cancellation" | "requirements";
2527
+ body: string;
2528
+ rules?: import("hono/utils/types").JSONValue | undefined;
2529
+ }[];
2530
+ ship?: {
2531
+ name: string;
2532
+ id?: string | null | undefined;
2533
+ description?: string | null | undefined;
2534
+ capacity?: number | null | undefined;
2535
+ decks?: number | null | undefined;
2536
+ year_built?: number | null | undefined;
2537
+ } | null | undefined;
2538
+ };
2539
+ contentSource: "sourced-cache" | "sourced-fresh" | "synthesized";
2540
+ servedStale: boolean;
2541
+ refreshedAt: string;
2542
+ };
2543
+ };
2544
+ outputFormat: "json";
2545
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2546
+ };
2547
+ };
2548
+ } & {
2549
+ "/:key/detach": {
2550
+ $post: {
2440
2551
  input: {
2441
2552
  param: {
2442
2553
  key: string;
@@ -2455,28 +2566,10 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2455
2566
  };
2456
2567
  };
2457
2568
  output: {
2458
- data: {
2459
- sourceRef: {
2460
- [x: string]: import("hono/utils/types").JSONValue;
2461
- connectionId?: string | undefined;
2462
- externalId: string;
2463
- };
2464
- code: string;
2465
- name: string;
2466
- roomType: "inside" | "oceanview" | "balcony" | "suite" | "penthouse" | "single";
2467
- description?: string | null | undefined;
2468
- minOccupancy: number;
2469
- maxOccupancy: number;
2470
- squareFeet?: string | null | undefined;
2471
- wheelchairAccessible?: boolean | undefined;
2472
- amenities?: string[] | undefined;
2473
- images?: string[] | undefined;
2474
- floorplanImages?: string[] | undefined;
2475
- gradeCodes?: string[] | undefined;
2476
- }[];
2569
+ error: string;
2477
2570
  };
2478
2571
  outputFormat: "json";
2479
- status: import("hono/utils/http-status").ContentfulStatusCode;
2572
+ status: 400;
2480
2573
  } | {
2481
2574
  input: {
2482
2575
  param: {
@@ -2489,31 +2582,40 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2489
2582
  name: string;
2490
2583
  createdAt: string;
2491
2584
  updatedAt: string;
2585
+ slug: string;
2586
+ status: "live" | "draft" | "awaiting_review" | "archived";
2492
2587
  description: string | null;
2493
- code: string;
2494
- amenities: string[] | null;
2588
+ lineSupplierId: string | null;
2495
2589
  externalRefs: {
2496
2590
  [x: string]: string;
2497
2591
  } | null;
2498
- shipId: string;
2499
- roomType: "single" | "inside" | "oceanview" | "balcony" | "suite" | "penthouse";
2500
- minOccupancy: number;
2501
- maxOccupancy: number;
2502
- squareFeet: string | null;
2503
- wheelchairAccessible: boolean;
2504
- images: string[] | null;
2505
- floorplanImages: string[] | null;
2506
- gradeCodes: string[] | null;
2507
2592
  customerPaymentPolicy: import("hono/utils/types").JSONValue;
2508
- }[];
2593
+ cruiseType: "ocean" | "river" | "expedition" | "coastal";
2594
+ defaultShipId: string | null;
2595
+ nights: number;
2596
+ embarkPortFacilityId: string | null;
2597
+ disembarkPortFacilityId: string | null;
2598
+ shortDescription: string | null;
2599
+ highlights: string[] | null;
2600
+ inclusionsHtml: string | null;
2601
+ exclusionsHtml: string | null;
2602
+ regions: string[] | null;
2603
+ themes: string[] | null;
2604
+ heroImageUrl: string | null;
2605
+ mapImageUrl: string | null;
2606
+ lowestPriceCached: string | null;
2607
+ lowestPriceCurrencyCached: string | null;
2608
+ earliestDepartureCached: string | null;
2609
+ latestDepartureCached: string | null;
2610
+ };
2509
2611
  };
2510
2612
  outputFormat: "json";
2511
- status: import("hono/utils/http-status").ContentfulStatusCode;
2613
+ status: 201;
2512
2614
  };
2513
2615
  };
2514
2616
  } & {
2515
- "/ships/:key/categories/bulk": {
2516
- $put: {
2617
+ "/:key/enrichment": {
2618
+ $get: {
2517
2619
  input: {
2518
2620
  param: {
2519
2621
  key: string;
@@ -2533,9 +2635,10 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2533
2635
  };
2534
2636
  output: {
2535
2637
  error: string;
2638
+ detail: string;
2536
2639
  };
2537
2640
  outputFormat: "json";
2538
- status: 409;
2641
+ status: 501;
2539
2642
  } | {
2540
2643
  input: {
2541
2644
  param: {
@@ -2549,21 +2652,11 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2549
2652
  createdAt: string;
2550
2653
  updatedAt: string;
2551
2654
  description: string | null;
2552
- code: string;
2553
- amenities: string[] | null;
2554
- externalRefs: {
2555
- [x: string]: string;
2556
- } | null;
2557
- shipId: string;
2558
- roomType: "single" | "inside" | "oceanview" | "balcony" | "suite" | "penthouse";
2559
- minOccupancy: number;
2560
- maxOccupancy: number;
2561
- squareFeet: string | null;
2562
- wheelchairAccessible: boolean;
2563
- images: string[] | null;
2564
- floorplanImages: string[] | null;
2565
- gradeCodes: string[] | null;
2566
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
2655
+ cruiseId: string;
2656
+ kind: "other" | "naturalist" | "historian" | "photographer" | "lecturer" | "expert";
2657
+ title: string | null;
2658
+ sortOrder: number;
2659
+ bioImageUrl: string | null;
2567
2660
  }[];
2568
2661
  };
2569
2662
  outputFormat: "json";
@@ -2571,197 +2664,104 @@ export declare const cruiseAdminRoutes: import("hono/hono-base").HonoBase<Env, {
2571
2664
  };
2572
2665
  };
2573
2666
  } & {
2574
- "/categories/:categoryId": {
2575
- $put: {
2667
+ "/:key/enrichment": {
2668
+ $post: {
2576
2669
  input: {
2577
2670
  param: {
2578
- categoryId: string;
2671
+ key: string;
2579
2672
  };
2580
2673
  };
2581
2674
  output: {
2582
2675
  error: string;
2676
+ detail: string;
2583
2677
  };
2584
2678
  outputFormat: "json";
2585
- status: 404;
2679
+ status: 400;
2586
2680
  } | {
2587
2681
  input: {
2588
2682
  param: {
2589
- categoryId: string;
2683
+ key: string;
2590
2684
  };
2591
2685
  };
2592
2686
  output: {
2593
- data: {
2594
- id: string;
2595
- name: string;
2596
- createdAt: string;
2597
- updatedAt: string;
2598
- description: string | null;
2599
- code: string;
2600
- amenities: string[] | null;
2601
- externalRefs: {
2602
- [x: string]: string;
2603
- } | null;
2604
- shipId: string;
2605
- roomType: "single" | "inside" | "oceanview" | "balcony" | "suite" | "penthouse";
2606
- minOccupancy: number;
2607
- maxOccupancy: number;
2608
- squareFeet: string | null;
2609
- wheelchairAccessible: boolean;
2610
- images: string[] | null;
2611
- floorplanImages: string[] | null;
2612
- gradeCodes: string[] | null;
2613
- customerPaymentPolicy: import("hono/utils/types").JSONValue;
2614
- };
2687
+ error: string;
2615
2688
  };
2616
2689
  outputFormat: "json";
2617
- status: import("hono/utils/http-status").ContentfulStatusCode;
2618
- };
2619
- };
2620
- } & {
2621
- "/categories/:categoryId/cabins": {
2622
- $get: {
2690
+ status: 409;
2691
+ } | {
2623
2692
  input: {
2624
2693
  param: {
2625
- categoryId: string;
2694
+ key: string;
2626
2695
  };
2627
2696
  };
2628
2697
  output: {
2629
2698
  data: {
2630
2699
  id: string;
2700
+ name: string;
2631
2701
  createdAt: string;
2632
2702
  updatedAt: string;
2633
- notes: string | null;
2634
- isActive: boolean;
2635
- categoryId: string;
2636
- cabinNumber: string;
2637
- deckId: string | null;
2638
- position: string | null;
2639
- connectsTo: string | null;
2640
- }[];
2703
+ description: string | null;
2704
+ cruiseId: string;
2705
+ kind: "other" | "naturalist" | "historian" | "photographer" | "lecturer" | "expert";
2706
+ title: string | null;
2707
+ sortOrder: number;
2708
+ bioImageUrl: string | null;
2709
+ };
2641
2710
  };
2642
2711
  outputFormat: "json";
2643
- status: import("hono/utils/http-status").ContentfulStatusCode;
2712
+ status: 201;
2644
2713
  };
2645
2714
  };
2646
2715
  } & {
2647
- "/categories/:categoryId/cabins/bulk": {
2716
+ "/:key/enrichment/bulk": {
2648
2717
  $put: {
2649
2718
  input: {
2650
2719
  param: {
2651
- categoryId: string;
2720
+ key: string;
2652
2721
  };
2653
2722
  };
2654
2723
  output: {
2655
- data: {
2656
- id: string;
2657
- createdAt: string;
2658
- updatedAt: string;
2659
- notes: string | null;
2660
- isActive: boolean;
2661
- categoryId: string;
2662
- cabinNumber: string;
2663
- deckId: string | null;
2664
- position: string | null;
2665
- connectsTo: string | null;
2666
- }[];
2724
+ error: string;
2725
+ detail: string;
2667
2726
  };
2668
2727
  outputFormat: "json";
2669
- status: import("hono/utils/http-status").ContentfulStatusCode;
2670
- };
2671
- };
2672
- } & {
2673
- "/cabins/:cabinId": {
2674
- $put: {
2728
+ status: 400;
2729
+ } | {
2675
2730
  input: {
2676
2731
  param: {
2677
- cabinId: string;
2732
+ key: string;
2678
2733
  };
2679
2734
  };
2680
2735
  output: {
2681
2736
  error: string;
2682
2737
  };
2683
2738
  outputFormat: "json";
2684
- status: 404;
2739
+ status: 409;
2685
2740
  } | {
2686
2741
  input: {
2687
2742
  param: {
2688
- cabinId: string;
2743
+ key: string;
2689
2744
  };
2690
2745
  };
2691
2746
  output: {
2692
2747
  data: {
2693
2748
  id: string;
2749
+ name: string;
2694
2750
  createdAt: string;
2695
2751
  updatedAt: string;
2696
- notes: string | null;
2697
- isActive: boolean;
2698
- categoryId: string;
2699
- cabinNumber: string;
2700
- deckId: string | null;
2701
- position: string | null;
2702
- connectsTo: string | null;
2703
- };
2704
- };
2705
- outputFormat: "json";
2706
- status: import("hono/utils/http-status").ContentfulStatusCode;
2707
- };
2708
- };
2709
- } & {
2710
- "/search-index/bulk": {
2711
- $put: {
2712
- input: {};
2713
- output: {
2714
- data: {
2715
- upserted: number;
2716
- };
2717
- };
2718
- outputFormat: "json";
2719
- status: import("hono/utils/http-status").ContentfulStatusCode;
2720
- };
2721
- };
2722
- } & {
2723
- "/search-index/:crsiId": {
2724
- $delete: {
2725
- input: {
2726
- param: {
2727
- crsiId: string;
2728
- };
2729
- };
2730
- output: null;
2731
- outputFormat: "body";
2732
- status: 204;
2733
- } | {
2734
- input: {
2735
- param: {
2736
- crsiId: string;
2737
- };
2738
- };
2739
- output: {
2740
- error: string;
2741
- };
2742
- outputFormat: "json";
2743
- status: 404;
2744
- };
2745
- };
2746
- } & {
2747
- "/search-index/rebuild": {
2748
- $post: {
2749
- input: {};
2750
- output: {
2751
- data: {
2752
- localUpserted: number;
2753
- externalUpserted: number;
2754
- externalErrors: {
2755
- adapter: string;
2756
- error: string;
2757
- }[];
2758
- };
2752
+ description: string | null;
2753
+ cruiseId: string;
2754
+ kind: "other" | "naturalist" | "historian" | "photographer" | "lecturer" | "expert";
2755
+ title: string | null;
2756
+ sortOrder: number;
2757
+ bioImageUrl: string | null;
2758
+ }[];
2759
2759
  };
2760
2760
  outputFormat: "json";
2761
2761
  status: import("hono/utils/http-status").ContentfulStatusCode;
2762
2762
  };
2763
2763
  };
2764
- }, "/", "/search-index/rebuild">;
2764
+ }, "/", "/:key/enrichment/bulk">;
2765
2765
  export type CruiseAdminRoutes = typeof cruiseAdminRoutes;
2766
2766
  export {};
2767
2767
  //# sourceMappingURL=routes.d.ts.map