@voyantjs/pricing 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 (58) hide show
  1. package/dist/routes-core.d.ts +981 -0
  2. package/dist/routes-core.d.ts.map +1 -0
  3. package/dist/routes-core.js +101 -0
  4. package/dist/routes-rules.d.ts +1176 -0
  5. package/dist/routes-rules.d.ts.map +1 -0
  6. package/dist/routes-rules.js +117 -0
  7. package/dist/routes-shared.d.ts +12 -0
  8. package/dist/routes-shared.d.ts.map +1 -0
  9. package/dist/routes-shared.js +3 -0
  10. package/dist/routes.d.ts +3 -2160
  11. package/dist/routes.d.ts.map +1 -1
  12. package/dist/routes.js +5 -354
  13. package/dist/schema-catalogs.d.ts +467 -0
  14. package/dist/schema-catalogs.d.ts.map +1 -0
  15. package/dist/schema-catalogs.js +44 -0
  16. package/dist/schema-categories.d.ts +497 -0
  17. package/dist/schema-categories.d.ts.map +1 -0
  18. package/dist/schema-categories.js +50 -0
  19. package/dist/schema-option-rules.d.ts +1770 -0
  20. package/dist/schema-option-rules.d.ts.map +1 -0
  21. package/dist/schema-option-rules.js +174 -0
  22. package/dist/schema-policies.d.ts +395 -0
  23. package/dist/schema-policies.d.ts.map +1 -0
  24. package/dist/schema-policies.js +38 -0
  25. package/dist/schema-relations.d.ts +55 -0
  26. package/dist/schema-relations.d.ts.map +1 -0
  27. package/dist/schema-relations.js +103 -0
  28. package/dist/schema-shared.d.ts +11 -0
  29. package/dist/schema-shared.d.ts.map +1 -0
  30. package/dist/schema-shared.js +67 -0
  31. package/dist/schema.d.ts +6 -3189
  32. package/dist/schema.d.ts.map +1 -1
  33. package/dist/schema.js +6 -458
  34. package/dist/service-catalogs.d.ts +139 -0
  35. package/dist/service-catalogs.d.ts.map +1 -0
  36. package/dist/service-catalogs.js +89 -0
  37. package/dist/service-categories.d.ts +147 -0
  38. package/dist/service-categories.d.ts.map +1 -0
  39. package/dist/service-categories.js +105 -0
  40. package/dist/service-option-rules.d.ts +307 -0
  41. package/dist/service-option-rules.d.ts.map +1 -0
  42. package/dist/service-option-rules.js +188 -0
  43. package/dist/service-policies.d.ts +123 -0
  44. package/dist/service-policies.d.ts.map +1 -0
  45. package/dist/service-policies.js +95 -0
  46. package/dist/service-shared.d.ts +50 -0
  47. package/dist/service-shared.d.ts.map +1 -0
  48. package/dist/service-shared.js +4 -0
  49. package/dist/service-transfer-rules.d.ts +211 -0
  50. package/dist/service-transfer-rules.d.ts.map +1 -0
  51. package/dist/service-transfer-rules.js +139 -0
  52. package/dist/service.d.ts +70 -955
  53. package/dist/service.d.ts.map +1 -1
  54. package/dist/service.js +70 -595
  55. package/dist/validation.d.ts +2 -0
  56. package/dist/validation.d.ts.map +1 -1
  57. package/dist/validation.js +2 -0
  58. package/package.json +8 -8
@@ -0,0 +1,1176 @@
1
+ import { type Env } from "./routes-shared.js";
2
+ export declare const pricingRuleRoutes: import("hono/hono-base").HonoBase<Env, {
3
+ "/option-price-rules": {
4
+ $get: {
5
+ input: {};
6
+ output: {
7
+ data: {
8
+ id: string;
9
+ productId: string;
10
+ optionId: string;
11
+ priceCatalogId: string;
12
+ priceScheduleId: string | null;
13
+ cancellationPolicyId: string | null;
14
+ code: string | null;
15
+ name: string;
16
+ description: string | null;
17
+ pricingMode: "per_person" | "per_booking" | "starting_from" | "free" | "on_request";
18
+ baseSellAmountCents: number | null;
19
+ baseCostAmountCents: number | null;
20
+ minPerBooking: number | null;
21
+ maxPerBooking: number | null;
22
+ allPricingCategories: boolean;
23
+ isDefault: boolean;
24
+ active: boolean;
25
+ notes: string | null;
26
+ metadata: {
27
+ [x: string]: import("hono/utils/types").JSONValue;
28
+ } | null;
29
+ createdAt: string;
30
+ updatedAt: string;
31
+ }[];
32
+ total: number;
33
+ limit: number;
34
+ offset: number;
35
+ };
36
+ outputFormat: "json";
37
+ status: import("hono/utils/http-status").ContentfulStatusCode;
38
+ };
39
+ };
40
+ } & {
41
+ "/option-price-rules": {
42
+ $post: {
43
+ input: {};
44
+ output: {
45
+ data: {
46
+ id: string;
47
+ name: string;
48
+ code: string | null;
49
+ isDefault: boolean;
50
+ active: boolean;
51
+ notes: string | null;
52
+ metadata: {
53
+ [x: string]: import("hono/utils/types").JSONValue;
54
+ } | null;
55
+ createdAt: string;
56
+ updatedAt: string;
57
+ priceCatalogId: string;
58
+ productId: string;
59
+ optionId: string;
60
+ cancellationPolicyId: string | null;
61
+ priceScheduleId: string | null;
62
+ description: string | null;
63
+ pricingMode: "per_person" | "per_booking" | "starting_from" | "free" | "on_request";
64
+ baseSellAmountCents: number | null;
65
+ baseCostAmountCents: number | null;
66
+ minPerBooking: number | null;
67
+ maxPerBooking: number | null;
68
+ allPricingCategories: boolean;
69
+ } | null;
70
+ };
71
+ outputFormat: "json";
72
+ status: 201;
73
+ };
74
+ };
75
+ } & {
76
+ "/option-price-rules/:id": {
77
+ $get: {
78
+ input: {
79
+ param: {
80
+ id: string;
81
+ };
82
+ };
83
+ output: {
84
+ error: string;
85
+ };
86
+ outputFormat: "json";
87
+ status: 404;
88
+ } | {
89
+ input: {
90
+ param: {
91
+ id: string;
92
+ };
93
+ };
94
+ output: {
95
+ data: {
96
+ id: string;
97
+ productId: string;
98
+ optionId: string;
99
+ priceCatalogId: string;
100
+ priceScheduleId: string | null;
101
+ cancellationPolicyId: string | null;
102
+ code: string | null;
103
+ name: string;
104
+ description: string | null;
105
+ pricingMode: "per_person" | "per_booking" | "starting_from" | "free" | "on_request";
106
+ baseSellAmountCents: number | null;
107
+ baseCostAmountCents: number | null;
108
+ minPerBooking: number | null;
109
+ maxPerBooking: number | null;
110
+ allPricingCategories: boolean;
111
+ isDefault: boolean;
112
+ active: boolean;
113
+ notes: string | null;
114
+ metadata: {
115
+ [x: string]: import("hono/utils/types").JSONValue;
116
+ } | null;
117
+ createdAt: string;
118
+ updatedAt: string;
119
+ };
120
+ };
121
+ outputFormat: "json";
122
+ status: import("hono/utils/http-status").ContentfulStatusCode;
123
+ };
124
+ };
125
+ } & {
126
+ "/option-price-rules/:id": {
127
+ $patch: {
128
+ input: {
129
+ param: {
130
+ id: string;
131
+ };
132
+ };
133
+ output: {
134
+ error: string;
135
+ };
136
+ outputFormat: "json";
137
+ status: 404;
138
+ } | {
139
+ input: {
140
+ param: {
141
+ id: string;
142
+ };
143
+ };
144
+ output: {
145
+ data: {
146
+ id: string;
147
+ productId: string;
148
+ optionId: string;
149
+ priceCatalogId: string;
150
+ priceScheduleId: string | null;
151
+ cancellationPolicyId: string | null;
152
+ code: string | null;
153
+ name: string;
154
+ description: string | null;
155
+ pricingMode: "per_person" | "per_booking" | "starting_from" | "free" | "on_request";
156
+ baseSellAmountCents: number | null;
157
+ baseCostAmountCents: number | null;
158
+ minPerBooking: number | null;
159
+ maxPerBooking: number | null;
160
+ allPricingCategories: boolean;
161
+ isDefault: boolean;
162
+ active: boolean;
163
+ notes: string | null;
164
+ metadata: {
165
+ [x: string]: import("hono/utils/types").JSONValue;
166
+ } | null;
167
+ createdAt: string;
168
+ updatedAt: string;
169
+ };
170
+ };
171
+ outputFormat: "json";
172
+ status: import("hono/utils/http-status").ContentfulStatusCode;
173
+ };
174
+ };
175
+ } & {
176
+ "/option-price-rules/:id": {
177
+ $delete: {
178
+ input: {
179
+ param: {
180
+ id: string;
181
+ };
182
+ };
183
+ output: {
184
+ error: string;
185
+ };
186
+ outputFormat: "json";
187
+ status: 404;
188
+ } | {
189
+ input: {
190
+ param: {
191
+ id: string;
192
+ };
193
+ };
194
+ output: {
195
+ success: true;
196
+ };
197
+ outputFormat: "json";
198
+ status: import("hono/utils/http-status").ContentfulStatusCode;
199
+ };
200
+ };
201
+ } & {
202
+ "/option-unit-price-rules": {
203
+ $get: {
204
+ input: {};
205
+ output: {
206
+ data: {
207
+ id: string;
208
+ optionPriceRuleId: string;
209
+ optionId: string;
210
+ unitId: string;
211
+ pricingCategoryId: string | null;
212
+ pricingMode: "per_person" | "per_booking" | "free" | "on_request" | "per_unit" | "included";
213
+ sellAmountCents: number | null;
214
+ costAmountCents: number | null;
215
+ minQuantity: number | null;
216
+ maxQuantity: number | null;
217
+ active: boolean;
218
+ sortOrder: number;
219
+ notes: string | null;
220
+ metadata: {
221
+ [x: string]: import("hono/utils/types").JSONValue;
222
+ } | null;
223
+ createdAt: string;
224
+ updatedAt: string;
225
+ }[];
226
+ total: number;
227
+ limit: number;
228
+ offset: number;
229
+ };
230
+ outputFormat: "json";
231
+ status: import("hono/utils/http-status").ContentfulStatusCode;
232
+ };
233
+ };
234
+ } & {
235
+ "/option-unit-price-rules": {
236
+ $post: {
237
+ input: {};
238
+ output: {
239
+ data: {
240
+ id: string;
241
+ active: boolean;
242
+ notes: string | null;
243
+ metadata: {
244
+ [x: string]: import("hono/utils/types").JSONValue;
245
+ } | null;
246
+ createdAt: string;
247
+ updatedAt: string;
248
+ optionId: string;
249
+ unitId: string;
250
+ sortOrder: number;
251
+ pricingCategoryId: string | null;
252
+ pricingMode: "per_person" | "per_booking" | "free" | "on_request" | "per_unit" | "included";
253
+ optionPriceRuleId: string;
254
+ sellAmountCents: number | null;
255
+ costAmountCents: number | null;
256
+ minQuantity: number | null;
257
+ maxQuantity: number | null;
258
+ } | null;
259
+ };
260
+ outputFormat: "json";
261
+ status: 201;
262
+ };
263
+ };
264
+ } & {
265
+ "/option-unit-price-rules/:id": {
266
+ $get: {
267
+ input: {
268
+ param: {
269
+ id: string;
270
+ };
271
+ };
272
+ output: {
273
+ error: string;
274
+ };
275
+ outputFormat: "json";
276
+ status: 404;
277
+ } | {
278
+ input: {
279
+ param: {
280
+ id: string;
281
+ };
282
+ };
283
+ output: {
284
+ data: {
285
+ id: string;
286
+ optionPriceRuleId: string;
287
+ optionId: string;
288
+ unitId: string;
289
+ pricingCategoryId: string | null;
290
+ pricingMode: "per_person" | "per_booking" | "free" | "on_request" | "per_unit" | "included";
291
+ sellAmountCents: number | null;
292
+ costAmountCents: number | null;
293
+ minQuantity: number | null;
294
+ maxQuantity: number | null;
295
+ active: boolean;
296
+ sortOrder: number;
297
+ notes: string | null;
298
+ metadata: {
299
+ [x: string]: import("hono/utils/types").JSONValue;
300
+ } | null;
301
+ createdAt: string;
302
+ updatedAt: string;
303
+ };
304
+ };
305
+ outputFormat: "json";
306
+ status: import("hono/utils/http-status").ContentfulStatusCode;
307
+ };
308
+ };
309
+ } & {
310
+ "/option-unit-price-rules/:id": {
311
+ $patch: {
312
+ input: {
313
+ param: {
314
+ id: string;
315
+ };
316
+ };
317
+ output: {
318
+ error: string;
319
+ };
320
+ outputFormat: "json";
321
+ status: 404;
322
+ } | {
323
+ input: {
324
+ param: {
325
+ id: string;
326
+ };
327
+ };
328
+ output: {
329
+ data: {
330
+ id: string;
331
+ optionPriceRuleId: string;
332
+ optionId: string;
333
+ unitId: string;
334
+ pricingCategoryId: string | null;
335
+ pricingMode: "per_person" | "per_booking" | "free" | "on_request" | "per_unit" | "included";
336
+ sellAmountCents: number | null;
337
+ costAmountCents: number | null;
338
+ minQuantity: number | null;
339
+ maxQuantity: number | null;
340
+ active: boolean;
341
+ sortOrder: number;
342
+ notes: string | null;
343
+ metadata: {
344
+ [x: string]: import("hono/utils/types").JSONValue;
345
+ } | null;
346
+ createdAt: string;
347
+ updatedAt: string;
348
+ };
349
+ };
350
+ outputFormat: "json";
351
+ status: import("hono/utils/http-status").ContentfulStatusCode;
352
+ };
353
+ };
354
+ } & {
355
+ "/option-unit-price-rules/:id": {
356
+ $delete: {
357
+ input: {
358
+ param: {
359
+ id: string;
360
+ };
361
+ };
362
+ output: {
363
+ error: string;
364
+ };
365
+ outputFormat: "json";
366
+ status: 404;
367
+ } | {
368
+ input: {
369
+ param: {
370
+ id: string;
371
+ };
372
+ };
373
+ output: {
374
+ success: true;
375
+ };
376
+ outputFormat: "json";
377
+ status: import("hono/utils/http-status").ContentfulStatusCode;
378
+ };
379
+ };
380
+ } & {
381
+ "/option-start-time-rules": {
382
+ $get: {
383
+ input: {};
384
+ output: {
385
+ data: {
386
+ id: string;
387
+ optionPriceRuleId: string;
388
+ optionId: string;
389
+ startTimeId: string;
390
+ ruleMode: "included" | "excluded" | "override" | "adjustment";
391
+ adjustmentType: "fixed" | "percentage" | null;
392
+ sellAdjustmentCents: number | null;
393
+ costAdjustmentCents: number | null;
394
+ adjustmentBasisPoints: number | null;
395
+ active: boolean;
396
+ notes: string | null;
397
+ createdAt: string;
398
+ updatedAt: string;
399
+ }[];
400
+ total: number;
401
+ limit: number;
402
+ offset: number;
403
+ };
404
+ outputFormat: "json";
405
+ status: import("hono/utils/http-status").ContentfulStatusCode;
406
+ };
407
+ };
408
+ } & {
409
+ "/option-start-time-rules": {
410
+ $post: {
411
+ input: {};
412
+ output: {
413
+ data: {
414
+ id: string;
415
+ active: boolean;
416
+ notes: string | null;
417
+ createdAt: string;
418
+ updatedAt: string;
419
+ optionId: string;
420
+ optionPriceRuleId: string;
421
+ startTimeId: string;
422
+ ruleMode: "included" | "excluded" | "override" | "adjustment";
423
+ adjustmentType: "fixed" | "percentage" | null;
424
+ sellAdjustmentCents: number | null;
425
+ costAdjustmentCents: number | null;
426
+ adjustmentBasisPoints: number | null;
427
+ } | null;
428
+ };
429
+ outputFormat: "json";
430
+ status: 201;
431
+ };
432
+ };
433
+ } & {
434
+ "/option-start-time-rules/:id": {
435
+ $get: {
436
+ input: {
437
+ param: {
438
+ id: string;
439
+ };
440
+ };
441
+ output: {
442
+ error: string;
443
+ };
444
+ outputFormat: "json";
445
+ status: 404;
446
+ } | {
447
+ input: {
448
+ param: {
449
+ id: string;
450
+ };
451
+ };
452
+ output: {
453
+ data: {
454
+ id: string;
455
+ optionPriceRuleId: string;
456
+ optionId: string;
457
+ startTimeId: string;
458
+ ruleMode: "included" | "excluded" | "override" | "adjustment";
459
+ adjustmentType: "fixed" | "percentage" | null;
460
+ sellAdjustmentCents: number | null;
461
+ costAdjustmentCents: number | null;
462
+ adjustmentBasisPoints: number | null;
463
+ active: boolean;
464
+ notes: string | null;
465
+ createdAt: string;
466
+ updatedAt: string;
467
+ };
468
+ };
469
+ outputFormat: "json";
470
+ status: import("hono/utils/http-status").ContentfulStatusCode;
471
+ };
472
+ };
473
+ } & {
474
+ "/option-start-time-rules/:id": {
475
+ $patch: {
476
+ input: {
477
+ param: {
478
+ id: string;
479
+ };
480
+ };
481
+ output: {
482
+ error: string;
483
+ };
484
+ outputFormat: "json";
485
+ status: 404;
486
+ } | {
487
+ input: {
488
+ param: {
489
+ id: string;
490
+ };
491
+ };
492
+ output: {
493
+ data: {
494
+ id: string;
495
+ optionPriceRuleId: string;
496
+ optionId: string;
497
+ startTimeId: string;
498
+ ruleMode: "included" | "excluded" | "override" | "adjustment";
499
+ adjustmentType: "fixed" | "percentage" | null;
500
+ sellAdjustmentCents: number | null;
501
+ costAdjustmentCents: number | null;
502
+ adjustmentBasisPoints: number | null;
503
+ active: boolean;
504
+ notes: string | null;
505
+ createdAt: string;
506
+ updatedAt: string;
507
+ };
508
+ };
509
+ outputFormat: "json";
510
+ status: import("hono/utils/http-status").ContentfulStatusCode;
511
+ };
512
+ };
513
+ } & {
514
+ "/option-start-time-rules/:id": {
515
+ $delete: {
516
+ input: {
517
+ param: {
518
+ id: string;
519
+ };
520
+ };
521
+ output: {
522
+ error: string;
523
+ };
524
+ outputFormat: "json";
525
+ status: 404;
526
+ } | {
527
+ input: {
528
+ param: {
529
+ id: string;
530
+ };
531
+ };
532
+ output: {
533
+ success: true;
534
+ };
535
+ outputFormat: "json";
536
+ status: import("hono/utils/http-status").ContentfulStatusCode;
537
+ };
538
+ };
539
+ } & {
540
+ "/option-unit-tiers": {
541
+ $get: {
542
+ input: {};
543
+ output: {
544
+ data: {
545
+ id: string;
546
+ optionUnitPriceRuleId: string;
547
+ minQuantity: number;
548
+ maxQuantity: number | null;
549
+ sellAmountCents: number | null;
550
+ costAmountCents: number | null;
551
+ active: boolean;
552
+ sortOrder: number;
553
+ createdAt: string;
554
+ updatedAt: string;
555
+ }[];
556
+ total: number;
557
+ limit: number;
558
+ offset: number;
559
+ };
560
+ outputFormat: "json";
561
+ status: import("hono/utils/http-status").ContentfulStatusCode;
562
+ };
563
+ };
564
+ } & {
565
+ "/option-unit-tiers": {
566
+ $post: {
567
+ input: {};
568
+ output: {
569
+ data: {
570
+ id: string;
571
+ active: boolean;
572
+ createdAt: string;
573
+ updatedAt: string;
574
+ sortOrder: number;
575
+ sellAmountCents: number | null;
576
+ costAmountCents: number | null;
577
+ minQuantity: number;
578
+ maxQuantity: number | null;
579
+ optionUnitPriceRuleId: string;
580
+ } | null;
581
+ };
582
+ outputFormat: "json";
583
+ status: 201;
584
+ };
585
+ };
586
+ } & {
587
+ "/option-unit-tiers/:id": {
588
+ $get: {
589
+ input: {
590
+ param: {
591
+ id: string;
592
+ };
593
+ };
594
+ output: {
595
+ error: string;
596
+ };
597
+ outputFormat: "json";
598
+ status: 404;
599
+ } | {
600
+ input: {
601
+ param: {
602
+ id: string;
603
+ };
604
+ };
605
+ output: {
606
+ data: {
607
+ id: string;
608
+ optionUnitPriceRuleId: string;
609
+ minQuantity: number;
610
+ maxQuantity: number | null;
611
+ sellAmountCents: number | null;
612
+ costAmountCents: number | null;
613
+ active: boolean;
614
+ sortOrder: number;
615
+ createdAt: string;
616
+ updatedAt: string;
617
+ };
618
+ };
619
+ outputFormat: "json";
620
+ status: import("hono/utils/http-status").ContentfulStatusCode;
621
+ };
622
+ };
623
+ } & {
624
+ "/option-unit-tiers/:id": {
625
+ $patch: {
626
+ input: {
627
+ param: {
628
+ id: string;
629
+ };
630
+ };
631
+ output: {
632
+ error: string;
633
+ };
634
+ outputFormat: "json";
635
+ status: 404;
636
+ } | {
637
+ input: {
638
+ param: {
639
+ id: string;
640
+ };
641
+ };
642
+ output: {
643
+ data: {
644
+ id: string;
645
+ optionUnitPriceRuleId: string;
646
+ minQuantity: number;
647
+ maxQuantity: number | null;
648
+ sellAmountCents: number | null;
649
+ costAmountCents: number | null;
650
+ active: boolean;
651
+ sortOrder: number;
652
+ createdAt: string;
653
+ updatedAt: string;
654
+ };
655
+ };
656
+ outputFormat: "json";
657
+ status: import("hono/utils/http-status").ContentfulStatusCode;
658
+ };
659
+ };
660
+ } & {
661
+ "/option-unit-tiers/:id": {
662
+ $delete: {
663
+ input: {
664
+ param: {
665
+ id: string;
666
+ };
667
+ };
668
+ output: {
669
+ error: string;
670
+ };
671
+ outputFormat: "json";
672
+ status: 404;
673
+ } | {
674
+ input: {
675
+ param: {
676
+ id: string;
677
+ };
678
+ };
679
+ output: {
680
+ success: true;
681
+ };
682
+ outputFormat: "json";
683
+ status: import("hono/utils/http-status").ContentfulStatusCode;
684
+ };
685
+ };
686
+ } & {
687
+ "/pickup-price-rules": {
688
+ $get: {
689
+ input: {};
690
+ output: {
691
+ data: {
692
+ id: string;
693
+ optionPriceRuleId: string;
694
+ optionId: string;
695
+ pickupPointId: string;
696
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
697
+ sellAmountCents: number | null;
698
+ costAmountCents: number | null;
699
+ active: boolean;
700
+ sortOrder: number;
701
+ notes: string | null;
702
+ createdAt: string;
703
+ updatedAt: string;
704
+ }[];
705
+ total: number;
706
+ limit: number;
707
+ offset: number;
708
+ };
709
+ outputFormat: "json";
710
+ status: import("hono/utils/http-status").ContentfulStatusCode;
711
+ };
712
+ };
713
+ } & {
714
+ "/pickup-price-rules": {
715
+ $post: {
716
+ input: {};
717
+ output: {
718
+ data: {
719
+ id: string;
720
+ active: boolean;
721
+ notes: string | null;
722
+ createdAt: string;
723
+ updatedAt: string;
724
+ optionId: string;
725
+ sortOrder: number;
726
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
727
+ optionPriceRuleId: string;
728
+ sellAmountCents: number | null;
729
+ costAmountCents: number | null;
730
+ pickupPointId: string;
731
+ } | null;
732
+ };
733
+ outputFormat: "json";
734
+ status: 201;
735
+ };
736
+ };
737
+ } & {
738
+ "/pickup-price-rules/:id": {
739
+ $get: {
740
+ input: {
741
+ param: {
742
+ id: string;
743
+ };
744
+ };
745
+ output: {
746
+ error: string;
747
+ };
748
+ outputFormat: "json";
749
+ status: 404;
750
+ } | {
751
+ input: {
752
+ param: {
753
+ id: string;
754
+ };
755
+ };
756
+ output: {
757
+ data: {
758
+ id: string;
759
+ optionPriceRuleId: string;
760
+ optionId: string;
761
+ pickupPointId: string;
762
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
763
+ sellAmountCents: number | null;
764
+ costAmountCents: number | null;
765
+ active: boolean;
766
+ sortOrder: number;
767
+ notes: string | null;
768
+ createdAt: string;
769
+ updatedAt: string;
770
+ };
771
+ };
772
+ outputFormat: "json";
773
+ status: import("hono/utils/http-status").ContentfulStatusCode;
774
+ };
775
+ };
776
+ } & {
777
+ "/pickup-price-rules/:id": {
778
+ $patch: {
779
+ input: {
780
+ param: {
781
+ id: string;
782
+ };
783
+ };
784
+ output: {
785
+ error: string;
786
+ };
787
+ outputFormat: "json";
788
+ status: 404;
789
+ } | {
790
+ input: {
791
+ param: {
792
+ id: string;
793
+ };
794
+ };
795
+ output: {
796
+ data: {
797
+ id: string;
798
+ optionPriceRuleId: string;
799
+ optionId: string;
800
+ pickupPointId: string;
801
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
802
+ sellAmountCents: number | null;
803
+ costAmountCents: number | null;
804
+ active: boolean;
805
+ sortOrder: number;
806
+ notes: string | null;
807
+ createdAt: string;
808
+ updatedAt: string;
809
+ };
810
+ };
811
+ outputFormat: "json";
812
+ status: import("hono/utils/http-status").ContentfulStatusCode;
813
+ };
814
+ };
815
+ } & {
816
+ "/pickup-price-rules/:id": {
817
+ $delete: {
818
+ input: {
819
+ param: {
820
+ id: string;
821
+ };
822
+ };
823
+ output: {
824
+ error: string;
825
+ };
826
+ outputFormat: "json";
827
+ status: 404;
828
+ } | {
829
+ input: {
830
+ param: {
831
+ id: string;
832
+ };
833
+ };
834
+ output: {
835
+ success: true;
836
+ };
837
+ outputFormat: "json";
838
+ status: import("hono/utils/http-status").ContentfulStatusCode;
839
+ };
840
+ };
841
+ } & {
842
+ "/dropoff-price-rules": {
843
+ $get: {
844
+ input: {};
845
+ output: {
846
+ data: {
847
+ id: string;
848
+ optionPriceRuleId: string;
849
+ optionId: string;
850
+ facilityId: string | null;
851
+ dropoffCode: string | null;
852
+ dropoffName: string;
853
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
854
+ sellAmountCents: number | null;
855
+ costAmountCents: number | null;
856
+ active: boolean;
857
+ sortOrder: number;
858
+ notes: string | null;
859
+ createdAt: string;
860
+ updatedAt: string;
861
+ }[];
862
+ total: number;
863
+ limit: number;
864
+ offset: number;
865
+ };
866
+ outputFormat: "json";
867
+ status: import("hono/utils/http-status").ContentfulStatusCode;
868
+ };
869
+ };
870
+ } & {
871
+ "/dropoff-price-rules": {
872
+ $post: {
873
+ input: {};
874
+ output: {
875
+ data: {
876
+ id: string;
877
+ active: boolean;
878
+ notes: string | null;
879
+ createdAt: string;
880
+ updatedAt: string;
881
+ optionId: string;
882
+ sortOrder: number;
883
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
884
+ optionPriceRuleId: string;
885
+ sellAmountCents: number | null;
886
+ costAmountCents: number | null;
887
+ facilityId: string | null;
888
+ dropoffCode: string | null;
889
+ dropoffName: string;
890
+ } | null;
891
+ };
892
+ outputFormat: "json";
893
+ status: 201;
894
+ };
895
+ };
896
+ } & {
897
+ "/dropoff-price-rules/:id": {
898
+ $get: {
899
+ input: {
900
+ param: {
901
+ id: string;
902
+ };
903
+ };
904
+ output: {
905
+ error: string;
906
+ };
907
+ outputFormat: "json";
908
+ status: 404;
909
+ } | {
910
+ input: {
911
+ param: {
912
+ id: string;
913
+ };
914
+ };
915
+ output: {
916
+ data: {
917
+ id: string;
918
+ optionPriceRuleId: string;
919
+ optionId: string;
920
+ facilityId: string | null;
921
+ dropoffCode: string | null;
922
+ dropoffName: string;
923
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
924
+ sellAmountCents: number | null;
925
+ costAmountCents: number | null;
926
+ active: boolean;
927
+ sortOrder: number;
928
+ notes: string | null;
929
+ createdAt: string;
930
+ updatedAt: string;
931
+ };
932
+ };
933
+ outputFormat: "json";
934
+ status: import("hono/utils/http-status").ContentfulStatusCode;
935
+ };
936
+ };
937
+ } & {
938
+ "/dropoff-price-rules/:id": {
939
+ $patch: {
940
+ input: {
941
+ param: {
942
+ id: string;
943
+ };
944
+ };
945
+ output: {
946
+ error: string;
947
+ };
948
+ outputFormat: "json";
949
+ status: 404;
950
+ } | {
951
+ input: {
952
+ param: {
953
+ id: string;
954
+ };
955
+ };
956
+ output: {
957
+ data: {
958
+ id: string;
959
+ optionPriceRuleId: string;
960
+ optionId: string;
961
+ facilityId: string | null;
962
+ dropoffCode: string | null;
963
+ dropoffName: string;
964
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
965
+ sellAmountCents: number | null;
966
+ costAmountCents: number | null;
967
+ active: boolean;
968
+ sortOrder: number;
969
+ notes: string | null;
970
+ createdAt: string;
971
+ updatedAt: string;
972
+ };
973
+ };
974
+ outputFormat: "json";
975
+ status: import("hono/utils/http-status").ContentfulStatusCode;
976
+ };
977
+ };
978
+ } & {
979
+ "/dropoff-price-rules/:id": {
980
+ $delete: {
981
+ input: {
982
+ param: {
983
+ id: string;
984
+ };
985
+ };
986
+ output: {
987
+ error: string;
988
+ };
989
+ outputFormat: "json";
990
+ status: 404;
991
+ } | {
992
+ input: {
993
+ param: {
994
+ id: string;
995
+ };
996
+ };
997
+ output: {
998
+ success: true;
999
+ };
1000
+ outputFormat: "json";
1001
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1002
+ };
1003
+ };
1004
+ } & {
1005
+ "/extra-price-rules": {
1006
+ $get: {
1007
+ input: {};
1008
+ output: {
1009
+ data: {
1010
+ id: string;
1011
+ optionPriceRuleId: string;
1012
+ optionId: string;
1013
+ productExtraId: string | null;
1014
+ optionExtraConfigId: string | null;
1015
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
1016
+ sellAmountCents: number | null;
1017
+ costAmountCents: number | null;
1018
+ active: boolean;
1019
+ sortOrder: number;
1020
+ notes: string | null;
1021
+ metadata: {
1022
+ [x: string]: import("hono/utils/types").JSONValue;
1023
+ } | null;
1024
+ createdAt: string;
1025
+ updatedAt: string;
1026
+ }[];
1027
+ total: number;
1028
+ limit: number;
1029
+ offset: number;
1030
+ };
1031
+ outputFormat: "json";
1032
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1033
+ };
1034
+ };
1035
+ } & {
1036
+ "/extra-price-rules": {
1037
+ $post: {
1038
+ input: {};
1039
+ output: {
1040
+ data: {
1041
+ id: string;
1042
+ active: boolean;
1043
+ notes: string | null;
1044
+ metadata: {
1045
+ [x: string]: import("hono/utils/types").JSONValue;
1046
+ } | null;
1047
+ createdAt: string;
1048
+ updatedAt: string;
1049
+ optionId: string;
1050
+ sortOrder: number;
1051
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
1052
+ optionPriceRuleId: string;
1053
+ sellAmountCents: number | null;
1054
+ costAmountCents: number | null;
1055
+ productExtraId: string | null;
1056
+ optionExtraConfigId: string | null;
1057
+ } | null;
1058
+ };
1059
+ outputFormat: "json";
1060
+ status: 201;
1061
+ };
1062
+ };
1063
+ } & {
1064
+ "/extra-price-rules/:id": {
1065
+ $get: {
1066
+ input: {
1067
+ param: {
1068
+ id: string;
1069
+ };
1070
+ };
1071
+ output: {
1072
+ error: string;
1073
+ };
1074
+ outputFormat: "json";
1075
+ status: 404;
1076
+ } | {
1077
+ input: {
1078
+ param: {
1079
+ id: string;
1080
+ };
1081
+ };
1082
+ output: {
1083
+ data: {
1084
+ id: string;
1085
+ optionPriceRuleId: string;
1086
+ optionId: string;
1087
+ productExtraId: string | null;
1088
+ optionExtraConfigId: string | null;
1089
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
1090
+ sellAmountCents: number | null;
1091
+ costAmountCents: number | null;
1092
+ active: boolean;
1093
+ sortOrder: number;
1094
+ notes: string | null;
1095
+ metadata: {
1096
+ [x: string]: import("hono/utils/types").JSONValue;
1097
+ } | null;
1098
+ createdAt: string;
1099
+ updatedAt: string;
1100
+ };
1101
+ };
1102
+ outputFormat: "json";
1103
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1104
+ };
1105
+ };
1106
+ } & {
1107
+ "/extra-price-rules/:id": {
1108
+ $patch: {
1109
+ input: {
1110
+ param: {
1111
+ id: string;
1112
+ };
1113
+ };
1114
+ output: {
1115
+ error: string;
1116
+ };
1117
+ outputFormat: "json";
1118
+ status: 404;
1119
+ } | {
1120
+ input: {
1121
+ param: {
1122
+ id: string;
1123
+ };
1124
+ };
1125
+ output: {
1126
+ data: {
1127
+ id: string;
1128
+ optionPriceRuleId: string;
1129
+ optionId: string;
1130
+ productExtraId: string | null;
1131
+ optionExtraConfigId: string | null;
1132
+ pricingMode: "per_person" | "per_booking" | "on_request" | "included" | "unavailable";
1133
+ sellAmountCents: number | null;
1134
+ costAmountCents: number | null;
1135
+ active: boolean;
1136
+ sortOrder: number;
1137
+ notes: string | null;
1138
+ metadata: {
1139
+ [x: string]: import("hono/utils/types").JSONValue;
1140
+ } | null;
1141
+ createdAt: string;
1142
+ updatedAt: string;
1143
+ };
1144
+ };
1145
+ outputFormat: "json";
1146
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1147
+ };
1148
+ };
1149
+ } & {
1150
+ "/extra-price-rules/:id": {
1151
+ $delete: {
1152
+ input: {
1153
+ param: {
1154
+ id: string;
1155
+ };
1156
+ };
1157
+ output: {
1158
+ error: string;
1159
+ };
1160
+ outputFormat: "json";
1161
+ status: 404;
1162
+ } | {
1163
+ input: {
1164
+ param: {
1165
+ id: string;
1166
+ };
1167
+ };
1168
+ output: {
1169
+ success: true;
1170
+ };
1171
+ outputFormat: "json";
1172
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1173
+ };
1174
+ };
1175
+ }, "/", "/extra-price-rules/:id">;
1176
+ //# sourceMappingURL=routes-rules.d.ts.map