@voyantjs/accommodations 0.55.0

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 (47) hide show
  1. package/README.md +11 -0
  2. package/dist/booking-engine/handler.d.ts +103 -0
  3. package/dist/booking-engine/handler.d.ts.map +1 -0
  4. package/dist/booking-engine/handler.js +254 -0
  5. package/dist/booking-engine/index.d.ts +8 -0
  6. package/dist/booking-engine/index.d.ts.map +1 -0
  7. package/dist/booking-engine/index.js +7 -0
  8. package/dist/catalog-policy.d.ts +23 -0
  9. package/dist/catalog-policy.d.ts.map +1 -0
  10. package/dist/catalog-policy.js +422 -0
  11. package/dist/content-shape.d.ts +185 -0
  12. package/dist/content-shape.d.ts.map +1 -0
  13. package/dist/content-shape.js +122 -0
  14. package/dist/draft-shape.d.ts +35 -0
  15. package/dist/draft-shape.d.ts.map +1 -0
  16. package/dist/draft-shape.js +84 -0
  17. package/dist/index.d.ts +8 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +7 -0
  20. package/dist/routes-content.d.ts +31 -0
  21. package/dist/routes-content.d.ts.map +1 -0
  22. package/dist/routes-content.js +87 -0
  23. package/dist/schema-bookings.d.ts +582 -0
  24. package/dist/schema-bookings.d.ts.map +1 -0
  25. package/dist/schema-bookings.js +65 -0
  26. package/dist/schema-inventory.d.ts +1361 -0
  27. package/dist/schema-inventory.d.ts.map +1 -0
  28. package/dist/schema-inventory.js +132 -0
  29. package/dist/schema-shared.d.ts +5 -0
  30. package/dist/schema-shared.d.ts.map +1 -0
  31. package/dist/schema-shared.js +24 -0
  32. package/dist/schema-sourced-content.d.ts +254 -0
  33. package/dist/schema-sourced-content.d.ts.map +1 -0
  34. package/dist/schema-sourced-content.js +48 -0
  35. package/dist/schema.d.ts +5 -0
  36. package/dist/schema.d.ts.map +1 -0
  37. package/dist/schema.js +4 -0
  38. package/dist/service-catalog-plane.d.ts +55 -0
  39. package/dist/service-catalog-plane.d.ts.map +1 -0
  40. package/dist/service-catalog-plane.js +202 -0
  41. package/dist/service-content-synthesizer.d.ts +43 -0
  42. package/dist/service-content-synthesizer.d.ts.map +1 -0
  43. package/dist/service-content-synthesizer.js +149 -0
  44. package/dist/service-content.d.ts +54 -0
  45. package/dist/service-content.d.ts.map +1 -0
  46. package/dist/service-content.js +480 -0
  47. package/package.json +113 -0
@@ -0,0 +1,582 @@
1
+ export declare const stayBookingItems: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "stay_booking_items";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/pg-core").PgColumn<{
6
+ name: string;
7
+ tableName: "stay_booking_items";
8
+ dataType: "string";
9
+ columnType: "PgText";
10
+ data: string;
11
+ driverParam: string;
12
+ notNull: true;
13
+ hasDefault: true;
14
+ isPrimaryKey: true;
15
+ isAutoincrement: false;
16
+ hasRuntimeDefault: true;
17
+ enumValues: [string, ...string[]];
18
+ baseColumn: never;
19
+ identity: undefined;
20
+ generated: undefined;
21
+ }, {}, {}>;
22
+ bookingItemId: import("drizzle-orm/pg-core").PgColumn<{
23
+ name: string;
24
+ tableName: "stay_booking_items";
25
+ dataType: "string";
26
+ columnType: "PgText";
27
+ data: string;
28
+ driverParam: string;
29
+ notNull: true;
30
+ hasDefault: false;
31
+ isPrimaryKey: false;
32
+ isAutoincrement: false;
33
+ hasRuntimeDefault: false;
34
+ enumValues: [string, ...string[]];
35
+ baseColumn: never;
36
+ identity: undefined;
37
+ generated: undefined;
38
+ }, {}, {}>;
39
+ propertyId: import("drizzle-orm/pg-core").PgColumn<{
40
+ name: string;
41
+ tableName: "stay_booking_items";
42
+ dataType: "string";
43
+ columnType: "PgText";
44
+ data: string;
45
+ driverParam: string;
46
+ notNull: true;
47
+ hasDefault: false;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: [string, ...string[]];
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {}>;
56
+ roomTypeId: import("drizzle-orm/pg-core").PgColumn<{
57
+ name: string;
58
+ tableName: "stay_booking_items";
59
+ dataType: "string";
60
+ columnType: "PgText";
61
+ data: string;
62
+ driverParam: string;
63
+ notNull: true;
64
+ hasDefault: false;
65
+ isPrimaryKey: false;
66
+ isAutoincrement: false;
67
+ hasRuntimeDefault: false;
68
+ enumValues: [string, ...string[]];
69
+ baseColumn: never;
70
+ identity: undefined;
71
+ generated: undefined;
72
+ }, {}, {}>;
73
+ supplierRoomRef: import("drizzle-orm/pg-core").PgColumn<{
74
+ name: "supplier_room_ref";
75
+ tableName: "stay_booking_items";
76
+ dataType: "string";
77
+ columnType: "PgText";
78
+ data: string;
79
+ driverParam: string;
80
+ notNull: false;
81
+ hasDefault: false;
82
+ isPrimaryKey: false;
83
+ isAutoincrement: false;
84
+ hasRuntimeDefault: false;
85
+ enumValues: [string, ...string[]];
86
+ baseColumn: never;
87
+ identity: undefined;
88
+ generated: undefined;
89
+ }, {}, {}>;
90
+ ratePlanId: import("drizzle-orm/pg-core").PgColumn<{
91
+ name: string;
92
+ tableName: "stay_booking_items";
93
+ dataType: "string";
94
+ columnType: "PgText";
95
+ data: string;
96
+ driverParam: string;
97
+ notNull: true;
98
+ hasDefault: false;
99
+ isPrimaryKey: false;
100
+ isAutoincrement: false;
101
+ hasRuntimeDefault: false;
102
+ enumValues: [string, ...string[]];
103
+ baseColumn: never;
104
+ identity: undefined;
105
+ generated: undefined;
106
+ }, {}, {}>;
107
+ checkInDate: import("drizzle-orm/pg-core").PgColumn<{
108
+ name: "check_in_date";
109
+ tableName: "stay_booking_items";
110
+ dataType: "string";
111
+ columnType: "PgDateString";
112
+ data: string;
113
+ driverParam: string;
114
+ notNull: true;
115
+ hasDefault: false;
116
+ isPrimaryKey: false;
117
+ isAutoincrement: false;
118
+ hasRuntimeDefault: false;
119
+ enumValues: undefined;
120
+ baseColumn: never;
121
+ identity: undefined;
122
+ generated: undefined;
123
+ }, {}, {}>;
124
+ checkOutDate: import("drizzle-orm/pg-core").PgColumn<{
125
+ name: "check_out_date";
126
+ tableName: "stay_booking_items";
127
+ dataType: "string";
128
+ columnType: "PgDateString";
129
+ data: string;
130
+ driverParam: string;
131
+ notNull: true;
132
+ hasDefault: false;
133
+ isPrimaryKey: false;
134
+ isAutoincrement: false;
135
+ hasRuntimeDefault: false;
136
+ enumValues: undefined;
137
+ baseColumn: never;
138
+ identity: undefined;
139
+ generated: undefined;
140
+ }, {}, {}>;
141
+ nightCount: import("drizzle-orm/pg-core").PgColumn<{
142
+ name: "night_count";
143
+ tableName: "stay_booking_items";
144
+ dataType: "number";
145
+ columnType: "PgInteger";
146
+ data: number;
147
+ driverParam: string | number;
148
+ notNull: true;
149
+ hasDefault: true;
150
+ isPrimaryKey: false;
151
+ isAutoincrement: false;
152
+ hasRuntimeDefault: false;
153
+ enumValues: undefined;
154
+ baseColumn: never;
155
+ identity: undefined;
156
+ generated: undefined;
157
+ }, {}, {}>;
158
+ roomCount: import("drizzle-orm/pg-core").PgColumn<{
159
+ name: "room_count";
160
+ tableName: "stay_booking_items";
161
+ dataType: "number";
162
+ columnType: "PgInteger";
163
+ data: number;
164
+ driverParam: string | number;
165
+ notNull: true;
166
+ hasDefault: true;
167
+ isPrimaryKey: false;
168
+ isAutoincrement: false;
169
+ hasRuntimeDefault: false;
170
+ enumValues: undefined;
171
+ baseColumn: never;
172
+ identity: undefined;
173
+ generated: undefined;
174
+ }, {}, {}>;
175
+ adults: import("drizzle-orm/pg-core").PgColumn<{
176
+ name: "adults";
177
+ tableName: "stay_booking_items";
178
+ dataType: "number";
179
+ columnType: "PgInteger";
180
+ data: number;
181
+ driverParam: string | number;
182
+ notNull: true;
183
+ hasDefault: true;
184
+ isPrimaryKey: false;
185
+ isAutoincrement: false;
186
+ hasRuntimeDefault: false;
187
+ enumValues: undefined;
188
+ baseColumn: never;
189
+ identity: undefined;
190
+ generated: undefined;
191
+ }, {}, {}>;
192
+ children: import("drizzle-orm/pg-core").PgColumn<{
193
+ name: "children";
194
+ tableName: "stay_booking_items";
195
+ dataType: "number";
196
+ columnType: "PgInteger";
197
+ data: number;
198
+ driverParam: string | number;
199
+ notNull: true;
200
+ hasDefault: true;
201
+ isPrimaryKey: false;
202
+ isAutoincrement: false;
203
+ hasRuntimeDefault: false;
204
+ enumValues: undefined;
205
+ baseColumn: never;
206
+ identity: undefined;
207
+ generated: undefined;
208
+ }, {}, {}>;
209
+ infants: import("drizzle-orm/pg-core").PgColumn<{
210
+ name: "infants";
211
+ tableName: "stay_booking_items";
212
+ dataType: "number";
213
+ columnType: "PgInteger";
214
+ data: number;
215
+ driverParam: string | number;
216
+ notNull: true;
217
+ hasDefault: true;
218
+ isPrimaryKey: false;
219
+ isAutoincrement: false;
220
+ hasRuntimeDefault: false;
221
+ enumValues: undefined;
222
+ baseColumn: never;
223
+ identity: undefined;
224
+ generated: undefined;
225
+ }, {}, {}>;
226
+ mealPlanId: import("drizzle-orm/pg-core").PgColumn<{
227
+ name: string;
228
+ tableName: "stay_booking_items";
229
+ dataType: "string";
230
+ columnType: "PgText";
231
+ data: string;
232
+ driverParam: string;
233
+ notNull: false;
234
+ hasDefault: false;
235
+ isPrimaryKey: false;
236
+ isAutoincrement: false;
237
+ hasRuntimeDefault: false;
238
+ enumValues: [string, ...string[]];
239
+ baseColumn: never;
240
+ identity: undefined;
241
+ generated: undefined;
242
+ }, {}, {}>;
243
+ confirmationCode: import("drizzle-orm/pg-core").PgColumn<{
244
+ name: "confirmation_code";
245
+ tableName: "stay_booking_items";
246
+ dataType: "string";
247
+ columnType: "PgText";
248
+ data: string;
249
+ driverParam: string;
250
+ notNull: false;
251
+ hasDefault: false;
252
+ isPrimaryKey: false;
253
+ isAutoincrement: false;
254
+ hasRuntimeDefault: false;
255
+ enumValues: [string, ...string[]];
256
+ baseColumn: never;
257
+ identity: undefined;
258
+ generated: undefined;
259
+ }, {}, {}>;
260
+ voucherCode: import("drizzle-orm/pg-core").PgColumn<{
261
+ name: "voucher_code";
262
+ tableName: "stay_booking_items";
263
+ dataType: "string";
264
+ columnType: "PgText";
265
+ data: string;
266
+ driverParam: string;
267
+ notNull: false;
268
+ hasDefault: false;
269
+ isPrimaryKey: false;
270
+ isAutoincrement: false;
271
+ hasRuntimeDefault: false;
272
+ enumValues: [string, ...string[]];
273
+ baseColumn: never;
274
+ identity: undefined;
275
+ generated: undefined;
276
+ }, {}, {}>;
277
+ status: import("drizzle-orm/pg-core").PgColumn<{
278
+ name: "status";
279
+ tableName: "stay_booking_items";
280
+ dataType: "string";
281
+ columnType: "PgEnumColumn";
282
+ data: "cancelled" | "reserved" | "no_show";
283
+ driverParam: string;
284
+ notNull: true;
285
+ hasDefault: true;
286
+ isPrimaryKey: false;
287
+ isAutoincrement: false;
288
+ hasRuntimeDefault: false;
289
+ enumValues: ["reserved", "cancelled", "no_show"];
290
+ baseColumn: never;
291
+ identity: undefined;
292
+ generated: undefined;
293
+ }, {}, {}>;
294
+ notes: import("drizzle-orm/pg-core").PgColumn<{
295
+ name: "notes";
296
+ tableName: "stay_booking_items";
297
+ dataType: "string";
298
+ columnType: "PgText";
299
+ data: string;
300
+ driverParam: string;
301
+ notNull: false;
302
+ hasDefault: false;
303
+ isPrimaryKey: false;
304
+ isAutoincrement: false;
305
+ hasRuntimeDefault: false;
306
+ enumValues: [string, ...string[]];
307
+ baseColumn: never;
308
+ identity: undefined;
309
+ generated: undefined;
310
+ }, {}, {}>;
311
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
312
+ name: "metadata";
313
+ tableName: "stay_booking_items";
314
+ dataType: "json";
315
+ columnType: "PgJsonb";
316
+ data: Record<string, unknown>;
317
+ driverParam: unknown;
318
+ notNull: false;
319
+ hasDefault: false;
320
+ isPrimaryKey: false;
321
+ isAutoincrement: false;
322
+ hasRuntimeDefault: false;
323
+ enumValues: undefined;
324
+ baseColumn: never;
325
+ identity: undefined;
326
+ generated: undefined;
327
+ }, {}, {
328
+ $type: Record<string, unknown>;
329
+ }>;
330
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
331
+ name: "created_at";
332
+ tableName: "stay_booking_items";
333
+ dataType: "date";
334
+ columnType: "PgTimestamp";
335
+ data: Date;
336
+ driverParam: string;
337
+ notNull: true;
338
+ hasDefault: true;
339
+ isPrimaryKey: false;
340
+ isAutoincrement: false;
341
+ hasRuntimeDefault: false;
342
+ enumValues: undefined;
343
+ baseColumn: never;
344
+ identity: undefined;
345
+ generated: undefined;
346
+ }, {}, {}>;
347
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
348
+ name: "updated_at";
349
+ tableName: "stay_booking_items";
350
+ dataType: "date";
351
+ columnType: "PgTimestamp";
352
+ data: Date;
353
+ driverParam: string;
354
+ notNull: true;
355
+ hasDefault: true;
356
+ isPrimaryKey: false;
357
+ isAutoincrement: false;
358
+ hasRuntimeDefault: false;
359
+ enumValues: undefined;
360
+ baseColumn: never;
361
+ identity: undefined;
362
+ generated: undefined;
363
+ }, {}, {}>;
364
+ };
365
+ dialect: "pg";
366
+ }>;
367
+ export declare const stayDailyRates: import("drizzle-orm/pg-core").PgTableWithColumns<{
368
+ name: "stay_daily_rates";
369
+ schema: undefined;
370
+ columns: {
371
+ id: import("drizzle-orm/pg-core").PgColumn<{
372
+ name: string;
373
+ tableName: "stay_daily_rates";
374
+ dataType: "string";
375
+ columnType: "PgText";
376
+ data: string;
377
+ driverParam: string;
378
+ notNull: true;
379
+ hasDefault: true;
380
+ isPrimaryKey: true;
381
+ isAutoincrement: false;
382
+ hasRuntimeDefault: true;
383
+ enumValues: [string, ...string[]];
384
+ baseColumn: never;
385
+ identity: undefined;
386
+ generated: undefined;
387
+ }, {}, {}>;
388
+ stayBookingItemId: import("drizzle-orm/pg-core").PgColumn<{
389
+ name: string;
390
+ tableName: "stay_daily_rates";
391
+ dataType: "string";
392
+ columnType: "PgText";
393
+ data: string;
394
+ driverParam: string;
395
+ notNull: true;
396
+ hasDefault: false;
397
+ isPrimaryKey: false;
398
+ isAutoincrement: false;
399
+ hasRuntimeDefault: false;
400
+ enumValues: [string, ...string[]];
401
+ baseColumn: never;
402
+ identity: undefined;
403
+ generated: undefined;
404
+ }, {}, {}>;
405
+ date: import("drizzle-orm/pg-core").PgColumn<{
406
+ name: "date";
407
+ tableName: "stay_daily_rates";
408
+ dataType: "string";
409
+ columnType: "PgDateString";
410
+ data: string;
411
+ driverParam: string;
412
+ notNull: true;
413
+ hasDefault: false;
414
+ isPrimaryKey: false;
415
+ isAutoincrement: false;
416
+ hasRuntimeDefault: false;
417
+ enumValues: undefined;
418
+ baseColumn: never;
419
+ identity: undefined;
420
+ generated: undefined;
421
+ }, {}, {}>;
422
+ sellCurrency: import("drizzle-orm/pg-core").PgColumn<{
423
+ name: "sell_currency";
424
+ tableName: "stay_daily_rates";
425
+ dataType: "string";
426
+ columnType: "PgText";
427
+ data: string;
428
+ driverParam: string;
429
+ notNull: true;
430
+ hasDefault: false;
431
+ isPrimaryKey: false;
432
+ isAutoincrement: false;
433
+ hasRuntimeDefault: false;
434
+ enumValues: [string, ...string[]];
435
+ baseColumn: never;
436
+ identity: undefined;
437
+ generated: undefined;
438
+ }, {}, {}>;
439
+ sellAmountCents: import("drizzle-orm/pg-core").PgColumn<{
440
+ name: "sell_amount_cents";
441
+ tableName: "stay_daily_rates";
442
+ dataType: "number";
443
+ columnType: "PgInteger";
444
+ data: number;
445
+ driverParam: string | number;
446
+ notNull: false;
447
+ hasDefault: false;
448
+ isPrimaryKey: false;
449
+ isAutoincrement: false;
450
+ hasRuntimeDefault: false;
451
+ enumValues: undefined;
452
+ baseColumn: never;
453
+ identity: undefined;
454
+ generated: undefined;
455
+ }, {}, {}>;
456
+ costCurrency: import("drizzle-orm/pg-core").PgColumn<{
457
+ name: "cost_currency";
458
+ tableName: "stay_daily_rates";
459
+ dataType: "string";
460
+ columnType: "PgText";
461
+ data: string;
462
+ driverParam: string;
463
+ notNull: false;
464
+ hasDefault: false;
465
+ isPrimaryKey: false;
466
+ isAutoincrement: false;
467
+ hasRuntimeDefault: false;
468
+ enumValues: [string, ...string[]];
469
+ baseColumn: never;
470
+ identity: undefined;
471
+ generated: undefined;
472
+ }, {}, {}>;
473
+ costAmountCents: import("drizzle-orm/pg-core").PgColumn<{
474
+ name: "cost_amount_cents";
475
+ tableName: "stay_daily_rates";
476
+ dataType: "number";
477
+ columnType: "PgInteger";
478
+ data: number;
479
+ driverParam: string | number;
480
+ notNull: false;
481
+ hasDefault: false;
482
+ isPrimaryKey: false;
483
+ isAutoincrement: false;
484
+ hasRuntimeDefault: false;
485
+ enumValues: undefined;
486
+ baseColumn: never;
487
+ identity: undefined;
488
+ generated: undefined;
489
+ }, {}, {}>;
490
+ taxAmountCents: import("drizzle-orm/pg-core").PgColumn<{
491
+ name: "tax_amount_cents";
492
+ tableName: "stay_daily_rates";
493
+ dataType: "number";
494
+ columnType: "PgInteger";
495
+ data: number;
496
+ driverParam: string | number;
497
+ notNull: false;
498
+ hasDefault: false;
499
+ isPrimaryKey: false;
500
+ isAutoincrement: false;
501
+ hasRuntimeDefault: false;
502
+ enumValues: undefined;
503
+ baseColumn: never;
504
+ identity: undefined;
505
+ generated: undefined;
506
+ }, {}, {}>;
507
+ feeAmountCents: import("drizzle-orm/pg-core").PgColumn<{
508
+ name: "fee_amount_cents";
509
+ tableName: "stay_daily_rates";
510
+ dataType: "number";
511
+ columnType: "PgInteger";
512
+ data: number;
513
+ driverParam: string | number;
514
+ notNull: false;
515
+ hasDefault: false;
516
+ isPrimaryKey: false;
517
+ isAutoincrement: false;
518
+ hasRuntimeDefault: false;
519
+ enumValues: undefined;
520
+ baseColumn: never;
521
+ identity: undefined;
522
+ generated: undefined;
523
+ }, {}, {}>;
524
+ commissionAmountCents: import("drizzle-orm/pg-core").PgColumn<{
525
+ name: "commission_amount_cents";
526
+ tableName: "stay_daily_rates";
527
+ dataType: "number";
528
+ columnType: "PgInteger";
529
+ data: number;
530
+ driverParam: string | number;
531
+ notNull: false;
532
+ hasDefault: false;
533
+ isPrimaryKey: false;
534
+ isAutoincrement: false;
535
+ hasRuntimeDefault: false;
536
+ enumValues: undefined;
537
+ baseColumn: never;
538
+ identity: undefined;
539
+ generated: undefined;
540
+ }, {}, {}>;
541
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
542
+ name: "created_at";
543
+ tableName: "stay_daily_rates";
544
+ dataType: "date";
545
+ columnType: "PgTimestamp";
546
+ data: Date;
547
+ driverParam: string;
548
+ notNull: true;
549
+ hasDefault: true;
550
+ isPrimaryKey: false;
551
+ isAutoincrement: false;
552
+ hasRuntimeDefault: false;
553
+ enumValues: undefined;
554
+ baseColumn: never;
555
+ identity: undefined;
556
+ generated: undefined;
557
+ }, {}, {}>;
558
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
559
+ name: "updated_at";
560
+ tableName: "stay_daily_rates";
561
+ dataType: "date";
562
+ columnType: "PgTimestamp";
563
+ data: Date;
564
+ driverParam: string;
565
+ notNull: true;
566
+ hasDefault: true;
567
+ isPrimaryKey: false;
568
+ isAutoincrement: false;
569
+ hasRuntimeDefault: false;
570
+ enumValues: undefined;
571
+ baseColumn: never;
572
+ identity: undefined;
573
+ generated: undefined;
574
+ }, {}, {}>;
575
+ };
576
+ dialect: "pg";
577
+ }>;
578
+ export type StayBookingItem = typeof stayBookingItems.$inferSelect;
579
+ export type NewStayBookingItem = typeof stayBookingItems.$inferInsert;
580
+ export type StayDailyRate = typeof stayDailyRates.$inferSelect;
581
+ export type NewStayDailyRate = typeof stayDailyRates.$inferInsert;
582
+ //# sourceMappingURL=schema-bookings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-bookings.d.ts","sourceRoot":"","sources":["../src/schema-bookings.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0C5B,CAAA;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuB1B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAA;AAClE,MAAM,MAAM,kBAAkB,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAA;AACrE,MAAM,MAAM,aAAa,GAAG,OAAO,cAAc,CAAC,YAAY,CAAA;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,cAAc,CAAC,YAAY,CAAA"}
@@ -0,0 +1,65 @@
1
+ import { bookingItems } from "@voyantjs/bookings/schema";
2
+ import { typeId, typeIdRef } from "@voyantjs/db/lib/typeid-column";
3
+ import { properties } from "@voyantjs/facilities/schema";
4
+ import { date, index, integer, jsonb, pgTable, text, timestamp, uniqueIndex, } from "drizzle-orm/pg-core";
5
+ import { mealPlans, ratePlans, roomTypes } from "./schema-inventory.js";
6
+ import { stayBookingItemStatusEnum } from "./schema-shared.js";
7
+ export const stayBookingItems = pgTable("stay_booking_items", {
8
+ id: typeId("stay_booking_items"),
9
+ bookingItemId: typeIdRef("booking_item_id")
10
+ .notNull()
11
+ .references(() => bookingItems.id, { onDelete: "cascade" }),
12
+ propertyId: typeIdRef("property_id")
13
+ .notNull()
14
+ .references(() => properties.id, { onDelete: "cascade" }),
15
+ roomTypeId: typeIdRef("room_type_id")
16
+ .notNull()
17
+ .references(() => roomTypes.id, { onDelete: "cascade" }),
18
+ supplierRoomRef: text("supplier_room_ref"),
19
+ ratePlanId: typeIdRef("rate_plan_id")
20
+ .notNull()
21
+ .references(() => ratePlans.id, { onDelete: "cascade" }),
22
+ checkInDate: date("check_in_date").notNull(),
23
+ checkOutDate: date("check_out_date").notNull(),
24
+ nightCount: integer("night_count").notNull().default(1),
25
+ roomCount: integer("room_count").notNull().default(1),
26
+ adults: integer("adults").notNull().default(1),
27
+ children: integer("children").notNull().default(0),
28
+ infants: integer("infants").notNull().default(0),
29
+ mealPlanId: typeIdRef("meal_plan_id").references(() => mealPlans.id, { onDelete: "set null" }),
30
+ confirmationCode: text("confirmation_code"),
31
+ voucherCode: text("voucher_code"),
32
+ status: stayBookingItemStatusEnum("status").notNull().default("reserved"),
33
+ notes: text("notes"),
34
+ metadata: jsonb("metadata").$type(),
35
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
36
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
37
+ }, (table) => [
38
+ index("idx_stay_booking_items_booking_item").on(table.bookingItemId),
39
+ index("idx_stay_booking_items_check_in").on(table.checkInDate),
40
+ index("idx_stay_booking_items_property_check_in").on(table.propertyId, table.checkInDate),
41
+ index("idx_stay_booking_items_room_type_check_in").on(table.roomTypeId, table.checkInDate),
42
+ index("idx_stay_booking_items_rate_plan_check_in").on(table.ratePlanId, table.checkInDate),
43
+ index("idx_stay_booking_items_status_check_in").on(table.status, table.checkInDate),
44
+ uniqueIndex("uidx_stay_booking_items_booking_item").on(table.bookingItemId),
45
+ ]);
46
+ export const stayDailyRates = pgTable("stay_daily_rates", {
47
+ id: typeId("stay_daily_rates"),
48
+ stayBookingItemId: typeIdRef("stay_booking_item_id")
49
+ .notNull()
50
+ .references(() => stayBookingItems.id, { onDelete: "cascade" }),
51
+ date: date("date").notNull(),
52
+ sellCurrency: text("sell_currency").notNull(),
53
+ sellAmountCents: integer("sell_amount_cents"),
54
+ costCurrency: text("cost_currency"),
55
+ costAmountCents: integer("cost_amount_cents"),
56
+ taxAmountCents: integer("tax_amount_cents"),
57
+ feeAmountCents: integer("fee_amount_cents"),
58
+ commissionAmountCents: integer("commission_amount_cents"),
59
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
60
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
61
+ }, (table) => [
62
+ index("idx_stay_daily_rates_stay_booking_item").on(table.stayBookingItemId),
63
+ index("idx_stay_daily_rates_date").on(table.date),
64
+ uniqueIndex("uidx_stay_daily_rates_item_date").on(table.stayBookingItemId, table.date),
65
+ ]);