📌 User Role Hierarchy

From highest to lowest - complete system user management structure

👑 1. Top Admin

System owner - full control over entire platform

🏢 2. Agent

Agency editor (Editor level) - manages agency zone

📢 3. Promoter

Contributor level - connects with clients

👥 4. Client

Contributor level with restrictions - property owner or service user

👤 5. Guest

Subscriber - basic access

👤 Guest

Unregistered or pre-verification user

Guest is an unregistered user or a user before verification.

✅ Capabilities:

  • Saving favorites (temporary, before registration)
  • Sending contact forms
✅ After verified registration:

Guest gets Subscriber status and can permanently save search favorites

👥 Client

User who sells, buys or uses a service

User who sells, buys or uses a service.

  • If selling → property owner (Property Owner in database)
  • If not selling, but using services → Client

📋 Capabilities (includes all Guest features):

  • View their properties – catalog only, no editing
  • No CRM access
  • Send direct inquiry to agent for specific property
  • Save search parameters for future needs
  • View messages sent by agent or staff (email or WhatsApp, via CRM)
📌 How does a user become a Client?

Automatically, after first property or service registration – system changes status to Client.

⭐ Client importance differentiation:

By default, importance level = 1. Agent or staff later change status and record in CRM.

🔄 Can a Client become a Subscriber again?

Yes, but only by agent or staff – based on CRM records.

⚠️ Can someone be both Subscriber and Client at the same time?

Yes, but then they cannot see their properties / services.

📢 Promoter

Assigned by Administrator / Agency Editor after registration

✅ Capabilities:

  • Registers their clients (key – tracking connections)
  • Can register (but not publish) new properties – optional, but desirable
  • Has CRM access and can add records
  • Sees only their clients
  • Can communicate with their clients via CRM form
  • Can add CRM records, but cannot delete them
  • In CRM can only edit description and request deletion
  • Views property catalog connected to their clients
  • Can communicate with their agent

🔧 Management:

  • Promoter is managed by their agent (only one agent per Promoter)
  • Has their own parent agency – cannot change it
  • Cannot change their agent
  • Can change only their own data

👁️ Visibility:

  • Promoter data is not displayed in catalog or on Single Property Page
  • System does not allow direct communication with Promoter by potential clients
❓ Can Promoter display their contact information next to a property?

Answer: Yes, but only if their agent activates this option when publishing the property.

The publishing form has a "Property Contact Info" field with options:

  1. Agency (default) – agency contact forms only
  2. Agency & Agent – agency + Agent contact info
  3. Agency & Promoter – agency + Promoter contact info
  4. Owner & Agency – agency + owner contact info
  5. Single Contact - Client only – client contact info only (special service package)

🧑‍💼 Agent (Agency Admin / Editor)

Currently one agency and one Top Agency Administrator

🏢 Hierarchical organization:

  1. Top administrator registers companies / agencies
  2. Assigns Top Agent for each agency
  3. Top Agent can change user roles to Promoter
📝 Structure notes:
  • One agency can have multiple agents, but only one Agent editor
  • Each agent has their own zone of activity (properties, clients, promoters, CRM)

✅ Agent capabilities (within their zone):

👥 User Management

  • Can register their clients:
    • Directly
    • Via Promoter (first selects Promoter, then adds client)
  • Can change role client → promoter
  • To return Promoter to client, must first detach all active posts from them
  • Can register Promoter for their agency

🏠 Properties

  • Publishes properties by procedure: select client → add property (mandatory)
  • Can edit properties

📊 CRM

  • CRM access for their company/agency
  • Can add, edit and change status of CRM records within their zone
  • Can communicate with members of their zone

🔧 Limitations and special rights

  • Cannot delete users
  • Can change roles of members in their zone
  • Can exclude members from zone (recommendation: reduce role to Client or Subscriber, without deleting references)
🖼️ Contact display on Single Property Page

Agent can choose which contact information to display next to the property – according to options described in Promoter section (Property Contact Info field).

📊 Hierarchy Diagram

Visual representation of user role structure

╔═════════════════╗
║   TOP ADMIN     ║
║  (system owner) ║
╚════════════╤════╝
             │
             ▼
╔═════════════════╗
║  AGENT (Editor) ║
║   per agency    ║
╚════════════╤════╝
             │
      ┌──────┼──────┐
      ▼      ▼      ▼
╔════════╗ ╔════════╗ ╔════════╗
║PROMOTER║ ║PROMOTER║ ║PROMOTER║
╚════╤═══╝ ╚════╤═══╝ ╚════╤═══╝
     │          │          │
     └─────┬────┴─────┬────┘
           ▼          ▼
      ╔═══════╗   ╔═══════╗
      ║ CLIENT ║   ║ CLIENT ║
      ╚═══╤═══╝   ╚═══╤═══╝
          │           │
          └─────┬─────┘
                ▼
           ╔═══════╗
           ║ GUEST  ║
           ╚═══════╝
                

📋 Roles & Rights Table

Role CRM Publish Register Change Roles
👑 Top Admin ✅ Full 🔘
🏢 Agent ✅ Zone ✅ Zone
📢 Promoter 🔘 Limited
👥 Client
👤 Guest

✅=Yes / ❌=No / 🔘=Limited

🔄 Status Change / Progression Diagram

🎭 Guest (Subscriber) 🏠 Client 📢 Promoter
⬅️ Agent returns them (if no active posts) → Client (again)