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