Tenant self-serve in the Customer Portal

Tenants don't get an admin Turtini account — they get a guest-grade login to the Customer Portal that exposes only their own data. When the rentalManagement module is on, the portal grows a Rental tab.

What the tenant can do:
• **Pay rent** — current invoice, balance, payment history, one-click pay (card or ACH). Auto-pay opt-in for recurring on rent day.
• **View lease** — verified-by-Turtini PDF of the active lease, plus any addenda or executed renewals.
• **Submit maintenance** — category + urgency + description + photo. Status updates push to the tenant in real time.
• **Request inspection** — schedule annual inspections, follow up on overdue ones.
• **View inspections** — completed move-in / move-out / annual reports, signed copies.
• **Documents** — anything the landlord shares (rules, parking permits, building announcements).
• **Contact landlord** — a private thread back to the property manager.

How tenants log in:
When you create or update a lease with a tenant Contact that has an email, the tenant gets a portal-invite email. They set a password and access the portal at /portal. Subsequent logins use that email + password (or magic-link via email).

What tenants don't see:
• Other tenants in the same building
• The landlord's accounting, GL, or vendor data
• Background-check results or eviction case files
• The internal cost lines on maintenance work orders
• Anything outside their own lease

Multi-tenant leases:
If two roommates share a lease, both have portal access to the same lease record. Either can pay; both see maintenance threads they each create.