🏢
Business

Organizations (SaaS)

Admin Settings

Multi-tenant SaaS foundation for organizations and teams

Overview

Build SaaS applications with organization-based multi-tenancy. Users can create and join multiple organizations with different roles (owner, admin, member, billing). Organizations can have subscriptions, feature limits, and own resources like products and content.

Design Considerations

UX patterns and visual design notes for this feature:

  • Organization switcher should be prominent for multi-org users
  • Make role permissions clear in member management UI
  • Trial countdown creates urgency for conversion
  • Invitation flow should be simple and clear

Key Benefits

What makes this feature stand out:

  • Multi-tenant architecture for SaaS apps
  • Flexible roles: owner, admin, member, billing
  • Email-based invitations with expiry
  • Subscription and trial support
  • Per-organization feature limits
  • 3 tenancy modes: session, subdomain, path
  • Admin CRUD at /admin/organizations
Technical Note

OrganizationHelper manages context and membership. Use OrganizationHelper::getCurrent() to get current org, ::isMember() for access checks, ::hasFeature() for feature gating.

Helpers
OrganizationHelper
Models
OrganizationOrganizationMemberOrganizationInvitation
Database Tables
organizationorganization_memberorganization_invitation

Configuration

Config Relationship Legend
DB overrides params.php🔗 DB related setting📋 DB stores value only
params.php Configuration

Config path: params['organizations']

params['features']['organizations'] => trueparams['organizations']['tenancyMode'] => 'session'params['organizations']['trial']['enabled'] => trueparams['organizations']['trial']['duration'] => 14params['organizations']['defaultFeatures']['maxMembers'] => 5
Note: Organizations stored in database. Subscription integration with Stripe via stripe_customer_id and stripe_subscription_id fields.