@voyantjs/facilities 0.1.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.
@@ -0,0 +1,1386 @@
1
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ type Env = {
3
+ Variables: {
4
+ db: PostgresJsDatabase;
5
+ userId?: string;
6
+ };
7
+ };
8
+ export declare const facilitiesRoutes: import("hono/hono-base").HonoBase<Env, {
9
+ "/facilities": {
10
+ $get: {
11
+ input: {};
12
+ output: {
13
+ data: {
14
+ id: string;
15
+ parentFacilityId: string | null;
16
+ ownerType: "internal" | "supplier" | "other" | "organization" | null;
17
+ ownerId: string | null;
18
+ kind: "other" | "property" | "hotel" | "resort" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "camp" | "lodge" | "office" | "attraction" | "restaurant";
19
+ status: "active" | "inactive" | "archived";
20
+ name: string;
21
+ code: string | null;
22
+ description: string | null;
23
+ timezone: string | null;
24
+ tags: string[];
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ addressLine1: string | null;
28
+ addressLine2: string | null;
29
+ city: string | null;
30
+ region: string | null;
31
+ country: string | null;
32
+ postalCode: string | null;
33
+ latitude: number | null;
34
+ longitude: number | null;
35
+ address: string | null;
36
+ }[];
37
+ total: number;
38
+ limit: number;
39
+ offset: number;
40
+ };
41
+ outputFormat: "json";
42
+ status: import("hono/utils/http-status").ContentfulStatusCode;
43
+ };
44
+ };
45
+ } & {
46
+ "/facilities": {
47
+ $post: {
48
+ input: {};
49
+ output: {
50
+ data: {
51
+ addressLine1: string | null;
52
+ addressLine2: string | null;
53
+ city: string | null;
54
+ region: string | null;
55
+ postalCode: string | null;
56
+ country: string | null;
57
+ latitude: number | null;
58
+ longitude: number | null;
59
+ address: string | null;
60
+ name: string;
61
+ kind: "other" | "property" | "hotel" | "resort" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "camp" | "lodge" | "office" | "attraction" | "restaurant";
62
+ timezone: string | null;
63
+ id: string;
64
+ createdAt: string;
65
+ updatedAt: string;
66
+ description: string | null;
67
+ parentFacilityId: string | null;
68
+ ownerType: "internal" | "supplier" | "other" | "organization" | null;
69
+ ownerId: string | null;
70
+ status: "active" | "inactive" | "archived";
71
+ code: string | null;
72
+ tags: string[];
73
+ };
74
+ };
75
+ outputFormat: "json";
76
+ status: 201;
77
+ };
78
+ };
79
+ } & {
80
+ "/facilities/:id": {
81
+ $get: {
82
+ input: {
83
+ param: {
84
+ id: string;
85
+ };
86
+ };
87
+ output: {
88
+ error: string;
89
+ };
90
+ outputFormat: "json";
91
+ status: 404;
92
+ } | {
93
+ input: {
94
+ param: {
95
+ id: string;
96
+ };
97
+ };
98
+ output: {
99
+ data: {
100
+ id: string;
101
+ parentFacilityId: string | null;
102
+ ownerType: "internal" | "supplier" | "other" | "organization" | null;
103
+ ownerId: string | null;
104
+ kind: "other" | "property" | "hotel" | "resort" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "camp" | "lodge" | "office" | "attraction" | "restaurant";
105
+ status: "active" | "inactive" | "archived";
106
+ name: string;
107
+ code: string | null;
108
+ description: string | null;
109
+ timezone: string | null;
110
+ tags: string[];
111
+ createdAt: string;
112
+ updatedAt: string;
113
+ addressLine1: string | null;
114
+ addressLine2: string | null;
115
+ city: string | null;
116
+ region: string | null;
117
+ country: string | null;
118
+ postalCode: string | null;
119
+ latitude: number | null;
120
+ longitude: number | null;
121
+ address: string | null;
122
+ };
123
+ };
124
+ outputFormat: "json";
125
+ status: import("hono/utils/http-status").ContentfulStatusCode;
126
+ };
127
+ };
128
+ } & {
129
+ "/facilities/:id": {
130
+ $patch: {
131
+ input: {
132
+ param: {
133
+ id: string;
134
+ };
135
+ };
136
+ output: {
137
+ error: string;
138
+ };
139
+ outputFormat: "json";
140
+ status: 404;
141
+ } | {
142
+ input: {
143
+ param: {
144
+ id: string;
145
+ };
146
+ };
147
+ output: {
148
+ data: {
149
+ addressLine1: string | null;
150
+ addressLine2: string | null;
151
+ city: string | null;
152
+ region: string | null;
153
+ postalCode: string | null;
154
+ country: string | null;
155
+ latitude: number | null;
156
+ longitude: number | null;
157
+ address: string | null;
158
+ id: string;
159
+ parentFacilityId: string | null;
160
+ ownerType: "internal" | "supplier" | "other" | "organization" | null;
161
+ ownerId: string | null;
162
+ kind: "other" | "property" | "hotel" | "resort" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "camp" | "lodge" | "office" | "attraction" | "restaurant";
163
+ status: "active" | "inactive" | "archived";
164
+ name: string;
165
+ code: string | null;
166
+ description: string | null;
167
+ timezone: string | null;
168
+ tags: string[];
169
+ createdAt: string;
170
+ updatedAt: string;
171
+ };
172
+ };
173
+ outputFormat: "json";
174
+ status: import("hono/utils/http-status").ContentfulStatusCode;
175
+ };
176
+ };
177
+ } & {
178
+ "/facilities/:id": {
179
+ $delete: {
180
+ input: {
181
+ param: {
182
+ id: string;
183
+ };
184
+ };
185
+ output: {
186
+ error: string;
187
+ };
188
+ outputFormat: "json";
189
+ status: 404;
190
+ } | {
191
+ input: {
192
+ param: {
193
+ id: string;
194
+ };
195
+ };
196
+ output: {
197
+ success: true;
198
+ };
199
+ outputFormat: "json";
200
+ status: import("hono/utils/http-status").ContentfulStatusCode;
201
+ };
202
+ };
203
+ } & {
204
+ "/facilities/:id/contact-points": {
205
+ $get: {
206
+ input: {
207
+ param: {
208
+ id: string;
209
+ };
210
+ };
211
+ output: {
212
+ data: {
213
+ id: string;
214
+ entityType: string;
215
+ entityId: string;
216
+ kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other";
217
+ label: string | null;
218
+ value: string;
219
+ normalizedValue: string | null;
220
+ isPrimary: boolean;
221
+ notes: string | null;
222
+ metadata: {
223
+ [x: string]: import("hono/utils/types").JSONValue;
224
+ } | null;
225
+ createdAt: string;
226
+ updatedAt: string;
227
+ }[];
228
+ };
229
+ outputFormat: "json";
230
+ status: import("hono/utils/http-status").ContentfulStatusCode;
231
+ };
232
+ };
233
+ } & {
234
+ "/facilities/:id/contact-points": {
235
+ $post: {
236
+ input: {
237
+ param: {
238
+ id: string;
239
+ };
240
+ };
241
+ output: {
242
+ error: string;
243
+ };
244
+ outputFormat: "json";
245
+ status: 404;
246
+ } | {
247
+ input: {
248
+ param: {
249
+ id: string;
250
+ };
251
+ };
252
+ output: {
253
+ data: {
254
+ value: string;
255
+ kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other";
256
+ entityType: string;
257
+ entityId: string;
258
+ label: string | null;
259
+ normalizedValue: string | null;
260
+ isPrimary: boolean;
261
+ notes: string | null;
262
+ metadata: {
263
+ [x: string]: import("hono/utils/types").JSONValue;
264
+ } | null;
265
+ id: string;
266
+ createdAt: string;
267
+ updatedAt: string;
268
+ };
269
+ };
270
+ outputFormat: "json";
271
+ status: 201;
272
+ };
273
+ };
274
+ } & {
275
+ "/contact-points/:id": {
276
+ $patch: {
277
+ input: {
278
+ param: {
279
+ id: string;
280
+ };
281
+ };
282
+ output: {
283
+ error: string;
284
+ };
285
+ outputFormat: "json";
286
+ status: 404;
287
+ } | {
288
+ input: {
289
+ param: {
290
+ id: string;
291
+ };
292
+ };
293
+ output: {
294
+ data: {
295
+ id: string;
296
+ entityType: string;
297
+ entityId: string;
298
+ kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other";
299
+ label: string | null;
300
+ value: string;
301
+ normalizedValue: string | null;
302
+ isPrimary: boolean;
303
+ notes: string | null;
304
+ metadata: {
305
+ [x: string]: import("hono/utils/types").JSONValue;
306
+ } | null;
307
+ createdAt: string;
308
+ updatedAt: string;
309
+ };
310
+ };
311
+ outputFormat: "json";
312
+ status: import("hono/utils/http-status").ContentfulStatusCode;
313
+ };
314
+ };
315
+ } & {
316
+ "/contact-points/:id": {
317
+ $delete: {
318
+ input: {
319
+ param: {
320
+ id: string;
321
+ };
322
+ };
323
+ output: {
324
+ error: string;
325
+ };
326
+ outputFormat: "json";
327
+ status: 404;
328
+ } | {
329
+ input: {
330
+ param: {
331
+ id: string;
332
+ };
333
+ };
334
+ output: {
335
+ success: true;
336
+ };
337
+ outputFormat: "json";
338
+ status: import("hono/utils/http-status").ContentfulStatusCode;
339
+ };
340
+ };
341
+ } & {
342
+ "/facilities/:id/addresses": {
343
+ $get: {
344
+ input: {
345
+ param: {
346
+ id: string;
347
+ };
348
+ };
349
+ output: {
350
+ data: {
351
+ id: string;
352
+ entityType: string;
353
+ entityId: string;
354
+ label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal";
355
+ fullText: string | null;
356
+ line1: string | null;
357
+ line2: string | null;
358
+ city: string | null;
359
+ region: string | null;
360
+ postalCode: string | null;
361
+ country: string | null;
362
+ latitude: number | null;
363
+ longitude: number | null;
364
+ timezone: string | null;
365
+ isPrimary: boolean;
366
+ notes: string | null;
367
+ metadata: {
368
+ [x: string]: import("hono/utils/types").JSONValue;
369
+ } | null;
370
+ createdAt: string;
371
+ updatedAt: string;
372
+ }[];
373
+ };
374
+ outputFormat: "json";
375
+ status: import("hono/utils/http-status").ContentfulStatusCode;
376
+ };
377
+ };
378
+ } & {
379
+ "/facilities/:id/addresses": {
380
+ $post: {
381
+ input: {
382
+ param: {
383
+ id: string;
384
+ };
385
+ };
386
+ output: {
387
+ error: string;
388
+ };
389
+ outputFormat: "json";
390
+ status: 404;
391
+ } | {
392
+ input: {
393
+ param: {
394
+ id: string;
395
+ };
396
+ };
397
+ output: {
398
+ data: {
399
+ entityType: string;
400
+ entityId: string;
401
+ label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal";
402
+ isPrimary: boolean;
403
+ notes: string | null;
404
+ metadata: {
405
+ [x: string]: import("hono/utils/types").JSONValue;
406
+ } | null;
407
+ fullText: string | null;
408
+ line1: string | null;
409
+ line2: string | null;
410
+ city: string | null;
411
+ region: string | null;
412
+ postalCode: string | null;
413
+ country: string | null;
414
+ latitude: number | null;
415
+ longitude: number | null;
416
+ timezone: string | null;
417
+ id: string;
418
+ createdAt: string;
419
+ updatedAt: string;
420
+ };
421
+ };
422
+ outputFormat: "json";
423
+ status: 201;
424
+ };
425
+ };
426
+ } & {
427
+ "/addresses/:id": {
428
+ $patch: {
429
+ input: {
430
+ param: {
431
+ id: string;
432
+ };
433
+ };
434
+ output: {
435
+ error: string;
436
+ };
437
+ outputFormat: "json";
438
+ status: 404;
439
+ } | {
440
+ input: {
441
+ param: {
442
+ id: string;
443
+ };
444
+ };
445
+ output: {
446
+ data: {
447
+ id: string;
448
+ entityType: string;
449
+ entityId: string;
450
+ label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal";
451
+ fullText: string | null;
452
+ line1: string | null;
453
+ line2: string | null;
454
+ city: string | null;
455
+ region: string | null;
456
+ postalCode: string | null;
457
+ country: string | null;
458
+ latitude: number | null;
459
+ longitude: number | null;
460
+ timezone: string | null;
461
+ isPrimary: boolean;
462
+ notes: string | null;
463
+ metadata: {
464
+ [x: string]: import("hono/utils/types").JSONValue;
465
+ } | null;
466
+ createdAt: string;
467
+ updatedAt: string;
468
+ };
469
+ };
470
+ outputFormat: "json";
471
+ status: import("hono/utils/http-status").ContentfulStatusCode;
472
+ };
473
+ };
474
+ } & {
475
+ "/addresses/:id": {
476
+ $delete: {
477
+ input: {
478
+ param: {
479
+ id: string;
480
+ };
481
+ };
482
+ output: {
483
+ error: string;
484
+ };
485
+ outputFormat: "json";
486
+ status: 404;
487
+ } | {
488
+ input: {
489
+ param: {
490
+ id: string;
491
+ };
492
+ };
493
+ output: {
494
+ success: true;
495
+ };
496
+ outputFormat: "json";
497
+ status: import("hono/utils/http-status").ContentfulStatusCode;
498
+ };
499
+ };
500
+ } & {
501
+ "/facility-contacts": {
502
+ $get: {
503
+ input: {};
504
+ output: {
505
+ data: {
506
+ id: string;
507
+ entityType: string;
508
+ entityId: string;
509
+ role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting";
510
+ name: string;
511
+ title: string | null;
512
+ email: string | null;
513
+ phone: string | null;
514
+ isPrimary: boolean;
515
+ notes: string | null;
516
+ metadata: {
517
+ [x: string]: import("hono/utils/types").JSONValue;
518
+ } | null;
519
+ createdAt: string;
520
+ updatedAt: string;
521
+ }[];
522
+ total: number;
523
+ limit: number;
524
+ offset: number;
525
+ };
526
+ outputFormat: "json";
527
+ status: import("hono/utils/http-status").ContentfulStatusCode;
528
+ };
529
+ };
530
+ } & {
531
+ "/facilities/:id/contacts": {
532
+ $post: {
533
+ input: {
534
+ param: {
535
+ id: string;
536
+ };
537
+ };
538
+ output: {
539
+ error: string;
540
+ };
541
+ outputFormat: "json";
542
+ status: 404;
543
+ } | {
544
+ input: {
545
+ param: {
546
+ id: string;
547
+ };
548
+ };
549
+ output: {
550
+ data: {
551
+ name: string;
552
+ email: string | null;
553
+ phone: string | null;
554
+ entityType: string;
555
+ entityId: string;
556
+ isPrimary: boolean;
557
+ notes: string | null;
558
+ metadata: {
559
+ [x: string]: import("hono/utils/types").JSONValue;
560
+ } | null;
561
+ role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting";
562
+ title: string | null;
563
+ id: string;
564
+ createdAt: string;
565
+ updatedAt: string;
566
+ };
567
+ };
568
+ outputFormat: "json";
569
+ status: 201;
570
+ };
571
+ };
572
+ } & {
573
+ "/facility-contacts/:id": {
574
+ $patch: {
575
+ input: {
576
+ param: {
577
+ id: string;
578
+ };
579
+ };
580
+ output: {
581
+ error: string;
582
+ };
583
+ outputFormat: "json";
584
+ status: 404;
585
+ } | {
586
+ input: {
587
+ param: {
588
+ id: string;
589
+ };
590
+ };
591
+ output: {
592
+ data: {
593
+ id: string;
594
+ entityType: string;
595
+ entityId: string;
596
+ role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting";
597
+ name: string;
598
+ title: string | null;
599
+ email: string | null;
600
+ phone: string | null;
601
+ isPrimary: boolean;
602
+ notes: string | null;
603
+ metadata: {
604
+ [x: string]: import("hono/utils/types").JSONValue;
605
+ } | null;
606
+ createdAt: string;
607
+ updatedAt: string;
608
+ };
609
+ };
610
+ outputFormat: "json";
611
+ status: import("hono/utils/http-status").ContentfulStatusCode;
612
+ };
613
+ };
614
+ } & {
615
+ "/facility-contacts/:id": {
616
+ $delete: {
617
+ input: {
618
+ param: {
619
+ id: string;
620
+ };
621
+ };
622
+ output: {
623
+ error: string;
624
+ };
625
+ outputFormat: "json";
626
+ status: 404;
627
+ } | {
628
+ input: {
629
+ param: {
630
+ id: string;
631
+ };
632
+ };
633
+ output: {
634
+ success: true;
635
+ };
636
+ outputFormat: "json";
637
+ status: import("hono/utils/http-status").ContentfulStatusCode;
638
+ };
639
+ };
640
+ } & {
641
+ "/facility-features": {
642
+ $get: {
643
+ input: {};
644
+ output: {
645
+ data: {
646
+ id: string;
647
+ facilityId: string;
648
+ category: "other" | "service" | "amenity" | "accessibility" | "security" | "policy";
649
+ code: string | null;
650
+ name: string;
651
+ description: string | null;
652
+ valueText: string | null;
653
+ highlighted: boolean;
654
+ sortOrder: number;
655
+ createdAt: string;
656
+ updatedAt: string;
657
+ }[];
658
+ total: number;
659
+ limit: number;
660
+ offset: number;
661
+ };
662
+ outputFormat: "json";
663
+ status: import("hono/utils/http-status").ContentfulStatusCode;
664
+ };
665
+ };
666
+ } & {
667
+ "/facilities/:id/features": {
668
+ $post: {
669
+ input: {
670
+ param: {
671
+ id: string;
672
+ };
673
+ };
674
+ output: {
675
+ error: string;
676
+ };
677
+ outputFormat: "json";
678
+ status: 404;
679
+ } | {
680
+ input: {
681
+ param: {
682
+ id: string;
683
+ };
684
+ };
685
+ output: {
686
+ data: {
687
+ name: string;
688
+ id: string;
689
+ createdAt: string;
690
+ updatedAt: string;
691
+ description: string | null;
692
+ code: string | null;
693
+ facilityId: string;
694
+ category: "other" | "service" | "amenity" | "accessibility" | "security" | "policy";
695
+ valueText: string | null;
696
+ highlighted: boolean;
697
+ sortOrder: number;
698
+ };
699
+ };
700
+ outputFormat: "json";
701
+ status: 201;
702
+ };
703
+ };
704
+ } & {
705
+ "/facility-features/:id": {
706
+ $patch: {
707
+ input: {
708
+ param: {
709
+ id: string;
710
+ };
711
+ };
712
+ output: {
713
+ error: string;
714
+ };
715
+ outputFormat: "json";
716
+ status: 404;
717
+ } | {
718
+ input: {
719
+ param: {
720
+ id: string;
721
+ };
722
+ };
723
+ output: {
724
+ data: {
725
+ id: string;
726
+ facilityId: string;
727
+ category: "other" | "service" | "amenity" | "accessibility" | "security" | "policy";
728
+ code: string | null;
729
+ name: string;
730
+ description: string | null;
731
+ valueText: string | null;
732
+ highlighted: boolean;
733
+ sortOrder: number;
734
+ createdAt: string;
735
+ updatedAt: string;
736
+ };
737
+ };
738
+ outputFormat: "json";
739
+ status: import("hono/utils/http-status").ContentfulStatusCode;
740
+ };
741
+ };
742
+ } & {
743
+ "/facility-features/:id": {
744
+ $delete: {
745
+ input: {
746
+ param: {
747
+ id: string;
748
+ };
749
+ };
750
+ output: {
751
+ error: string;
752
+ };
753
+ outputFormat: "json";
754
+ status: 404;
755
+ } | {
756
+ input: {
757
+ param: {
758
+ id: string;
759
+ };
760
+ };
761
+ output: {
762
+ success: true;
763
+ };
764
+ outputFormat: "json";
765
+ status: import("hono/utils/http-status").ContentfulStatusCode;
766
+ };
767
+ };
768
+ } & {
769
+ "/facility-operation-schedules": {
770
+ $get: {
771
+ input: {};
772
+ output: {
773
+ data: {
774
+ id: string;
775
+ facilityId: string;
776
+ dayOfWeek: "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday" | null;
777
+ validFrom: string | null;
778
+ validTo: string | null;
779
+ opensAt: string | null;
780
+ closesAt: string | null;
781
+ closed: boolean;
782
+ notes: string | null;
783
+ createdAt: string;
784
+ updatedAt: string;
785
+ }[];
786
+ total: number;
787
+ limit: number;
788
+ offset: number;
789
+ };
790
+ outputFormat: "json";
791
+ status: import("hono/utils/http-status").ContentfulStatusCode;
792
+ };
793
+ };
794
+ } & {
795
+ "/facilities/:id/operation-schedules": {
796
+ $post: {
797
+ input: {
798
+ param: {
799
+ id: string;
800
+ };
801
+ };
802
+ output: {
803
+ error: string;
804
+ };
805
+ outputFormat: "json";
806
+ status: 404;
807
+ } | {
808
+ input: {
809
+ param: {
810
+ id: string;
811
+ };
812
+ };
813
+ output: {
814
+ data: {
815
+ notes: string | null;
816
+ id: string;
817
+ createdAt: string;
818
+ updatedAt: string;
819
+ facilityId: string;
820
+ dayOfWeek: "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday" | null;
821
+ validFrom: string | null;
822
+ validTo: string | null;
823
+ opensAt: string | null;
824
+ closesAt: string | null;
825
+ closed: boolean;
826
+ };
827
+ };
828
+ outputFormat: "json";
829
+ status: 201;
830
+ };
831
+ };
832
+ } & {
833
+ "/facility-operation-schedules/:id": {
834
+ $patch: {
835
+ input: {
836
+ param: {
837
+ id: string;
838
+ };
839
+ };
840
+ output: {
841
+ error: string;
842
+ };
843
+ outputFormat: "json";
844
+ status: 404;
845
+ } | {
846
+ input: {
847
+ param: {
848
+ id: string;
849
+ };
850
+ };
851
+ output: {
852
+ data: {
853
+ id: string;
854
+ facilityId: string;
855
+ dayOfWeek: "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday" | null;
856
+ validFrom: string | null;
857
+ validTo: string | null;
858
+ opensAt: string | null;
859
+ closesAt: string | null;
860
+ closed: boolean;
861
+ notes: string | null;
862
+ createdAt: string;
863
+ updatedAt: string;
864
+ };
865
+ };
866
+ outputFormat: "json";
867
+ status: import("hono/utils/http-status").ContentfulStatusCode;
868
+ };
869
+ };
870
+ } & {
871
+ "/facility-operation-schedules/:id": {
872
+ $delete: {
873
+ input: {
874
+ param: {
875
+ id: string;
876
+ };
877
+ };
878
+ output: {
879
+ error: string;
880
+ };
881
+ outputFormat: "json";
882
+ status: 404;
883
+ } | {
884
+ input: {
885
+ param: {
886
+ id: string;
887
+ };
888
+ };
889
+ output: {
890
+ success: true;
891
+ };
892
+ outputFormat: "json";
893
+ status: import("hono/utils/http-status").ContentfulStatusCode;
894
+ };
895
+ };
896
+ } & {
897
+ "/properties": {
898
+ $get: {
899
+ input: {};
900
+ output: {
901
+ data: {
902
+ id: string;
903
+ facilityId: string;
904
+ propertyType: "other" | "hotel" | "resort" | "camp" | "lodge" | "villa" | "apartment" | "hostel";
905
+ brandName: string | null;
906
+ groupName: string | null;
907
+ rating: number | null;
908
+ ratingScale: number | null;
909
+ checkInTime: string | null;
910
+ checkOutTime: string | null;
911
+ policyNotes: string | null;
912
+ amenityNotes: string | null;
913
+ createdAt: string;
914
+ updatedAt: string;
915
+ }[];
916
+ total: number;
917
+ limit: number;
918
+ offset: number;
919
+ };
920
+ outputFormat: "json";
921
+ status: import("hono/utils/http-status").ContentfulStatusCode;
922
+ };
923
+ };
924
+ } & {
925
+ "/properties": {
926
+ $post: {
927
+ input: {};
928
+ output: {
929
+ error: string;
930
+ };
931
+ outputFormat: "json";
932
+ status: 404;
933
+ } | {
934
+ input: {};
935
+ output: {
936
+ data: {
937
+ id: string;
938
+ createdAt: string;
939
+ updatedAt: string;
940
+ facilityId: string;
941
+ propertyType: "other" | "hotel" | "resort" | "camp" | "lodge" | "villa" | "apartment" | "hostel";
942
+ brandName: string | null;
943
+ groupName: string | null;
944
+ rating: number | null;
945
+ ratingScale: number | null;
946
+ checkInTime: string | null;
947
+ checkOutTime: string | null;
948
+ policyNotes: string | null;
949
+ amenityNotes: string | null;
950
+ };
951
+ };
952
+ outputFormat: "json";
953
+ status: 201;
954
+ };
955
+ };
956
+ } & {
957
+ "/properties/:id": {
958
+ $get: {
959
+ input: {
960
+ param: {
961
+ id: string;
962
+ };
963
+ };
964
+ output: {
965
+ error: string;
966
+ };
967
+ outputFormat: "json";
968
+ status: 404;
969
+ } | {
970
+ input: {
971
+ param: {
972
+ id: string;
973
+ };
974
+ };
975
+ output: {
976
+ data: {
977
+ id: string;
978
+ facilityId: string;
979
+ propertyType: "other" | "hotel" | "resort" | "camp" | "lodge" | "villa" | "apartment" | "hostel";
980
+ brandName: string | null;
981
+ groupName: string | null;
982
+ rating: number | null;
983
+ ratingScale: number | null;
984
+ checkInTime: string | null;
985
+ checkOutTime: string | null;
986
+ policyNotes: string | null;
987
+ amenityNotes: string | null;
988
+ createdAt: string;
989
+ updatedAt: string;
990
+ };
991
+ };
992
+ outputFormat: "json";
993
+ status: import("hono/utils/http-status").ContentfulStatusCode;
994
+ };
995
+ };
996
+ } & {
997
+ "/properties/:id": {
998
+ $patch: {
999
+ input: {
1000
+ param: {
1001
+ id: string;
1002
+ };
1003
+ };
1004
+ output: {
1005
+ error: string;
1006
+ };
1007
+ outputFormat: "json";
1008
+ status: 404;
1009
+ } | {
1010
+ input: {
1011
+ param: {
1012
+ id: string;
1013
+ };
1014
+ };
1015
+ output: {
1016
+ data: {
1017
+ id: string;
1018
+ facilityId: string;
1019
+ propertyType: "other" | "hotel" | "resort" | "camp" | "lodge" | "villa" | "apartment" | "hostel";
1020
+ brandName: string | null;
1021
+ groupName: string | null;
1022
+ rating: number | null;
1023
+ ratingScale: number | null;
1024
+ checkInTime: string | null;
1025
+ checkOutTime: string | null;
1026
+ policyNotes: string | null;
1027
+ amenityNotes: string | null;
1028
+ createdAt: string;
1029
+ updatedAt: string;
1030
+ };
1031
+ };
1032
+ outputFormat: "json";
1033
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1034
+ };
1035
+ };
1036
+ } & {
1037
+ "/properties/:id": {
1038
+ $delete: {
1039
+ input: {
1040
+ param: {
1041
+ id: string;
1042
+ };
1043
+ };
1044
+ output: {
1045
+ error: string;
1046
+ };
1047
+ outputFormat: "json";
1048
+ status: 404;
1049
+ } | {
1050
+ input: {
1051
+ param: {
1052
+ id: string;
1053
+ };
1054
+ };
1055
+ output: {
1056
+ success: true;
1057
+ };
1058
+ outputFormat: "json";
1059
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1060
+ };
1061
+ };
1062
+ } & {
1063
+ "/property-groups": {
1064
+ $get: {
1065
+ input: {};
1066
+ output: {
1067
+ data: {
1068
+ id: string;
1069
+ parentGroupId: string | null;
1070
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
1071
+ status: "active" | "inactive" | "archived";
1072
+ name: string;
1073
+ code: string | null;
1074
+ brandName: string | null;
1075
+ legalName: string | null;
1076
+ website: string | null;
1077
+ notes: string | null;
1078
+ metadata: {
1079
+ [x: string]: import("hono/utils/types").JSONValue;
1080
+ } | null;
1081
+ createdAt: string;
1082
+ updatedAt: string;
1083
+ }[];
1084
+ total: number;
1085
+ limit: number;
1086
+ offset: number;
1087
+ };
1088
+ outputFormat: "json";
1089
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1090
+ };
1091
+ };
1092
+ } & {
1093
+ "/property-groups": {
1094
+ $post: {
1095
+ input: {};
1096
+ output: {
1097
+ data: {
1098
+ name: string;
1099
+ website: string | null;
1100
+ notes: string | null;
1101
+ metadata: {
1102
+ [x: string]: import("hono/utils/types").JSONValue;
1103
+ } | null;
1104
+ id: string;
1105
+ createdAt: string;
1106
+ updatedAt: string;
1107
+ status: "active" | "inactive" | "archived";
1108
+ code: string | null;
1109
+ brandName: string | null;
1110
+ parentGroupId: string | null;
1111
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
1112
+ legalName: string | null;
1113
+ } | null;
1114
+ };
1115
+ outputFormat: "json";
1116
+ status: 201;
1117
+ };
1118
+ };
1119
+ } & {
1120
+ "/property-groups/:id": {
1121
+ $get: {
1122
+ input: {
1123
+ param: {
1124
+ id: string;
1125
+ };
1126
+ };
1127
+ output: {
1128
+ error: string;
1129
+ };
1130
+ outputFormat: "json";
1131
+ status: 404;
1132
+ } | {
1133
+ input: {
1134
+ param: {
1135
+ id: string;
1136
+ };
1137
+ };
1138
+ output: {
1139
+ data: {
1140
+ id: string;
1141
+ parentGroupId: string | null;
1142
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
1143
+ status: "active" | "inactive" | "archived";
1144
+ name: string;
1145
+ code: string | null;
1146
+ brandName: string | null;
1147
+ legalName: string | null;
1148
+ website: string | null;
1149
+ notes: string | null;
1150
+ metadata: {
1151
+ [x: string]: import("hono/utils/types").JSONValue;
1152
+ } | null;
1153
+ createdAt: string;
1154
+ updatedAt: string;
1155
+ };
1156
+ };
1157
+ outputFormat: "json";
1158
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1159
+ };
1160
+ };
1161
+ } & {
1162
+ "/property-groups/:id": {
1163
+ $patch: {
1164
+ input: {
1165
+ param: {
1166
+ id: string;
1167
+ };
1168
+ };
1169
+ output: {
1170
+ error: string;
1171
+ };
1172
+ outputFormat: "json";
1173
+ status: 404;
1174
+ } | {
1175
+ input: {
1176
+ param: {
1177
+ id: string;
1178
+ };
1179
+ };
1180
+ output: {
1181
+ data: {
1182
+ id: string;
1183
+ parentGroupId: string | null;
1184
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
1185
+ status: "active" | "inactive" | "archived";
1186
+ name: string;
1187
+ code: string | null;
1188
+ brandName: string | null;
1189
+ legalName: string | null;
1190
+ website: string | null;
1191
+ notes: string | null;
1192
+ metadata: {
1193
+ [x: string]: import("hono/utils/types").JSONValue;
1194
+ } | null;
1195
+ createdAt: string;
1196
+ updatedAt: string;
1197
+ };
1198
+ };
1199
+ outputFormat: "json";
1200
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1201
+ };
1202
+ };
1203
+ } & {
1204
+ "/property-groups/:id": {
1205
+ $delete: {
1206
+ input: {
1207
+ param: {
1208
+ id: string;
1209
+ };
1210
+ };
1211
+ output: {
1212
+ error: string;
1213
+ };
1214
+ outputFormat: "json";
1215
+ status: 404;
1216
+ } | {
1217
+ input: {
1218
+ param: {
1219
+ id: string;
1220
+ };
1221
+ };
1222
+ output: {
1223
+ success: true;
1224
+ };
1225
+ outputFormat: "json";
1226
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1227
+ };
1228
+ };
1229
+ } & {
1230
+ "/property-group-members": {
1231
+ $get: {
1232
+ input: {};
1233
+ output: {
1234
+ data: {
1235
+ id: string;
1236
+ groupId: string;
1237
+ propertyId: string;
1238
+ membershipRole: "other" | "member" | "flagship" | "managed" | "franchise";
1239
+ isPrimary: boolean;
1240
+ validFrom: string | null;
1241
+ validTo: string | null;
1242
+ notes: string | null;
1243
+ createdAt: string;
1244
+ updatedAt: string;
1245
+ }[];
1246
+ total: number;
1247
+ limit: number;
1248
+ offset: number;
1249
+ };
1250
+ outputFormat: "json";
1251
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1252
+ };
1253
+ };
1254
+ } & {
1255
+ "/property-group-members": {
1256
+ $post: {
1257
+ input: {};
1258
+ output: {
1259
+ error: string;
1260
+ };
1261
+ outputFormat: "json";
1262
+ status: 404;
1263
+ } | {
1264
+ input: {};
1265
+ output: {
1266
+ data: {
1267
+ isPrimary: boolean;
1268
+ notes: string | null;
1269
+ id: string;
1270
+ createdAt: string;
1271
+ updatedAt: string;
1272
+ validFrom: string | null;
1273
+ validTo: string | null;
1274
+ groupId: string;
1275
+ propertyId: string;
1276
+ membershipRole: "other" | "member" | "flagship" | "managed" | "franchise";
1277
+ };
1278
+ };
1279
+ outputFormat: "json";
1280
+ status: 201;
1281
+ };
1282
+ };
1283
+ } & {
1284
+ "/property-group-members/:id": {
1285
+ $get: {
1286
+ input: {
1287
+ param: {
1288
+ id: string;
1289
+ };
1290
+ };
1291
+ output: {
1292
+ error: string;
1293
+ };
1294
+ outputFormat: "json";
1295
+ status: 404;
1296
+ } | {
1297
+ input: {
1298
+ param: {
1299
+ id: string;
1300
+ };
1301
+ };
1302
+ output: {
1303
+ data: {
1304
+ id: string;
1305
+ groupId: string;
1306
+ propertyId: string;
1307
+ membershipRole: "other" | "member" | "flagship" | "managed" | "franchise";
1308
+ isPrimary: boolean;
1309
+ validFrom: string | null;
1310
+ validTo: string | null;
1311
+ notes: string | null;
1312
+ createdAt: string;
1313
+ updatedAt: string;
1314
+ };
1315
+ };
1316
+ outputFormat: "json";
1317
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1318
+ };
1319
+ };
1320
+ } & {
1321
+ "/property-group-members/:id": {
1322
+ $patch: {
1323
+ input: {
1324
+ param: {
1325
+ id: string;
1326
+ };
1327
+ };
1328
+ output: {
1329
+ error: string;
1330
+ };
1331
+ outputFormat: "json";
1332
+ status: 404;
1333
+ } | {
1334
+ input: {
1335
+ param: {
1336
+ id: string;
1337
+ };
1338
+ };
1339
+ output: {
1340
+ data: {
1341
+ id: string;
1342
+ groupId: string;
1343
+ propertyId: string;
1344
+ membershipRole: "other" | "member" | "flagship" | "managed" | "franchise";
1345
+ isPrimary: boolean;
1346
+ validFrom: string | null;
1347
+ validTo: string | null;
1348
+ notes: string | null;
1349
+ createdAt: string;
1350
+ updatedAt: string;
1351
+ };
1352
+ };
1353
+ outputFormat: "json";
1354
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1355
+ };
1356
+ };
1357
+ } & {
1358
+ "/property-group-members/:id": {
1359
+ $delete: {
1360
+ input: {
1361
+ param: {
1362
+ id: string;
1363
+ };
1364
+ };
1365
+ output: {
1366
+ error: string;
1367
+ };
1368
+ outputFormat: "json";
1369
+ status: 404;
1370
+ } | {
1371
+ input: {
1372
+ param: {
1373
+ id: string;
1374
+ };
1375
+ };
1376
+ output: {
1377
+ success: true;
1378
+ };
1379
+ outputFormat: "json";
1380
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1381
+ };
1382
+ };
1383
+ }, "/", "/property-group-members/:id">;
1384
+ export type FacilitiesRoutes = typeof facilitiesRoutes;
1385
+ export {};
1386
+ //# sourceMappingURL=routes.d.ts.map