{
  "$schemaVersion": 2,
  "_readme": [
    "The dashboard catalogue: what tabs exist, what widgets exist, and what gates",
    "each one. It does NOT say where a widget sits - that is layout, and layout is",
    "editable by a super admin in the `dashboard_layout` collection.",
    "",
    "Separating the two is the point. Before this, a widget's tab was hardcoded per",
    "platform, so moving one meant a code change and an agency could only toggle",
    "widgets on and off.",
    "",
    "TABS are fixed. id/label/order, plus an optional `permission` so a whole tab",
    "can be hidden from a role even when widgets on it would otherwise show. A tab",
    "with no visible widget is hidden anyway - the same rule menus use for",
    "containers, so a tab cannot outlive its contents.",
    "",
    "WIDGETS:",
    "  module         entitlement - the module whose DATA the widget shows",
    "  permission     authorization - what the user must hold",
    "  defaultEnabled on unless the agency switches it off. FALSE on the five",
    "                 sensitive widgets: money and company-wide performance are",
    "                 opt-in",
    "  defaultTab     where a NEWLY ADDED widget lands before anyone moves it.",
    "                 This is what keeps 7.7 true - a new widget reaches every",
    "                 eligible agency with no per-agency edit.",
    "",
    "Read by rbac-migration/seed-dashboard-layout and",
    "scripts/generate-widget-registry.js.",
    "",
    "PLATFORMS map the two names for the same thing. agencies.platform",
    "stores the template key ('property_management'); dashboard rows store",
    "the short type ('pm'). They match only for brokerage and developer,",
    "which is why code comparing them appeared to work and silently",
    "resolved nothing for sales and property-management agencies."
  ],
  "platforms": [
    {
      "key": "sales_crm",
      "type": "sales",
      "label": "Sales Platform"
    },
    {
      "key": "brokerage",
      "type": "brokerage",
      "label": "Brokerage Platform"
    },
    {
      "key": "developer",
      "type": "developer",
      "label": "Developer Platform"
    },
    {
      "key": "brokerage_developer",
      "type": "brok_dev",
      "label": "Brokerage + Developer Platform"
    },
    {
      "key": "property_management",
      "type": "pm",
      "label": "Property Management Platform"
    },
    {
      "key": "full_suite",
      "type": "full",
      "label": "Full Suite Platform"
    }
  ],
  "tabs": [
    {
      "id": "overview",
      "label": "Overview",
      "order": 10,
      "permission": "dashboard.tab_overview"
    },
    {
      "id": "sales",
      "label": "Sales",
      "order": 20,
      "permission": "dashboard.tab_sales"
    },
    {
      "id": "brokerage",
      "label": "Brokerage",
      "order": 30,
      "permission": "dashboard.tab_brokerage"
    },
    {
      "id": "developer",
      "label": "Developer",
      "order": 40,
      "permission": "dashboard.tab_developer"
    },
    {
      "id": "pm",
      "label": "Property management",
      "order": 50,
      "permission": "dashboard.tab_pm"
    }
  ],
  "widgets": [
    {
      "id": "new-owners",
      "name": "New Owners",
      "module": "owners",
      "permission": "dashboard.new_owners",
      "defaultEnabled": true,
      "defaultTab": "pm",
      "_seedPlacements": [
        {
          "platform": "full",
          "tab": "pm",
          "enabled": false
        }
      ]
    },
    {
      "id": "wg-account-assignment",
      "name": "Lead Assignments",
      "module": "accounts",
      "permission": "dashboard.account_assignment",
      "defaultEnabled": true,
      "defaultTab": "brokerage",
      "_seedPlacements": [
        {
          "platform": "brokerage",
          "tab": "brokerage"
        },
        {
          "platform": "brok_dev",
          "tab": "brokerage"
        },
        {
          "platform": "brok_dev",
          "tab": "developer"
        },
        {
          "platform": "developer",
          "tab": "developer"
        },
        {
          "platform": "full",
          "tab": "brokerage"
        },
        {
          "platform": "full",
          "tab": "developer"
        },
        {
          "platform": "full",
          "tab": "sales"
        },
        {
          "platform": "sales",
          "tab": "sales"
        }
      ]
    },
    {
      "id": "wg-account-sources",
      "name": "Account Sources",
      "module": "accounts",
      "permission": "dashboard.account_sources",
      "defaultEnabled": true,
      "defaultTab": "brokerage",
      "_seedPlacements": [
        {
          "platform": "brokerage",
          "tab": "brokerage"
        },
        {
          "platform": "brok_dev",
          "tab": "brokerage"
        },
        {
          "platform": "full",
          "tab": "brokerage"
        },
        {
          "platform": "full",
          "tab": "sales"
        },
        {
          "platform": "sales",
          "tab": "sales"
        }
      ]
    },
    {
      "id": "wg-accounts-statistics",
      "name": "Account Pipeline",
      "module": "accounts",
      "permission": "dashboard.accounts_statistics",
      "defaultEnabled": true,
      "defaultTab": "overview",
      "_seedPlacements": [
        {
          "platform": "brokerage",
          "tab": "overview"
        },
        {
          "platform": "brok_dev",
          "tab": "brokerage"
        },
        {
          "platform": "full",
          "tab": "brokerage"
        },
        {
          "platform": "full",
          "tab": "sales"
        },
        {
          "platform": "sales",
          "tab": "overview"
        }
      ]
    },
    {
      "id": "wg-actionable-accounts",
      "name": "Action Center",
      "module": "accounts",
      "permission": "dashboard.actionable_accounts",
      "defaultEnabled": true,
      "defaultTab": "overview",
      "_seedPlacements": [
        {
          "platform": "brokerage",
          "tab": "overview"
        },
        {
          "platform": "full",
          "tab": "overview"
        },
        {
          "platform": "sales",
          "tab": "overview"
        }
      ]
    },
    {
      "id": "wg-agency-performance",
      "name": "Company Performance",
      "module": "user_management",
      "permission": "dashboard.agency_performance",
      "defaultEnabled": false,
      "defaultTab": "developer",
      "_seedPlacements": [
        {
          "platform": "brok_dev",
          "tab": "developer"
        },
        {
          "platform": "developer",
          "tab": "overview"
        },
        {
          "platform": "full",
          "tab": "developer"
        }
      ]
    },
    {
      "id": "wg-cashflow",
      "name": "Collections & Cashflow",
      "module": "invoices",
      "permission": "dashboard.cashflow",
      "defaultEnabled": false,
      "defaultTab": "developer",
      "_seedPlacements": [
        {
          "platform": "brok_dev",
          "tab": "developer"
        },
        {
          "platform": "developer",
          "tab": "developer"
        },
        {
          "platform": "full",
          "tab": "developer"
        },
        {
          "platform": "full",
          "tab": "pm"
        },
        {
          "platform": "pm",
          "tab": "overview",
          "enabled": false
        }
      ]
    },
    {
      "id": "wg-commissions",
      "name": "Commissions",
      "module": "sales",
      "permission": "dashboard.commissions",
      "defaultEnabled": false,
      "defaultTab": "brokerage",
      "_seedPlacements": [
        {
          "platform": "brokerage",
          "tab": "brokerage",
          "enabled": false
        },
        {
          "platform": "brok_dev",
          "tab": "brokerage",
          "enabled": false
        },
        {
          "platform": "brok_dev",
          "tab": "developer"
        },
        {
          "platform": "developer",
          "tab": "developer"
        },
        {
          "platform": "full",
          "tab": "brokerage",
          "enabled": false
        },
        {
          "platform": "full",
          "tab": "developer"
        },
        {
          "platform": "pm",
          "tab": "pm"
        }
      ]
    },
    {
      "id": "wg-invoices",
      "name": "Invoices",
      "module": "invoices",
      "permission": "dashboard.invoices",
      "defaultEnabled": true,
      "defaultTab": "developer",
      "_seedPlacements": [
        {
          "platform": "brok_dev",
          "tab": "developer"
        },
        {
          "platform": "developer",
          "tab": "developer"
        },
        {
          "platform": "full",
          "tab": "developer"
        },
        {
          "platform": "full",
          "tab": "pm",
          "enabled": false
        }
      ]
    },
    {
      "id": "wg-lease-renewal-tracker",
      "name": "Lease Renewal Tracker",
      "module": "bookings",
      "permission": "dashboard.lease_renewal_tracker",
      "defaultEnabled": true,
      "defaultTab": "pm",
      "_seedPlacements": [
        {
          "platform": "full",
          "tab": "pm"
        },
        {
          "platform": "pm",
          "tab": "pm"
        }
      ]
    },
    {
      "id": "wg-maintenance-work-orders",
      "name": "Maintenance work orders",
      "module": "bookings",
      "permission": "dashboard.maintenance_work_orders",
      "defaultEnabled": true,
      "defaultTab": "pm",
      "_seedPlacements": [
        {
          "platform": "full",
          "tab": "pm"
        },
        {
          "platform": "pm",
          "tab": "pm"
        }
      ]
    },
    {
      "id": "wg-my-schedule",
      "name": "My Schedule",
      "module": "tasks",
      "permission": "dashboard.my_schedule",
      "defaultEnabled": true,
      "defaultTab": "overview",
      "_seedPlacements": [
        {
          "platform": "brokerage",
          "tab": "overview"
        },
        {
          "platform": "brok_dev",
          "tab": "overview"
        },
        {
          "platform": "developer",
          "tab": "overview"
        },
        {
          "platform": "full",
          "tab": "overview"
        },
        {
          "platform": "pm",
          "tab": "overview"
        },
        {
          "platform": "sales",
          "tab": "overview"
        }
      ]
    },
    {
      "id": "wg-new-accounts",
      "name": "New Accounts",
      "module": "accounts",
      "permission": "dashboard.new_accounts",
      "defaultEnabled": true,
      "defaultTab": "overview",
      "_seedPlacements": [
        {
          "platform": "brokerage",
          "tab": "overview"
        },
        {
          "platform": "brok_dev",
          "tab": "overview"
        },
        {
          "platform": "full",
          "tab": "overview"
        },
        {
          "platform": "sales",
          "tab": "overview"
        }
      ]
    },
    {
      "id": "wg-occupancy-rate",
      "name": "Occupancy rate",
      "module": "bookings",
      "permission": "dashboard.occupancy_rate",
      "defaultEnabled": true,
      "defaultTab": "pm",
      "_seedPlacements": [
        {
          "platform": "full",
          "tab": "pm"
        },
        {
          "platform": "pm",
          "tab": "pm"
        }
      ]
    },
    {
      "id": "wg-outstanding-payment-summary",
      "name": "Outstanding payments summary",
      "module": "invoices",
      "permission": "dashboard.outstanding_payment_summary",
      "defaultEnabled": false,
      "defaultTab": "pm",
      "_seedPlacements": [
        {
          "platform": "full",
          "tab": "pm"
        },
        {
          "platform": "pm",
          "tab": "overview"
        }
      ]
    },
    {
      "id": "wg-owners",
      "name": "Owners",
      "module": "owners",
      "permission": "dashboard.owners",
      "defaultEnabled": true,
      "defaultTab": "developer",
      "_seedPlacements": [
        {
          "platform": "developer",
          "tab": "developer"
        }
      ]
    },
    {
      "id": "wg-pdc-cheques",
      "name": "PDC Cheques",
      "module": "invoices",
      "permission": "dashboard.pdc_cheques",
      "defaultEnabled": false,
      "defaultTab": "pm",
      "_seedPlacements": [
        {
          "platform": "full",
          "tab": "pm"
        },
        {
          "platform": "pm",
          "tab": "pm"
        }
      ]
    },
    {
      "id": "wg-property-performance",
      "name": "Property Performance",
      "module": "properties",
      "permission": "dashboard.property_performance",
      "defaultEnabled": true,
      "defaultTab": "brokerage",
      "_seedPlacements": [
        {
          "platform": "full",
          "tab": "brokerage"
        }
      ]
    },
    {
      "id": "wg-reservation-overview",
      "name": "Reservation Overview",
      "module": "reservations",
      "permission": "dashboard.reservation_overview",
      "defaultEnabled": true,
      "defaultTab": "overview",
      "_seedPlacements": [
        {
          "platform": "brok_dev",
          "tab": "overview"
        },
        {
          "platform": "developer",
          "tab": "overview"
        },
        {
          "platform": "full",
          "tab": "overview"
        }
      ]
    },
    {
      "id": "wg-sales",
      "name": "Sales",
      "module": "sales",
      "permission": "dashboard.sales",
      "defaultEnabled": true,
      "defaultTab": "brokerage",
      "_seedPlacements": [
        {
          "platform": "brokerage",
          "tab": "brokerage"
        },
        {
          "platform": "brok_dev",
          "tab": "brokerage"
        },
        {
          "platform": "brok_dev",
          "tab": "developer"
        },
        {
          "platform": "developer",
          "tab": "developer"
        },
        {
          "platform": "full",
          "tab": "brokerage"
        },
        {
          "platform": "full",
          "tab": "developer"
        },
        {
          "platform": "full",
          "tab": "sales"
        },
        {
          "platform": "sales",
          "tab": "sales"
        }
      ]
    },
    {
      "id": "wg-sales-offers",
      "name": "Sales & Offers",
      "module": "sales_offers",
      "permission": "dashboard.sales_offers",
      "defaultEnabled": true,
      "defaultTab": "developer",
      "_seedPlacements": [
        {
          "platform": "brok_dev",
          "tab": "developer"
        },
        {
          "platform": "developer",
          "tab": "overview"
        },
        {
          "platform": "full",
          "tab": "developer"
        }
      ]
    },
    {
      "id": "wg-tickets",
      "name": "Support Tickets",
      "module": "support_tickets",
      "permission": "dashboard.tickets",
      "defaultEnabled": true,
      "defaultTab": "pm",
      "_seedPlacements": [
        {
          "platform": "full",
          "tab": "pm"
        }
      ]
    }
  ]
}
