@honeyfield/rent2b-mcp 1.2.0 → 1.2.2

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 (52) hide show
  1. package/dist/api-client.js +14 -5
  2. package/dist/api-client.js.map +1 -1
  3. package/dist/api-client.test.d.ts +1 -0
  4. package/dist/api-client.test.js +41 -0
  5. package/dist/api-client.test.js.map +1 -0
  6. package/dist/auth/authorize-page.d.ts +18 -0
  7. package/dist/auth/authorize-page.js +60 -0
  8. package/dist/auth/authorize-page.js.map +1 -0
  9. package/dist/auth/authorize-page.test.d.ts +1 -0
  10. package/dist/auth/authorize-page.test.js +37 -0
  11. package/dist/auth/authorize-page.test.js.map +1 -0
  12. package/dist/auth/http-oauth.d.ts +28 -0
  13. package/dist/auth/http-oauth.js +93 -0
  14. package/dist/auth/http-oauth.js.map +1 -0
  15. package/dist/auth/oauth-config.d.ts +6 -0
  16. package/dist/auth/oauth-config.js +16 -0
  17. package/dist/auth/oauth-config.js.map +1 -0
  18. package/dist/auth/oauth-config.test.d.ts +1 -0
  19. package/dist/auth/oauth-config.test.js +25 -0
  20. package/dist/auth/oauth-config.test.js.map +1 -0
  21. package/dist/auth/provider.d.ts +28 -0
  22. package/dist/auth/provider.js +127 -0
  23. package/dist/auth/provider.js.map +1 -0
  24. package/dist/auth/provider.test.d.ts +1 -0
  25. package/dist/auth/provider.test.js +80 -0
  26. package/dist/auth/provider.test.js.map +1 -0
  27. package/dist/auth/stores.d.ts +41 -0
  28. package/dist/auth/stores.js +82 -0
  29. package/dist/auth/stores.js.map +1 -0
  30. package/dist/auth/stores.test.d.ts +1 -0
  31. package/dist/auth/stores.test.js +41 -0
  32. package/dist/auth/stores.test.js.map +1 -0
  33. package/dist/auth/token-crypto.d.ts +14 -0
  34. package/dist/auth/token-crypto.js +50 -0
  35. package/dist/auth/token-crypto.js.map +1 -0
  36. package/dist/auth/token-crypto.test.d.ts +1 -0
  37. package/dist/auth/token-crypto.test.js +40 -0
  38. package/dist/auth/token-crypto.test.js.map +1 -0
  39. package/dist/config.d.ts +6 -0
  40. package/dist/config.js.map +1 -1
  41. package/dist/generator/openapi-parser.js +21 -0
  42. package/dist/generator/openapi-parser.js.map +1 -1
  43. package/dist/generator/tool-generator.js +19 -1
  44. package/dist/generator/tool-generator.js.map +1 -1
  45. package/dist/generator/tool-generator.test.d.ts +1 -0
  46. package/dist/generator/tool-generator.test.js +35 -0
  47. package/dist/generator/tool-generator.test.js.map +1 -0
  48. package/dist/index.js +91 -60
  49. package/dist/index.js.map +1 -1
  50. package/dist/overrides/tool-overrides.json +60 -0
  51. package/generated/tools.json +1395 -215
  52. package/package.json +8 -3
@@ -61,6 +61,10 @@
61
61
  "type": "string",
62
62
  "description": "The organization ID this room belongs to"
63
63
  },
64
+ "location_id": {
65
+ "type": "string",
66
+ "description": "The location ID this room belongs to"
67
+ },
64
68
  "default_price_per_night": {
65
69
  "type": "number",
66
70
  "description": "Default price per night for room rentals"
@@ -96,6 +100,14 @@
96
100
  "is_active": {
97
101
  "type": "boolean",
98
102
  "description": "Whether this room is active"
103
+ },
104
+ "price_input_type": {
105
+ "type": "string",
106
+ "description": "Whether the submitted prices are gross (inkl. MwSt.) or net (exkl. MwSt.). When gross, the backend converts to net using the organization VAT rate before storing.",
107
+ "enum": [
108
+ "gross",
109
+ "net"
110
+ ]
99
111
  }
100
112
  },
101
113
  "required": [
@@ -260,6 +272,10 @@
260
272
  "type": "string",
261
273
  "description": "The organization ID this room belongs to"
262
274
  },
275
+ "location_id": {
276
+ "type": "string",
277
+ "description": "The location ID this room belongs to"
278
+ },
263
279
  "default_price_per_night": {
264
280
  "type": "number",
265
281
  "description": "Default price per night for room rentals"
@@ -295,6 +311,14 @@
295
311
  "is_active": {
296
312
  "type": "boolean",
297
313
  "description": "Whether this room is active"
314
+ },
315
+ "price_input_type": {
316
+ "type": "string",
317
+ "description": "Whether the submitted prices are gross (inkl. MwSt.) or net (exkl. MwSt.). When gross, the backend converts to net using the organization VAT rate before storing.",
318
+ "enum": [
319
+ "gross",
320
+ "net"
321
+ ]
298
322
  }
299
323
  },
300
324
  "required": [
@@ -320,24 +344,6 @@
320
344
  ]
321
345
  }
322
346
  },
323
- {
324
- "name": "rent2b_rooms_images_create",
325
- "description": "Upload images for a room",
326
- "method": "POST",
327
- "path": "/rooms/{id}/images",
328
- "inputSchema": {
329
- "type": "object",
330
- "properties": {
331
- "id": {
332
- "type": "string",
333
- "description": "id parameter"
334
- }
335
- },
336
- "required": [
337
- "id"
338
- ]
339
- }
340
- },
341
347
  {
342
348
  "name": "rent2b_rooms_images_list",
343
349
  "description": "Get all images for a room",
@@ -475,7 +481,7 @@
475
481
  },
476
482
  "description": {
477
483
  "type": "string",
478
- "description": "Description of the item"
484
+ "description": "Description of the item (sanitized HTML; allows bold, italic, underline, lists, links, h2/h3)"
479
485
  },
480
486
  "image": {
481
487
  "type": "string",
@@ -528,6 +534,18 @@
528
534
  "public_booking_enabled": {
529
535
  "type": "boolean",
530
536
  "description": "Whether this item can be booked by the public"
537
+ },
538
+ "price_input_type": {
539
+ "type": "string",
540
+ "description": "Whether the submitted prices are gross (inkl. MwSt.) or net (exkl. MwSt.). When gross, the backend converts to net using the organization VAT rate before storing.",
541
+ "enum": [
542
+ "gross",
543
+ "net"
544
+ ]
545
+ },
546
+ "is_addon": {
547
+ "type": "boolean",
548
+ "description": "When true, this item is offered as a per-day add-on during the booking flow (e.g. helmet rented alongside a bike) and is hidden from the main inventory listings. Only the per-day price is used; hourly pricing is ignored for add-on items."
531
549
  }
532
550
  },
533
551
  "required": [
@@ -577,6 +595,10 @@
577
595
  "radius": {
578
596
  "type": "number",
579
597
  "description": "Search radius in meters (max 500000)"
598
+ },
599
+ "addon_filter": {
600
+ "type": "string",
601
+ "description": "Controls how add-on items are returned: \"exclude\" (default) hides items with is_addon=true, \"include\" returns both regular items and add-ons, \"only\" returns add-on items only (used by the add-on management UI)."
580
602
  }
581
603
  },
582
604
  "required": []
@@ -621,6 +643,10 @@
621
643
  "radius": {
622
644
  "type": "number",
623
645
  "description": "Search radius in meters (max 500000)"
646
+ },
647
+ "addon_filter": {
648
+ "type": "string",
649
+ "description": "Controls how add-on items are returned: \"exclude\" (default) hides items with is_addon=true, \"include\" returns both regular items and add-ons, \"only\" returns add-on items only (used by the add-on management UI)."
624
650
  }
625
651
  },
626
652
  "required": []
@@ -669,6 +695,10 @@
669
695
  "radius": {
670
696
  "type": "number",
671
697
  "description": "Search radius in meters (max 500000)"
698
+ },
699
+ "addon_filter": {
700
+ "type": "string",
701
+ "description": "Controls how add-on items are returned: \"exclude\" (default) hides items with is_addon=true, \"include\" returns both regular items and add-ons, \"only\" returns add-on items only (used by the add-on management UI)."
672
702
  }
673
703
  },
674
704
  "required": [
@@ -712,7 +742,7 @@
712
742
  },
713
743
  "description": {
714
744
  "type": "string",
715
- "description": "Description of the item"
745
+ "description": "Description of the item (sanitized HTML; allows bold, italic, underline, lists, links, h2/h3)"
716
746
  },
717
747
  "image": {
718
748
  "type": "string",
@@ -765,6 +795,18 @@
765
795
  "public_booking_enabled": {
766
796
  "type": "boolean",
767
797
  "description": "Whether this item can be booked by the public"
798
+ },
799
+ "price_input_type": {
800
+ "type": "string",
801
+ "description": "Whether the submitted prices are gross (inkl. MwSt.) or net (exkl. MwSt.). When gross, the backend converts to net using the organization VAT rate before storing.",
802
+ "enum": [
803
+ "gross",
804
+ "net"
805
+ ]
806
+ },
807
+ "is_addon": {
808
+ "type": "boolean",
809
+ "description": "When true, this item is offered as a per-day add-on during the booking flow (e.g. helmet rented alongside a bike) and is hidden from the main inventory listings. Only the per-day price is used; hourly pricing is ignored for add-on items."
768
810
  }
769
811
  },
770
812
  "required": [
@@ -1155,13 +1197,21 @@
1155
1197
  "item"
1156
1198
  ]
1157
1199
  },
1200
+ "start_date": {
1201
+ "type": "string",
1202
+ "description": "Start date of the booking (YYYY-MM-DD)"
1203
+ },
1204
+ "end_date": {
1205
+ "type": "string",
1206
+ "description": "End date of the booking (YYYY-MM-DD)"
1207
+ },
1158
1208
  "start_time": {
1159
1209
  "type": "string",
1160
- "description": "Start time of the booking in ISO format"
1210
+ "description": "Start time (HH:mm:ss, optional - null for all-day bookings)"
1161
1211
  },
1162
1212
  "end_time": {
1163
1213
  "type": "string",
1164
- "description": "End time of the booking in ISO format"
1214
+ "description": "End time (HH:mm:ss, optional - null for all-day bookings)"
1165
1215
  },
1166
1216
  "quantity": {
1167
1217
  "type": "number",
@@ -1175,15 +1225,31 @@
1175
1225
  "type": "boolean",
1176
1226
  "description": "Skip buffer time checks for back-to-back bookings (only works if the room/item allows buffer override)"
1177
1227
  },
1228
+ "payment_required": {
1229
+ "type": "boolean",
1230
+ "description": "If true, creates a reservation requiring customer payment instead of a direct confirmed booking. The reservation will be created with status \"approved\" and the customer will receive an invite email to complete payment via the customer portal. Defaults to false (direct booking with confirmed status)."
1231
+ },
1178
1232
  "accepted_document_ids": {
1179
1233
  "type": "array",
1180
1234
  "description": "Array of document IDs that customer accepted before booking"
1235
+ },
1236
+ "addons": {
1237
+ "type": "array",
1238
+ "description": "Array of add-ons to attach to this booking"
1239
+ },
1240
+ "addon_items": {
1241
+ "type": "array",
1242
+ "description": "Array of per-day add-on items to attach to this booking. Each entry references an item flagged with is_addon = true (e.g. helmet alongside a bike). Pricing is computed as price_per_day × quantity × days. Only supported for item rentals (rental_type = \"item\"); rejected for room bookings."
1243
+ },
1244
+ "price_override": {
1245
+ "type": "number",
1246
+ "description": "Optional gross (VAT-inclusive) total that overrides the computed price — e.g. a Booking.com amount recorded by the owner. When set, this exact amount becomes the booking grand_total; total_price (net) and vat_amount are derived from the organization VAT rate. Owner-created room bookings only; rejected for item bookings and public bookings."
1181
1247
  }
1182
1248
  },
1183
1249
  "required": [
1184
1250
  "rental_type",
1185
- "start_time",
1186
- "end_time"
1251
+ "start_date",
1252
+ "end_date"
1187
1253
  ]
1188
1254
  }
1189
1255
  },
@@ -1199,13 +1265,13 @@
1199
1265
  "type": "string",
1200
1266
  "description": "Filter by booking ID"
1201
1267
  },
1202
- "start_time": {
1268
+ "start_date": {
1203
1269
  "type": "string",
1204
- "description": "Filter bookings starting from this date/time (ISO format)"
1270
+ "description": "Filter bookings starting from this date (YYYY-MM-DD)"
1205
1271
  },
1206
- "end_time": {
1272
+ "end_date": {
1207
1273
  "type": "string",
1208
- "description": "Filter bookings ending before this date/time (ISO format)"
1274
+ "description": "Filter bookings ending before this date (YYYY-MM-DD)"
1209
1275
  },
1210
1276
  "room_id": {
1211
1277
  "type": "string",
@@ -1223,6 +1289,10 @@
1223
1289
  "type": "string",
1224
1290
  "description": "Filter bookings by status"
1225
1291
  },
1292
+ "guest_id": {
1293
+ "type": "string",
1294
+ "description": "Filter bookings by guest ID"
1295
+ },
1226
1296
  "sortBy": {
1227
1297
  "type": "string",
1228
1298
  "description": "Field to sort by"
@@ -1238,6 +1308,14 @@
1238
1308
  "limit": {
1239
1309
  "type": "number",
1240
1310
  "description": "Number of items per page (max 1000)"
1311
+ },
1312
+ "start_time": {
1313
+ "type": "string",
1314
+ "description": "start_time parameter"
1315
+ },
1316
+ "end_time": {
1317
+ "type": "string",
1318
+ "description": "end_time parameter"
1241
1319
  }
1242
1320
  },
1243
1321
  "required": []
@@ -1255,13 +1333,13 @@
1255
1333
  "type": "string",
1256
1334
  "description": "Filter by booking ID"
1257
1335
  },
1258
- "start_time": {
1336
+ "start_date": {
1259
1337
  "type": "string",
1260
- "description": "Filter bookings starting from this date/time (ISO format)"
1338
+ "description": "Filter bookings starting from this date (YYYY-MM-DD)"
1261
1339
  },
1262
- "end_time": {
1340
+ "end_date": {
1263
1341
  "type": "string",
1264
- "description": "Filter bookings ending before this date/time (ISO format)"
1342
+ "description": "Filter bookings ending before this date (YYYY-MM-DD)"
1265
1343
  },
1266
1344
  "room_id": {
1267
1345
  "type": "string",
@@ -1279,6 +1357,10 @@
1279
1357
  "type": "string",
1280
1358
  "description": "Filter bookings by status"
1281
1359
  },
1360
+ "guest_id": {
1361
+ "type": "string",
1362
+ "description": "Filter bookings by guest ID"
1363
+ },
1282
1364
  "sortBy": {
1283
1365
  "type": "string",
1284
1366
  "description": "Field to sort by"
@@ -1294,6 +1376,14 @@
1294
1376
  "limit": {
1295
1377
  "type": "number",
1296
1378
  "description": "Number of items per page (max 1000)"
1379
+ },
1380
+ "start_time": {
1381
+ "type": "string",
1382
+ "description": "start_time parameter"
1383
+ },
1384
+ "end_time": {
1385
+ "type": "string",
1386
+ "description": "end_time parameter"
1297
1387
  }
1298
1388
  },
1299
1389
  "required": []
@@ -1449,13 +1539,21 @@
1449
1539
  "item"
1450
1540
  ]
1451
1541
  },
1542
+ "start_date": {
1543
+ "type": "string",
1544
+ "description": "Start date of the booking (YYYY-MM-DD)"
1545
+ },
1546
+ "end_date": {
1547
+ "type": "string",
1548
+ "description": "End date of the booking (YYYY-MM-DD)"
1549
+ },
1452
1550
  "start_time": {
1453
1551
  "type": "string",
1454
- "description": "Start time of the booking in ISO format"
1552
+ "description": "Start time (HH:mm:ss, optional - null for all-day bookings)"
1455
1553
  },
1456
1554
  "end_time": {
1457
1555
  "type": "string",
1458
- "description": "End time of the booking in ISO format"
1556
+ "description": "End time (HH:mm:ss, optional - null for all-day bookings)"
1459
1557
  },
1460
1558
  "quantity": {
1461
1559
  "type": "number",
@@ -1469,15 +1567,31 @@
1469
1567
  "type": "boolean",
1470
1568
  "description": "Skip buffer time checks for back-to-back bookings (only works if the room/item allows buffer override)"
1471
1569
  },
1570
+ "payment_required": {
1571
+ "type": "boolean",
1572
+ "description": "If true, creates a reservation requiring customer payment instead of a direct confirmed booking. The reservation will be created with status \"approved\" and the customer will receive an invite email to complete payment via the customer portal. Defaults to false (direct booking with confirmed status)."
1573
+ },
1472
1574
  "accepted_document_ids": {
1473
1575
  "type": "array",
1474
1576
  "description": "Array of document IDs that customer accepted before booking"
1577
+ },
1578
+ "addons": {
1579
+ "type": "array",
1580
+ "description": "Array of add-ons to attach to this booking"
1581
+ },
1582
+ "addon_items": {
1583
+ "type": "array",
1584
+ "description": "Array of per-day add-on items to attach to this booking. Each entry references an item flagged with is_addon = true (e.g. helmet alongside a bike). Pricing is computed as price_per_day × quantity × days. Only supported for item rentals (rental_type = \"item\"); rejected for room bookings."
1585
+ },
1586
+ "price_override": {
1587
+ "type": "number",
1588
+ "description": "Optional gross (VAT-inclusive) total that overrides the computed price — e.g. a Booking.com amount recorded by the owner. When set, this exact amount becomes the booking grand_total; total_price (net) and vat_amount are derived from the organization VAT rate. Owner-created room bookings only; rejected for item bookings and public bookings."
1475
1589
  }
1476
1590
  },
1477
1591
  "required": [
1478
1592
  "rental_type",
1479
- "start_time",
1480
- "end_time"
1593
+ "start_date",
1594
+ "end_date"
1481
1595
  ]
1482
1596
  }
1483
1597
  },
@@ -1513,13 +1627,21 @@
1513
1627
  "item"
1514
1628
  ]
1515
1629
  },
1630
+ "start_date": {
1631
+ "type": "string",
1632
+ "description": "Start date of the booking (YYYY-MM-DD)"
1633
+ },
1634
+ "end_date": {
1635
+ "type": "string",
1636
+ "description": "End date of the booking (YYYY-MM-DD)"
1637
+ },
1516
1638
  "start_time": {
1517
1639
  "type": "string",
1518
- "description": "Start time of the booking in ISO format"
1640
+ "description": "Start time (HH:mm:ss, optional - null for all-day bookings)"
1519
1641
  },
1520
1642
  "end_time": {
1521
1643
  "type": "string",
1522
- "description": "End time of the booking in ISO format"
1644
+ "description": "End time (HH:mm:ss, optional - null for all-day bookings)"
1523
1645
  },
1524
1646
  "quantity": {
1525
1647
  "type": "number",
@@ -1533,10 +1655,26 @@
1533
1655
  "type": "boolean",
1534
1656
  "description": "Skip buffer time checks for back-to-back bookings (only works if the room/item allows buffer override)"
1535
1657
  },
1658
+ "payment_required": {
1659
+ "type": "boolean",
1660
+ "description": "If true, creates a reservation requiring customer payment instead of a direct confirmed booking. The reservation will be created with status \"approved\" and the customer will receive an invite email to complete payment via the customer portal. Defaults to false (direct booking with confirmed status)."
1661
+ },
1536
1662
  "accepted_document_ids": {
1537
1663
  "type": "array",
1538
1664
  "description": "Array of document IDs that customer accepted before booking"
1539
1665
  },
1666
+ "addons": {
1667
+ "type": "array",
1668
+ "description": "Array of add-ons to attach to this booking"
1669
+ },
1670
+ "addon_items": {
1671
+ "type": "array",
1672
+ "description": "Array of per-day add-on items to attach to this booking. Each entry references an item flagged with is_addon = true (e.g. helmet alongside a bike). Pricing is computed as price_per_day × quantity × days. Only supported for item rentals (rental_type = \"item\"); rejected for room bookings."
1673
+ },
1674
+ "price_override": {
1675
+ "type": "number",
1676
+ "description": "Optional gross (VAT-inclusive) total that overrides the computed price — e.g. a Booking.com amount recorded by the owner. When set, this exact amount becomes the booking grand_total; total_price (net) and vat_amount are derived from the organization VAT rate. Owner-created room bookings only; rejected for item bookings and public bookings."
1677
+ },
1540
1678
  "status": {
1541
1679
  "type": "string",
1542
1680
  "description": "Status of the booking",
@@ -1587,6 +1725,41 @@
1587
1725
  ]
1588
1726
  }
1589
1727
  },
1728
+ {
1729
+ "name": "rent2b_available_resources",
1730
+ "description": "Get all available rooms and items for the organization.",
1731
+ "method": "GET",
1732
+ "path": "/bookings/available",
1733
+ "inputSchema": {
1734
+ "type": "object",
1735
+ "properties": {
1736
+ "start_date": {
1737
+ "type": "string",
1738
+ "description": "Start date in YYYY-MM-DD format"
1739
+ },
1740
+ "end_date": {
1741
+ "type": "string",
1742
+ "description": "End date in YYYY-MM-DD format"
1743
+ },
1744
+ "start_time": {
1745
+ "type": "string",
1746
+ "description": "Optional start time filter in HH:MM format"
1747
+ },
1748
+ "end_time": {
1749
+ "type": "string",
1750
+ "description": "Optional end time filter in HH:MM format"
1751
+ },
1752
+ "type": {
1753
+ "type": "string",
1754
+ "description": "Filter results to rooms only, items only, or both"
1755
+ }
1756
+ },
1757
+ "required": [
1758
+ "start_date",
1759
+ "end_date"
1760
+ ]
1761
+ }
1762
+ },
1590
1763
  {
1591
1764
  "name": "rent2b_bookings_confirm",
1592
1765
  "description": "Confirm a pending booking.",
@@ -1686,95 +1859,688 @@
1686
1859
  }
1687
1860
  },
1688
1861
  {
1689
- "name": "rent2b_available_resources",
1690
- "description": "Get all available rooms and items for the organization.",
1862
+ "name": "rent2b_settings_subscription_list",
1863
+ "description": "Get current subscription plan and status",
1691
1864
  "method": "GET",
1692
- "path": "/bookings/available",
1865
+ "path": "/settings/subscription",
1866
+ "inputSchema": {
1867
+ "type": "object",
1868
+ "properties": {},
1869
+ "required": []
1870
+ }
1871
+ },
1872
+ {
1873
+ "name": "rent2b_settings_subscription_checkout_create",
1874
+ "description": "Create Stripe Checkout Session for plan upgrade",
1875
+ "method": "POST",
1876
+ "path": "/settings/subscription/checkout",
1693
1877
  "inputSchema": {
1694
1878
  "type": "object",
1695
1879
  "properties": {
1696
- "start_date": {
1697
- "type": "string",
1698
- "description": "Start date in YYYY-MM-DD format"
1699
- },
1700
- "end_date": {
1701
- "type": "string",
1702
- "description": "End date in YYYY-MM-DD format"
1703
- },
1704
- "start_time": {
1705
- "type": "string",
1706
- "description": "Optional start time filter in HH:MM format"
1707
- },
1708
- "end_time": {
1709
- "type": "string",
1710
- "description": "Optional end time filter in HH:MM format"
1711
- },
1712
- "type": {
1880
+ "priceId": {
1713
1881
  "type": "string",
1714
- "description": "Filter results to rooms only, items only, or both"
1882
+ "description": "Stripe Price ID"
1715
1883
  }
1716
1884
  },
1717
1885
  "required": [
1718
- "start_date",
1719
- "end_date"
1886
+ "priceId"
1720
1887
  ]
1721
1888
  }
1722
1889
  },
1723
1890
  {
1724
- "name": "rent2b_timeslots_create",
1725
- "description": "Create a time slot for a location.",
1891
+ "name": "rent2b_settings_subscription_cancel_create",
1892
+ "description": "Cancel subscription at end of billing period",
1726
1893
  "method": "POST",
1727
- "path": "/time-slots/{locationId}",
1894
+ "path": "/settings/subscription/cancel",
1895
+ "inputSchema": {
1896
+ "type": "object",
1897
+ "properties": {},
1898
+ "required": []
1899
+ }
1900
+ },
1901
+ {
1902
+ "name": "rent2b_settings_subscription_history_list",
1903
+ "description": "Get subscription payment history",
1904
+ "method": "GET",
1905
+ "path": "/settings/subscription/history",
1906
+ "inputSchema": {
1907
+ "type": "object",
1908
+ "properties": {},
1909
+ "required": []
1910
+ }
1911
+ },
1912
+ {
1913
+ "name": "rent2b_bookings_checklists_create",
1914
+ "description": "Create a checklist instance for a booking",
1915
+ "method": "POST",
1916
+ "path": "/bookings/{bookingId}/checklists",
1728
1917
  "inputSchema": {
1729
1918
  "type": "object",
1730
1919
  "properties": {
1731
- "locationId": {
1732
- "type": "string",
1733
- "description": "locationId parameter"
1734
- },
1735
- "day_of_week": {
1736
- "type": "number",
1737
- "description": "Day of week (1=Monday, 7=Sunday)"
1738
- },
1739
- "start_time": {
1920
+ "bookingId": {
1740
1921
  "type": "string",
1741
- "description": "Start time in HH:MM format"
1922
+ "description": "bookingId parameter"
1742
1923
  },
1743
- "end_time": {
1924
+ "phase": {
1744
1925
  "type": "string",
1745
- "description": "End time in HH:MM format"
1746
- },
1747
- "price": {
1748
- "type": "number",
1749
- "description": "Price for this time slot"
1926
+ "description": "Phase for this checklist",
1927
+ "enum": [
1928
+ "check_out",
1929
+ "check_in"
1930
+ ]
1750
1931
  }
1751
1932
  },
1752
1933
  "required": [
1753
- "locationId",
1754
- "day_of_week",
1755
- "start_time",
1756
- "end_time",
1757
- "price"
1934
+ "bookingId",
1935
+ "phase"
1758
1936
  ]
1759
1937
  }
1760
1938
  },
1761
1939
  {
1762
- "name": "rent2b_timeslots_list",
1763
- "description": "List time slots for a specific location.",
1940
+ "name": "rent2b_checklists_list",
1941
+ "description": "List all checklists for a specific booking.",
1764
1942
  "method": "GET",
1765
- "path": "/time-slots/{locationId}",
1943
+ "path": "/bookings/{bookingId}/checklists",
1766
1944
  "inputSchema": {
1767
1945
  "type": "object",
1768
1946
  "properties": {
1769
- "locationId": {
1947
+ "bookingId": {
1770
1948
  "type": "string",
1771
- "description": "locationId parameter"
1772
- },
1773
- "page": {
1774
- "type": "number",
1775
- "description": "Page number (1-based)"
1776
- },
1777
- "limit": {
1949
+ "description": "bookingId parameter"
1950
+ }
1951
+ },
1952
+ "required": [
1953
+ "bookingId"
1954
+ ]
1955
+ }
1956
+ },
1957
+ {
1958
+ "name": "rent2b_checklists_get",
1959
+ "description": "Get a specific checklist by ID for a booking.",
1960
+ "method": "GET",
1961
+ "path": "/bookings/{bookingId}/checklists/{id}",
1962
+ "inputSchema": {
1963
+ "type": "object",
1964
+ "properties": {
1965
+ "bookingId": {
1966
+ "type": "string",
1967
+ "description": "bookingId parameter"
1968
+ },
1969
+ "id": {
1970
+ "type": "string",
1971
+ "description": "id parameter"
1972
+ }
1973
+ },
1974
+ "required": [
1975
+ "bookingId",
1976
+ "id"
1977
+ ]
1978
+ }
1979
+ },
1980
+ {
1981
+ "name": "rent2b_bookings_checklists_items_update",
1982
+ "description": "Check/uncheck an item or add a note",
1983
+ "method": "PATCH",
1984
+ "path": "/bookings/{bookingId}/checklists/{id}/items/{itemId}",
1985
+ "inputSchema": {
1986
+ "type": "object",
1987
+ "properties": {
1988
+ "bookingId": {
1989
+ "type": "string",
1990
+ "description": "bookingId parameter"
1991
+ },
1992
+ "id": {
1993
+ "type": "string",
1994
+ "description": "id parameter"
1995
+ },
1996
+ "itemId": {
1997
+ "type": "string",
1998
+ "description": "itemId parameter"
1999
+ },
2000
+ "is_checked": {
2001
+ "type": "boolean",
2002
+ "description": "Check or uncheck the item"
2003
+ },
2004
+ "note": {
2005
+ "type": "string",
2006
+ "description": "Optional note"
2007
+ }
2008
+ },
2009
+ "required": [
2010
+ "bookingId",
2011
+ "id",
2012
+ "itemId"
2013
+ ]
2014
+ }
2015
+ },
2016
+ {
2017
+ "name": "rent2b_bookings_checklists_complete_update",
2018
+ "description": "Mark a checklist as completed",
2019
+ "method": "PATCH",
2020
+ "path": "/bookings/{bookingId}/checklists/{id}/complete",
2021
+ "inputSchema": {
2022
+ "type": "object",
2023
+ "properties": {
2024
+ "bookingId": {
2025
+ "type": "string",
2026
+ "description": "bookingId parameter"
2027
+ },
2028
+ "id": {
2029
+ "type": "string",
2030
+ "description": "id parameter"
2031
+ }
2032
+ },
2033
+ "required": [
2034
+ "bookingId",
2035
+ "id"
2036
+ ]
2037
+ }
2038
+ },
2039
+ {
2040
+ "name": "rent2b_statistics_overview",
2041
+ "description": "Get comprehensive organization statistics including bookings, revenue, and utilization.",
2042
+ "method": "GET",
2043
+ "path": "/statistics/organization/{organizationId}",
2044
+ "inputSchema": {
2045
+ "type": "object",
2046
+ "properties": {
2047
+ "days": {
2048
+ "type": "number",
2049
+ "description": "Number of days to include in statistics (default: 30). Ignored if start_date/end_date are provided."
2050
+ },
2051
+ "start_date": {
2052
+ "type": "string",
2053
+ "description": "Start date for statistics range (YYYY-MM-DD). Takes precedence over days."
2054
+ },
2055
+ "end_date": {
2056
+ "type": "string",
2057
+ "description": "End date for statistics range (YYYY-MM-DD). Takes precedence over days."
2058
+ }
2059
+ },
2060
+ "required": []
2061
+ }
2062
+ },
2063
+ {
2064
+ "name": "rent2b_statistics_summary",
2065
+ "description": "Get a quick summary of organization statistics.",
2066
+ "method": "GET",
2067
+ "path": "/statistics/organization/{organizationId}/summary",
2068
+ "inputSchema": {
2069
+ "type": "object",
2070
+ "properties": {},
2071
+ "required": []
2072
+ }
2073
+ },
2074
+ {
2075
+ "name": "rent2b_statistics_revenue",
2076
+ "description": "Get detailed revenue statistics for the organization.",
2077
+ "method": "GET",
2078
+ "path": "/statistics/organization/{organizationId}/revenue",
2079
+ "inputSchema": {
2080
+ "type": "object",
2081
+ "properties": {
2082
+ "days": {
2083
+ "type": "number",
2084
+ "description": "Number of days to include in statistics (default: 30). Ignored if start_date/end_date are provided."
2085
+ },
2086
+ "start_date": {
2087
+ "type": "string",
2088
+ "description": "Start date for statistics range (YYYY-MM-DD). Takes precedence over days."
2089
+ },
2090
+ "end_date": {
2091
+ "type": "string",
2092
+ "description": "End date for statistics range (YYYY-MM-DD). Takes precedence over days."
2093
+ }
2094
+ },
2095
+ "required": []
2096
+ }
2097
+ },
2098
+ {
2099
+ "name": "rent2b_statistics_utilization",
2100
+ "description": "Get utilization statistics for the organization.",
2101
+ "method": "GET",
2102
+ "path": "/statistics/organization/{organizationId}/utilization",
2103
+ "inputSchema": {
2104
+ "type": "object",
2105
+ "properties": {
2106
+ "days": {
2107
+ "type": "number",
2108
+ "description": "Number of days to include in statistics (default: 30). Ignored if start_date/end_date are provided."
2109
+ },
2110
+ "start_date": {
2111
+ "type": "string",
2112
+ "description": "Start date for statistics range (YYYY-MM-DD). Takes precedence over days."
2113
+ },
2114
+ "end_date": {
2115
+ "type": "string",
2116
+ "description": "End date for statistics range (YYYY-MM-DD). Takes precedence over days."
2117
+ }
2118
+ },
2119
+ "required": []
2120
+ }
2121
+ },
2122
+ {
2123
+ "name": "rent2b_statistics_location_list",
2124
+ "description": "Returns detailed analytics including bookings, revenue, utilization, and trends for the specified location",
2125
+ "method": "GET",
2126
+ "path": "/statistics/location/{locationId}",
2127
+ "inputSchema": {
2128
+ "type": "object",
2129
+ "properties": {
2130
+ "locationId": {
2131
+ "type": "string",
2132
+ "description": "The ID of the location to get statistics for"
2133
+ },
2134
+ "days": {
2135
+ "type": "number",
2136
+ "description": "Number of days to include in statistics (default: 30). Ignored if start_date/end_date are provided."
2137
+ },
2138
+ "start_date": {
2139
+ "type": "string",
2140
+ "description": "Start date for statistics range (YYYY-MM-DD). Takes precedence over days."
2141
+ },
2142
+ "end_date": {
2143
+ "type": "string",
2144
+ "description": "End date for statistics range (YYYY-MM-DD). Takes precedence over days."
2145
+ }
2146
+ },
2147
+ "required": [
2148
+ "locationId"
2149
+ ]
2150
+ }
2151
+ },
2152
+ {
2153
+ "name": "rent2b_statistics_location_summary_list",
2154
+ "description": "Returns key metrics summary for dashboard display",
2155
+ "method": "GET",
2156
+ "path": "/statistics/location/{locationId}/summary",
2157
+ "inputSchema": {
2158
+ "type": "object",
2159
+ "properties": {
2160
+ "locationId": {
2161
+ "type": "string",
2162
+ "description": "The ID of the location to get summary for"
2163
+ }
2164
+ },
2165
+ "required": [
2166
+ "locationId"
2167
+ ]
2168
+ }
2169
+ },
2170
+ {
2171
+ "name": "rent2b_statistics_location_revenue_list",
2172
+ "description": "Returns comprehensive revenue breakdown and trends",
2173
+ "method": "GET",
2174
+ "path": "/statistics/location/{locationId}/revenue",
2175
+ "inputSchema": {
2176
+ "type": "object",
2177
+ "properties": {
2178
+ "locationId": {
2179
+ "type": "string",
2180
+ "description": "The ID of the location"
2181
+ },
2182
+ "days": {
2183
+ "type": "number",
2184
+ "description": "Number of days to include in statistics (default: 30). Ignored if start_date/end_date are provided."
2185
+ },
2186
+ "start_date": {
2187
+ "type": "string",
2188
+ "description": "Start date for statistics range (YYYY-MM-DD). Takes precedence over days."
2189
+ },
2190
+ "end_date": {
2191
+ "type": "string",
2192
+ "description": "End date for statistics range (YYYY-MM-DD). Takes precedence over days."
2193
+ }
2194
+ },
2195
+ "required": [
2196
+ "locationId"
2197
+ ]
2198
+ }
2199
+ },
2200
+ {
2201
+ "name": "rent2b_statistics_location_utilization_list",
2202
+ "description": "Returns utilization rates and booking patterns",
2203
+ "method": "GET",
2204
+ "path": "/statistics/location/{locationId}/utilization",
2205
+ "inputSchema": {
2206
+ "type": "object",
2207
+ "properties": {
2208
+ "locationId": {
2209
+ "type": "string",
2210
+ "description": "The ID of the location"
2211
+ },
2212
+ "days": {
2213
+ "type": "number",
2214
+ "description": "Number of days to include in statistics (default: 30). Ignored if start_date/end_date are provided."
2215
+ },
2216
+ "start_date": {
2217
+ "type": "string",
2218
+ "description": "Start date for statistics range (YYYY-MM-DD). Takes precedence over days."
2219
+ },
2220
+ "end_date": {
2221
+ "type": "string",
2222
+ "description": "End date for statistics range (YYYY-MM-DD). Takes precedence over days."
2223
+ }
2224
+ },
2225
+ "required": [
2226
+ "locationId"
2227
+ ]
2228
+ }
2229
+ },
2230
+ {
2231
+ "name": "rent2b_settings_get",
2232
+ "description": "Get organization and user settings.",
2233
+ "method": "GET",
2234
+ "path": "/settings",
2235
+ "inputSchema": {
2236
+ "type": "object",
2237
+ "properties": {},
2238
+ "required": []
2239
+ }
2240
+ },
2241
+ {
2242
+ "name": "rent2b_settings_organization_update",
2243
+ "description": "Update organization settings.",
2244
+ "method": "PUT",
2245
+ "path": "/settings/organization",
2246
+ "inputSchema": {
2247
+ "type": "object",
2248
+ "properties": {
2249
+ "name": {
2250
+ "type": "string",
2251
+ "description": "Organization name"
2252
+ },
2253
+ "enable_booking_notifications": {
2254
+ "type": "boolean",
2255
+ "description": "Enable email notifications for new bookings"
2256
+ },
2257
+ "notification_email": {
2258
+ "type": "string",
2259
+ "description": "Email address to receive notifications (defaults to owner email)"
2260
+ },
2261
+ "rental_mode": {
2262
+ "type": "string",
2263
+ "description": "The type of rentals this organization offers",
2264
+ "enum": [
2265
+ "rooms",
2266
+ "items",
2267
+ "both"
2268
+ ]
2269
+ },
2270
+ "homepage_items_mode": {
2271
+ "type": "string",
2272
+ "description": "How featured items on the public homepage are selected: \"auto\" applies the configured sort, \"manual\" uses the items in homepage_items_manual_ids.",
2273
+ "enum": [
2274
+ "auto",
2275
+ "manual"
2276
+ ]
2277
+ },
2278
+ "homepage_items_sort": {
2279
+ "type": "string",
2280
+ "description": "Sort order applied to the public homepage when homepage_items_mode is \"auto\".",
2281
+ "enum": [
2282
+ "created_desc",
2283
+ "price_desc",
2284
+ "name_asc"
2285
+ ]
2286
+ },
2287
+ "homepage_items_manual_ids": {
2288
+ "type": "array",
2289
+ "description": "Up to three item IDs to feature on the public homepage when homepage_items_mode is \"manual\". Items must belong to this organisation, be active, public, bookable, and not flagged as add-ons."
2290
+ }
2291
+ },
2292
+ "required": [
2293
+ "name"
2294
+ ]
2295
+ }
2296
+ },
2297
+ {
2298
+ "name": "rent2b_settings_user_update",
2299
+ "description": "Update the current user settings.",
2300
+ "method": "PUT",
2301
+ "path": "/settings/user",
2302
+ "inputSchema": {
2303
+ "type": "object",
2304
+ "properties": {
2305
+ "first_name": {
2306
+ "type": "string",
2307
+ "description": "User first name"
2308
+ },
2309
+ "last_name": {
2310
+ "type": "string",
2311
+ "description": "User last name"
2312
+ },
2313
+ "displayName": {
2314
+ "type": "string",
2315
+ "description": "User display name"
2316
+ },
2317
+ "email": {
2318
+ "type": "string",
2319
+ "description": "User email address"
2320
+ }
2321
+ },
2322
+ "required": []
2323
+ }
2324
+ },
2325
+ {
2326
+ "name": "rent2b_branding_get",
2327
+ "description": "Get the organization branding (colors, text). Logo/background are images set separately.",
2328
+ "method": "GET",
2329
+ "path": "/organizations/{organizationId}/branding",
2330
+ "inputSchema": {
2331
+ "type": "object",
2332
+ "properties": {},
2333
+ "required": []
2334
+ }
2335
+ },
2336
+ {
2337
+ "name": "rent2b_branding_update",
2338
+ "description": "Update the organization branding (colors, text).",
2339
+ "method": "PUT",
2340
+ "path": "/organizations/{organizationId}/branding",
2341
+ "inputSchema": {
2342
+ "type": "object",
2343
+ "properties": {
2344
+ "primary_color": {
2345
+ "type": "string",
2346
+ "description": "Primary brand color (hex format)"
2347
+ },
2348
+ "secondary_color": {
2349
+ "type": "string",
2350
+ "description": "Secondary brand color (hex format)"
2351
+ },
2352
+ "accent_color": {
2353
+ "type": "string",
2354
+ "description": "Accent color for highlights and CTAs (hex format)"
2355
+ },
2356
+ "font_family": {
2357
+ "type": "string",
2358
+ "description": "Font family for the public page"
2359
+ },
2360
+ "header_text": {
2361
+ "type": "string",
2362
+ "description": "Custom header text for the public page (fallback)"
2363
+ },
2364
+ "header_text_de": {
2365
+ "type": "string",
2366
+ "description": "German header text for the public page"
2367
+ },
2368
+ "header_text_en": {
2369
+ "type": "string",
2370
+ "description": "English header text for the public page"
2371
+ },
2372
+ "footer_text": {
2373
+ "type": "string",
2374
+ "description": "Custom footer text for the public page"
2375
+ },
2376
+ "template_id": {
2377
+ "type": "string",
2378
+ "description": "Template ID for the public page layout",
2379
+ "enum": [
2380
+ "hero",
2381
+ "catalog",
2382
+ "premium"
2383
+ ]
2384
+ },
2385
+ "hero_title_de": {
2386
+ "type": "string",
2387
+ "description": "German hero title for the public page"
2388
+ },
2389
+ "hero_title_en": {
2390
+ "type": "string",
2391
+ "description": "English hero title for the public page"
2392
+ },
2393
+ "hero_subtitle_de": {
2394
+ "type": "string",
2395
+ "description": "German hero subtitle for the public page"
2396
+ },
2397
+ "hero_subtitle_en": {
2398
+ "type": "string",
2399
+ "description": "English hero subtitle for the public page"
2400
+ },
2401
+ "trust_badges": {
2402
+ "type": "array",
2403
+ "description": "trust_badges"
2404
+ },
2405
+ "social_links": {
2406
+ "type": "object",
2407
+ "description": "Social media links"
2408
+ },
2409
+ "background_image_url": {
2410
+ "type": "string",
2411
+ "description": "Public URL of the hero background image"
2412
+ },
2413
+ "search_button_label_de": {
2414
+ "type": "string",
2415
+ "description": "Custom German label for the hero search button. Falls back to the i18n default (\"Suchen\") when null."
2416
+ },
2417
+ "search_button_label_en": {
2418
+ "type": "string",
2419
+ "description": "Custom English label for the hero search button. Falls back to the i18n default when null."
2420
+ },
2421
+ "nav_about_label_de": {
2422
+ "type": "string",
2423
+ "description": "Custom German label for the navigation \"About\" link. Falls back to the i18n default (\"Über uns\") when null."
2424
+ },
2425
+ "nav_about_label_en": {
2426
+ "type": "string",
2427
+ "description": "Custom English label for the navigation \"About\" link. Falls back to the i18n default when null."
2428
+ },
2429
+ "show_language_switch": {
2430
+ "type": "boolean",
2431
+ "description": "Show the DE/EN language switch in the header."
2432
+ },
2433
+ "show_cart_in_header": {
2434
+ "type": "boolean",
2435
+ "description": "Show the cart icon in the header."
2436
+ },
2437
+ "nav_font_weight": {
2438
+ "type": "number",
2439
+ "description": "Font weight for navigation links (CSS font-weight, 100-900). Default 500."
2440
+ },
2441
+ "show_hero_logo": {
2442
+ "type": "boolean",
2443
+ "description": "Show the organization logo in the hero block. Header logo is independent."
2444
+ },
2445
+ "footer_bg_color": {
2446
+ "type": "string",
2447
+ "description": "Override the footer background color (hex). Null keeps the CSS default."
2448
+ },
2449
+ "item_show_thumbnails": {
2450
+ "type": "boolean",
2451
+ "description": "Show the image-thumbnail strip below the main image on the item detail page."
2452
+ },
2453
+ "item_show_location": {
2454
+ "type": "boolean",
2455
+ "description": "Show the inline location card on the item detail page."
2456
+ },
2457
+ "item_show_contact_block": {
2458
+ "type": "boolean",
2459
+ "description": "Show the contact / \"send message\" block on the item detail page."
2460
+ }
2461
+ },
2462
+ "required": [
2463
+ "trust_badges"
2464
+ ]
2465
+ }
2466
+ },
2467
+ {
2468
+ "name": "rent2b_branding_logo_delete",
2469
+ "description": "Remove the logo from the organization branding",
2470
+ "method": "DELETE",
2471
+ "path": "/organizations/{organizationId}/branding/logo",
2472
+ "inputSchema": {
2473
+ "type": "object",
2474
+ "properties": {},
2475
+ "required": []
2476
+ }
2477
+ },
2478
+ {
2479
+ "name": "rent2b_branding_background_delete",
2480
+ "description": "Remove the hero background image from the organization branding",
2481
+ "method": "DELETE",
2482
+ "path": "/organizations/{organizationId}/branding/background",
2483
+ "inputSchema": {
2484
+ "type": "object",
2485
+ "properties": {},
2486
+ "required": []
2487
+ }
2488
+ },
2489
+ {
2490
+ "name": "rent2b_timeslots_create",
2491
+ "description": "Create a time slot for a location.",
2492
+ "method": "POST",
2493
+ "path": "/time-slots/{locationId}",
2494
+ "inputSchema": {
2495
+ "type": "object",
2496
+ "properties": {
2497
+ "locationId": {
2498
+ "type": "string",
2499
+ "description": "locationId parameter"
2500
+ },
2501
+ "day_of_week": {
2502
+ "type": "number",
2503
+ "description": "Day of week (1=Monday, 7=Sunday)"
2504
+ },
2505
+ "start_time": {
2506
+ "type": "string",
2507
+ "description": "Start time in HH:MM format"
2508
+ },
2509
+ "end_time": {
2510
+ "type": "string",
2511
+ "description": "End time in HH:MM format"
2512
+ },
2513
+ "price": {
2514
+ "type": "number",
2515
+ "description": "Price for this time slot"
2516
+ }
2517
+ },
2518
+ "required": [
2519
+ "locationId",
2520
+ "day_of_week",
2521
+ "start_time",
2522
+ "end_time",
2523
+ "price"
2524
+ ]
2525
+ }
2526
+ },
2527
+ {
2528
+ "name": "rent2b_timeslots_list",
2529
+ "description": "List time slots for a specific location.",
2530
+ "method": "GET",
2531
+ "path": "/time-slots/{locationId}",
2532
+ "inputSchema": {
2533
+ "type": "object",
2534
+ "properties": {
2535
+ "locationId": {
2536
+ "type": "string",
2537
+ "description": "locationId parameter"
2538
+ },
2539
+ "page": {
2540
+ "type": "number",
2541
+ "description": "Page number (1-based)"
2542
+ },
2543
+ "limit": {
1778
2544
  "type": "number",
1779
2545
  "description": "Number of items per page"
1780
2546
  },
@@ -2021,6 +2787,18 @@
2021
2787
  "check_out_time": {
2022
2788
  "type": "string",
2023
2789
  "description": "Default check-out time for bookings at this location (HH:MM:SS format)"
2790
+ },
2791
+ "opening_time": {
2792
+ "type": "string",
2793
+ "description": "Opening time / working hours start for the location (HH:MM:SS format)"
2794
+ },
2795
+ "closing_time": {
2796
+ "type": "string",
2797
+ "description": "Closing time / working hours end for the location (HH:MM:SS format)"
2798
+ },
2799
+ "opening_hours": {
2800
+ "type": "string",
2801
+ "description": "Opening hours description for the location"
2024
2802
  }
2025
2803
  },
2026
2804
  "required": [
@@ -2172,6 +2950,18 @@
2172
2950
  "check_out_time": {
2173
2951
  "type": "string",
2174
2952
  "description": "Default check-out time for bookings at this location (HH:MM:SS format)"
2953
+ },
2954
+ "opening_time": {
2955
+ "type": "string",
2956
+ "description": "Opening time / working hours start for the location (HH:MM:SS format)"
2957
+ },
2958
+ "closing_time": {
2959
+ "type": "string",
2960
+ "description": "Closing time / working hours end for the location (HH:MM:SS format)"
2961
+ },
2962
+ "opening_hours": {
2963
+ "type": "string",
2964
+ "description": "Opening hours description for the location"
2175
2965
  }
2176
2966
  },
2177
2967
  "required": [
@@ -2197,6 +2987,24 @@
2197
2987
  ]
2198
2988
  }
2199
2989
  },
2990
+ {
2991
+ "name": "rent2b_locations_set_main_update",
2992
+ "description": "Set a location as the main/default location",
2993
+ "method": "PATCH",
2994
+ "path": "/locations/{id}/set-main",
2995
+ "inputSchema": {
2996
+ "type": "object",
2997
+ "properties": {
2998
+ "id": {
2999
+ "type": "string",
3000
+ "description": "id parameter"
3001
+ }
3002
+ },
3003
+ "required": [
3004
+ "id"
3005
+ ]
3006
+ }
3007
+ },
2200
3008
  {
2201
3009
  "name": "rent2b_guests_create",
2202
3010
  "description": "Create a new guest for the organization.",
@@ -2853,219 +3661,599 @@
2853
3661
  "type": "number",
2854
3662
  "description": "Filter by specific rating"
2855
3663
  },
2856
- "sort_by": {
3664
+ "sort_by": {
3665
+ "type": "string",
3666
+ "description": "Sort order"
3667
+ }
3668
+ },
3669
+ "required": [
3670
+ "itemId"
3671
+ ]
3672
+ }
3673
+ },
3674
+ {
3675
+ "name": "rent2b_website_content_get",
3676
+ "description": "Get the public booking page content (texts/sections) for the organization.",
3677
+ "method": "GET",
3678
+ "path": "/organizations/{organizationId}/website-content",
3679
+ "inputSchema": {
3680
+ "type": "object",
3681
+ "properties": {},
3682
+ "required": []
3683
+ }
3684
+ },
3685
+ {
3686
+ "name": "rent2b_website_content_update",
3687
+ "description": "Update the public booking page content (texts/sections) for the organization.",
3688
+ "method": "PUT",
3689
+ "path": "/organizations/{organizationId}/website-content",
3690
+ "inputSchema": {
3691
+ "type": "object",
3692
+ "properties": {
3693
+ "about_title_de": {
3694
+ "type": "string",
3695
+ "description": "about_title_de"
3696
+ },
3697
+ "about_title_en": {
3698
+ "type": "string",
3699
+ "description": "about_title_en"
3700
+ },
3701
+ "about_text_de": {
3702
+ "type": "string",
3703
+ "description": "about_text_de"
3704
+ },
3705
+ "about_text_en": {
3706
+ "type": "string",
3707
+ "description": "about_text_en"
3708
+ },
3709
+ "values": {
3710
+ "type": "array",
3711
+ "description": "List of value propositions"
3712
+ },
3713
+ "imprint_text_de": {
3714
+ "type": "string",
3715
+ "description": "imprint_text_de"
3716
+ },
3717
+ "imprint_text_en": {
3718
+ "type": "string",
3719
+ "description": "imprint_text_en"
3720
+ },
3721
+ "privacy_text_de": {
3722
+ "type": "string",
3723
+ "description": "privacy_text_de"
3724
+ },
3725
+ "privacy_text_en": {
3726
+ "type": "string",
3727
+ "description": "privacy_text_en"
3728
+ },
3729
+ "terms_text_de": {
3730
+ "type": "string",
3731
+ "description": "terms_text_de"
3732
+ },
3733
+ "terms_text_en": {
3734
+ "type": "string",
3735
+ "description": "terms_text_en"
3736
+ },
3737
+ "contact_subtitle_de": {
3738
+ "type": "string",
3739
+ "description": "contact_subtitle_de"
3740
+ },
3741
+ "contact_subtitle_en": {
3742
+ "type": "string",
3743
+ "description": "contact_subtitle_en"
3744
+ }
3745
+ },
3746
+ "required": []
3747
+ }
3748
+ },
3749
+ {
3750
+ "name": "rent2b_profile_get",
3751
+ "description": "Get the current owner profile.",
3752
+ "method": "GET",
3753
+ "path": "/profile",
3754
+ "inputSchema": {
3755
+ "type": "object",
3756
+ "properties": {},
3757
+ "required": []
3758
+ }
3759
+ },
3760
+ {
3761
+ "name": "rent2b_profile_update",
3762
+ "description": "Update the current owner profile.",
3763
+ "method": "PUT",
3764
+ "path": "/profile",
3765
+ "inputSchema": {
3766
+ "type": "object",
3767
+ "properties": {
3768
+ "first_name": {
3769
+ "type": "string",
3770
+ "description": "User first name"
3771
+ },
3772
+ "last_name": {
3773
+ "type": "string",
3774
+ "description": "User last name"
3775
+ },
3776
+ "full_name": {
3777
+ "type": "string",
3778
+ "description": "User full name (for backwards compatibility)"
3779
+ },
3780
+ "bio": {
3781
+ "type": "string",
3782
+ "description": "User bio or description"
3783
+ },
3784
+ "phone_number": {
3785
+ "type": "string",
3786
+ "description": "Phone number"
3787
+ }
3788
+ },
3789
+ "required": []
3790
+ }
3791
+ },
3792
+ {
3793
+ "name": "rent2b_profile_image_delete",
3794
+ "description": "Delete profile image",
3795
+ "method": "DELETE",
3796
+ "path": "/profile/image",
3797
+ "inputSchema": {
3798
+ "type": "object",
3799
+ "properties": {},
3800
+ "required": []
3801
+ }
3802
+ },
3803
+ {
3804
+ "name": "rent2b_profile_referred_by_create",
3805
+ "description": "Set the referral code of the person who referred this user. Can only be set once and cannot be changed afterwards.",
3806
+ "method": "POST",
3807
+ "path": "/profile/referred-by",
3808
+ "inputSchema": {
3809
+ "type": "object",
3810
+ "properties": {
3811
+ "referral_code": {
3812
+ "type": "string",
3813
+ "description": "The referral code of the person who referred this user. Can only be set once."
3814
+ }
3815
+ },
3816
+ "required": [
3817
+ "referral_code"
3818
+ ]
3819
+ }
3820
+ },
3821
+ {
3822
+ "name": "rent2b_campaign_links_list",
3823
+ "description": "List campaign tracking links for the booking page.",
3824
+ "method": "GET",
3825
+ "path": "/campaign-links",
3826
+ "inputSchema": {
3827
+ "type": "object",
3828
+ "properties": {
3829
+ "page": {
3830
+ "type": "number",
3831
+ "description": "Page number (1-based)"
3832
+ },
3833
+ "limit": {
3834
+ "type": "number",
3835
+ "description": "Number of items per page"
3836
+ },
3837
+ "search": {
3838
+ "type": "string",
3839
+ "description": "Search term for filtering results"
3840
+ }
3841
+ },
3842
+ "required": []
3843
+ }
3844
+ },
3845
+ {
3846
+ "name": "rent2b_campaign_links_create",
3847
+ "description": "Create a campaign tracking link.",
3848
+ "method": "POST",
3849
+ "path": "/campaign-links",
3850
+ "inputSchema": {
3851
+ "type": "object",
3852
+ "properties": {
3853
+ "name": {
3854
+ "type": "string",
3855
+ "description": "Name to identify this campaign link (e.g. partner name)"
3856
+ },
3857
+ "link_type": {
3858
+ "type": "string",
3859
+ "description": "Type of campaign link: filtered (public page with filters), item (specific item), or room (specific room)",
3860
+ "enum": [
3861
+ "filtered",
3862
+ "item",
3863
+ "room"
3864
+ ]
3865
+ },
3866
+ "item_id": {
3867
+ "type": "string",
3868
+ "description": "Item ID (required when link_type is \"item\")"
3869
+ },
3870
+ "room_id": {
2857
3871
  "type": "string",
2858
- "description": "Sort order"
3872
+ "description": "Room ID (required when link_type is \"room\")"
3873
+ },
3874
+ "filters": {
3875
+ "type": "object",
3876
+ "description": "Filter configuration for the public page. Supported keys: location_id, type, category, search, min_price, max_price, sort, available_from, available_to"
2859
3877
  }
2860
3878
  },
2861
3879
  "required": [
2862
- "itemId"
3880
+ "name"
2863
3881
  ]
2864
3882
  }
2865
3883
  },
2866
3884
  {
2867
- "name": "rent2b_statistics_overview",
2868
- "description": "Get comprehensive organization statistics including bookings, revenue, and utilization.",
3885
+ "name": "rent2b_campaign_links_get",
3886
+ "description": "Get a campaign link by ID.",
2869
3887
  "method": "GET",
2870
- "path": "/statistics/organization/{organizationId}",
3888
+ "path": "/campaign-links/{id}",
2871
3889
  "inputSchema": {
2872
3890
  "type": "object",
2873
3891
  "properties": {
2874
- "days": {
2875
- "type": "number",
2876
- "description": "Number of days to include in statistics (default: 30)"
3892
+ "id": {
3893
+ "type": "string",
3894
+ "description": "Campaign link ID"
2877
3895
  }
2878
3896
  },
2879
- "required": []
2880
- }
2881
- },
2882
- {
2883
- "name": "rent2b_statistics_summary",
2884
- "description": "Get a quick summary of organization statistics.",
2885
- "method": "GET",
2886
- "path": "/statistics/organization/{organizationId}/summary",
2887
- "inputSchema": {
2888
- "type": "object",
2889
- "properties": {},
2890
- "required": []
3897
+ "required": [
3898
+ "id"
3899
+ ]
2891
3900
  }
2892
3901
  },
2893
3902
  {
2894
- "name": "rent2b_statistics_revenue",
2895
- "description": "Get detailed revenue statistics for the organization.",
2896
- "method": "GET",
2897
- "path": "/statistics/organization/{organizationId}/revenue",
3903
+ "name": "rent2b_campaign_links_update",
3904
+ "description": "Update a campaign link.",
3905
+ "method": "PATCH",
3906
+ "path": "/campaign-links/{id}",
2898
3907
  "inputSchema": {
2899
3908
  "type": "object",
2900
3909
  "properties": {
2901
- "days": {
2902
- "type": "number",
2903
- "description": "Number of days to include in statistics (default: 30)"
3910
+ "id": {
3911
+ "type": "string",
3912
+ "description": "Campaign link ID"
3913
+ },
3914
+ "name": {
3915
+ "type": "string",
3916
+ "description": "Name to identify this campaign link (e.g. partner name)"
3917
+ },
3918
+ "link_type": {
3919
+ "type": "string",
3920
+ "description": "Type of campaign link: filtered (public page with filters), item (specific item), or room (specific room)",
3921
+ "enum": [
3922
+ "filtered",
3923
+ "item",
3924
+ "room"
3925
+ ]
3926
+ },
3927
+ "item_id": {
3928
+ "type": "string",
3929
+ "description": "Item ID (required when link_type is \"item\")"
3930
+ },
3931
+ "room_id": {
3932
+ "type": "string",
3933
+ "description": "Room ID (required when link_type is \"room\")"
3934
+ },
3935
+ "filters": {
3936
+ "type": "object",
3937
+ "description": "Filter configuration for the public page. Supported keys: location_id, type, category, search, min_price, max_price, sort, available_from, available_to"
3938
+ },
3939
+ "is_active": {
3940
+ "type": "boolean",
3941
+ "description": "Whether the campaign link is active"
2904
3942
  }
2905
3943
  },
2906
- "required": []
3944
+ "required": [
3945
+ "id"
3946
+ ]
2907
3947
  }
2908
3948
  },
2909
3949
  {
2910
- "name": "rent2b_statistics_utilization",
2911
- "description": "Get utilization statistics for the organization.",
2912
- "method": "GET",
2913
- "path": "/statistics/organization/{organizationId}/utilization",
3950
+ "name": "rent2b_campaign_links_delete",
3951
+ "description": "Delete a campaign link.",
3952
+ "method": "DELETE",
3953
+ "path": "/campaign-links/{id}",
2914
3954
  "inputSchema": {
2915
3955
  "type": "object",
2916
3956
  "properties": {
2917
- "days": {
2918
- "type": "number",
2919
- "description": "Number of days to include in statistics (default: 30)"
3957
+ "id": {
3958
+ "type": "string",
3959
+ "description": "Campaign link ID"
2920
3960
  }
2921
3961
  },
2922
- "required": []
3962
+ "required": [
3963
+ "id"
3964
+ ]
2923
3965
  }
2924
3966
  },
2925
3967
  {
2926
- "name": "rent2b_statistics_location_list",
2927
- "description": "Returns detailed analytics including bookings, revenue, utilization, and trends for the specified location",
3968
+ "name": "rent2b_campaign_links_analytics",
3969
+ "description": "Get analytics (clicks, conversions) for a campaign link.",
2928
3970
  "method": "GET",
2929
- "path": "/statistics/location/{locationId}",
3971
+ "path": "/campaign-links/{id}/analytics",
2930
3972
  "inputSchema": {
2931
3973
  "type": "object",
2932
3974
  "properties": {
2933
- "locationId": {
3975
+ "id": {
2934
3976
  "type": "string",
2935
- "description": "The ID of the location to get statistics for"
3977
+ "description": "Campaign link ID"
2936
3978
  },
2937
- "days": {
3979
+ "page": {
2938
3980
  "type": "number",
2939
- "description": "Number of days to include in statistics (default: 30)"
3981
+ "description": "Page number (1-based)"
3982
+ },
3983
+ "limit": {
3984
+ "type": "number",
3985
+ "description": "Number of items per page"
3986
+ },
3987
+ "start_date": {
3988
+ "type": "string",
3989
+ "description": "Start date for analytics range (ISO 8601)"
3990
+ },
3991
+ "end_date": {
3992
+ "type": "string",
3993
+ "description": "End date for analytics range (ISO 8601)"
2940
3994
  }
2941
3995
  },
2942
3996
  "required": [
2943
- "locationId"
3997
+ "id"
2944
3998
  ]
2945
3999
  }
2946
4000
  },
2947
4001
  {
2948
- "name": "rent2b_statistics_location_summary_list",
2949
- "description": "Returns key metrics summary for dashboard display",
2950
- "method": "GET",
2951
- "path": "/statistics/location/{locationId}/summary",
4002
+ "name": "rent2b_bookings_damages_create",
4003
+ "description": "Report damage on a booking",
4004
+ "method": "POST",
4005
+ "path": "/bookings/{bookingId}/damages",
2952
4006
  "inputSchema": {
2953
4007
  "type": "object",
2954
4008
  "properties": {
2955
- "locationId": {
4009
+ "bookingId": {
2956
4010
  "type": "string",
2957
- "description": "The ID of the location to get summary for"
4011
+ "description": "Booking UUID"
4012
+ },
4013
+ "item_id": {
4014
+ "type": "string",
4015
+ "description": "Item UUID (required for item damages)"
4016
+ },
4017
+ "room_id": {
4018
+ "type": "string",
4019
+ "description": "Room UUID (required for room damages)"
4020
+ },
4021
+ "guest_id": {
4022
+ "type": "string",
4023
+ "description": "Guest UUID responsible for the damage"
4024
+ },
4025
+ "title": {
4026
+ "type": "string",
4027
+ "description": "Short damage title"
4028
+ },
4029
+ "description": {
4030
+ "type": "string",
4031
+ "description": "Detailed description of the damage"
4032
+ },
4033
+ "damage_type": {
4034
+ "type": "string",
4035
+ "description": "Type of damage",
4036
+ "enum": [
4037
+ "scratch",
4038
+ "dent",
4039
+ "crack",
4040
+ "broken",
4041
+ "missing",
4042
+ "puncture",
4043
+ "mechanical",
4044
+ "tear",
4045
+ "stain",
4046
+ "other"
4047
+ ]
4048
+ },
4049
+ "severity": {
4050
+ "type": "string",
4051
+ "description": "Severity level",
4052
+ "enum": [
4053
+ "minor",
4054
+ "moderate",
4055
+ "major"
4056
+ ]
4057
+ },
4058
+ "amount": {
4059
+ "type": "number",
4060
+ "description": "Charge amount for the damage"
4061
+ },
4062
+ "currency": {
4063
+ "type": "string",
4064
+ "description": "Currency code"
4065
+ },
4066
+ "images": {
4067
+ "type": "array",
4068
+ "description": "Array of image URLs"
4069
+ },
4070
+ "create_maintenance": {
4071
+ "type": "boolean",
4072
+ "description": "Whether to auto-create a maintenance repair task"
4073
+ },
4074
+ "maintenance_start_date": {
4075
+ "type": "string",
4076
+ "description": "Maintenance start date (ISO string). Used when create_maintenance is true."
4077
+ },
4078
+ "maintenance_end_date": {
4079
+ "type": "string",
4080
+ "description": "Maintenance end date (ISO string). Used when create_maintenance is true."
2958
4081
  }
2959
4082
  },
2960
4083
  "required": [
2961
- "locationId"
4084
+ "bookingId",
4085
+ "title",
4086
+ "damage_type",
4087
+ "severity"
2962
4088
  ]
2963
4089
  }
2964
4090
  },
2965
4091
  {
2966
- "name": "rent2b_statistics_location_revenue_list",
2967
- "description": "Returns comprehensive revenue breakdown and trends",
4092
+ "name": "rent2b_bookings_damages_list",
4093
+ "description": "List all damage reports for a booking",
2968
4094
  "method": "GET",
2969
- "path": "/statistics/location/{locationId}/revenue",
4095
+ "path": "/bookings/{bookingId}/damages",
2970
4096
  "inputSchema": {
2971
4097
  "type": "object",
2972
4098
  "properties": {
2973
- "locationId": {
4099
+ "bookingId": {
2974
4100
  "type": "string",
2975
- "description": "The ID of the location"
4101
+ "description": "Booking UUID"
2976
4102
  },
2977
- "days": {
2978
- "type": "number",
2979
- "description": "Number of days to include in statistics (default: 30)"
4103
+ "page": {
4104
+ "type": "string",
4105
+ "description": "Page number (1-based)"
4106
+ },
4107
+ "limit": {
4108
+ "type": "string",
4109
+ "description": "Items per page"
2980
4110
  }
2981
4111
  },
2982
4112
  "required": [
2983
- "locationId"
4113
+ "bookingId"
2984
4114
  ]
2985
4115
  }
2986
4116
  },
2987
4117
  {
2988
- "name": "rent2b_statistics_location_utilization_list",
2989
- "description": "Returns utilization rates and booking patterns",
4118
+ "name": "rent2b_bookings_damages_list_2",
4119
+ "description": "Get a damage report by ID",
2990
4120
  "method": "GET",
2991
- "path": "/statistics/location/{locationId}/utilization",
4121
+ "path": "/bookings/{bookingId}/damages/{id}",
2992
4122
  "inputSchema": {
2993
4123
  "type": "object",
2994
4124
  "properties": {
2995
- "locationId": {
4125
+ "bookingId": {
2996
4126
  "type": "string",
2997
- "description": "The ID of the location"
4127
+ "description": "Booking UUID"
2998
4128
  },
2999
- "days": {
3000
- "type": "number",
3001
- "description": "Number of days to include in statistics (default: 30)"
4129
+ "id": {
4130
+ "type": "string",
4131
+ "description": "Damage UUID"
3002
4132
  }
3003
4133
  },
3004
4134
  "required": [
3005
- "locationId"
4135
+ "bookingId",
4136
+ "id"
3006
4137
  ]
3007
4138
  }
3008
4139
  },
3009
4140
  {
3010
- "name": "rent2b_bookings_checklists_create",
3011
- "description": "Create a checklist instance for a booking",
3012
- "method": "POST",
3013
- "path": "/bookings/{bookingId}/checklists",
4141
+ "name": "rent2b_bookings_damages_update",
4142
+ "description": "Update a damage report (status, amount, etc.)",
4143
+ "method": "PATCH",
4144
+ "path": "/bookings/{bookingId}/damages/{id}",
3014
4145
  "inputSchema": {
3015
4146
  "type": "object",
3016
4147
  "properties": {
3017
4148
  "bookingId": {
3018
4149
  "type": "string",
3019
- "description": "bookingId parameter"
4150
+ "description": "Booking UUID"
3020
4151
  },
3021
- "phase": {
4152
+ "id": {
3022
4153
  "type": "string",
3023
- "description": "Phase for this checklist",
4154
+ "description": "Damage UUID"
4155
+ },
4156
+ "title": {
4157
+ "type": "string",
4158
+ "description": "Short damage title"
4159
+ },
4160
+ "description": {
4161
+ "type": "string",
4162
+ "description": "Detailed description of the damage"
4163
+ },
4164
+ "damage_type": {
4165
+ "type": "string",
4166
+ "description": "Type of damage",
3024
4167
  "enum": [
3025
- "check_out",
3026
- "check_in"
4168
+ "scratch",
4169
+ "dent",
4170
+ "crack",
4171
+ "broken",
4172
+ "missing",
4173
+ "puncture",
4174
+ "mechanical",
4175
+ "tear",
4176
+ "stain",
4177
+ "other"
4178
+ ]
4179
+ },
4180
+ "severity": {
4181
+ "type": "string",
4182
+ "description": "Severity level",
4183
+ "enum": [
4184
+ "minor",
4185
+ "moderate",
4186
+ "major"
4187
+ ]
4188
+ },
4189
+ "status": {
4190
+ "type": "string",
4191
+ "description": "Current status",
4192
+ "enum": [
4193
+ "reported",
4194
+ "under_review",
4195
+ "repaired",
4196
+ "charged",
4197
+ "written_off"
3027
4198
  ]
4199
+ },
4200
+ "amount": {
4201
+ "type": "number",
4202
+ "description": "Charge amount for the damage"
4203
+ },
4204
+ "currency": {
4205
+ "type": "string",
4206
+ "description": "Currency code"
4207
+ },
4208
+ "images": {
4209
+ "type": "array",
4210
+ "description": "Array of image URLs"
3028
4211
  }
3029
4212
  },
3030
4213
  "required": [
3031
4214
  "bookingId",
3032
- "phase"
4215
+ "id"
3033
4216
  ]
3034
4217
  }
3035
4218
  },
3036
4219
  {
3037
- "name": "rent2b_checklists_list",
3038
- "description": "List all checklists for a specific booking.",
3039
- "method": "GET",
3040
- "path": "/bookings/{bookingId}/checklists",
4220
+ "name": "rent2b_bookings_damages_delete",
4221
+ "description": "Delete a damage report",
4222
+ "method": "DELETE",
4223
+ "path": "/bookings/{bookingId}/damages/{id}",
3041
4224
  "inputSchema": {
3042
4225
  "type": "object",
3043
4226
  "properties": {
3044
4227
  "bookingId": {
3045
4228
  "type": "string",
3046
- "description": "bookingId parameter"
4229
+ "description": "Booking UUID"
4230
+ },
4231
+ "id": {
4232
+ "type": "string",
4233
+ "description": "Damage UUID"
3047
4234
  }
3048
4235
  },
3049
4236
  "required": [
3050
- "bookingId"
4237
+ "bookingId",
4238
+ "id"
3051
4239
  ]
3052
4240
  }
3053
4241
  },
3054
4242
  {
3055
- "name": "rent2b_checklists_get",
3056
- "description": "Get a specific checklist by ID for a booking.",
3057
- "method": "GET",
3058
- "path": "/bookings/{bookingId}/checklists/{id}",
4243
+ "name": "rent2b_bookings_damages_images_create",
4244
+ "description": "Upload images for a damage report",
4245
+ "method": "POST",
4246
+ "path": "/bookings/{bookingId}/damages/{id}/images",
3059
4247
  "inputSchema": {
3060
4248
  "type": "object",
3061
4249
  "properties": {
3062
4250
  "bookingId": {
3063
4251
  "type": "string",
3064
- "description": "bookingId parameter"
4252
+ "description": "Booking UUID"
3065
4253
  },
3066
4254
  "id": {
3067
4255
  "type": "string",
3068
- "description": "id parameter"
4256
+ "description": "Damage UUID"
3069
4257
  }
3070
4258
  },
3071
4259
  "required": [
@@ -3075,61 +4263,53 @@
3075
4263
  }
3076
4264
  },
3077
4265
  {
3078
- "name": "rent2b_bookings_checklists_items_update",
3079
- "description": "Check/uncheck an item or add a note",
3080
- "method": "PATCH",
3081
- "path": "/bookings/{bookingId}/checklists/{id}/items/{itemId}",
4266
+ "name": "rent2b_bookings_damages_images_list",
4267
+ "description": "Get images for a damage report",
4268
+ "method": "GET",
4269
+ "path": "/bookings/{bookingId}/damages/{id}/images",
3082
4270
  "inputSchema": {
3083
4271
  "type": "object",
3084
4272
  "properties": {
3085
4273
  "bookingId": {
3086
4274
  "type": "string",
3087
- "description": "bookingId parameter"
4275
+ "description": "Booking UUID"
3088
4276
  },
3089
4277
  "id": {
3090
4278
  "type": "string",
3091
- "description": "id parameter"
3092
- },
3093
- "itemId": {
3094
- "type": "string",
3095
- "description": "itemId parameter"
3096
- },
3097
- "is_checked": {
3098
- "type": "boolean",
3099
- "description": "Check or uncheck the item"
3100
- },
3101
- "note": {
3102
- "type": "string",
3103
- "description": "Optional note"
4279
+ "description": "Damage UUID"
3104
4280
  }
3105
4281
  },
3106
4282
  "required": [
3107
4283
  "bookingId",
3108
- "id",
3109
- "itemId"
4284
+ "id"
3110
4285
  ]
3111
4286
  }
3112
4287
  },
3113
4288
  {
3114
- "name": "rent2b_bookings_checklists_complete_update",
3115
- "description": "Mark a checklist as completed",
3116
- "method": "PATCH",
3117
- "path": "/bookings/{bookingId}/checklists/{id}/complete",
4289
+ "name": "rent2b_bookings_damages_images_delete",
4290
+ "description": "Delete a damage image",
4291
+ "method": "DELETE",
4292
+ "path": "/bookings/{bookingId}/damages/{id}/images/{imageId}",
3118
4293
  "inputSchema": {
3119
4294
  "type": "object",
3120
4295
  "properties": {
3121
4296
  "bookingId": {
3122
4297
  "type": "string",
3123
- "description": "bookingId parameter"
4298
+ "description": "Booking UUID"
3124
4299
  },
3125
4300
  "id": {
3126
4301
  "type": "string",
3127
- "description": "id parameter"
4302
+ "description": "Damage UUID"
4303
+ },
4304
+ "imageId": {
4305
+ "type": "string",
4306
+ "description": "Image UUID"
3128
4307
  }
3129
4308
  },
3130
4309
  "required": [
3131
4310
  "bookingId",
3132
- "id"
4311
+ "id",
4312
+ "imageId"
3133
4313
  ]
3134
4314
  }
3135
4315
  }