@voyantjs/hospitality 0.2.0 → 0.3.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 (53) hide show
  1. package/dist/routes-accommodation.d.ts +1196 -0
  2. package/dist/routes-accommodation.d.ts.map +1 -0
  3. package/dist/routes-accommodation.js +194 -0
  4. package/dist/routes-inventory.d.ts +981 -0
  5. package/dist/routes-inventory.d.ts.map +1 -0
  6. package/dist/routes-inventory.js +159 -0
  7. package/dist/routes-operations.d.ts +2349 -0
  8. package/dist/routes-operations.d.ts.map +1 -0
  9. package/dist/routes-operations.js +6 -0
  10. package/dist/routes-shared.d.ts +11 -0
  11. package/dist/routes-shared.d.ts.map +1 -0
  12. package/dist/routes-shared.js +3 -0
  13. package/dist/routes-stays.d.ts +1371 -0
  14. package/dist/routes-stays.d.ts.map +1 -0
  15. package/dist/routes-stays.js +211 -0
  16. package/dist/routes.d.ts +520 -527
  17. package/dist/routes.d.ts.map +1 -1
  18. package/dist/routes.js +4 -551
  19. package/dist/schema-bookings.d.ts +1476 -0
  20. package/dist/schema-bookings.d.ts.map +1 -0
  21. package/dist/schema-bookings.js +156 -0
  22. package/dist/schema-inventory.d.ts +1593 -0
  23. package/dist/schema-inventory.d.ts.map +1 -0
  24. package/dist/schema-inventory.js +154 -0
  25. package/dist/schema-operations.d.ts +1076 -0
  26. package/dist/schema-operations.d.ts.map +1 -0
  27. package/dist/schema-operations.js +114 -0
  28. package/dist/schema-pricing.d.ts +1065 -0
  29. package/dist/schema-pricing.d.ts.map +1 -0
  30. package/dist/schema-pricing.js +107 -0
  31. package/dist/schema-relations.d.ts +118 -0
  32. package/dist/schema-relations.d.ts.map +1 -0
  33. package/dist/schema-relations.js +199 -0
  34. package/dist/schema-shared.d.ts +13 -0
  35. package/dist/schema-shared.d.ts.map +1 -0
  36. package/dist/schema-shared.js +73 -0
  37. package/dist/schema.d.ts +6 -5335
  38. package/dist/schema.d.ts.map +1 -1
  39. package/dist/schema.js +6 -779
  40. package/dist/service.d.ts +37 -37
  41. package/dist/validation-accommodation.d.ts +438 -0
  42. package/dist/validation-accommodation.d.ts.map +1 -0
  43. package/dist/validation-accommodation.js +151 -0
  44. package/dist/validation-operations.d.ts +860 -0
  45. package/dist/validation-operations.d.ts.map +1 -0
  46. package/dist/validation-operations.js +293 -0
  47. package/dist/validation-shared.d.ts +94 -0
  48. package/dist/validation-shared.d.ts.map +1 -0
  49. package/dist/validation-shared.js +79 -0
  50. package/dist/validation.d.ts +3 -1377
  51. package/dist/validation.d.ts.map +1 -1
  52. package/dist/validation.js +3 -520
  53. package/package.json +6 -6
@@ -0,0 +1,2349 @@
1
+ import type { Env } from "./routes-shared.js";
2
+ export declare const hospitalityOperationsRoutes: import("hono/hono-base").HonoBase<Env, import("hono/types").BlankSchema | import("hono/types").MergeSchemaPath<{
3
+ "/room-inventory": {
4
+ $get: {
5
+ input: {};
6
+ output: {
7
+ data: {
8
+ id: string;
9
+ propertyId: string;
10
+ roomTypeId: string;
11
+ date: string;
12
+ totalUnits: number;
13
+ availableUnits: number;
14
+ heldUnits: number;
15
+ soldUnits: number;
16
+ outOfOrderUnits: number;
17
+ overbookLimit: number | null;
18
+ stopSell: boolean;
19
+ notes: string | null;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ }[];
23
+ total: number;
24
+ limit: number;
25
+ offset: number;
26
+ };
27
+ outputFormat: "json";
28
+ status: import("hono/utils/http-status").ContentfulStatusCode;
29
+ };
30
+ };
31
+ } & {
32
+ "/room-inventory": {
33
+ $post: {
34
+ input: {};
35
+ output: {
36
+ data: {
37
+ id: string;
38
+ date: string;
39
+ createdAt: string;
40
+ updatedAt: string;
41
+ notes: string | null;
42
+ propertyId: string;
43
+ roomTypeId: string;
44
+ totalUnits: number;
45
+ availableUnits: number;
46
+ heldUnits: number;
47
+ soldUnits: number;
48
+ outOfOrderUnits: number;
49
+ overbookLimit: number | null;
50
+ stopSell: boolean;
51
+ } | null;
52
+ };
53
+ outputFormat: "json";
54
+ status: 201;
55
+ };
56
+ };
57
+ } & {
58
+ "/room-inventory/:id": {
59
+ $get: {
60
+ input: {
61
+ param: {
62
+ id: string;
63
+ };
64
+ };
65
+ output: {
66
+ readonly error: `${string} not found`;
67
+ };
68
+ outputFormat: "json";
69
+ status: 404;
70
+ } | {
71
+ input: {
72
+ param: {
73
+ id: string;
74
+ };
75
+ };
76
+ output: {
77
+ data: {
78
+ id: string;
79
+ propertyId: string;
80
+ roomTypeId: string;
81
+ date: string;
82
+ totalUnits: number;
83
+ availableUnits: number;
84
+ heldUnits: number;
85
+ soldUnits: number;
86
+ outOfOrderUnits: number;
87
+ overbookLimit: number | null;
88
+ stopSell: boolean;
89
+ notes: string | null;
90
+ createdAt: string;
91
+ updatedAt: string;
92
+ };
93
+ };
94
+ outputFormat: "json";
95
+ status: import("hono/utils/http-status").ContentfulStatusCode;
96
+ };
97
+ };
98
+ } & {
99
+ "/room-inventory/:id": {
100
+ $patch: {
101
+ input: {
102
+ param: {
103
+ id: string;
104
+ };
105
+ };
106
+ output: {
107
+ readonly error: `${string} not found`;
108
+ };
109
+ outputFormat: "json";
110
+ status: 404;
111
+ } | {
112
+ input: {
113
+ param: {
114
+ id: string;
115
+ };
116
+ };
117
+ output: {
118
+ data: {
119
+ id: string;
120
+ propertyId: string;
121
+ roomTypeId: string;
122
+ date: string;
123
+ totalUnits: number;
124
+ availableUnits: number;
125
+ heldUnits: number;
126
+ soldUnits: number;
127
+ outOfOrderUnits: number;
128
+ overbookLimit: number | null;
129
+ stopSell: boolean;
130
+ notes: string | null;
131
+ createdAt: string;
132
+ updatedAt: string;
133
+ };
134
+ };
135
+ outputFormat: "json";
136
+ status: import("hono/utils/http-status").ContentfulStatusCode;
137
+ };
138
+ };
139
+ } & {
140
+ "/room-inventory/:id": {
141
+ $delete: {
142
+ input: {
143
+ param: {
144
+ id: string;
145
+ };
146
+ };
147
+ output: {
148
+ readonly error: `${string} not found`;
149
+ };
150
+ outputFormat: "json";
151
+ status: 404;
152
+ } | {
153
+ input: {
154
+ param: {
155
+ id: string;
156
+ };
157
+ };
158
+ output: {
159
+ success: true;
160
+ };
161
+ outputFormat: "json";
162
+ status: import("hono/utils/http-status").ContentfulStatusCode;
163
+ };
164
+ };
165
+ } & {
166
+ "/rate-plan-inventory-overrides": {
167
+ $get: {
168
+ input: {};
169
+ output: {
170
+ data: {
171
+ id: string;
172
+ ratePlanId: string;
173
+ roomTypeId: string;
174
+ date: string;
175
+ stopSell: boolean;
176
+ closedToArrival: boolean;
177
+ closedToDeparture: boolean;
178
+ minNightsOverride: number | null;
179
+ maxNightsOverride: number | null;
180
+ notes: string | null;
181
+ createdAt: string;
182
+ updatedAt: string;
183
+ }[];
184
+ total: number;
185
+ limit: number;
186
+ offset: number;
187
+ };
188
+ outputFormat: "json";
189
+ status: import("hono/utils/http-status").ContentfulStatusCode;
190
+ };
191
+ };
192
+ } & {
193
+ "/rate-plan-inventory-overrides": {
194
+ $post: {
195
+ input: {};
196
+ output: {
197
+ data: {
198
+ id: string;
199
+ date: string;
200
+ createdAt: string;
201
+ updatedAt: string;
202
+ notes: string | null;
203
+ roomTypeId: string;
204
+ ratePlanId: string;
205
+ closedToArrival: boolean;
206
+ closedToDeparture: boolean;
207
+ stopSell: boolean;
208
+ minNightsOverride: number | null;
209
+ maxNightsOverride: number | null;
210
+ } | null;
211
+ };
212
+ outputFormat: "json";
213
+ status: 201;
214
+ };
215
+ };
216
+ } & {
217
+ "/rate-plan-inventory-overrides/:id": {
218
+ $get: {
219
+ input: {
220
+ param: {
221
+ id: string;
222
+ };
223
+ };
224
+ output: {
225
+ readonly error: `${string} not found`;
226
+ };
227
+ outputFormat: "json";
228
+ status: 404;
229
+ } | {
230
+ input: {
231
+ param: {
232
+ id: string;
233
+ };
234
+ };
235
+ output: {
236
+ data: {
237
+ id: string;
238
+ ratePlanId: string;
239
+ roomTypeId: string;
240
+ date: string;
241
+ stopSell: boolean;
242
+ closedToArrival: boolean;
243
+ closedToDeparture: boolean;
244
+ minNightsOverride: number | null;
245
+ maxNightsOverride: number | null;
246
+ notes: string | null;
247
+ createdAt: string;
248
+ updatedAt: string;
249
+ };
250
+ };
251
+ outputFormat: "json";
252
+ status: import("hono/utils/http-status").ContentfulStatusCode;
253
+ };
254
+ };
255
+ } & {
256
+ "/rate-plan-inventory-overrides/:id": {
257
+ $patch: {
258
+ input: {
259
+ param: {
260
+ id: string;
261
+ };
262
+ };
263
+ output: {
264
+ readonly error: `${string} not found`;
265
+ };
266
+ outputFormat: "json";
267
+ status: 404;
268
+ } | {
269
+ input: {
270
+ param: {
271
+ id: string;
272
+ };
273
+ };
274
+ output: {
275
+ data: {
276
+ id: string;
277
+ ratePlanId: string;
278
+ roomTypeId: string;
279
+ date: string;
280
+ stopSell: boolean;
281
+ closedToArrival: boolean;
282
+ closedToDeparture: boolean;
283
+ minNightsOverride: number | null;
284
+ maxNightsOverride: number | null;
285
+ notes: string | null;
286
+ createdAt: string;
287
+ updatedAt: string;
288
+ };
289
+ };
290
+ outputFormat: "json";
291
+ status: import("hono/utils/http-status").ContentfulStatusCode;
292
+ };
293
+ };
294
+ } & {
295
+ "/rate-plan-inventory-overrides/:id": {
296
+ $delete: {
297
+ input: {
298
+ param: {
299
+ id: string;
300
+ };
301
+ };
302
+ output: {
303
+ readonly error: `${string} not found`;
304
+ };
305
+ outputFormat: "json";
306
+ status: 404;
307
+ } | {
308
+ input: {
309
+ param: {
310
+ id: string;
311
+ };
312
+ };
313
+ output: {
314
+ success: true;
315
+ };
316
+ outputFormat: "json";
317
+ status: import("hono/utils/http-status").ContentfulStatusCode;
318
+ };
319
+ };
320
+ } & {
321
+ "/room-blocks": {
322
+ $get: {
323
+ input: {};
324
+ output: {
325
+ data: {
326
+ id: string;
327
+ propertyId: string;
328
+ roomTypeId: string | null;
329
+ roomUnitId: string | null;
330
+ startsOn: string;
331
+ endsOn: string;
332
+ status: "draft" | "confirmed" | "cancelled" | "held" | "released";
333
+ blockReason: string | null;
334
+ quantity: number;
335
+ releaseAt: string | null;
336
+ notes: string | null;
337
+ metadata: {
338
+ [x: string]: import("hono/utils/types").JSONValue;
339
+ } | null;
340
+ createdAt: string;
341
+ updatedAt: string;
342
+ }[];
343
+ total: number;
344
+ limit: number;
345
+ offset: number;
346
+ };
347
+ outputFormat: "json";
348
+ status: import("hono/utils/http-status").ContentfulStatusCode;
349
+ };
350
+ };
351
+ } & {
352
+ "/room-blocks": {
353
+ $post: {
354
+ input: {};
355
+ output: {
356
+ data: {
357
+ id: string;
358
+ status: "draft" | "confirmed" | "cancelled" | "held" | "released";
359
+ createdAt: string;
360
+ updatedAt: string;
361
+ notes: string | null;
362
+ metadata: {
363
+ [x: string]: import("hono/utils/types").JSONValue;
364
+ } | null;
365
+ quantity: number;
366
+ propertyId: string;
367
+ roomTypeId: string | null;
368
+ roomUnitId: string | null;
369
+ startsOn: string;
370
+ endsOn: string;
371
+ blockReason: string | null;
372
+ releaseAt: string | null;
373
+ } | null;
374
+ };
375
+ outputFormat: "json";
376
+ status: 201;
377
+ };
378
+ };
379
+ } & {
380
+ "/room-blocks/:id": {
381
+ $get: {
382
+ input: {
383
+ param: {
384
+ id: string;
385
+ };
386
+ };
387
+ output: {
388
+ readonly error: `${string} not found`;
389
+ };
390
+ outputFormat: "json";
391
+ status: 404;
392
+ } | {
393
+ input: {
394
+ param: {
395
+ id: string;
396
+ };
397
+ };
398
+ output: {
399
+ data: {
400
+ id: string;
401
+ propertyId: string;
402
+ roomTypeId: string | null;
403
+ roomUnitId: string | null;
404
+ startsOn: string;
405
+ endsOn: string;
406
+ status: "draft" | "confirmed" | "cancelled" | "held" | "released";
407
+ blockReason: string | null;
408
+ quantity: number;
409
+ releaseAt: string | null;
410
+ notes: string | null;
411
+ metadata: {
412
+ [x: string]: import("hono/utils/types").JSONValue;
413
+ } | null;
414
+ createdAt: string;
415
+ updatedAt: string;
416
+ };
417
+ };
418
+ outputFormat: "json";
419
+ status: import("hono/utils/http-status").ContentfulStatusCode;
420
+ };
421
+ };
422
+ } & {
423
+ "/room-blocks/:id": {
424
+ $patch: {
425
+ input: {
426
+ param: {
427
+ id: string;
428
+ };
429
+ };
430
+ output: {
431
+ readonly error: `${string} not found`;
432
+ };
433
+ outputFormat: "json";
434
+ status: 404;
435
+ } | {
436
+ input: {
437
+ param: {
438
+ id: string;
439
+ };
440
+ };
441
+ output: {
442
+ data: {
443
+ id: string;
444
+ propertyId: string;
445
+ roomTypeId: string | null;
446
+ roomUnitId: string | null;
447
+ startsOn: string;
448
+ endsOn: string;
449
+ status: "draft" | "confirmed" | "cancelled" | "held" | "released";
450
+ blockReason: string | null;
451
+ quantity: number;
452
+ releaseAt: string | null;
453
+ notes: string | null;
454
+ metadata: {
455
+ [x: string]: import("hono/utils/types").JSONValue;
456
+ } | null;
457
+ createdAt: string;
458
+ updatedAt: string;
459
+ };
460
+ };
461
+ outputFormat: "json";
462
+ status: import("hono/utils/http-status").ContentfulStatusCode;
463
+ };
464
+ };
465
+ } & {
466
+ "/room-blocks/:id": {
467
+ $delete: {
468
+ input: {
469
+ param: {
470
+ id: string;
471
+ };
472
+ };
473
+ output: {
474
+ readonly error: `${string} not found`;
475
+ };
476
+ outputFormat: "json";
477
+ status: 404;
478
+ } | {
479
+ input: {
480
+ param: {
481
+ id: string;
482
+ };
483
+ };
484
+ output: {
485
+ success: true;
486
+ };
487
+ outputFormat: "json";
488
+ status: import("hono/utils/http-status").ContentfulStatusCode;
489
+ };
490
+ };
491
+ } & {
492
+ "/room-unit-status-events": {
493
+ $get: {
494
+ input: {};
495
+ output: {
496
+ data: {
497
+ id: string;
498
+ roomUnitId: string;
499
+ statusCode: string;
500
+ housekeepingStatus: string | null;
501
+ effectiveFrom: string;
502
+ effectiveTo: string | null;
503
+ notes: string | null;
504
+ metadata: {
505
+ [x: string]: import("hono/utils/types").JSONValue;
506
+ } | null;
507
+ createdAt: string;
508
+ }[];
509
+ total: number;
510
+ limit: number;
511
+ offset: number;
512
+ };
513
+ outputFormat: "json";
514
+ status: import("hono/utils/http-status").ContentfulStatusCode;
515
+ };
516
+ };
517
+ } & {
518
+ "/room-unit-status-events": {
519
+ $post: {
520
+ input: {};
521
+ output: {
522
+ data: {
523
+ id: string;
524
+ createdAt: string;
525
+ notes: string | null;
526
+ metadata: {
527
+ [x: string]: import("hono/utils/types").JSONValue;
528
+ } | null;
529
+ roomUnitId: string;
530
+ statusCode: string;
531
+ housekeepingStatus: string | null;
532
+ effectiveFrom: string;
533
+ effectiveTo: string | null;
534
+ } | null;
535
+ };
536
+ outputFormat: "json";
537
+ status: 201;
538
+ };
539
+ };
540
+ } & {
541
+ "/room-unit-status-events/:id": {
542
+ $get: {
543
+ input: {
544
+ param: {
545
+ id: string;
546
+ };
547
+ };
548
+ output: {
549
+ readonly error: `${string} not found`;
550
+ };
551
+ outputFormat: "json";
552
+ status: 404;
553
+ } | {
554
+ input: {
555
+ param: {
556
+ id: string;
557
+ };
558
+ };
559
+ output: {
560
+ data: {
561
+ id: string;
562
+ roomUnitId: string;
563
+ statusCode: string;
564
+ housekeepingStatus: string | null;
565
+ effectiveFrom: string;
566
+ effectiveTo: string | null;
567
+ notes: string | null;
568
+ metadata: {
569
+ [x: string]: import("hono/utils/types").JSONValue;
570
+ } | null;
571
+ createdAt: string;
572
+ };
573
+ };
574
+ outputFormat: "json";
575
+ status: import("hono/utils/http-status").ContentfulStatusCode;
576
+ };
577
+ };
578
+ } & {
579
+ "/room-unit-status-events/:id": {
580
+ $patch: {
581
+ input: {
582
+ param: {
583
+ id: string;
584
+ };
585
+ };
586
+ output: {
587
+ readonly error: `${string} not found`;
588
+ };
589
+ outputFormat: "json";
590
+ status: 404;
591
+ } | {
592
+ input: {
593
+ param: {
594
+ id: string;
595
+ };
596
+ };
597
+ output: {
598
+ data: {
599
+ id: string;
600
+ roomUnitId: string;
601
+ statusCode: string;
602
+ housekeepingStatus: string | null;
603
+ effectiveFrom: string;
604
+ effectiveTo: string | null;
605
+ notes: string | null;
606
+ metadata: {
607
+ [x: string]: import("hono/utils/types").JSONValue;
608
+ } | null;
609
+ createdAt: string;
610
+ };
611
+ };
612
+ outputFormat: "json";
613
+ status: import("hono/utils/http-status").ContentfulStatusCode;
614
+ };
615
+ };
616
+ } & {
617
+ "/room-unit-status-events/:id": {
618
+ $delete: {
619
+ input: {
620
+ param: {
621
+ id: string;
622
+ };
623
+ };
624
+ output: {
625
+ readonly error: `${string} not found`;
626
+ };
627
+ outputFormat: "json";
628
+ status: 404;
629
+ } | {
630
+ input: {
631
+ param: {
632
+ id: string;
633
+ };
634
+ };
635
+ output: {
636
+ success: true;
637
+ };
638
+ outputFormat: "json";
639
+ status: import("hono/utils/http-status").ContentfulStatusCode;
640
+ };
641
+ };
642
+ } & {
643
+ "/maintenance-blocks": {
644
+ $get: {
645
+ input: {};
646
+ output: {
647
+ data: {
648
+ id: string;
649
+ propertyId: string;
650
+ roomTypeId: string | null;
651
+ roomUnitId: string | null;
652
+ startsOn: string;
653
+ endsOn: string;
654
+ status: "in_progress" | "cancelled" | "open" | "resolved";
655
+ reason: string | null;
656
+ notes: string | null;
657
+ metadata: {
658
+ [x: string]: import("hono/utils/types").JSONValue;
659
+ } | null;
660
+ createdAt: string;
661
+ updatedAt: string;
662
+ }[];
663
+ total: number;
664
+ limit: number;
665
+ offset: number;
666
+ };
667
+ outputFormat: "json";
668
+ status: import("hono/utils/http-status").ContentfulStatusCode;
669
+ };
670
+ };
671
+ } & {
672
+ "/maintenance-blocks": {
673
+ $post: {
674
+ input: {};
675
+ output: {
676
+ data: {
677
+ id: string;
678
+ status: "in_progress" | "cancelled" | "open" | "resolved";
679
+ createdAt: string;
680
+ updatedAt: string;
681
+ notes: string | null;
682
+ reason: string | null;
683
+ metadata: {
684
+ [x: string]: import("hono/utils/types").JSONValue;
685
+ } | null;
686
+ propertyId: string;
687
+ roomTypeId: string | null;
688
+ roomUnitId: string | null;
689
+ startsOn: string;
690
+ endsOn: string;
691
+ } | null;
692
+ };
693
+ outputFormat: "json";
694
+ status: 201;
695
+ };
696
+ };
697
+ } & {
698
+ "/maintenance-blocks/:id": {
699
+ $get: {
700
+ input: {
701
+ param: {
702
+ id: string;
703
+ };
704
+ };
705
+ output: {
706
+ readonly error: `${string} not found`;
707
+ };
708
+ outputFormat: "json";
709
+ status: 404;
710
+ } | {
711
+ input: {
712
+ param: {
713
+ id: string;
714
+ };
715
+ };
716
+ output: {
717
+ data: {
718
+ id: string;
719
+ propertyId: string;
720
+ roomTypeId: string | null;
721
+ roomUnitId: string | null;
722
+ startsOn: string;
723
+ endsOn: string;
724
+ status: "in_progress" | "cancelled" | "open" | "resolved";
725
+ reason: string | null;
726
+ notes: string | null;
727
+ metadata: {
728
+ [x: string]: import("hono/utils/types").JSONValue;
729
+ } | null;
730
+ createdAt: string;
731
+ updatedAt: string;
732
+ };
733
+ };
734
+ outputFormat: "json";
735
+ status: import("hono/utils/http-status").ContentfulStatusCode;
736
+ };
737
+ };
738
+ } & {
739
+ "/maintenance-blocks/:id": {
740
+ $patch: {
741
+ input: {
742
+ param: {
743
+ id: string;
744
+ };
745
+ };
746
+ output: {
747
+ readonly error: `${string} not found`;
748
+ };
749
+ outputFormat: "json";
750
+ status: 404;
751
+ } | {
752
+ input: {
753
+ param: {
754
+ id: string;
755
+ };
756
+ };
757
+ output: {
758
+ data: {
759
+ id: string;
760
+ propertyId: string;
761
+ roomTypeId: string | null;
762
+ roomUnitId: string | null;
763
+ startsOn: string;
764
+ endsOn: string;
765
+ status: "in_progress" | "cancelled" | "open" | "resolved";
766
+ reason: string | null;
767
+ notes: string | null;
768
+ metadata: {
769
+ [x: string]: import("hono/utils/types").JSONValue;
770
+ } | null;
771
+ createdAt: string;
772
+ updatedAt: string;
773
+ };
774
+ };
775
+ outputFormat: "json";
776
+ status: import("hono/utils/http-status").ContentfulStatusCode;
777
+ };
778
+ };
779
+ } & {
780
+ "/maintenance-blocks/:id": {
781
+ $delete: {
782
+ input: {
783
+ param: {
784
+ id: string;
785
+ };
786
+ };
787
+ output: {
788
+ readonly error: `${string} not found`;
789
+ };
790
+ outputFormat: "json";
791
+ status: 404;
792
+ } | {
793
+ input: {
794
+ param: {
795
+ id: string;
796
+ };
797
+ };
798
+ output: {
799
+ success: true;
800
+ };
801
+ outputFormat: "json";
802
+ status: import("hono/utils/http-status").ContentfulStatusCode;
803
+ };
804
+ };
805
+ } & {
806
+ "/housekeeping-tasks": {
807
+ $get: {
808
+ input: {};
809
+ output: {
810
+ data: {
811
+ id: string;
812
+ propertyId: string;
813
+ roomUnitId: string;
814
+ stayBookingItemId: string | null;
815
+ taskType: string;
816
+ status: "in_progress" | "completed" | "cancelled" | "open";
817
+ priority: number;
818
+ dueAt: string | null;
819
+ startedAt: string | null;
820
+ completedAt: string | null;
821
+ assignedTo: string | null;
822
+ notes: string | null;
823
+ metadata: {
824
+ [x: string]: import("hono/utils/types").JSONValue;
825
+ } | null;
826
+ createdAt: string;
827
+ updatedAt: string;
828
+ }[];
829
+ total: number;
830
+ limit: number;
831
+ offset: number;
832
+ };
833
+ outputFormat: "json";
834
+ status: import("hono/utils/http-status").ContentfulStatusCode;
835
+ };
836
+ };
837
+ } & {
838
+ "/housekeeping-tasks": {
839
+ $post: {
840
+ input: {};
841
+ output: {
842
+ data: {
843
+ id: string;
844
+ status: "in_progress" | "completed" | "cancelled" | "open";
845
+ completedAt: string | null;
846
+ createdAt: string;
847
+ updatedAt: string;
848
+ notes: string | null;
849
+ metadata: {
850
+ [x: string]: import("hono/utils/types").JSONValue;
851
+ } | null;
852
+ propertyId: string;
853
+ roomUnitId: string;
854
+ stayBookingItemId: string | null;
855
+ taskType: string;
856
+ priority: number;
857
+ dueAt: string | null;
858
+ startedAt: string | null;
859
+ assignedTo: string | null;
860
+ } | null;
861
+ };
862
+ outputFormat: "json";
863
+ status: 201;
864
+ };
865
+ };
866
+ } & {
867
+ "/housekeeping-tasks/:id": {
868
+ $get: {
869
+ input: {
870
+ param: {
871
+ id: string;
872
+ };
873
+ };
874
+ output: {
875
+ readonly error: `${string} not found`;
876
+ };
877
+ outputFormat: "json";
878
+ status: 404;
879
+ } | {
880
+ input: {
881
+ param: {
882
+ id: string;
883
+ };
884
+ };
885
+ output: {
886
+ data: {
887
+ id: string;
888
+ propertyId: string;
889
+ roomUnitId: string;
890
+ stayBookingItemId: string | null;
891
+ taskType: string;
892
+ status: "in_progress" | "completed" | "cancelled" | "open";
893
+ priority: number;
894
+ dueAt: string | null;
895
+ startedAt: string | null;
896
+ completedAt: string | null;
897
+ assignedTo: string | null;
898
+ notes: string | null;
899
+ metadata: {
900
+ [x: string]: import("hono/utils/types").JSONValue;
901
+ } | null;
902
+ createdAt: string;
903
+ updatedAt: string;
904
+ };
905
+ };
906
+ outputFormat: "json";
907
+ status: import("hono/utils/http-status").ContentfulStatusCode;
908
+ };
909
+ };
910
+ } & {
911
+ "/housekeeping-tasks/:id": {
912
+ $patch: {
913
+ input: {
914
+ param: {
915
+ id: string;
916
+ };
917
+ };
918
+ output: {
919
+ readonly error: `${string} not found`;
920
+ };
921
+ outputFormat: "json";
922
+ status: 404;
923
+ } | {
924
+ input: {
925
+ param: {
926
+ id: string;
927
+ };
928
+ };
929
+ output: {
930
+ data: {
931
+ id: string;
932
+ propertyId: string;
933
+ roomUnitId: string;
934
+ stayBookingItemId: string | null;
935
+ taskType: string;
936
+ status: "in_progress" | "completed" | "cancelled" | "open";
937
+ priority: number;
938
+ dueAt: string | null;
939
+ startedAt: string | null;
940
+ completedAt: string | null;
941
+ assignedTo: string | null;
942
+ notes: string | null;
943
+ metadata: {
944
+ [x: string]: import("hono/utils/types").JSONValue;
945
+ } | null;
946
+ createdAt: string;
947
+ updatedAt: string;
948
+ };
949
+ };
950
+ outputFormat: "json";
951
+ status: import("hono/utils/http-status").ContentfulStatusCode;
952
+ };
953
+ };
954
+ } & {
955
+ "/housekeeping-tasks/:id": {
956
+ $delete: {
957
+ input: {
958
+ param: {
959
+ id: string;
960
+ };
961
+ };
962
+ output: {
963
+ readonly error: `${string} not found`;
964
+ };
965
+ outputFormat: "json";
966
+ status: 404;
967
+ } | {
968
+ input: {
969
+ param: {
970
+ id: string;
971
+ };
972
+ };
973
+ output: {
974
+ success: true;
975
+ };
976
+ outputFormat: "json";
977
+ status: import("hono/utils/http-status").ContentfulStatusCode;
978
+ };
979
+ };
980
+ }, "/"> | import("hono/types").MergeSchemaPath<{
981
+ "/stay-rules": {
982
+ $get: {
983
+ input: {};
984
+ output: {
985
+ data: {
986
+ id: string;
987
+ propertyId: string;
988
+ ratePlanId: string | null;
989
+ roomTypeId: string | null;
990
+ validFrom: string | null;
991
+ validTo: string | null;
992
+ minNights: number | null;
993
+ maxNights: number | null;
994
+ minAdvanceDays: number | null;
995
+ maxAdvanceDays: number | null;
996
+ closedToArrival: boolean;
997
+ closedToDeparture: boolean;
998
+ arrivalWeekdays: string[] | null;
999
+ departureWeekdays: string[] | null;
1000
+ releaseDays: number | null;
1001
+ active: boolean;
1002
+ priority: number;
1003
+ notes: string | null;
1004
+ metadata: {
1005
+ [x: string]: import("hono/utils/types").JSONValue;
1006
+ } | null;
1007
+ createdAt: string;
1008
+ updatedAt: string;
1009
+ }[];
1010
+ total: number;
1011
+ limit: number;
1012
+ offset: number;
1013
+ };
1014
+ outputFormat: "json";
1015
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1016
+ };
1017
+ };
1018
+ } & {
1019
+ "/stay-rules": {
1020
+ $post: {
1021
+ input: {};
1022
+ output: {
1023
+ data: {
1024
+ id: string;
1025
+ createdAt: string;
1026
+ updatedAt: string;
1027
+ notes: string | null;
1028
+ metadata: {
1029
+ [x: string]: import("hono/utils/types").JSONValue;
1030
+ } | null;
1031
+ active: boolean;
1032
+ validFrom: string | null;
1033
+ validTo: string | null;
1034
+ propertyId: string;
1035
+ roomTypeId: string | null;
1036
+ ratePlanId: string | null;
1037
+ priority: number;
1038
+ minNights: number | null;
1039
+ maxNights: number | null;
1040
+ minAdvanceDays: number | null;
1041
+ maxAdvanceDays: number | null;
1042
+ closedToArrival: boolean;
1043
+ closedToDeparture: boolean;
1044
+ arrivalWeekdays: string[] | null;
1045
+ departureWeekdays: string[] | null;
1046
+ releaseDays: number | null;
1047
+ } | null;
1048
+ };
1049
+ outputFormat: "json";
1050
+ status: 201;
1051
+ };
1052
+ };
1053
+ } & {
1054
+ "/stay-rules/:id": {
1055
+ $get: {
1056
+ input: {
1057
+ param: {
1058
+ id: string;
1059
+ };
1060
+ };
1061
+ output: {
1062
+ readonly error: `${string} not found`;
1063
+ };
1064
+ outputFormat: "json";
1065
+ status: 404;
1066
+ } | {
1067
+ input: {
1068
+ param: {
1069
+ id: string;
1070
+ };
1071
+ };
1072
+ output: {
1073
+ data: {
1074
+ id: string;
1075
+ propertyId: string;
1076
+ ratePlanId: string | null;
1077
+ roomTypeId: string | null;
1078
+ validFrom: string | null;
1079
+ validTo: string | null;
1080
+ minNights: number | null;
1081
+ maxNights: number | null;
1082
+ minAdvanceDays: number | null;
1083
+ maxAdvanceDays: number | null;
1084
+ closedToArrival: boolean;
1085
+ closedToDeparture: boolean;
1086
+ arrivalWeekdays: string[] | null;
1087
+ departureWeekdays: string[] | null;
1088
+ releaseDays: number | null;
1089
+ active: boolean;
1090
+ priority: number;
1091
+ notes: string | null;
1092
+ metadata: {
1093
+ [x: string]: import("hono/utils/types").JSONValue;
1094
+ } | null;
1095
+ createdAt: string;
1096
+ updatedAt: string;
1097
+ };
1098
+ };
1099
+ outputFormat: "json";
1100
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1101
+ };
1102
+ };
1103
+ } & {
1104
+ "/stay-rules/:id": {
1105
+ $patch: {
1106
+ input: {
1107
+ param: {
1108
+ id: string;
1109
+ };
1110
+ };
1111
+ output: {
1112
+ readonly error: `${string} not found`;
1113
+ };
1114
+ outputFormat: "json";
1115
+ status: 404;
1116
+ } | {
1117
+ input: {
1118
+ param: {
1119
+ id: string;
1120
+ };
1121
+ };
1122
+ output: {
1123
+ data: {
1124
+ id: string;
1125
+ propertyId: string;
1126
+ ratePlanId: string | null;
1127
+ roomTypeId: string | null;
1128
+ validFrom: string | null;
1129
+ validTo: string | null;
1130
+ minNights: number | null;
1131
+ maxNights: number | null;
1132
+ minAdvanceDays: number | null;
1133
+ maxAdvanceDays: number | null;
1134
+ closedToArrival: boolean;
1135
+ closedToDeparture: boolean;
1136
+ arrivalWeekdays: string[] | null;
1137
+ departureWeekdays: string[] | null;
1138
+ releaseDays: number | null;
1139
+ active: boolean;
1140
+ priority: number;
1141
+ notes: string | null;
1142
+ metadata: {
1143
+ [x: string]: import("hono/utils/types").JSONValue;
1144
+ } | null;
1145
+ createdAt: string;
1146
+ updatedAt: string;
1147
+ };
1148
+ };
1149
+ outputFormat: "json";
1150
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1151
+ };
1152
+ };
1153
+ } & {
1154
+ "/stay-rules/:id": {
1155
+ $delete: {
1156
+ input: {
1157
+ param: {
1158
+ id: string;
1159
+ };
1160
+ };
1161
+ output: {
1162
+ readonly error: `${string} not found`;
1163
+ };
1164
+ outputFormat: "json";
1165
+ status: 404;
1166
+ } | {
1167
+ input: {
1168
+ param: {
1169
+ id: string;
1170
+ };
1171
+ };
1172
+ output: {
1173
+ success: true;
1174
+ };
1175
+ outputFormat: "json";
1176
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1177
+ };
1178
+ };
1179
+ } & {
1180
+ "/stay-booking-items": {
1181
+ $get: {
1182
+ input: {};
1183
+ output: {
1184
+ data: {
1185
+ id: string;
1186
+ bookingItemId: string;
1187
+ propertyId: string;
1188
+ roomTypeId: string;
1189
+ roomUnitId: string | null;
1190
+ ratePlanId: string;
1191
+ checkInDate: string;
1192
+ checkOutDate: string;
1193
+ nightCount: number;
1194
+ roomCount: number;
1195
+ adults: number;
1196
+ children: number;
1197
+ infants: number;
1198
+ mealPlanId: string | null;
1199
+ confirmationCode: string | null;
1200
+ voucherCode: string | null;
1201
+ status: "cancelled" | "reserved" | "checked_in" | "checked_out" | "no_show";
1202
+ notes: string | null;
1203
+ metadata: {
1204
+ [x: string]: import("hono/utils/types").JSONValue;
1205
+ } | null;
1206
+ createdAt: string;
1207
+ updatedAt: string;
1208
+ }[];
1209
+ total: number;
1210
+ limit: number;
1211
+ offset: number;
1212
+ };
1213
+ outputFormat: "json";
1214
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1215
+ };
1216
+ };
1217
+ } & {
1218
+ "/stay-booking-items": {
1219
+ $post: {
1220
+ input: {};
1221
+ output: {
1222
+ data: {
1223
+ id: string;
1224
+ status: "cancelled" | "reserved" | "checked_in" | "checked_out" | "no_show";
1225
+ createdAt: string;
1226
+ updatedAt: string;
1227
+ notes: string | null;
1228
+ metadata: {
1229
+ [x: string]: import("hono/utils/types").JSONValue;
1230
+ } | null;
1231
+ bookingItemId: string;
1232
+ propertyId: string;
1233
+ roomTypeId: string;
1234
+ mealPlanId: string | null;
1235
+ ratePlanId: string;
1236
+ roomUnitId: string | null;
1237
+ checkInDate: string;
1238
+ checkOutDate: string;
1239
+ nightCount: number;
1240
+ roomCount: number;
1241
+ adults: number;
1242
+ children: number;
1243
+ infants: number;
1244
+ confirmationCode: string | null;
1245
+ voucherCode: string | null;
1246
+ } | null;
1247
+ };
1248
+ outputFormat: "json";
1249
+ status: 201;
1250
+ };
1251
+ };
1252
+ } & {
1253
+ "/stay-booking-items/:id": {
1254
+ $get: {
1255
+ input: {
1256
+ param: {
1257
+ id: string;
1258
+ };
1259
+ };
1260
+ output: {
1261
+ readonly error: `${string} not found`;
1262
+ };
1263
+ outputFormat: "json";
1264
+ status: 404;
1265
+ } | {
1266
+ input: {
1267
+ param: {
1268
+ id: string;
1269
+ };
1270
+ };
1271
+ output: {
1272
+ data: {
1273
+ id: string;
1274
+ bookingItemId: string;
1275
+ propertyId: string;
1276
+ roomTypeId: string;
1277
+ roomUnitId: string | null;
1278
+ ratePlanId: string;
1279
+ checkInDate: string;
1280
+ checkOutDate: string;
1281
+ nightCount: number;
1282
+ roomCount: number;
1283
+ adults: number;
1284
+ children: number;
1285
+ infants: number;
1286
+ mealPlanId: string | null;
1287
+ confirmationCode: string | null;
1288
+ voucherCode: string | null;
1289
+ status: "cancelled" | "reserved" | "checked_in" | "checked_out" | "no_show";
1290
+ notes: string | null;
1291
+ metadata: {
1292
+ [x: string]: import("hono/utils/types").JSONValue;
1293
+ } | null;
1294
+ createdAt: string;
1295
+ updatedAt: string;
1296
+ };
1297
+ };
1298
+ outputFormat: "json";
1299
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1300
+ };
1301
+ };
1302
+ } & {
1303
+ "/stay-booking-items/:id": {
1304
+ $patch: {
1305
+ input: {
1306
+ param: {
1307
+ id: string;
1308
+ };
1309
+ };
1310
+ output: {
1311
+ readonly error: `${string} not found`;
1312
+ };
1313
+ outputFormat: "json";
1314
+ status: 404;
1315
+ } | {
1316
+ input: {
1317
+ param: {
1318
+ id: string;
1319
+ };
1320
+ };
1321
+ output: {
1322
+ data: {
1323
+ id: string;
1324
+ bookingItemId: string;
1325
+ propertyId: string;
1326
+ roomTypeId: string;
1327
+ roomUnitId: string | null;
1328
+ ratePlanId: string;
1329
+ checkInDate: string;
1330
+ checkOutDate: string;
1331
+ nightCount: number;
1332
+ roomCount: number;
1333
+ adults: number;
1334
+ children: number;
1335
+ infants: number;
1336
+ mealPlanId: string | null;
1337
+ confirmationCode: string | null;
1338
+ voucherCode: string | null;
1339
+ status: "cancelled" | "reserved" | "checked_in" | "checked_out" | "no_show";
1340
+ notes: string | null;
1341
+ metadata: {
1342
+ [x: string]: import("hono/utils/types").JSONValue;
1343
+ } | null;
1344
+ createdAt: string;
1345
+ updatedAt: string;
1346
+ };
1347
+ };
1348
+ outputFormat: "json";
1349
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1350
+ };
1351
+ };
1352
+ } & {
1353
+ "/stay-booking-items/:id": {
1354
+ $delete: {
1355
+ input: {
1356
+ param: {
1357
+ id: string;
1358
+ };
1359
+ };
1360
+ output: {
1361
+ readonly error: `${string} not found`;
1362
+ };
1363
+ outputFormat: "json";
1364
+ status: 404;
1365
+ } | {
1366
+ input: {
1367
+ param: {
1368
+ id: string;
1369
+ };
1370
+ };
1371
+ output: {
1372
+ success: true;
1373
+ };
1374
+ outputFormat: "json";
1375
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1376
+ };
1377
+ };
1378
+ } & {
1379
+ "/stay-daily-rates": {
1380
+ $get: {
1381
+ input: {};
1382
+ output: {
1383
+ data: {
1384
+ id: string;
1385
+ stayBookingItemId: string;
1386
+ date: string;
1387
+ sellCurrency: string;
1388
+ sellAmountCents: number | null;
1389
+ costCurrency: string | null;
1390
+ costAmountCents: number | null;
1391
+ taxAmountCents: number | null;
1392
+ feeAmountCents: number | null;
1393
+ commissionAmountCents: number | null;
1394
+ createdAt: string;
1395
+ updatedAt: string;
1396
+ }[];
1397
+ total: number;
1398
+ limit: number;
1399
+ offset: number;
1400
+ };
1401
+ outputFormat: "json";
1402
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1403
+ };
1404
+ };
1405
+ } & {
1406
+ "/stay-daily-rates": {
1407
+ $post: {
1408
+ input: {};
1409
+ output: {
1410
+ data: {
1411
+ id: string;
1412
+ date: string;
1413
+ sellCurrency: string;
1414
+ sellAmountCents: number | null;
1415
+ costAmountCents: number | null;
1416
+ createdAt: string;
1417
+ updatedAt: string;
1418
+ costCurrency: string | null;
1419
+ stayBookingItemId: string;
1420
+ taxAmountCents: number | null;
1421
+ feeAmountCents: number | null;
1422
+ commissionAmountCents: number | null;
1423
+ } | null;
1424
+ };
1425
+ outputFormat: "json";
1426
+ status: 201;
1427
+ };
1428
+ };
1429
+ } & {
1430
+ "/stay-daily-rates/:id": {
1431
+ $get: {
1432
+ input: {
1433
+ param: {
1434
+ id: string;
1435
+ };
1436
+ };
1437
+ output: {
1438
+ readonly error: `${string} not found`;
1439
+ };
1440
+ outputFormat: "json";
1441
+ status: 404;
1442
+ } | {
1443
+ input: {
1444
+ param: {
1445
+ id: string;
1446
+ };
1447
+ };
1448
+ output: {
1449
+ data: {
1450
+ id: string;
1451
+ stayBookingItemId: string;
1452
+ date: string;
1453
+ sellCurrency: string;
1454
+ sellAmountCents: number | null;
1455
+ costCurrency: string | null;
1456
+ costAmountCents: number | null;
1457
+ taxAmountCents: number | null;
1458
+ feeAmountCents: number | null;
1459
+ commissionAmountCents: number | null;
1460
+ createdAt: string;
1461
+ updatedAt: string;
1462
+ };
1463
+ };
1464
+ outputFormat: "json";
1465
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1466
+ };
1467
+ };
1468
+ } & {
1469
+ "/stay-daily-rates/:id": {
1470
+ $patch: {
1471
+ input: {
1472
+ param: {
1473
+ id: string;
1474
+ };
1475
+ };
1476
+ output: {
1477
+ readonly error: `${string} not found`;
1478
+ };
1479
+ outputFormat: "json";
1480
+ status: 404;
1481
+ } | {
1482
+ input: {
1483
+ param: {
1484
+ id: string;
1485
+ };
1486
+ };
1487
+ output: {
1488
+ data: {
1489
+ id: string;
1490
+ stayBookingItemId: string;
1491
+ date: string;
1492
+ sellCurrency: string;
1493
+ sellAmountCents: number | null;
1494
+ costCurrency: string | null;
1495
+ costAmountCents: number | null;
1496
+ taxAmountCents: number | null;
1497
+ feeAmountCents: number | null;
1498
+ commissionAmountCents: number | null;
1499
+ createdAt: string;
1500
+ updatedAt: string;
1501
+ };
1502
+ };
1503
+ outputFormat: "json";
1504
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1505
+ };
1506
+ };
1507
+ } & {
1508
+ "/stay-daily-rates/:id": {
1509
+ $delete: {
1510
+ input: {
1511
+ param: {
1512
+ id: string;
1513
+ };
1514
+ };
1515
+ output: {
1516
+ readonly error: `${string} not found`;
1517
+ };
1518
+ outputFormat: "json";
1519
+ status: 404;
1520
+ } | {
1521
+ input: {
1522
+ param: {
1523
+ id: string;
1524
+ };
1525
+ };
1526
+ output: {
1527
+ success: true;
1528
+ };
1529
+ outputFormat: "json";
1530
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1531
+ };
1532
+ };
1533
+ } & {
1534
+ "/stay-operations": {
1535
+ $get: {
1536
+ input: {};
1537
+ output: {
1538
+ data: {
1539
+ id: string;
1540
+ stayBookingItemId: string;
1541
+ propertyId: string;
1542
+ roomUnitId: string | null;
1543
+ operationStatus: "cancelled" | "reserved" | "checked_in" | "checked_out" | "no_show" | "expected_arrival";
1544
+ expectedArrivalAt: string | null;
1545
+ expectedDepartureAt: string | null;
1546
+ checkedInAt: string | null;
1547
+ checkedOutAt: string | null;
1548
+ noShowRecordedAt: string | null;
1549
+ notes: string | null;
1550
+ metadata: {
1551
+ [x: string]: import("hono/utils/types").JSONValue;
1552
+ } | null;
1553
+ createdAt: string;
1554
+ updatedAt: string;
1555
+ }[];
1556
+ total: number;
1557
+ limit: number;
1558
+ offset: number;
1559
+ };
1560
+ outputFormat: "json";
1561
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1562
+ };
1563
+ };
1564
+ } & {
1565
+ "/stay-operations": {
1566
+ $post: {
1567
+ input: {};
1568
+ output: {
1569
+ data: {
1570
+ id: string;
1571
+ createdAt: string;
1572
+ updatedAt: string;
1573
+ notes: string | null;
1574
+ metadata: {
1575
+ [x: string]: import("hono/utils/types").JSONValue;
1576
+ } | null;
1577
+ propertyId: string;
1578
+ roomUnitId: string | null;
1579
+ stayBookingItemId: string;
1580
+ operationStatus: "cancelled" | "reserved" | "checked_in" | "checked_out" | "no_show" | "expected_arrival";
1581
+ expectedArrivalAt: string | null;
1582
+ expectedDepartureAt: string | null;
1583
+ checkedInAt: string | null;
1584
+ checkedOutAt: string | null;
1585
+ noShowRecordedAt: string | null;
1586
+ } | null;
1587
+ };
1588
+ outputFormat: "json";
1589
+ status: 201;
1590
+ };
1591
+ };
1592
+ } & {
1593
+ "/stay-operations/:id": {
1594
+ $get: {
1595
+ input: {
1596
+ param: {
1597
+ id: string;
1598
+ };
1599
+ };
1600
+ output: {
1601
+ readonly error: `${string} not found`;
1602
+ };
1603
+ outputFormat: "json";
1604
+ status: 404;
1605
+ } | {
1606
+ input: {
1607
+ param: {
1608
+ id: string;
1609
+ };
1610
+ };
1611
+ output: {
1612
+ data: {
1613
+ id: string;
1614
+ stayBookingItemId: string;
1615
+ propertyId: string;
1616
+ roomUnitId: string | null;
1617
+ operationStatus: "cancelled" | "reserved" | "checked_in" | "checked_out" | "no_show" | "expected_arrival";
1618
+ expectedArrivalAt: string | null;
1619
+ expectedDepartureAt: string | null;
1620
+ checkedInAt: string | null;
1621
+ checkedOutAt: string | null;
1622
+ noShowRecordedAt: string | null;
1623
+ notes: string | null;
1624
+ metadata: {
1625
+ [x: string]: import("hono/utils/types").JSONValue;
1626
+ } | null;
1627
+ createdAt: string;
1628
+ updatedAt: string;
1629
+ };
1630
+ };
1631
+ outputFormat: "json";
1632
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1633
+ };
1634
+ };
1635
+ } & {
1636
+ "/stay-operations/:id": {
1637
+ $patch: {
1638
+ input: {
1639
+ param: {
1640
+ id: string;
1641
+ };
1642
+ };
1643
+ output: {
1644
+ readonly error: `${string} not found`;
1645
+ };
1646
+ outputFormat: "json";
1647
+ status: 404;
1648
+ } | {
1649
+ input: {
1650
+ param: {
1651
+ id: string;
1652
+ };
1653
+ };
1654
+ output: {
1655
+ data: {
1656
+ id: string;
1657
+ stayBookingItemId: string;
1658
+ propertyId: string;
1659
+ roomUnitId: string | null;
1660
+ operationStatus: "cancelled" | "reserved" | "checked_in" | "checked_out" | "no_show" | "expected_arrival";
1661
+ expectedArrivalAt: string | null;
1662
+ expectedDepartureAt: string | null;
1663
+ checkedInAt: string | null;
1664
+ checkedOutAt: string | null;
1665
+ noShowRecordedAt: string | null;
1666
+ notes: string | null;
1667
+ metadata: {
1668
+ [x: string]: import("hono/utils/types").JSONValue;
1669
+ } | null;
1670
+ createdAt: string;
1671
+ updatedAt: string;
1672
+ };
1673
+ };
1674
+ outputFormat: "json";
1675
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1676
+ };
1677
+ };
1678
+ } & {
1679
+ "/stay-operations/:id": {
1680
+ $delete: {
1681
+ input: {
1682
+ param: {
1683
+ id: string;
1684
+ };
1685
+ };
1686
+ output: {
1687
+ readonly error: `${string} not found`;
1688
+ };
1689
+ outputFormat: "json";
1690
+ status: 404;
1691
+ } | {
1692
+ input: {
1693
+ param: {
1694
+ id: string;
1695
+ };
1696
+ };
1697
+ output: {
1698
+ success: true;
1699
+ };
1700
+ outputFormat: "json";
1701
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1702
+ };
1703
+ };
1704
+ } & {
1705
+ "/stay-checkpoints": {
1706
+ $get: {
1707
+ input: {};
1708
+ output: {
1709
+ data: {
1710
+ id: string;
1711
+ stayOperationId: string;
1712
+ checkpointType: "no_show" | "arrival" | "room_assigned" | "check_in" | "room_move" | "charge_posted" | "check_out" | "note";
1713
+ occurredAt: string;
1714
+ roomUnitId: string | null;
1715
+ notes: string | null;
1716
+ metadata: {
1717
+ [x: string]: import("hono/utils/types").JSONValue;
1718
+ } | null;
1719
+ createdAt: string;
1720
+ }[];
1721
+ total: number;
1722
+ limit: number;
1723
+ offset: number;
1724
+ };
1725
+ outputFormat: "json";
1726
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1727
+ };
1728
+ };
1729
+ } & {
1730
+ "/stay-checkpoints": {
1731
+ $post: {
1732
+ input: {};
1733
+ output: {
1734
+ data: {
1735
+ id: string;
1736
+ createdAt: string;
1737
+ notes: string | null;
1738
+ metadata: {
1739
+ [x: string]: import("hono/utils/types").JSONValue;
1740
+ } | null;
1741
+ roomUnitId: string | null;
1742
+ stayOperationId: string;
1743
+ checkpointType: "no_show" | "arrival" | "room_assigned" | "check_in" | "room_move" | "charge_posted" | "check_out" | "note";
1744
+ occurredAt: string;
1745
+ } | null;
1746
+ };
1747
+ outputFormat: "json";
1748
+ status: 201;
1749
+ };
1750
+ };
1751
+ } & {
1752
+ "/stay-checkpoints/:id": {
1753
+ $get: {
1754
+ input: {
1755
+ param: {
1756
+ id: string;
1757
+ };
1758
+ };
1759
+ output: {
1760
+ readonly error: `${string} not found`;
1761
+ };
1762
+ outputFormat: "json";
1763
+ status: 404;
1764
+ } | {
1765
+ input: {
1766
+ param: {
1767
+ id: string;
1768
+ };
1769
+ };
1770
+ output: {
1771
+ data: {
1772
+ id: string;
1773
+ stayOperationId: string;
1774
+ checkpointType: "no_show" | "arrival" | "room_assigned" | "check_in" | "room_move" | "charge_posted" | "check_out" | "note";
1775
+ occurredAt: string;
1776
+ roomUnitId: string | null;
1777
+ notes: string | null;
1778
+ metadata: {
1779
+ [x: string]: import("hono/utils/types").JSONValue;
1780
+ } | null;
1781
+ createdAt: string;
1782
+ };
1783
+ };
1784
+ outputFormat: "json";
1785
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1786
+ };
1787
+ };
1788
+ } & {
1789
+ "/stay-checkpoints/:id": {
1790
+ $patch: {
1791
+ input: {
1792
+ param: {
1793
+ id: string;
1794
+ };
1795
+ };
1796
+ output: {
1797
+ readonly error: `${string} not found`;
1798
+ };
1799
+ outputFormat: "json";
1800
+ status: 404;
1801
+ } | {
1802
+ input: {
1803
+ param: {
1804
+ id: string;
1805
+ };
1806
+ };
1807
+ output: {
1808
+ data: {
1809
+ id: string;
1810
+ stayOperationId: string;
1811
+ checkpointType: "no_show" | "arrival" | "room_assigned" | "check_in" | "room_move" | "charge_posted" | "check_out" | "note";
1812
+ occurredAt: string;
1813
+ roomUnitId: string | null;
1814
+ notes: string | null;
1815
+ metadata: {
1816
+ [x: string]: import("hono/utils/types").JSONValue;
1817
+ } | null;
1818
+ createdAt: string;
1819
+ };
1820
+ };
1821
+ outputFormat: "json";
1822
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1823
+ };
1824
+ };
1825
+ } & {
1826
+ "/stay-checkpoints/:id": {
1827
+ $delete: {
1828
+ input: {
1829
+ param: {
1830
+ id: string;
1831
+ };
1832
+ };
1833
+ output: {
1834
+ readonly error: `${string} not found`;
1835
+ };
1836
+ outputFormat: "json";
1837
+ status: 404;
1838
+ } | {
1839
+ input: {
1840
+ param: {
1841
+ id: string;
1842
+ };
1843
+ };
1844
+ output: {
1845
+ success: true;
1846
+ };
1847
+ outputFormat: "json";
1848
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1849
+ };
1850
+ };
1851
+ } & {
1852
+ "/stay-service-posts": {
1853
+ $get: {
1854
+ input: {};
1855
+ output: {
1856
+ data: {
1857
+ id: string;
1858
+ stayOperationId: string;
1859
+ bookingItemId: string | null;
1860
+ serviceDate: string;
1861
+ kind: "other" | "fee" | "adjustment" | "lodging" | "meal" | "minibar";
1862
+ description: string;
1863
+ quantity: number;
1864
+ currencyCode: string;
1865
+ sellAmountCents: number;
1866
+ costAmountCents: number | null;
1867
+ notes: string | null;
1868
+ metadata: {
1869
+ [x: string]: import("hono/utils/types").JSONValue;
1870
+ } | null;
1871
+ createdAt: string;
1872
+ updatedAt: string;
1873
+ }[];
1874
+ total: number;
1875
+ limit: number;
1876
+ offset: number;
1877
+ };
1878
+ outputFormat: "json";
1879
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1880
+ };
1881
+ };
1882
+ } & {
1883
+ "/stay-service-posts": {
1884
+ $post: {
1885
+ input: {};
1886
+ output: {
1887
+ data: {
1888
+ id: string;
1889
+ sellAmountCents: number;
1890
+ costAmountCents: number | null;
1891
+ createdAt: string;
1892
+ updatedAt: string;
1893
+ notes: string | null;
1894
+ metadata: {
1895
+ [x: string]: import("hono/utils/types").JSONValue;
1896
+ } | null;
1897
+ description: string;
1898
+ serviceDate: string;
1899
+ quantity: number;
1900
+ bookingItemId: string | null;
1901
+ kind: "other" | "fee" | "adjustment" | "lodging" | "meal" | "minibar";
1902
+ currencyCode: string;
1903
+ stayOperationId: string;
1904
+ } | null;
1905
+ };
1906
+ outputFormat: "json";
1907
+ status: 201;
1908
+ };
1909
+ };
1910
+ } & {
1911
+ "/stay-service-posts/:id": {
1912
+ $get: {
1913
+ input: {
1914
+ param: {
1915
+ id: string;
1916
+ };
1917
+ };
1918
+ output: {
1919
+ readonly error: `${string} not found`;
1920
+ };
1921
+ outputFormat: "json";
1922
+ status: 404;
1923
+ } | {
1924
+ input: {
1925
+ param: {
1926
+ id: string;
1927
+ };
1928
+ };
1929
+ output: {
1930
+ data: {
1931
+ id: string;
1932
+ stayOperationId: string;
1933
+ bookingItemId: string | null;
1934
+ serviceDate: string;
1935
+ kind: "other" | "fee" | "adjustment" | "lodging" | "meal" | "minibar";
1936
+ description: string;
1937
+ quantity: number;
1938
+ currencyCode: string;
1939
+ sellAmountCents: number;
1940
+ costAmountCents: number | null;
1941
+ notes: string | null;
1942
+ metadata: {
1943
+ [x: string]: import("hono/utils/types").JSONValue;
1944
+ } | null;
1945
+ createdAt: string;
1946
+ updatedAt: string;
1947
+ };
1948
+ };
1949
+ outputFormat: "json";
1950
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1951
+ };
1952
+ };
1953
+ } & {
1954
+ "/stay-service-posts/:id": {
1955
+ $patch: {
1956
+ input: {
1957
+ param: {
1958
+ id: string;
1959
+ };
1960
+ };
1961
+ output: {
1962
+ readonly error: `${string} not found`;
1963
+ };
1964
+ outputFormat: "json";
1965
+ status: 404;
1966
+ } | {
1967
+ input: {
1968
+ param: {
1969
+ id: string;
1970
+ };
1971
+ };
1972
+ output: {
1973
+ data: {
1974
+ id: string;
1975
+ stayOperationId: string;
1976
+ bookingItemId: string | null;
1977
+ serviceDate: string;
1978
+ kind: "other" | "fee" | "adjustment" | "lodging" | "meal" | "minibar";
1979
+ description: string;
1980
+ quantity: number;
1981
+ currencyCode: string;
1982
+ sellAmountCents: number;
1983
+ costAmountCents: number | null;
1984
+ notes: string | null;
1985
+ metadata: {
1986
+ [x: string]: import("hono/utils/types").JSONValue;
1987
+ } | null;
1988
+ createdAt: string;
1989
+ updatedAt: string;
1990
+ };
1991
+ };
1992
+ outputFormat: "json";
1993
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1994
+ };
1995
+ };
1996
+ } & {
1997
+ "/stay-service-posts/:id": {
1998
+ $delete: {
1999
+ input: {
2000
+ param: {
2001
+ id: string;
2002
+ };
2003
+ };
2004
+ output: {
2005
+ readonly error: `${string} not found`;
2006
+ };
2007
+ outputFormat: "json";
2008
+ status: 404;
2009
+ } | {
2010
+ input: {
2011
+ param: {
2012
+ id: string;
2013
+ };
2014
+ };
2015
+ output: {
2016
+ success: true;
2017
+ };
2018
+ outputFormat: "json";
2019
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2020
+ };
2021
+ };
2022
+ } & {
2023
+ "/stay-folios": {
2024
+ $get: {
2025
+ input: {};
2026
+ output: {
2027
+ data: {
2028
+ id: string;
2029
+ stayOperationId: string;
2030
+ currencyCode: string;
2031
+ status: "open" | "closed" | "transferred" | "void";
2032
+ openedAt: string;
2033
+ closedAt: string | null;
2034
+ notes: string | null;
2035
+ metadata: {
2036
+ [x: string]: import("hono/utils/types").JSONValue;
2037
+ } | null;
2038
+ createdAt: string;
2039
+ updatedAt: string;
2040
+ }[];
2041
+ total: number;
2042
+ limit: number;
2043
+ offset: number;
2044
+ };
2045
+ outputFormat: "json";
2046
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2047
+ };
2048
+ };
2049
+ } & {
2050
+ "/stay-folios": {
2051
+ $post: {
2052
+ input: {};
2053
+ output: {
2054
+ data: {
2055
+ id: string;
2056
+ status: "open" | "closed" | "transferred" | "void";
2057
+ createdAt: string;
2058
+ updatedAt: string;
2059
+ notes: string | null;
2060
+ metadata: {
2061
+ [x: string]: import("hono/utils/types").JSONValue;
2062
+ } | null;
2063
+ currencyCode: string;
2064
+ stayOperationId: string;
2065
+ openedAt: string;
2066
+ closedAt: string | null;
2067
+ } | null;
2068
+ };
2069
+ outputFormat: "json";
2070
+ status: 201;
2071
+ };
2072
+ };
2073
+ } & {
2074
+ "/stay-folios/:id": {
2075
+ $get: {
2076
+ input: {
2077
+ param: {
2078
+ id: string;
2079
+ };
2080
+ };
2081
+ output: {
2082
+ readonly error: `${string} not found`;
2083
+ };
2084
+ outputFormat: "json";
2085
+ status: 404;
2086
+ } | {
2087
+ input: {
2088
+ param: {
2089
+ id: string;
2090
+ };
2091
+ };
2092
+ output: {
2093
+ data: {
2094
+ id: string;
2095
+ stayOperationId: string;
2096
+ currencyCode: string;
2097
+ status: "open" | "closed" | "transferred" | "void";
2098
+ openedAt: string;
2099
+ closedAt: string | null;
2100
+ notes: string | null;
2101
+ metadata: {
2102
+ [x: string]: import("hono/utils/types").JSONValue;
2103
+ } | null;
2104
+ createdAt: string;
2105
+ updatedAt: string;
2106
+ };
2107
+ };
2108
+ outputFormat: "json";
2109
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2110
+ };
2111
+ };
2112
+ } & {
2113
+ "/stay-folios/:id": {
2114
+ $patch: {
2115
+ input: {
2116
+ param: {
2117
+ id: string;
2118
+ };
2119
+ };
2120
+ output: {
2121
+ readonly error: `${string} not found`;
2122
+ };
2123
+ outputFormat: "json";
2124
+ status: 404;
2125
+ } | {
2126
+ input: {
2127
+ param: {
2128
+ id: string;
2129
+ };
2130
+ };
2131
+ output: {
2132
+ data: {
2133
+ id: string;
2134
+ stayOperationId: string;
2135
+ currencyCode: string;
2136
+ status: "open" | "closed" | "transferred" | "void";
2137
+ openedAt: string;
2138
+ closedAt: string | null;
2139
+ notes: string | null;
2140
+ metadata: {
2141
+ [x: string]: import("hono/utils/types").JSONValue;
2142
+ } | null;
2143
+ createdAt: string;
2144
+ updatedAt: string;
2145
+ };
2146
+ };
2147
+ outputFormat: "json";
2148
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2149
+ };
2150
+ };
2151
+ } & {
2152
+ "/stay-folios/:id": {
2153
+ $delete: {
2154
+ input: {
2155
+ param: {
2156
+ id: string;
2157
+ };
2158
+ };
2159
+ output: {
2160
+ readonly error: `${string} not found`;
2161
+ };
2162
+ outputFormat: "json";
2163
+ status: 404;
2164
+ } | {
2165
+ input: {
2166
+ param: {
2167
+ id: string;
2168
+ };
2169
+ };
2170
+ output: {
2171
+ success: true;
2172
+ };
2173
+ outputFormat: "json";
2174
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2175
+ };
2176
+ };
2177
+ } & {
2178
+ "/stay-folio-lines": {
2179
+ $get: {
2180
+ input: {};
2181
+ output: {
2182
+ data: {
2183
+ id: string;
2184
+ stayFolioId: string;
2185
+ servicePostId: string | null;
2186
+ postedAt: string;
2187
+ lineType: string;
2188
+ description: string;
2189
+ quantity: number;
2190
+ amountCents: number;
2191
+ taxAmountCents: number | null;
2192
+ feeAmountCents: number | null;
2193
+ notes: string | null;
2194
+ metadata: {
2195
+ [x: string]: import("hono/utils/types").JSONValue;
2196
+ } | null;
2197
+ createdAt: string;
2198
+ updatedAt: string;
2199
+ }[];
2200
+ total: number;
2201
+ limit: number;
2202
+ offset: number;
2203
+ };
2204
+ outputFormat: "json";
2205
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2206
+ };
2207
+ };
2208
+ } & {
2209
+ "/stay-folio-lines": {
2210
+ $post: {
2211
+ input: {};
2212
+ output: {
2213
+ data: {
2214
+ id: string;
2215
+ createdAt: string;
2216
+ updatedAt: string;
2217
+ notes: string | null;
2218
+ metadata: {
2219
+ [x: string]: import("hono/utils/types").JSONValue;
2220
+ } | null;
2221
+ description: string;
2222
+ quantity: number;
2223
+ taxAmountCents: number | null;
2224
+ feeAmountCents: number | null;
2225
+ stayFolioId: string;
2226
+ servicePostId: string | null;
2227
+ postedAt: string;
2228
+ lineType: string;
2229
+ amountCents: number;
2230
+ } | null;
2231
+ };
2232
+ outputFormat: "json";
2233
+ status: 201;
2234
+ };
2235
+ };
2236
+ } & {
2237
+ "/stay-folio-lines/:id": {
2238
+ $get: {
2239
+ input: {
2240
+ param: {
2241
+ id: string;
2242
+ };
2243
+ };
2244
+ output: {
2245
+ readonly error: `${string} not found`;
2246
+ };
2247
+ outputFormat: "json";
2248
+ status: 404;
2249
+ } | {
2250
+ input: {
2251
+ param: {
2252
+ id: string;
2253
+ };
2254
+ };
2255
+ output: {
2256
+ data: {
2257
+ id: string;
2258
+ stayFolioId: string;
2259
+ servicePostId: string | null;
2260
+ postedAt: string;
2261
+ lineType: string;
2262
+ description: string;
2263
+ quantity: number;
2264
+ amountCents: number;
2265
+ taxAmountCents: number | null;
2266
+ feeAmountCents: number | null;
2267
+ notes: string | null;
2268
+ metadata: {
2269
+ [x: string]: import("hono/utils/types").JSONValue;
2270
+ } | null;
2271
+ createdAt: string;
2272
+ updatedAt: string;
2273
+ };
2274
+ };
2275
+ outputFormat: "json";
2276
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2277
+ };
2278
+ };
2279
+ } & {
2280
+ "/stay-folio-lines/:id": {
2281
+ $patch: {
2282
+ input: {
2283
+ param: {
2284
+ id: string;
2285
+ };
2286
+ };
2287
+ output: {
2288
+ readonly error: `${string} not found`;
2289
+ };
2290
+ outputFormat: "json";
2291
+ status: 404;
2292
+ } | {
2293
+ input: {
2294
+ param: {
2295
+ id: string;
2296
+ };
2297
+ };
2298
+ output: {
2299
+ data: {
2300
+ id: string;
2301
+ stayFolioId: string;
2302
+ servicePostId: string | null;
2303
+ postedAt: string;
2304
+ lineType: string;
2305
+ description: string;
2306
+ quantity: number;
2307
+ amountCents: number;
2308
+ taxAmountCents: number | null;
2309
+ feeAmountCents: number | null;
2310
+ notes: string | null;
2311
+ metadata: {
2312
+ [x: string]: import("hono/utils/types").JSONValue;
2313
+ } | null;
2314
+ createdAt: string;
2315
+ updatedAt: string;
2316
+ };
2317
+ };
2318
+ outputFormat: "json";
2319
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2320
+ };
2321
+ };
2322
+ } & {
2323
+ "/stay-folio-lines/:id": {
2324
+ $delete: {
2325
+ input: {
2326
+ param: {
2327
+ id: string;
2328
+ };
2329
+ };
2330
+ output: {
2331
+ readonly error: `${string} not found`;
2332
+ };
2333
+ outputFormat: "json";
2334
+ status: 404;
2335
+ } | {
2336
+ input: {
2337
+ param: {
2338
+ id: string;
2339
+ };
2340
+ };
2341
+ output: {
2342
+ success: true;
2343
+ };
2344
+ outputFormat: "json";
2345
+ status: import("hono/utils/http-status").ContentfulStatusCode;
2346
+ };
2347
+ };
2348
+ }, "/">, "/", "/">;
2349
+ //# sourceMappingURL=routes-operations.d.ts.map