@voyant-travel/cruises 0.118.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +50 -0
  3. package/dist/adapters/connect-compat.d.ts +20 -0
  4. package/dist/adapters/connect-compat.d.ts.map +1 -0
  5. package/dist/adapters/connect-compat.js +71 -0
  6. package/dist/adapters/contract-fixture.d.ts +32 -0
  7. package/dist/adapters/contract-fixture.d.ts.map +1 -0
  8. package/dist/adapters/contract-fixture.js +152 -0
  9. package/dist/adapters/index.d.ts +331 -0
  10. package/dist/adapters/index.d.ts.map +1 -0
  11. package/dist/adapters/index.js +16 -0
  12. package/dist/adapters/memoize.d.ts +28 -0
  13. package/dist/adapters/memoize.d.ts.map +1 -0
  14. package/dist/adapters/memoize.js +131 -0
  15. package/dist/adapters/mock.d.ts +44 -0
  16. package/dist/adapters/mock.d.ts.map +1 -0
  17. package/dist/adapters/mock.js +192 -0
  18. package/dist/adapters/registry.d.ts +26 -0
  19. package/dist/adapters/registry.d.ts.map +1 -0
  20. package/dist/adapters/registry.js +42 -0
  21. package/dist/adapters/source-adapter-shim.d.ts +80 -0
  22. package/dist/adapters/source-adapter-shim.d.ts.map +1 -0
  23. package/dist/adapters/source-adapter-shim.js +390 -0
  24. package/dist/booking-engine/handler.d.ts +108 -0
  25. package/dist/booking-engine/handler.d.ts.map +1 -0
  26. package/dist/booking-engine/handler.js +225 -0
  27. package/dist/booking-engine/index.d.ts +9 -0
  28. package/dist/booking-engine/index.d.ts.map +1 -0
  29. package/dist/booking-engine/index.js +8 -0
  30. package/dist/booking-extension.d.ts +1179 -0
  31. package/dist/booking-extension.d.ts.map +1 -0
  32. package/dist/booking-extension.js +342 -0
  33. package/dist/cabin-features.d.ts +8 -0
  34. package/dist/cabin-features.d.ts.map +1 -0
  35. package/dist/cabin-features.js +7 -0
  36. package/dist/catalog-policy-cabins.d.ts +18 -0
  37. package/dist/catalog-policy-cabins.d.ts.map +1 -0
  38. package/dist/catalog-policy-cabins.js +96 -0
  39. package/dist/catalog-policy-core.d.ts +3 -0
  40. package/dist/catalog-policy-core.d.ts.map +1 -0
  41. package/dist/catalog-policy-core.js +247 -0
  42. package/dist/catalog-policy-structure.d.ts +3 -0
  43. package/dist/catalog-policy-structure.d.ts.map +1 -0
  44. package/dist/catalog-policy-structure.js +387 -0
  45. package/dist/catalog-policy.d.ts +15 -0
  46. package/dist/catalog-policy.d.ts.map +1 -0
  47. package/dist/catalog-policy.js +19 -0
  48. package/dist/content-shape.d.ts +5 -0
  49. package/dist/content-shape.d.ts.map +1 -0
  50. package/dist/content-shape.js +13 -0
  51. package/dist/draft-shape.d.ts +59 -0
  52. package/dist/draft-shape.d.ts.map +1 -0
  53. package/dist/draft-shape.js +98 -0
  54. package/dist/events.d.ts +21 -0
  55. package/dist/events.d.ts.map +1 -0
  56. package/dist/events.js +21 -0
  57. package/dist/index.d.ts +43 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +66 -0
  60. package/dist/lib/key.d.ts +41 -0
  61. package/dist/lib/key.d.ts.map +1 -0
  62. package/dist/lib/key.js +100 -0
  63. package/dist/routes-booking-payloads.d.ts +133 -0
  64. package/dist/routes-booking-payloads.d.ts.map +1 -0
  65. package/dist/routes-booking-payloads.js +142 -0
  66. package/dist/routes-content.d.ts +53 -0
  67. package/dist/routes-content.d.ts.map +1 -0
  68. package/dist/routes-content.js +158 -0
  69. package/dist/routes-core.d.ts +4 -0
  70. package/dist/routes-core.d.ts.map +1 -0
  71. package/dist/routes-core.js +68 -0
  72. package/dist/routes-detail.d.ts +4 -0
  73. package/dist/routes-detail.d.ts.map +1 -0
  74. package/dist/routes-detail.js +261 -0
  75. package/dist/routes-env.d.ts +13 -0
  76. package/dist/routes-env.d.ts.map +1 -0
  77. package/dist/routes-env.js +1 -0
  78. package/dist/routes-keying.d.ts +28 -0
  79. package/dist/routes-keying.d.ts.map +1 -0
  80. package/dist/routes-keying.js +70 -0
  81. package/dist/routes-public.d.ts +911 -0
  82. package/dist/routes-public.d.ts.map +1 -0
  83. package/dist/routes-public.js +252 -0
  84. package/dist/routes-sailings-prices.d.ts +4 -0
  85. package/dist/routes-sailings-prices.d.ts.map +1 -0
  86. package/dist/routes-sailings-prices.js +278 -0
  87. package/dist/routes-search-index.d.ts +4 -0
  88. package/dist/routes-search-index.d.ts.map +1 -0
  89. package/dist/routes-search-index.js +25 -0
  90. package/dist/routes-ships.d.ts +4 -0
  91. package/dist/routes-ships.d.ts.map +1 -0
  92. package/dist/routes-ships.js +147 -0
  93. package/dist/routes-voyage-groups.d.ts +4 -0
  94. package/dist/routes-voyage-groups.d.ts.map +1 -0
  95. package/dist/routes-voyage-groups.js +85 -0
  96. package/dist/routes.d.ts +5 -0
  97. package/dist/routes.d.ts.map +1 -0
  98. package/dist/routes.js +14 -0
  99. package/dist/schema-cabins.d.ts +1098 -0
  100. package/dist/schema-cabins.d.ts.map +1 -0
  101. package/dist/schema-cabins.js +105 -0
  102. package/dist/schema-content.d.ts +577 -0
  103. package/dist/schema-content.d.ts.map +1 -0
  104. package/dist/schema-content.js +63 -0
  105. package/dist/schema-core.d.ts +1790 -0
  106. package/dist/schema-core.d.ts.map +1 -0
  107. package/dist/schema-core.js +171 -0
  108. package/dist/schema-itinerary.d.ts +556 -0
  109. package/dist/schema-itinerary.d.ts.map +1 -0
  110. package/dist/schema-itinerary.js +50 -0
  111. package/dist/schema-pricing.d.ts +633 -0
  112. package/dist/schema-pricing.d.ts.map +1 -0
  113. package/dist/schema-pricing.js +73 -0
  114. package/dist/schema-search.d.ts +611 -0
  115. package/dist/schema-search.d.ts.map +1 -0
  116. package/dist/schema-search.js +64 -0
  117. package/dist/schema-shared.d.ts +23 -0
  118. package/dist/schema-shared.d.ts.map +1 -0
  119. package/dist/schema-shared.js +107 -0
  120. package/dist/schema-sourced-content.d.ts +247 -0
  121. package/dist/schema-sourced-content.d.ts.map +1 -0
  122. package/dist/schema-sourced-content.js +38 -0
  123. package/dist/schema.d.ts +10 -0
  124. package/dist/schema.d.ts.map +1 -0
  125. package/dist/schema.js +9 -0
  126. package/dist/service-booking-helpers.d.ts +12 -0
  127. package/dist/service-booking-helpers.d.ts.map +1 -0
  128. package/dist/service-booking-helpers.js +94 -0
  129. package/dist/service-booking-types.d.ts +101 -0
  130. package/dist/service-booking-types.d.ts.map +1 -0
  131. package/dist/service-booking-types.js +1 -0
  132. package/dist/service-bookings.d.ts +46 -0
  133. package/dist/service-bookings.d.ts.map +1 -0
  134. package/dist/service-bookings.js +420 -0
  135. package/dist/service-catalog-plane-cabins.d.ts +24 -0
  136. package/dist/service-catalog-plane-cabins.d.ts.map +1 -0
  137. package/dist/service-catalog-plane-cabins.js +90 -0
  138. package/dist/service-catalog-plane.d.ts +74 -0
  139. package/dist/service-catalog-plane.d.ts.map +1 -0
  140. package/dist/service-catalog-plane.js +194 -0
  141. package/dist/service-content-synthesizer.d.ts +42 -0
  142. package/dist/service-content-synthesizer.d.ts.map +1 -0
  143. package/dist/service-content-synthesizer.js +144 -0
  144. package/dist/service-content.d.ts +74 -0
  145. package/dist/service-content.d.ts.map +1 -0
  146. package/dist/service-content.js +315 -0
  147. package/dist/service-core.d.ts +134 -0
  148. package/dist/service-core.d.ts.map +1 -0
  149. package/dist/service-core.js +257 -0
  150. package/dist/service-detach.d.ts +18 -0
  151. package/dist/service-detach.d.ts.map +1 -0
  152. package/dist/service-detach.js +199 -0
  153. package/dist/service-enrichment.d.ts +11 -0
  154. package/dist/service-enrichment.d.ts.map +1 -0
  155. package/dist/service-enrichment.js +47 -0
  156. package/dist/service-external-refresh.d.ts +39 -0
  157. package/dist/service-external-refresh.d.ts.map +1 -0
  158. package/dist/service-external-refresh.js +47 -0
  159. package/dist/service-itinerary.d.ts +22 -0
  160. package/dist/service-itinerary.d.ts.map +1 -0
  161. package/dist/service-itinerary.js +34 -0
  162. package/dist/service-prices.d.ts +46 -0
  163. package/dist/service-prices.d.ts.map +1 -0
  164. package/dist/service-prices.js +89 -0
  165. package/dist/service-pricing.d.ts +97 -0
  166. package/dist/service-pricing.d.ts.map +1 -0
  167. package/dist/service-pricing.js +198 -0
  168. package/dist/service-sailings.d.ts +48 -0
  169. package/dist/service-sailings.d.ts.map +1 -0
  170. package/dist/service-sailings.js +145 -0
  171. package/dist/service-search-types.d.ts +54 -0
  172. package/dist/service-search-types.d.ts.map +1 -0
  173. package/dist/service-search-types.js +1 -0
  174. package/dist/service-search.d.ts +65 -0
  175. package/dist/service-search.d.ts.map +1 -0
  176. package/dist/service-search.js +467 -0
  177. package/dist/service-shared.d.ts +22 -0
  178. package/dist/service-shared.d.ts.map +1 -0
  179. package/dist/service-shared.js +22 -0
  180. package/dist/service-ships.d.ts +47 -0
  181. package/dist/service-ships.d.ts.map +1 -0
  182. package/dist/service-ships.js +156 -0
  183. package/dist/service.d.ts +255 -0
  184. package/dist/service.d.ts.map +1 -0
  185. package/dist/service.js +12 -0
  186. package/dist/validation-cabins.d.ts +267 -0
  187. package/dist/validation-cabins.d.ts.map +1 -0
  188. package/dist/validation-cabins.js +77 -0
  189. package/dist/validation-content.d.ts +123 -0
  190. package/dist/validation-content.d.ts.map +1 -0
  191. package/dist/validation-content.js +40 -0
  192. package/dist/validation-core.d.ts +393 -0
  193. package/dist/validation-core.d.ts.map +1 -0
  194. package/dist/validation-core.js +162 -0
  195. package/dist/validation-itinerary.d.ts +123 -0
  196. package/dist/validation-itinerary.d.ts.map +1 -0
  197. package/dist/validation-itinerary.js +47 -0
  198. package/dist/validation-pricing.d.ts +137 -0
  199. package/dist/validation-pricing.d.ts.map +1 -0
  200. package/dist/validation-pricing.js +49 -0
  201. package/dist/validation-search.d.ts +118 -0
  202. package/dist/validation-search.d.ts.map +1 -0
  203. package/dist/validation-search.js +60 -0
  204. package/dist/validation-shared.d.ts +123 -0
  205. package/dist/validation-shared.d.ts.map +1 -0
  206. package/dist/validation-shared.js +103 -0
  207. package/dist/validation.d.ts +8 -0
  208. package/dist/validation.d.ts.map +1 -0
  209. package/dist/validation.js +7 -0
  210. package/package.json +146 -0
@@ -0,0 +1,1179 @@
1
+ import type { HonoExtension } from "@voyant-travel/hono/module";
2
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
3
+ import { z } from "zod";
4
+ import type { ExternalPassengerComposition, SourceRef } from "./adapters/index.js";
5
+ import type { QuoteBookingTerms, QuoteComponent } from "./service-pricing.js";
6
+ export declare const cruiseBookingModeEnum: import("drizzle-orm/pg-core").PgEnum<["inquiry", "reserve"]>;
7
+ /**
8
+ * Air-arrangement choice on a cruise booking. Per
9
+ * booking-journey-architecture §7. The cruise booking carries the
10
+ * intent; the flight booking line itself lives in the flights
11
+ * vertical (or with the customer when "independent").
12
+ */
13
+ export declare const cruiseAirArrangementEnum: import("drizzle-orm/pg-core").PgEnum<["cruise_line", "independent", "none"]>;
14
+ export declare const bookingCruiseDetails: import("drizzle-orm/pg-core").PgTableWithColumns<{
15
+ name: "booking_cruise_details";
16
+ schema: undefined;
17
+ columns: {
18
+ bookingId: import("drizzle-orm/pg-core").PgColumn<{
19
+ name: "booking_id";
20
+ tableName: "booking_cruise_details";
21
+ dataType: "string";
22
+ columnType: "PgText";
23
+ data: string;
24
+ driverParam: string;
25
+ notNull: true;
26
+ hasDefault: false;
27
+ isPrimaryKey: true;
28
+ isAutoincrement: false;
29
+ hasRuntimeDefault: false;
30
+ enumValues: [string, ...string[]];
31
+ baseColumn: never;
32
+ identity: undefined;
33
+ generated: undefined;
34
+ }, {}, {}>;
35
+ source: import("drizzle-orm/pg-core").PgColumn<{
36
+ name: "source";
37
+ tableName: "booking_cruise_details";
38
+ dataType: "string";
39
+ columnType: "PgEnumColumn";
40
+ data: "local" | "external";
41
+ driverParam: string;
42
+ notNull: true;
43
+ hasDefault: true;
44
+ isPrimaryKey: false;
45
+ isAutoincrement: false;
46
+ hasRuntimeDefault: false;
47
+ enumValues: ["local", "external"];
48
+ baseColumn: never;
49
+ identity: undefined;
50
+ generated: undefined;
51
+ }, {}, {}>;
52
+ sourceProvider: import("drizzle-orm/pg-core").PgColumn<{
53
+ name: "source_provider";
54
+ tableName: "booking_cruise_details";
55
+ dataType: "string";
56
+ columnType: "PgText";
57
+ data: string;
58
+ driverParam: string;
59
+ notNull: false;
60
+ hasDefault: false;
61
+ isPrimaryKey: false;
62
+ isAutoincrement: false;
63
+ hasRuntimeDefault: false;
64
+ enumValues: [string, ...string[]];
65
+ baseColumn: never;
66
+ identity: undefined;
67
+ generated: undefined;
68
+ }, {}, {}>;
69
+ sourceRef: import("drizzle-orm/pg-core").PgColumn<{
70
+ name: "source_ref";
71
+ tableName: "booking_cruise_details";
72
+ dataType: "json";
73
+ columnType: "PgJsonb";
74
+ data: SourceRef;
75
+ driverParam: unknown;
76
+ notNull: false;
77
+ hasDefault: false;
78
+ isPrimaryKey: false;
79
+ isAutoincrement: false;
80
+ hasRuntimeDefault: false;
81
+ enumValues: undefined;
82
+ baseColumn: never;
83
+ identity: undefined;
84
+ generated: undefined;
85
+ }, {}, {
86
+ $type: SourceRef;
87
+ }>;
88
+ sailingId: import("drizzle-orm/pg-core").PgColumn<{
89
+ name: string;
90
+ tableName: "booking_cruise_details";
91
+ dataType: "string";
92
+ columnType: "PgText";
93
+ data: string;
94
+ driverParam: string;
95
+ notNull: false;
96
+ hasDefault: false;
97
+ isPrimaryKey: false;
98
+ isAutoincrement: false;
99
+ hasRuntimeDefault: false;
100
+ enumValues: [string, ...string[]];
101
+ baseColumn: never;
102
+ identity: undefined;
103
+ generated: undefined;
104
+ }, {}, {}>;
105
+ cabinCategoryId: import("drizzle-orm/pg-core").PgColumn<{
106
+ name: string;
107
+ tableName: "booking_cruise_details";
108
+ dataType: "string";
109
+ columnType: "PgText";
110
+ data: string;
111
+ driverParam: string;
112
+ notNull: false;
113
+ hasDefault: false;
114
+ isPrimaryKey: false;
115
+ isAutoincrement: false;
116
+ hasRuntimeDefault: false;
117
+ enumValues: [string, ...string[]];
118
+ baseColumn: never;
119
+ identity: undefined;
120
+ generated: undefined;
121
+ }, {}, {}>;
122
+ cabinId: import("drizzle-orm/pg-core").PgColumn<{
123
+ name: string;
124
+ tableName: "booking_cruise_details";
125
+ dataType: "string";
126
+ columnType: "PgText";
127
+ data: string;
128
+ driverParam: string;
129
+ notNull: false;
130
+ hasDefault: false;
131
+ isPrimaryKey: false;
132
+ isAutoincrement: false;
133
+ hasRuntimeDefault: false;
134
+ enumValues: [string, ...string[]];
135
+ baseColumn: never;
136
+ identity: undefined;
137
+ generated: undefined;
138
+ }, {}, {}>;
139
+ sailingDisplayName: import("drizzle-orm/pg-core").PgColumn<{
140
+ name: "sailing_display_name";
141
+ tableName: "booking_cruise_details";
142
+ dataType: "string";
143
+ columnType: "PgText";
144
+ data: string;
145
+ driverParam: string;
146
+ notNull: false;
147
+ hasDefault: false;
148
+ isPrimaryKey: false;
149
+ isAutoincrement: false;
150
+ hasRuntimeDefault: false;
151
+ enumValues: [string, ...string[]];
152
+ baseColumn: never;
153
+ identity: undefined;
154
+ generated: undefined;
155
+ }, {}, {}>;
156
+ cabinDisplayName: import("drizzle-orm/pg-core").PgColumn<{
157
+ name: "cabin_display_name";
158
+ tableName: "booking_cruise_details";
159
+ dataType: "string";
160
+ columnType: "PgText";
161
+ data: string;
162
+ driverParam: string;
163
+ notNull: false;
164
+ hasDefault: false;
165
+ isPrimaryKey: false;
166
+ isAutoincrement: false;
167
+ hasRuntimeDefault: false;
168
+ enumValues: [string, ...string[]];
169
+ baseColumn: never;
170
+ identity: undefined;
171
+ generated: undefined;
172
+ }, {}, {}>;
173
+ occupancy: import("drizzle-orm/pg-core").PgColumn<{
174
+ name: "occupancy";
175
+ tableName: "booking_cruise_details";
176
+ dataType: "number";
177
+ columnType: "PgSmallInt";
178
+ data: number;
179
+ driverParam: string | number;
180
+ notNull: true;
181
+ hasDefault: false;
182
+ isPrimaryKey: false;
183
+ isAutoincrement: false;
184
+ hasRuntimeDefault: false;
185
+ enumValues: undefined;
186
+ baseColumn: never;
187
+ identity: undefined;
188
+ generated: undefined;
189
+ }, {}, {}>;
190
+ fareCode: import("drizzle-orm/pg-core").PgColumn<{
191
+ name: "fare_code";
192
+ tableName: "booking_cruise_details";
193
+ dataType: "string";
194
+ columnType: "PgText";
195
+ data: string;
196
+ driverParam: string;
197
+ notNull: false;
198
+ hasDefault: false;
199
+ isPrimaryKey: false;
200
+ isAutoincrement: false;
201
+ hasRuntimeDefault: false;
202
+ enumValues: [string, ...string[]];
203
+ baseColumn: never;
204
+ identity: undefined;
205
+ generated: undefined;
206
+ }, {}, {}>;
207
+ fareVariant: import("drizzle-orm/pg-core").PgColumn<{
208
+ name: "fare_variant";
209
+ tableName: "booking_cruise_details";
210
+ dataType: "string";
211
+ columnType: "PgEnumColumn";
212
+ data: "cruise_only" | "air_inclusive";
213
+ driverParam: string;
214
+ notNull: true;
215
+ hasDefault: true;
216
+ isPrimaryKey: false;
217
+ isAutoincrement: false;
218
+ hasRuntimeDefault: false;
219
+ enumValues: ["cruise_only", "air_inclusive"];
220
+ baseColumn: never;
221
+ identity: undefined;
222
+ generated: undefined;
223
+ }, {}, {}>;
224
+ mode: import("drizzle-orm/pg-core").PgColumn<{
225
+ name: "mode";
226
+ tableName: "booking_cruise_details";
227
+ dataType: "string";
228
+ columnType: "PgEnumColumn";
229
+ data: "inquiry" | "reserve";
230
+ driverParam: string;
231
+ notNull: true;
232
+ hasDefault: true;
233
+ isPrimaryKey: false;
234
+ isAutoincrement: false;
235
+ hasRuntimeDefault: false;
236
+ enumValues: ["inquiry", "reserve"];
237
+ baseColumn: never;
238
+ identity: undefined;
239
+ generated: undefined;
240
+ }, {}, {}>;
241
+ quotedPricePerPerson: import("drizzle-orm/pg-core").PgColumn<{
242
+ name: "quoted_price_per_person";
243
+ tableName: "booking_cruise_details";
244
+ dataType: "string";
245
+ columnType: "PgNumeric";
246
+ data: string;
247
+ driverParam: string;
248
+ notNull: true;
249
+ hasDefault: false;
250
+ isPrimaryKey: false;
251
+ isAutoincrement: false;
252
+ hasRuntimeDefault: false;
253
+ enumValues: undefined;
254
+ baseColumn: never;
255
+ identity: undefined;
256
+ generated: undefined;
257
+ }, {}, {}>;
258
+ quotedTotalForCabin: import("drizzle-orm/pg-core").PgColumn<{
259
+ name: "quoted_total_for_cabin";
260
+ tableName: "booking_cruise_details";
261
+ dataType: "string";
262
+ columnType: "PgNumeric";
263
+ data: string;
264
+ driverParam: string;
265
+ notNull: true;
266
+ hasDefault: false;
267
+ isPrimaryKey: false;
268
+ isAutoincrement: false;
269
+ hasRuntimeDefault: false;
270
+ enumValues: undefined;
271
+ baseColumn: never;
272
+ identity: undefined;
273
+ generated: undefined;
274
+ }, {}, {}>;
275
+ quotedCurrency: import("drizzle-orm/pg-core").PgColumn<{
276
+ name: "quoted_currency";
277
+ tableName: "booking_cruise_details";
278
+ dataType: "string";
279
+ columnType: "PgChar";
280
+ data: string;
281
+ driverParam: string;
282
+ notNull: true;
283
+ hasDefault: false;
284
+ isPrimaryKey: false;
285
+ isAutoincrement: false;
286
+ hasRuntimeDefault: false;
287
+ enumValues: [string, ...string[]];
288
+ baseColumn: never;
289
+ identity: undefined;
290
+ generated: undefined;
291
+ }, {}, {
292
+ length: 3;
293
+ }>;
294
+ quotedComponentsJson: import("drizzle-orm/pg-core").PgColumn<{
295
+ name: "quoted_components_json";
296
+ tableName: "booking_cruise_details";
297
+ dataType: "json";
298
+ columnType: "PgJsonb";
299
+ data: QuoteComponent[];
300
+ driverParam: unknown;
301
+ notNull: false;
302
+ hasDefault: true;
303
+ isPrimaryKey: false;
304
+ isAutoincrement: false;
305
+ hasRuntimeDefault: false;
306
+ enumValues: undefined;
307
+ baseColumn: never;
308
+ identity: undefined;
309
+ generated: undefined;
310
+ }, {}, {
311
+ $type: QuoteComponent[];
312
+ }>;
313
+ bookingTermsSnapshotJson: import("drizzle-orm/pg-core").PgColumn<{
314
+ name: "booking_terms_snapshot_json";
315
+ tableName: "booking_cruise_details";
316
+ dataType: "json";
317
+ columnType: "PgJsonb";
318
+ data: QuoteBookingTerms;
319
+ driverParam: unknown;
320
+ notNull: false;
321
+ hasDefault: false;
322
+ isPrimaryKey: false;
323
+ isAutoincrement: false;
324
+ hasRuntimeDefault: false;
325
+ enumValues: undefined;
326
+ baseColumn: never;
327
+ identity: undefined;
328
+ generated: undefined;
329
+ }, {}, {
330
+ $type: QuoteBookingTerms;
331
+ }>;
332
+ passengerCompositionSnapshotJson: import("drizzle-orm/pg-core").PgColumn<{
333
+ name: "passenger_composition_snapshot_json";
334
+ tableName: "booking_cruise_details";
335
+ dataType: "json";
336
+ columnType: "PgJsonb";
337
+ data: ExternalPassengerComposition;
338
+ driverParam: unknown;
339
+ notNull: false;
340
+ hasDefault: false;
341
+ isPrimaryKey: false;
342
+ isAutoincrement: false;
343
+ hasRuntimeDefault: false;
344
+ enumValues: undefined;
345
+ baseColumn: never;
346
+ identity: undefined;
347
+ generated: undefined;
348
+ }, {}, {
349
+ $type: ExternalPassengerComposition;
350
+ }>;
351
+ connectorBookingRef: import("drizzle-orm/pg-core").PgColumn<{
352
+ name: "connector_booking_ref";
353
+ tableName: "booking_cruise_details";
354
+ dataType: "string";
355
+ columnType: "PgText";
356
+ data: string;
357
+ driverParam: string;
358
+ notNull: false;
359
+ hasDefault: false;
360
+ isPrimaryKey: false;
361
+ isAutoincrement: false;
362
+ hasRuntimeDefault: false;
363
+ enumValues: [string, ...string[]];
364
+ baseColumn: never;
365
+ identity: undefined;
366
+ generated: undefined;
367
+ }, {}, {}>;
368
+ connectorStatus: import("drizzle-orm/pg-core").PgColumn<{
369
+ name: "connector_status";
370
+ tableName: "booking_cruise_details";
371
+ dataType: "string";
372
+ columnType: "PgText";
373
+ data: string;
374
+ driverParam: string;
375
+ notNull: false;
376
+ hasDefault: false;
377
+ isPrimaryKey: false;
378
+ isAutoincrement: false;
379
+ hasRuntimeDefault: false;
380
+ enumValues: [string, ...string[]];
381
+ baseColumn: never;
382
+ identity: undefined;
383
+ generated: undefined;
384
+ }, {}, {}>;
385
+ airArrangement: import("drizzle-orm/pg-core").PgColumn<{
386
+ name: "air_arrangement";
387
+ tableName: "booking_cruise_details";
388
+ dataType: "string";
389
+ columnType: "PgEnumColumn";
390
+ data: "none" | "cruise_line" | "independent";
391
+ driverParam: string;
392
+ notNull: false;
393
+ hasDefault: false;
394
+ isPrimaryKey: false;
395
+ isAutoincrement: false;
396
+ hasRuntimeDefault: false;
397
+ enumValues: ["cruise_line", "independent", "none"];
398
+ baseColumn: never;
399
+ identity: undefined;
400
+ generated: undefined;
401
+ }, {}, {}>;
402
+ linkedFlightBookingId: import("drizzle-orm/pg-core").PgColumn<{
403
+ name: "linked_flight_booking_id";
404
+ tableName: "booking_cruise_details";
405
+ dataType: "string";
406
+ columnType: "PgText";
407
+ data: string;
408
+ driverParam: string;
409
+ notNull: false;
410
+ hasDefault: false;
411
+ isPrimaryKey: false;
412
+ isAutoincrement: false;
413
+ hasRuntimeDefault: false;
414
+ enumValues: [string, ...string[]];
415
+ baseColumn: never;
416
+ identity: undefined;
417
+ generated: undefined;
418
+ }, {}, {}>;
419
+ notes: import("drizzle-orm/pg-core").PgColumn<{
420
+ name: "notes";
421
+ tableName: "booking_cruise_details";
422
+ dataType: "string";
423
+ columnType: "PgText";
424
+ data: string;
425
+ driverParam: string;
426
+ notNull: false;
427
+ hasDefault: false;
428
+ isPrimaryKey: false;
429
+ isAutoincrement: false;
430
+ hasRuntimeDefault: false;
431
+ enumValues: [string, ...string[]];
432
+ baseColumn: never;
433
+ identity: undefined;
434
+ generated: undefined;
435
+ }, {}, {}>;
436
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
437
+ name: "created_at";
438
+ tableName: "booking_cruise_details";
439
+ dataType: "date";
440
+ columnType: "PgTimestamp";
441
+ data: Date;
442
+ driverParam: string;
443
+ notNull: true;
444
+ hasDefault: true;
445
+ isPrimaryKey: false;
446
+ isAutoincrement: false;
447
+ hasRuntimeDefault: false;
448
+ enumValues: undefined;
449
+ baseColumn: never;
450
+ identity: undefined;
451
+ generated: undefined;
452
+ }, {}, {}>;
453
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
454
+ name: "updated_at";
455
+ tableName: "booking_cruise_details";
456
+ dataType: "date";
457
+ columnType: "PgTimestamp";
458
+ data: Date;
459
+ driverParam: string;
460
+ notNull: true;
461
+ hasDefault: true;
462
+ isPrimaryKey: false;
463
+ isAutoincrement: false;
464
+ hasRuntimeDefault: false;
465
+ enumValues: undefined;
466
+ baseColumn: never;
467
+ identity: undefined;
468
+ generated: undefined;
469
+ }, {}, {}>;
470
+ };
471
+ dialect: "pg";
472
+ }>;
473
+ export type BookingCruiseDetail = typeof bookingCruiseDetails.$inferSelect;
474
+ export type NewBookingCruiseDetail = typeof bookingCruiseDetails.$inferInsert;
475
+ export declare const bookingGroupCruiseDetails: import("drizzle-orm/pg-core").PgTableWithColumns<{
476
+ name: "booking_group_cruise_details";
477
+ schema: undefined;
478
+ columns: {
479
+ bookingGroupId: import("drizzle-orm/pg-core").PgColumn<{
480
+ name: "booking_group_id";
481
+ tableName: "booking_group_cruise_details";
482
+ dataType: "string";
483
+ columnType: "PgText";
484
+ data: string;
485
+ driverParam: string;
486
+ notNull: true;
487
+ hasDefault: false;
488
+ isPrimaryKey: true;
489
+ isAutoincrement: false;
490
+ hasRuntimeDefault: false;
491
+ enumValues: [string, ...string[]];
492
+ baseColumn: never;
493
+ identity: undefined;
494
+ generated: undefined;
495
+ }, {}, {}>;
496
+ source: import("drizzle-orm/pg-core").PgColumn<{
497
+ name: "source";
498
+ tableName: "booking_group_cruise_details";
499
+ dataType: "string";
500
+ columnType: "PgEnumColumn";
501
+ data: "local" | "external";
502
+ driverParam: string;
503
+ notNull: true;
504
+ hasDefault: true;
505
+ isPrimaryKey: false;
506
+ isAutoincrement: false;
507
+ hasRuntimeDefault: false;
508
+ enumValues: ["local", "external"];
509
+ baseColumn: never;
510
+ identity: undefined;
511
+ generated: undefined;
512
+ }, {}, {}>;
513
+ sourceProvider: import("drizzle-orm/pg-core").PgColumn<{
514
+ name: "source_provider";
515
+ tableName: "booking_group_cruise_details";
516
+ dataType: "string";
517
+ columnType: "PgText";
518
+ data: string;
519
+ driverParam: string;
520
+ notNull: false;
521
+ hasDefault: false;
522
+ isPrimaryKey: false;
523
+ isAutoincrement: false;
524
+ hasRuntimeDefault: false;
525
+ enumValues: [string, ...string[]];
526
+ baseColumn: never;
527
+ identity: undefined;
528
+ generated: undefined;
529
+ }, {}, {}>;
530
+ sourceRef: import("drizzle-orm/pg-core").PgColumn<{
531
+ name: "source_ref";
532
+ tableName: "booking_group_cruise_details";
533
+ dataType: "json";
534
+ columnType: "PgJsonb";
535
+ data: SourceRef;
536
+ driverParam: unknown;
537
+ notNull: false;
538
+ hasDefault: false;
539
+ isPrimaryKey: false;
540
+ isAutoincrement: false;
541
+ hasRuntimeDefault: false;
542
+ enumValues: undefined;
543
+ baseColumn: never;
544
+ identity: undefined;
545
+ generated: undefined;
546
+ }, {}, {
547
+ $type: SourceRef;
548
+ }>;
549
+ sailingId: import("drizzle-orm/pg-core").PgColumn<{
550
+ name: string;
551
+ tableName: "booking_group_cruise_details";
552
+ dataType: "string";
553
+ columnType: "PgText";
554
+ data: string;
555
+ driverParam: string;
556
+ notNull: false;
557
+ hasDefault: false;
558
+ isPrimaryKey: false;
559
+ isAutoincrement: false;
560
+ hasRuntimeDefault: false;
561
+ enumValues: [string, ...string[]];
562
+ baseColumn: never;
563
+ identity: undefined;
564
+ generated: undefined;
565
+ }, {}, {}>;
566
+ sailingDisplayName: import("drizzle-orm/pg-core").PgColumn<{
567
+ name: "sailing_display_name";
568
+ tableName: "booking_group_cruise_details";
569
+ dataType: "string";
570
+ columnType: "PgText";
571
+ data: string;
572
+ driverParam: string;
573
+ notNull: false;
574
+ hasDefault: false;
575
+ isPrimaryKey: false;
576
+ isAutoincrement: false;
577
+ hasRuntimeDefault: false;
578
+ enumValues: [string, ...string[]];
579
+ baseColumn: never;
580
+ identity: undefined;
581
+ generated: undefined;
582
+ }, {}, {}>;
583
+ cabinCount: import("drizzle-orm/pg-core").PgColumn<{
584
+ name: "cabin_count";
585
+ tableName: "booking_group_cruise_details";
586
+ dataType: "number";
587
+ columnType: "PgSmallInt";
588
+ data: number;
589
+ driverParam: string | number;
590
+ notNull: true;
591
+ hasDefault: false;
592
+ isPrimaryKey: false;
593
+ isAutoincrement: false;
594
+ hasRuntimeDefault: false;
595
+ enumValues: undefined;
596
+ baseColumn: never;
597
+ identity: undefined;
598
+ generated: undefined;
599
+ }, {}, {}>;
600
+ totalQuotedAmount: import("drizzle-orm/pg-core").PgColumn<{
601
+ name: "total_quoted_amount";
602
+ tableName: "booking_group_cruise_details";
603
+ dataType: "string";
604
+ columnType: "PgNumeric";
605
+ data: string;
606
+ driverParam: string;
607
+ notNull: true;
608
+ hasDefault: false;
609
+ isPrimaryKey: false;
610
+ isAutoincrement: false;
611
+ hasRuntimeDefault: false;
612
+ enumValues: undefined;
613
+ baseColumn: never;
614
+ identity: undefined;
615
+ generated: undefined;
616
+ }, {}, {}>;
617
+ quotedCurrency: import("drizzle-orm/pg-core").PgColumn<{
618
+ name: "quoted_currency";
619
+ tableName: "booking_group_cruise_details";
620
+ dataType: "string";
621
+ columnType: "PgChar";
622
+ data: string;
623
+ driverParam: string;
624
+ notNull: true;
625
+ hasDefault: false;
626
+ isPrimaryKey: false;
627
+ isAutoincrement: false;
628
+ hasRuntimeDefault: false;
629
+ enumValues: [string, ...string[]];
630
+ baseColumn: never;
631
+ identity: undefined;
632
+ generated: undefined;
633
+ }, {}, {
634
+ length: 3;
635
+ }>;
636
+ connectorBookingRef: import("drizzle-orm/pg-core").PgColumn<{
637
+ name: "connector_booking_ref";
638
+ tableName: "booking_group_cruise_details";
639
+ dataType: "string";
640
+ columnType: "PgText";
641
+ data: string;
642
+ driverParam: string;
643
+ notNull: false;
644
+ hasDefault: false;
645
+ isPrimaryKey: false;
646
+ isAutoincrement: false;
647
+ hasRuntimeDefault: false;
648
+ enumValues: [string, ...string[]];
649
+ baseColumn: never;
650
+ identity: undefined;
651
+ generated: undefined;
652
+ }, {}, {}>;
653
+ bookingTermsSnapshotJson: import("drizzle-orm/pg-core").PgColumn<{
654
+ name: "booking_terms_snapshot_json";
655
+ tableName: "booking_group_cruise_details";
656
+ dataType: "json";
657
+ columnType: "PgJsonb";
658
+ data: QuoteBookingTerms;
659
+ driverParam: unknown;
660
+ notNull: false;
661
+ hasDefault: false;
662
+ isPrimaryKey: false;
663
+ isAutoincrement: false;
664
+ hasRuntimeDefault: false;
665
+ enumValues: undefined;
666
+ baseColumn: never;
667
+ identity: undefined;
668
+ generated: undefined;
669
+ }, {}, {
670
+ $type: QuoteBookingTerms;
671
+ }>;
672
+ notes: import("drizzle-orm/pg-core").PgColumn<{
673
+ name: "notes";
674
+ tableName: "booking_group_cruise_details";
675
+ dataType: "string";
676
+ columnType: "PgText";
677
+ data: string;
678
+ driverParam: string;
679
+ notNull: false;
680
+ hasDefault: false;
681
+ isPrimaryKey: false;
682
+ isAutoincrement: false;
683
+ hasRuntimeDefault: false;
684
+ enumValues: [string, ...string[]];
685
+ baseColumn: never;
686
+ identity: undefined;
687
+ generated: undefined;
688
+ }, {}, {}>;
689
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
690
+ name: "created_at";
691
+ tableName: "booking_group_cruise_details";
692
+ dataType: "date";
693
+ columnType: "PgTimestamp";
694
+ data: Date;
695
+ driverParam: string;
696
+ notNull: true;
697
+ hasDefault: true;
698
+ isPrimaryKey: false;
699
+ isAutoincrement: false;
700
+ hasRuntimeDefault: false;
701
+ enumValues: undefined;
702
+ baseColumn: never;
703
+ identity: undefined;
704
+ generated: undefined;
705
+ }, {}, {}>;
706
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
707
+ name: "updated_at";
708
+ tableName: "booking_group_cruise_details";
709
+ dataType: "date";
710
+ columnType: "PgTimestamp";
711
+ data: Date;
712
+ driverParam: string;
713
+ notNull: true;
714
+ hasDefault: true;
715
+ isPrimaryKey: false;
716
+ isAutoincrement: false;
717
+ hasRuntimeDefault: false;
718
+ enumValues: undefined;
719
+ baseColumn: never;
720
+ identity: undefined;
721
+ generated: undefined;
722
+ }, {}, {}>;
723
+ };
724
+ dialect: "pg";
725
+ }>;
726
+ export type BookingGroupCruiseDetail = typeof bookingGroupCruiseDetails.$inferSelect;
727
+ export type NewBookingGroupCruiseDetail = typeof bookingGroupCruiseDetails.$inferInsert;
728
+ declare const cruiseDetailUpsertSchema: z.ZodObject<{
729
+ source: z.ZodDefault<z.ZodEnum<{
730
+ local: "local";
731
+ external: "external";
732
+ }>>;
733
+ sourceProvider: z.ZodNullable<z.ZodOptional<z.ZodString>>;
734
+ sourceRef: z.ZodNullable<z.ZodOptional<z.ZodObject<{
735
+ connectionId: z.ZodOptional<z.ZodString>;
736
+ externalId: z.ZodString;
737
+ }, z.core.$catchall<z.ZodUnknown>>>>;
738
+ sailingId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
739
+ cabinCategoryId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
740
+ cabinId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
741
+ sailingDisplayName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
742
+ cabinDisplayName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
743
+ occupancy: z.ZodNumber;
744
+ fareCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
745
+ fareVariant: z.ZodDefault<z.ZodEnum<{
746
+ cruise_only: "cruise_only";
747
+ air_inclusive: "air_inclusive";
748
+ }>>;
749
+ mode: z.ZodDefault<z.ZodEnum<{
750
+ inquiry: "inquiry";
751
+ reserve: "reserve";
752
+ }>>;
753
+ quotedPricePerPerson: z.ZodString;
754
+ quotedTotalForCabin: z.ZodString;
755
+ quotedCurrency: z.ZodString;
756
+ quotedComponentsJson: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodUnknown>>>;
757
+ bookingTermsSnapshotJson: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
758
+ passengerCompositionSnapshotJson: z.ZodNullable<z.ZodOptional<z.ZodObject<{
759
+ adults: z.ZodNumber;
760
+ children: z.ZodOptional<z.ZodNumber>;
761
+ infants: z.ZodOptional<z.ZodNumber>;
762
+ seniors: z.ZodOptional<z.ZodNumber>;
763
+ childAges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
764
+ }, z.core.$catchall<z.ZodUnknown>>>>;
765
+ connectorBookingRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
766
+ connectorStatus: z.ZodNullable<z.ZodOptional<z.ZodString>>;
767
+ airArrangement: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
768
+ none: "none";
769
+ cruise_line: "cruise_line";
770
+ independent: "independent";
771
+ }>>>;
772
+ linkedFlightBookingId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
773
+ notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
774
+ }, z.core.$strip>;
775
+ declare const groupCruiseDetailUpsertSchema: z.ZodObject<{
776
+ source: z.ZodDefault<z.ZodEnum<{
777
+ local: "local";
778
+ external: "external";
779
+ }>>;
780
+ sourceProvider: z.ZodNullable<z.ZodOptional<z.ZodString>>;
781
+ sourceRef: z.ZodNullable<z.ZodOptional<z.ZodObject<{
782
+ connectionId: z.ZodOptional<z.ZodString>;
783
+ externalId: z.ZodString;
784
+ }, z.core.$catchall<z.ZodUnknown>>>>;
785
+ sailingId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
786
+ sailingDisplayName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
787
+ cabinCount: z.ZodNumber;
788
+ totalQuotedAmount: z.ZodString;
789
+ quotedCurrency: z.ZodString;
790
+ connectorBookingRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
791
+ bookingTermsSnapshotJson: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
792
+ notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
793
+ }, z.core.$strip>;
794
+ export declare const bookingCruiseDetailsService: {
795
+ get(db: PostgresJsDatabase, bookingId: string): Promise<BookingCruiseDetail | null>;
796
+ upsert(db: PostgresJsDatabase, bookingId: string, data: z.infer<typeof cruiseDetailUpsertSchema>): Promise<BookingCruiseDetail>;
797
+ remove(db: PostgresJsDatabase, bookingId: string): Promise<boolean>;
798
+ };
799
+ export declare const bookingGroupCruiseDetailsService: {
800
+ get(db: PostgresJsDatabase, bookingGroupId: string): Promise<BookingGroupCruiseDetail | null>;
801
+ upsert(db: PostgresJsDatabase, bookingGroupId: string, data: z.infer<typeof groupCruiseDetailUpsertSchema>): Promise<BookingGroupCruiseDetail>;
802
+ remove(db: PostgresJsDatabase, bookingGroupId: string): Promise<boolean>;
803
+ };
804
+ type Env = {
805
+ Variables: {
806
+ db: PostgresJsDatabase;
807
+ userId?: string;
808
+ };
809
+ };
810
+ export declare const cruisesBookingExtensionRoutes: import("hono/hono-base").HonoBase<Env, {
811
+ "/:bookingId/cruise-details": {
812
+ $get: {
813
+ input: {
814
+ param: {
815
+ bookingId: string;
816
+ };
817
+ };
818
+ output: {
819
+ error: string;
820
+ };
821
+ outputFormat: "json";
822
+ status: 404;
823
+ } | {
824
+ input: {
825
+ param: {
826
+ bookingId: string;
827
+ };
828
+ };
829
+ output: {
830
+ data: {
831
+ connectorBookingRef: string | null;
832
+ connectorStatus: string | null;
833
+ cabinCategoryId: string | null;
834
+ occupancy: number;
835
+ sailingId: string | null;
836
+ fareCode: string | null;
837
+ bookingId: string;
838
+ source: "local" | "external";
839
+ sourceProvider: string | null;
840
+ sourceRef: {
841
+ [x: string]: import("hono/utils/types").JSONValue;
842
+ connectionId?: string | undefined;
843
+ externalId: string;
844
+ } | null;
845
+ cabinId: string | null;
846
+ sailingDisplayName: string | null;
847
+ cabinDisplayName: string | null;
848
+ fareVariant: "cruise_only" | "air_inclusive";
849
+ mode: "inquiry" | "reserve";
850
+ quotedPricePerPerson: string;
851
+ quotedTotalForCabin: string;
852
+ quotedCurrency: string;
853
+ quotedComponentsJson: {
854
+ kind: import("./service-pricing.js").QuotePriceComponentKind;
855
+ label: string | null;
856
+ amount: string;
857
+ currency: string;
858
+ direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
859
+ perPerson: boolean;
860
+ }[] | null;
861
+ bookingTermsSnapshotJson: {
862
+ [x: string]: import("hono/utils/types").JSONValue;
863
+ cancellationPolicy?: {
864
+ [x: string]: import("hono/utils/types").JSONValue;
865
+ summary?: string | null | undefined;
866
+ rules?: {
867
+ from?: string | null | undefined;
868
+ until?: string | null | undefined;
869
+ penaltyAmount?: string | null | undefined;
870
+ penaltyCurrency?: string | null | undefined;
871
+ penaltyPercent?: string | null | undefined;
872
+ description?: string | null | undefined;
873
+ }[] | undefined;
874
+ } | null | undefined;
875
+ paymentTerms?: {
876
+ [x: string]: import("hono/utils/types").JSONValue;
877
+ summary?: string | null | undefined;
878
+ depositAmount?: string | null | undefined;
879
+ depositCurrency?: string | null | undefined;
880
+ depositPercent?: string | null | undefined;
881
+ dueDate?: string | null | undefined;
882
+ schedule?: {
883
+ [x: string]: import("hono/utils/types").JSONValue;
884
+ }[] | undefined;
885
+ } | null | undefined;
886
+ supplierTermsUrl?: string | null | undefined;
887
+ notes?: string | null | undefined;
888
+ } | null;
889
+ passengerCompositionSnapshotJson: {
890
+ [x: string]: import("hono/utils/types").JSONValue;
891
+ adults: number;
892
+ children?: number | undefined;
893
+ childAges?: number[] | undefined;
894
+ infants?: number | undefined;
895
+ seniors?: number | undefined;
896
+ } | null;
897
+ airArrangement: "none" | "cruise_line" | "independent" | null;
898
+ linkedFlightBookingId: string | null;
899
+ notes: string | null;
900
+ createdAt: string;
901
+ updatedAt: string;
902
+ };
903
+ };
904
+ outputFormat: "json";
905
+ status: import("hono/utils/http-status").ContentfulStatusCode;
906
+ };
907
+ };
908
+ } & {
909
+ "/:bookingId/cruise-details": {
910
+ $put: {
911
+ input: {
912
+ param: {
913
+ bookingId: string;
914
+ };
915
+ };
916
+ output: {
917
+ data: {
918
+ connectorBookingRef: string | null;
919
+ connectorStatus: string | null;
920
+ cabinCategoryId: string | null;
921
+ occupancy: number;
922
+ sailingId: string | null;
923
+ fareCode: string | null;
924
+ bookingId: string;
925
+ source: "local" | "external";
926
+ sourceProvider: string | null;
927
+ sourceRef: {
928
+ [x: string]: import("hono/utils/types").JSONValue;
929
+ connectionId?: string | undefined;
930
+ externalId: string;
931
+ } | null;
932
+ cabinId: string | null;
933
+ sailingDisplayName: string | null;
934
+ cabinDisplayName: string | null;
935
+ fareVariant: "cruise_only" | "air_inclusive";
936
+ mode: "inquiry" | "reserve";
937
+ quotedPricePerPerson: string;
938
+ quotedTotalForCabin: string;
939
+ quotedCurrency: string;
940
+ quotedComponentsJson: {
941
+ kind: import("./service-pricing.js").QuotePriceComponentKind;
942
+ label: string | null;
943
+ amount: string;
944
+ currency: string;
945
+ direction: import("./schema-pricing.js").CruisePriceComponent["direction"];
946
+ perPerson: boolean;
947
+ }[] | null;
948
+ bookingTermsSnapshotJson: {
949
+ [x: string]: import("hono/utils/types").JSONValue;
950
+ cancellationPolicy?: {
951
+ [x: string]: import("hono/utils/types").JSONValue;
952
+ summary?: string | null | undefined;
953
+ rules?: {
954
+ from?: string | null | undefined;
955
+ until?: string | null | undefined;
956
+ penaltyAmount?: string | null | undefined;
957
+ penaltyCurrency?: string | null | undefined;
958
+ penaltyPercent?: string | null | undefined;
959
+ description?: string | null | undefined;
960
+ }[] | undefined;
961
+ } | null | undefined;
962
+ paymentTerms?: {
963
+ [x: string]: import("hono/utils/types").JSONValue;
964
+ summary?: string | null | undefined;
965
+ depositAmount?: string | null | undefined;
966
+ depositCurrency?: string | null | undefined;
967
+ depositPercent?: string | null | undefined;
968
+ dueDate?: string | null | undefined;
969
+ schedule?: {
970
+ [x: string]: import("hono/utils/types").JSONValue;
971
+ }[] | undefined;
972
+ } | null | undefined;
973
+ supplierTermsUrl?: string | null | undefined;
974
+ notes?: string | null | undefined;
975
+ } | null;
976
+ passengerCompositionSnapshotJson: {
977
+ [x: string]: import("hono/utils/types").JSONValue;
978
+ adults: number;
979
+ children?: number | undefined;
980
+ childAges?: number[] | undefined;
981
+ infants?: number | undefined;
982
+ seniors?: number | undefined;
983
+ } | null;
984
+ airArrangement: "none" | "cruise_line" | "independent" | null;
985
+ linkedFlightBookingId: string | null;
986
+ notes: string | null;
987
+ createdAt: string;
988
+ updatedAt: string;
989
+ };
990
+ };
991
+ outputFormat: "json";
992
+ status: import("hono/utils/http-status").ContentfulStatusCode;
993
+ };
994
+ };
995
+ } & {
996
+ "/:bookingId/cruise-details": {
997
+ $delete: {
998
+ input: {
999
+ param: {
1000
+ bookingId: string;
1001
+ };
1002
+ };
1003
+ output: {
1004
+ error: string;
1005
+ };
1006
+ outputFormat: "json";
1007
+ status: 404;
1008
+ } | {
1009
+ input: {
1010
+ param: {
1011
+ bookingId: string;
1012
+ };
1013
+ };
1014
+ output: null;
1015
+ outputFormat: "body";
1016
+ status: 204;
1017
+ };
1018
+ };
1019
+ } & {
1020
+ "/groups/:groupId/cruise-details": {
1021
+ $get: {
1022
+ input: {
1023
+ param: {
1024
+ groupId: string;
1025
+ };
1026
+ };
1027
+ output: {
1028
+ error: string;
1029
+ };
1030
+ outputFormat: "json";
1031
+ status: 404;
1032
+ } | {
1033
+ input: {
1034
+ param: {
1035
+ groupId: string;
1036
+ };
1037
+ };
1038
+ output: {
1039
+ data: {
1040
+ connectorBookingRef: string | null;
1041
+ sailingId: string | null;
1042
+ source: "local" | "external";
1043
+ sourceProvider: string | null;
1044
+ sourceRef: {
1045
+ [x: string]: import("hono/utils/types").JSONValue;
1046
+ connectionId?: string | undefined;
1047
+ externalId: string;
1048
+ } | null;
1049
+ sailingDisplayName: string | null;
1050
+ quotedCurrency: string;
1051
+ bookingTermsSnapshotJson: {
1052
+ [x: string]: import("hono/utils/types").JSONValue;
1053
+ cancellationPolicy?: {
1054
+ [x: string]: import("hono/utils/types").JSONValue;
1055
+ summary?: string | null | undefined;
1056
+ rules?: {
1057
+ from?: string | null | undefined;
1058
+ until?: string | null | undefined;
1059
+ penaltyAmount?: string | null | undefined;
1060
+ penaltyCurrency?: string | null | undefined;
1061
+ penaltyPercent?: string | null | undefined;
1062
+ description?: string | null | undefined;
1063
+ }[] | undefined;
1064
+ } | null | undefined;
1065
+ paymentTerms?: {
1066
+ [x: string]: import("hono/utils/types").JSONValue;
1067
+ summary?: string | null | undefined;
1068
+ depositAmount?: string | null | undefined;
1069
+ depositCurrency?: string | null | undefined;
1070
+ depositPercent?: string | null | undefined;
1071
+ dueDate?: string | null | undefined;
1072
+ schedule?: {
1073
+ [x: string]: import("hono/utils/types").JSONValue;
1074
+ }[] | undefined;
1075
+ } | null | undefined;
1076
+ supplierTermsUrl?: string | null | undefined;
1077
+ notes?: string | null | undefined;
1078
+ } | null;
1079
+ notes: string | null;
1080
+ createdAt: string;
1081
+ updatedAt: string;
1082
+ bookingGroupId: string;
1083
+ cabinCount: number;
1084
+ totalQuotedAmount: string;
1085
+ };
1086
+ };
1087
+ outputFormat: "json";
1088
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1089
+ };
1090
+ };
1091
+ } & {
1092
+ "/groups/:groupId/cruise-details": {
1093
+ $put: {
1094
+ input: {
1095
+ param: {
1096
+ groupId: string;
1097
+ };
1098
+ };
1099
+ output: {
1100
+ data: {
1101
+ connectorBookingRef: string | null;
1102
+ sailingId: string | null;
1103
+ source: "local" | "external";
1104
+ sourceProvider: string | null;
1105
+ sourceRef: {
1106
+ [x: string]: import("hono/utils/types").JSONValue;
1107
+ connectionId?: string | undefined;
1108
+ externalId: string;
1109
+ } | null;
1110
+ sailingDisplayName: string | null;
1111
+ quotedCurrency: string;
1112
+ bookingTermsSnapshotJson: {
1113
+ [x: string]: import("hono/utils/types").JSONValue;
1114
+ cancellationPolicy?: {
1115
+ [x: string]: import("hono/utils/types").JSONValue;
1116
+ summary?: string | null | undefined;
1117
+ rules?: {
1118
+ from?: string | null | undefined;
1119
+ until?: string | null | undefined;
1120
+ penaltyAmount?: string | null | undefined;
1121
+ penaltyCurrency?: string | null | undefined;
1122
+ penaltyPercent?: string | null | undefined;
1123
+ description?: string | null | undefined;
1124
+ }[] | undefined;
1125
+ } | null | undefined;
1126
+ paymentTerms?: {
1127
+ [x: string]: import("hono/utils/types").JSONValue;
1128
+ summary?: string | null | undefined;
1129
+ depositAmount?: string | null | undefined;
1130
+ depositCurrency?: string | null | undefined;
1131
+ depositPercent?: string | null | undefined;
1132
+ dueDate?: string | null | undefined;
1133
+ schedule?: {
1134
+ [x: string]: import("hono/utils/types").JSONValue;
1135
+ }[] | undefined;
1136
+ } | null | undefined;
1137
+ supplierTermsUrl?: string | null | undefined;
1138
+ notes?: string | null | undefined;
1139
+ } | null;
1140
+ notes: string | null;
1141
+ createdAt: string;
1142
+ updatedAt: string;
1143
+ bookingGroupId: string;
1144
+ cabinCount: number;
1145
+ totalQuotedAmount: string;
1146
+ };
1147
+ };
1148
+ outputFormat: "json";
1149
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1150
+ };
1151
+ };
1152
+ } & {
1153
+ "/groups/:groupId/cruise-details": {
1154
+ $delete: {
1155
+ input: {
1156
+ param: {
1157
+ groupId: string;
1158
+ };
1159
+ };
1160
+ output: null;
1161
+ outputFormat: "body";
1162
+ status: 204;
1163
+ } | {
1164
+ input: {
1165
+ param: {
1166
+ groupId: string;
1167
+ };
1168
+ };
1169
+ output: {
1170
+ error: string;
1171
+ };
1172
+ outputFormat: "json";
1173
+ status: 404;
1174
+ };
1175
+ };
1176
+ }, "/", "/groups/:groupId/cruise-details">;
1177
+ export declare const cruisesBookingExtension: HonoExtension;
1178
+ export {};
1179
+ //# sourceMappingURL=booking-extension.d.ts.map