Matt
c7dbe0bb10
docs: lock Reports page + Tenancies module designs
docs/reports-page-design.md: ~400 lines covering
- Routing: /{portSlug}/reports landing + builder/templates/runs/schedules
- 3 new tables (report_templates_shared, report_runs, report_schedules)
with full schema + indexes
- API surface (12 routes) gated on reports.export / reports.admin
- BullMQ queues (reports-render, reports-email) + cron scheduler
- UI plan for landing + two-panel builder + 3 sub-pages
- Quick-path dashboard button rewire
- 7-PR phased plan (~43h total)
docs/tenancies-design.md: ~350 lines covering
- Vocabulary split (Reservation vs Tenancy)
- Platform-wide module-enabled rule (auto-flips on first insert,
admin Operations toggle, warning on disable)
- Rename migration berth_reservations -> tenancies + self-FKs
- Tenure-type behaviour matrix (renewals + public-map flip)
- Transfer flow (end + mint linked rows)
- 3 new perms (view/manage/cancel)
- Webhook auto-create branch (gated)
- Public-map status precedence (permanent-class only)
- Sidebar entry + top-level page + entity-tab CTAs
- All 4 reporting widgets (module-gated)
- Service layer additions
- API surface (10 routes)
- 7-PR phased plan (~42h total)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 03:54:32 +02:00
..
2026-05-18 13:28:50 +02:00
2026-05-03 17:24:41 +02:00
2026-04-28 20:10:30 +02:00
2026-05-25 03:40:37 +02:00
2026-05-23 00:52:59 +02:00
2026-05-07 20:57:53 +02:00
2026-05-15 00:44:51 +02:00
2026-05-12 18:16:18 +02:00
2026-05-15 00:54:08 +02:00
2026-05-05 18:33:13 +02:00
2026-05-07 20:57:53 +02:00
2026-05-05 12:49:53 +02:00
2026-05-18 13:28:50 +02:00
2026-05-18 13:28:50 +02:00
2026-05-09 18:38:46 +02:00
2026-05-07 20:57:53 +02:00
2026-05-07 20:57:53 +02:00
2026-05-12 17:19:24 +02:00
2026-05-07 20:57:53 +02:00
2026-05-15 01:22:14 +02:00
2026-05-07 20:57:53 +02:00
2026-05-12 17:02:10 +02:00
2026-05-21 19:18:22 +02:00
2026-05-05 05:11:26 +02:00
2026-05-05 05:11:26 +02:00
2026-05-18 14:22:11 +02:00
2026-05-07 20:57:53 +02:00
2026-05-13 14:11:50 +02:00
2026-05-18 13:28:50 +02:00
2026-05-05 04:13:32 +02:00
2026-05-05 14:12:59 +02:00
2026-05-18 13:28:50 +02:00
2026-05-18 17:09:19 +02:00
2026-05-14 22:38:02 +02:00
2026-05-18 14:22:11 +02:00
2026-05-14 15:55:17 +02:00
2026-05-25 03:54:32 +02:00
2026-05-25 03:54:32 +02:00
2026-05-20 15:53:41 +02:00
2026-05-20 15:53:41 +02:00
2026-05-09 18:38:46 +02:00
2026-04-27 21:54:32 +02:00