{
  "$schemaVersion": 1,
  "_readme": [
    "Source of truth for the `permissions` collection. Seeded by the Yii console",
    "action rbac-migration/seed-permissions. TypeScript types are generated from",
    "this file. Never hand-create rows.",
    "",
    "name           THE IDENTIFIER the application checks - hasPermission('accounts.view').",
    "               Immutable once a role holds it. This is the field that matters.",
    "label          human-readable display text. Safe to change at any time.",
    "module         THE grouping. Entitlement AND how the role editor groups them:",
    "               a group appears or disappears atomically with the agency's",
    "               modules, matching effective = role.permissions n modules.",
    "",
    "THERE IS DELIBERATELY NO `model` HERE.",
    "The collection has one and the schema requires it, so the seeder writes",
    "model = module. Nothing reads it for logic - it was only ever a grouping",
    "field, and `module` groups better. Phase 10 drops the column.",
    "defaultGranted when a NEW permission is introduced, whether roles already",
    "               holding the module's matching verb receive it. Applied once, at",
    "               first introduction only. Module-level and legacy names are",
    "               always false: a new module must be granted deliberately.",
    "legacy         pre-existing name kept unchanged; not on the module.verb pattern.",
    "status         active | inactive. Retired names are marked inactive, never",
    "               deleted, so historic role documents stay readable.",
    "",
    "THERE IS DELIBERATELY NO `key` HERE.",
    "In the collection `key` is a NUMERIC counter, and rolepermissions.permission_ids",
    "holds those numbers - the Yii relation joins hasMany(['key' => 'permission_ids']).",
    "The seeder allocates it: existing rows keep the number they already have, new",
    "rows get max(key)+1. Numbers are never reused and never renumbered.",
    "",
    "The old seeder (one-time-cron/add-account-permissions) assigned key = index+1",
    "from a hard-coded array. Inserting a permission mid-array would have shifted",
    "every later key and silently re-pointed every role. Do not go back to that.",
    "",
    "replaces       the legacy permission name this one supersedes. The grant",
    "               migration reads it: every role holding the legacy key also gets",
    "               the new one, so nothing is lost at cutover. The legacy row stays",
    "               until phase 10 removes it (expand, then contract).",
    "",
    "description    optional. Omitted on legacy entries so the seeder leaves the",
    "               existing text alone - the original wording in the collection is",
    "               more specific than anything restated here, and those rows retire",
    "               in phase 10 anyway. A retired legacy entry keeps a description,",
    "               since that text explains WHY it was retired."
  ],
  "permissions": [
    {
      "name": "properties.view",
      "label": "View properties",
      "description": "See the properties area, list and open its records.",
      "module": "properties",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "properties.manage",
      "label": "Manage properties",
      "description": "Create, edit and delete properties records.",
      "module": "properties",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "projects.view",
      "label": "View projects",
      "description": "See the projects area, list and open its records.",
      "module": "projects",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "projects.manage",
      "label": "Manage projects",
      "description": "Create, edit and delete projects records.",
      "module": "projects",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "accounts.view",
      "label": "View accounts",
      "description": "See the accounts area, list and open its records.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": false,
      "replaces": "view_account"
    },
    {
      "name": "accounts.manage",
      "label": "Manage accounts",
      "description": "Create, edit and delete accounts records. Covers create, edit and delete: the separate verbs were collapsed into this, because every other module expresses the same thing as view + manage.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "owners.view",
      "label": "View owners",
      "description": "See the owners area, list and open its records.",
      "module": "owners",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "owners.manage",
      "label": "Manage owners",
      "description": "Create, edit and delete owners records.",
      "module": "owners",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "companies.view",
      "label": "View companies",
      "description": "See the companies area, list and open its records.",
      "module": "companies",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "companies.manage",
      "label": "Manage companies",
      "description": "Create, edit and delete companies records.",
      "module": "companies",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "property_groups.view",
      "label": "View property groups",
      "description": "See the property groups area, list and open its records.",
      "module": "property_groups",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "property_groups.manage",
      "label": "Manage property groups",
      "description": "Create, edit and delete property groups records.",
      "module": "property_groups",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "tasks.view",
      "label": "View tasks",
      "description": "See the tasks area, list and open its records.",
      "module": "tasks",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "tasks.manage",
      "label": "Manage tasks",
      "description": "Create, edit and delete tasks records.",
      "module": "tasks",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "meetings.view",
      "label": "View meetings",
      "description": "See the meetings area, list and open its records.",
      "module": "meetings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "meetings.manage",
      "label": "Manage meetings",
      "description": "Create, edit and delete meetings records.",
      "module": "meetings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "tours.view",
      "label": "View tours",
      "description": "See the tours area, list and open its records.",
      "module": "tours",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "tours.manage",
      "label": "Manage tours",
      "description": "Create, edit and delete tours records.",
      "module": "tours",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "sales_offers.view",
      "label": "View sales offers",
      "description": "See the sales offers area, list and open its records.",
      "module": "sales_offers",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "sales_offers.manage",
      "label": "Manage sales offers",
      "description": "Create, edit and delete sales offers records.",
      "module": "sales_offers",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "reservations.view",
      "label": "View reservations",
      "description": "See the reservations area, list and open its records.",
      "module": "reservations",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "reservations.manage",
      "label": "Manage reservations",
      "description": "Create, edit and delete reservations records.",
      "module": "reservations",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "sales.view",
      "label": "View sales",
      "description": "See the sales area, list and open its records.",
      "module": "sales",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "sales.manage",
      "label": "Manage sales",
      "description": "Create, edit and delete sales records.",
      "module": "sales",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "bookings.view",
      "label": "View bookings",
      "description": "See the bookings area, list and open its records.",
      "module": "bookings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "bookings.manage",
      "label": "Manage bookings",
      "description": "Create, edit and delete bookings records.",
      "module": "bookings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "invoices.view",
      "label": "View invoices",
      "description": "See the invoices area, list and open its records.",
      "module": "invoices",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "invoices.manage",
      "label": "Manage invoices",
      "description": "Create, edit and delete invoices records.",
      "module": "invoices",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "commissions.view",
      "label": "View commissions",
      "description": "See the commissions area, list and open its records.",
      "module": "commissions",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "commissions.manage",
      "label": "Manage commissions",
      "description": "Create, edit and delete commissions records.",
      "module": "commissions",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "lead_distribution.view",
      "label": "View lead distribution",
      "description": "See the lead distribution area, list and open its records.",
      "module": "lead_distribution",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "lead_distribution.manage",
      "label": "Manage lead distribution",
      "description": "Create, edit and delete lead distribution records.",
      "module": "lead_distribution",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "campaigns_email.view",
      "label": "View email campaigns",
      "description": "See the email campaigns area, list and open its records.",
      "module": "campaigns_email",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "campaigns_email.manage",
      "label": "Manage email campaigns",
      "description": "Create, edit and delete email campaigns records.",
      "module": "campaigns_email",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "campaigns_whatsapp.view",
      "label": "View whatsapp campaigns",
      "description": "See the whatsapp campaigns area, list and open its records.",
      "module": "campaigns_whatsapp",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "campaigns_whatsapp.manage",
      "label": "Manage whatsapp campaigns",
      "description": "Create, edit and delete whatsapp campaigns records.",
      "module": "campaigns_whatsapp",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "campaigns_meta.view",
      "label": "View meta campaigns",
      "description": "See the meta campaigns area, list and open its records.",
      "module": "campaigns_meta",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "campaigns_meta.manage",
      "label": "Manage meta campaigns",
      "description": "Create, edit and delete meta campaigns records.",
      "module": "campaigns_meta",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "templates_email.view",
      "label": "View email templates",
      "description": "See the email templates area, list and open its records.",
      "module": "templates_email",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "templates_email.manage",
      "label": "Manage email templates",
      "description": "Create, edit and delete email templates records.",
      "module": "templates_email",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "templates_message.view",
      "label": "View message templates",
      "description": "See the message templates area, list and open its records.",
      "module": "templates_message",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "templates_message.manage",
      "label": "Manage message templates",
      "description": "Create, edit and delete message templates records.",
      "module": "templates_message",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "templates_pdf.view",
      "label": "View pdf templates",
      "description": "See the pdf templates area, list and open its records.",
      "module": "templates_pdf",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "templates_pdf.manage",
      "label": "Manage pdf templates",
      "description": "Create, edit and delete pdf templates records.",
      "module": "templates_pdf",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "templates_contract.view",
      "label": "View contract templates",
      "description": "See the contract templates area, list and open its records.",
      "module": "templates_contract",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "templates_contract.manage",
      "label": "Manage contract templates",
      "description": "Create, edit and delete contract templates records.",
      "module": "templates_contract",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "sequences.view",
      "label": "View sequences",
      "description": "See the sequences area, list and open its records.",
      "module": "sequences",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "sequences.manage",
      "label": "Manage sequences",
      "description": "Create, edit and delete sequences records.",
      "module": "sequences",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "notification_manager.view",
      "label": "View notification manager",
      "description": "See the notification manager area, list and open its records.",
      "module": "notification_manager",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "notification_manager.manage",
      "label": "Manage notification manager",
      "description": "Create, edit and delete notification manager records.",
      "module": "notification_manager",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "dialer.view",
      "label": "View dialer",
      "description": "See the dialer area, list and open its records.",
      "module": "dialer",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "dialer.manage",
      "label": "Manage dialer",
      "description": "Create, edit and delete dialer records.",
      "module": "dialer",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "mls.view",
      "label": "View mls",
      "description": "See the mls area, list and open its records.",
      "module": "mls",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "mls.manage",
      "label": "Manage mls",
      "description": "Create, edit and delete mls records.",
      "module": "mls",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "exporter.view",
      "label": "View exporter",
      "description": "See the exporter area, list and open its records.",
      "module": "exporter",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "exporter.manage",
      "label": "Manage exporter",
      "description": "Create, edit and delete exporter records.",
      "module": "exporter",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "importer.view",
      "label": "View importer",
      "description": "See the importer area, list and open its records.",
      "module": "importer",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "importer.manage",
      "label": "Manage importer",
      "description": "Create, edit and delete importer records.",
      "module": "importer",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "support_tickets.view",
      "label": "View support tickets",
      "description": "See the support tickets area, list and open its records.",
      "module": "support_tickets",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "support_tickets.manage",
      "label": "Manage support tickets",
      "description": "Create, edit and delete support tickets records.",
      "module": "support_tickets",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "cms.view",
      "label": "View cms",
      "description": "See the cms area, list and open its records.",
      "module": "cms",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "cms.manage",
      "label": "Manage cms",
      "description": "Create, edit and delete cms records.",
      "module": "cms",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "actionable_rules.view",
      "label": "View actionable rules",
      "description": "See the actionable rules area, list and open its records.",
      "module": "actionable_rules",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "actionable_rules.manage",
      "label": "Manage actionable rules",
      "description": "Create, edit and delete actionable rules records.",
      "module": "actionable_rules",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "dashboard.view",
      "label": "View dashboard",
      "description": "See the dashboard area, list and open its records.",
      "module": "dashboard",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "user_management.view",
      "label": "View user management",
      "description": "See the user management area, list and open its records.",
      "module": "user_management",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "user_management.manage",
      "label": "Manage user management",
      "description": "Create, edit and delete user management records.",
      "module": "user_management",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "system_settings.view",
      "label": "View system settings",
      "description": "See the system settings area, list and open its records.",
      "module": "system_settings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "system_settings.manage",
      "label": "Manage system settings",
      "description": "Create, edit and delete system settings records.",
      "module": "system_settings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "reporting.accounts_statistics",
      "label": "Accounts statistics",
      "description": "See the Accounts statistics report.",
      "module": "accounts",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.account_reporting",
      "label": "Account reporting",
      "description": "See the Account reporting report.",
      "module": "accounts",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.account_lifecycle_performance",
      "label": "Account lifecycle performance",
      "description": "See the Account lifecycle performance report.",
      "module": "accounts",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.agent_commission",
      "label": "Agent commission",
      "description": "See the Agent commission report.",
      "module": "sales",
      "defaultGranted": false,
      "status": "active"
    },
    {
      "name": "reporting.user_reporting",
      "label": "User reporting",
      "description": "See the User reporting report.",
      "module": "user_management",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.sales",
      "label": "Sales",
      "description": "See the Sales report.",
      "module": "sales",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.presale",
      "label": "Presale",
      "description": "See the Presale report.",
      "module": "sales",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.rental_revenue",
      "label": "Rental revenue",
      "description": "See the Rental revenue report.",
      "module": "bookings",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.internal_property_rentals",
      "label": "Internal property rentals",
      "description": "See the Internal property rentals report.",
      "module": "bookings",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.properties_statistics",
      "label": "Properties statistics",
      "description": "See the Properties statistics report.",
      "module": "properties",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.portal_reports",
      "label": "Portal reports",
      "description": "See the Portal reports report.",
      "module": "properties",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.portal_users",
      "label": "Portal users",
      "description": "See the Portal users report.",
      "module": "user_management",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.google_map_reports",
      "label": "Google map reports",
      "description": "See the Google map reports report.",
      "module": "properties",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "reporting.whatsapp",
      "label": "WhatsApp reporting",
      "description": "See the WhatsApp reporting report.",
      "module": "campaigns_whatsapp",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.new_accounts",
      "label": "New accounts",
      "description": "See the New accounts widget on the dashboard.",
      "module": "accounts",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.accounts_statistics",
      "label": "Accounts statistics",
      "description": "See the Accounts statistics widget on the dashboard.",
      "module": "accounts",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.account_sources",
      "label": "Account sources",
      "description": "See the Account sources widget on the dashboard.",
      "module": "accounts",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.account_assignment",
      "label": "Account assignment",
      "description": "See the Account assignment widget on the dashboard.",
      "module": "accounts",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.actionable_accounts",
      "label": "Actionable accounts",
      "description": "See the Actionable accounts widget on the dashboard.",
      "module": "accounts",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.activities_distribution",
      "label": "Activities distribution",
      "description": "See the Activities distribution widget on the dashboard.",
      "module": "tasks",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.my_schedule",
      "label": "My schedule",
      "description": "See the My schedule widget on the dashboard.",
      "module": "tasks",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.sales",
      "label": "Sales",
      "description": "See the Sales widget on the dashboard.",
      "module": "sales",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.sales_offers",
      "label": "Sales offers",
      "description": "See the Sales offers widget on the dashboard.",
      "module": "sales_offers",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.reservation_overview",
      "label": "Reservation overview",
      "description": "See the Reservation overview widget on the dashboard.",
      "module": "reservations",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.projects",
      "label": "Projects",
      "description": "See the Projects widget on the dashboard.",
      "module": "projects",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.invoices",
      "label": "Invoices",
      "description": "See the Invoices widget on the dashboard.",
      "module": "invoices",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.tickets",
      "label": "Support tickets",
      "description": "See the Support tickets widget on the dashboard.",
      "module": "support_tickets",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.owners",
      "label": "Owners",
      "description": "See the Owners widget on the dashboard.",
      "module": "owners",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.owners_statistics",
      "label": "Owners statistics",
      "description": "See the Owners statistics widget on the dashboard.",
      "module": "owners",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.new_owners",
      "label": "New owners",
      "description": "See the New owners widget on the dashboard.",
      "module": "owners",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.properties_statistics",
      "label": "Properties statistics",
      "description": "See the Properties statistics widget on the dashboard.",
      "module": "properties",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.property_performance",
      "label": "Property performance",
      "description": "See the Property performance widget on the dashboard.",
      "module": "properties",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.properties_action_required",
      "label": "Properties action required",
      "description": "See the Properties action required widget on the dashboard.",
      "module": "properties",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.co_brokers",
      "label": "Co-brokers",
      "description": "See the Co-brokers widget on the dashboard.",
      "module": "properties",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.occupancy_rate",
      "label": "Occupancy rate",
      "description": "See the Occupancy rate widget on the dashboard.",
      "module": "bookings",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.lease_renewal_tracker",
      "label": "Lease renewal tracker",
      "description": "See the Lease renewal tracker widget on the dashboard.",
      "module": "bookings",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.maintenance_work_orders",
      "label": "Maintenance work orders",
      "description": "See the Maintenance work orders widget on the dashboard.",
      "module": "bookings",
      "defaultGranted": true,
      "status": "active"
    },
    {
      "name": "dashboard.agency_performance",
      "label": "Agency performance",
      "description": "See the Agency performance widget on the dashboard.",
      "module": "user_management",
      "defaultGranted": false,
      "status": "active"
    },
    {
      "name": "dashboard.commissions",
      "label": "Commissions",
      "description": "See the Commissions widget on the dashboard.",
      "module": "sales",
      "defaultGranted": false,
      "status": "active"
    },
    {
      "name": "dashboard.cashflow",
      "label": "Cash flow",
      "description": "See the Cash flow widget on the dashboard.",
      "module": "invoices",
      "defaultGranted": false,
      "status": "active"
    },
    {
      "name": "dashboard.outstanding_payment_summary",
      "label": "Outstanding payment summary",
      "description": "See the Outstanding payment summary widget on the dashboard.",
      "module": "invoices",
      "defaultGranted": false,
      "status": "active"
    },
    {
      "name": "dashboard.pdc_cheques",
      "label": "PDC cheques",
      "description": "See the PDC cheques widget on the dashboard.",
      "module": "invoices",
      "defaultGranted": false,
      "status": "active"
    },
    {
      "name": "boards.view",
      "label": "View grid boards",
      "description": "See grid boards.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": true
    },
    {
      "name": "boards.manage",
      "label": "Manage grid boards",
      "description": "Create, edit and delete grid boards. Covers create, edit and delete: the separate verbs were collapsed into this, because every other module expresses the same thing as view + manage.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "accounts.create_as_owner",
      "label": "Create account as owner",
      "description": "Create an account with the owner relationship set.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": false,
      "replaces": "create_account_as_owner"
    },
    {
      "name": "accounts.import_export",
      "label": "Import / export accounts",
      "description": "Import accounts from file and export account data.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": false,
      "replaces": "Import_export_account"
    },
    {
      "name": "accounts.tab_history",
      "label": "Show account history tab",
      "description": "Show the History tab in the account panel.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": true,
      "replaces": "show_account_history_tab"
    },
    {
      "name": "accounts.field_creation_date",
      "label": "View account creation date",
      "description": "See the creation date field in account search and listings.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": true,
      "replaces": "account_creation_date_view"
    },
    {
      "name": "properties.publish_portal",
      "label": "Manage portal publication",
      "description": "Publish and manage listings on external portals.",
      "module": "properties",
      "status": "active",
      "defaultGranted": false,
      "replaces": "portal_managment"
    },
    {
      "name": "accounts.archive",
      "label": "View archived accounts",
      "description": "Open the archived accounts and inquiries lists.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "owners.archive",
      "label": "View archived owners",
      "description": "Open the archived owners list.",
      "module": "owners",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "companies.archive",
      "label": "View archived companies",
      "description": "Open the archived service providers list.",
      "module": "companies",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "projects.archive",
      "label": "View archived projects",
      "description": "Open the archived projects list.",
      "module": "projects",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "properties.archive",
      "label": "View archived properties",
      "description": "Open the archived properties list.",
      "module": "properties",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "user_management.agencies",
      "label": "Manage agencies",
      "description": "Open and edit the agency list.",
      "module": "user_management",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "user_management.offices",
      "label": "Manage offices",
      "description": "Open and edit the office list.",
      "module": "user_management",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "user_management.org_chart",
      "label": "Organisation chart",
      "description": "The agency's reporting hierarchy - who reports to whom - shown from the toolbar and served by dashboardController's org-chart endpoint. Under user management rather than dashboard: it is the people structure, not a dashboard widget, and gating it on a widget permission would have made the endpoint follow that widget's grants.",
      "module": "user_management",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "user_management.roles",
      "label": "Manage roles",
      "description": "Open the roles screen and edit role permissions.",
      "module": "user_management",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "system_settings.geography",
      "label": "Geography settings",
      "description": "Countries, states, communities, cities and location groups.",
      "module": "system_settings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "properties.config",
      "label": "Property configuration",
      "description": "Property and commercial types, categories, building styles, features, room types and the commercial reference tables. Renamed from system_settings.object_config, keeping the same numeric key so existing grants carried over. Held by admin alone - object settings configure the product, not an agency's data.",
      "module": "properties",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "system_settings.rental_config",
      "label": "Rental settings",
      "description": "Rental periods, extras, cleaning, maintenance and tourist categories.",
      "module": "system_settings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "system_settings.general_config",
      "label": "General settings",
      "description": "Master data types, sources, document types, classifications and tags.",
      "module": "system_settings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "system_settings.management_config",
      "label": "System management",
      "description": "CRM menu, translations, languages, system messages, logs and cron jobs.",
      "module": "system_settings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "system_settings.mls_config",
      "label": "MLS settings",
      "description": "SUPERSEDED by mls.config, which gates the same screens under the module that owns them. Kept active and granted rather than removed, like system_settings.rental_config - a permission that gates nothing is harmless, and deleting one is harder to undo than leaving it.",
      "module": "system_settings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "invoices.config",
      "label": "Invoice configuration",
      "description": "Invoice series, concepts, VAT, payment modes, terms and cost centres.",
      "module": "invoices",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "inquiries.view",
      "label": "View inquiries",
      "description": "The Inquiries list. Separate from accounts.view so an agency can be given Inquiries without Accounts. Inquiries are part of the accounts module - this permission is the only thing that separates them, so an agency can be given accounts with or without inquiries access.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "inquiries.archive",
      "label": "Archived inquiries",
      "description": "The Archive Inquiries list. Inquiries are part of the accounts module - this permission is the only thing that separates them, so an agency can be given accounts with or without inquiries access.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "accounts.config",
      "label": "Account configuration",
      "description": "Account lead statuses and classifications.",
      "module": "accounts",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "owners.config",
      "label": "Owner configuration",
      "description": "Owner lead statuses and classifications.",
      "module": "owners",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "companies.config",
      "label": "Company configuration",
      "description": "Company classifications.",
      "module": "companies",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "bookings.config",
      "label": "Short term rental configuration",
      "description": "Rental extras, periods, tourist categories, payment methods, cleaning and maintenance types.",
      "module": "bookings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "meetings.config",
      "label": "Meeting configuration",
      "description": "Meeting types.",
      "module": "meetings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "mls.config",
      "label": "MLS configuration",
      "description": "MLS sharing levels.",
      "module": "mls",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "notifications.view",
      "label": "View notifications",
      "description": "See your own notification list.",
      "module": "notifications",
      "status": "active",
      "defaultGranted": true
    },
    {
      "name": "help.view",
      "label": "View help centre",
      "description": "Open the help centre and FAQ content.",
      "module": "help",
      "status": "active",
      "defaultGranted": true
    },
    {
      "name": "reporting.view",
      "label": "View reporting",
      "description": "Open the reporting area.",
      "module": "reporting",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "dashboard.tab_overview",
      "label": "Dashboard tab: Overview",
      "description": "See the Overview tab on the dashboard. Hides the whole tab when withheld, even if widgets on it would show.",
      "module": "dashboard",
      "status": "active",
      "defaultGranted": true
    },
    {
      "name": "dashboard.tab_sales",
      "label": "Dashboard tab: Sales",
      "description": "See the Sales tab on the dashboard. Hides the whole tab when withheld, even if widgets on it would show.",
      "module": "dashboard",
      "status": "active",
      "defaultGranted": true
    },
    {
      "name": "dashboard.tab_brokerage",
      "label": "Dashboard tab: Brokerage",
      "description": "See the Brokerage tab on the dashboard. Hides the whole tab when withheld, even if widgets on it would show.",
      "module": "dashboard",
      "status": "active",
      "defaultGranted": true
    },
    {
      "name": "dashboard.tab_developer",
      "label": "Dashboard tab: Developer",
      "description": "See the Developer tab on the dashboard. Hides the whole tab when withheld, even if widgets on it would show.",
      "module": "dashboard",
      "status": "active",
      "defaultGranted": true
    },
    {
      "name": "dashboard.tab_pm",
      "label": "Dashboard tab: Property management",
      "description": "See the Property management tab on the dashboard. Hides the whole tab when withheld, even if widgets on it would show.",
      "module": "dashboard",
      "status": "active",
      "defaultGranted": true
    },
    {
      "name": "system_settings.questionnaires",
      "label": "Forms and questionnaires",
      "description": "Open the forms and questionnaires builder.",
      "module": "system_settings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "system_settings.records",
      "label": "Records",
      "description": "Open the records screen.",
      "module": "system_settings",
      "status": "active",
      "defaultGranted": false
    },
    {
      "name": "mls.dashboard",
      "label": "MLS dashboard",
      "description": "Open the MLS dashboard.",
      "module": "mls",
      "status": "active",
      "defaultGranted": false
    }
  ]
}
