The team needs to roll out a way to manage multiple users for a single organizational account. This is really the concept of a company or team instead of a single individual.

Requirements

  • R1 Need to have the option to add a company name when setting up a new account
  • R2 If a company name is provided, the data model should stub out all fields needed for company address, city, phone, but allow it to be blank
  • R3 If no company name is provided, the organization is still created in the data model, but the organization is called the same name as the User’s first + lastname, with the R2 requirements followed
  • R4: Every new account is associated with a country. Default to US unless specified.
  • R5: An organization can have one assoiciate location associated with it. NOTE: this means, if a company wants to have multiple sites signed up, they would need to share one organization, or create their own accounts.
  • R6: An organization must have at least one Account Owner Role User
  • R7: An Account Owner Role User defined in R6 has all privileges of a Tag Manager, with the addition of being able to manage Users for the organization, and the ability to manage account subscriptions.
  • R8: Based on R7, a Tag Manager can no longer manage account subscriptions.
  • R9: An organization can have more than one account owner. This is to prevent accounts from getting locked out in case the owner leaves or is no longer able to access the site.
  • R10: Account Owners are able to CRUD users for their own organization
  • R11: Account Owners can view existing org users in a table which shows user attributes: name, role, email address, status.
  • R12: Acccount Owners can filter users for an account. Note: This feature should support pagination, however it is never expected to have more than a dozen users.

System Overview

%%{init: {'theme':'dark'}}%%
erDiagram
    ACCOUNTOWNER }|..|{ ORG : creates
    ACCOUNTOWNER ||--o{ USERS : adds
    USERS ||--o{ ROLES : have
    ACCOUNTOWNER ||--o{ ACCOUNTSUBSCRIPTIONS : "manages"
    ORG ||--o{ LOCATIONS : has
    ORG ||--o{ USERS : has

Last updated 07 Jun 2025, 15:48 +0900 . history