# Agrawal Properties — User Manual

**Version:** 3.0  
**Base URL:** `https://agrawal.acoding.com/public`  
**Last Updated:** May 2026  
**Audience:** Admin and Staff users

---

## Table of Contents

1. [Introduction](#1-introduction)
2. [Getting Started — Login & Password](#2-getting-started--login--password)
3. [User Roles & Permissions](#3-user-roles--permissions)
4. [Admin Dashboard](#4-admin-dashboard)
5. [Staff Dashboard](#5-staff-dashboard)
6. [Staff Management](#6-staff-management)
7. [Properties](#7-properties)
   - [7.1 Property List](#71-property-list)
   - [7.2 Add / Edit Property](#72-add--edit-property)
   - [7.3 Property Images](#73-property-images)
   - [7.4 Property Documents](#74-property-documents)
   - [7.5 Property Map View](#75-property-map-view)
8. [Owners](#8-owners)
9. [Brokers](#9-brokers)
10. [Clients](#10-clients)
11. [Client Requirements](#11-client-requirements)
12. [Lead Management — CRM Pipeline](#12-lead-management--crm-pipeline)
    - [12.1 Lead List](#121-lead-list)
    - [12.2 Lead Detail & Pipeline Progress](#122-lead-detail--pipeline-progress)
    - [12.3 Change Lead Stage](#123-change-lead-stage)
    - [12.4 Property Shortlisting](#124-property-shortlisting)
    - [12.5 Site Visits](#125-site-visits)
    - [12.6 Notes](#126-notes)
    - [12.7 Reminders (Lead)](#127-reminders-lead)
    - [12.8 Quotes](#128-quotes)
    - [12.9 Agreement & Deal Closure](#129-agreement--deal-closure)
13. [Reminders — Global View](#13-reminders--global-view)
14. [Rentals](#14-rentals)
    - [14.1 Rental Agreements List](#141-rental-agreements-list)
    - [14.2 Managed Rentals](#142-managed-rentals)
15. [Reports](#15-reports)
    - [15.1 Sourcing Channels Report](#151-sourcing-channels-report)
    - [15.2 Site Visits Report](#152-site-visits-report)
    - [15.3 Properties Report](#153-properties-report)
    - [15.4 Leads Report](#154-leads-report)
    - [15.5 Staff Performance Report](#155-staff-performance-report)
16. [Settings](#16-settings)
    - [16.1 Company Settings](#161-company-settings)
    - [16.2 Lead Stages](#162-lead-stages)
    - [16.3 Property Types](#163-property-types)
    - [16.4 Property Tags](#164-property-tags)
    - [16.5 Property Field Templates](#165-property-field-templates)
    - [16.6 Document Types](#166-document-types)
    - [16.7 Sourcing Channels](#167-sourcing-channels)
    - [16.8 Email Templates](#168-email-templates)
    - [16.9 Notification Settings](#169-notification-settings)
17. [Notifications](#17-notifications)
18. [My Profile](#18-my-profile)
19. [Glossary](#19-glossary)

---

## 1. Introduction

Agrawal Properties is a web-based backoffice management system for a real estate business. It brings together property listings, owner and broker contacts, client management, a CRM lead pipeline, rentals, automated email notifications, and business reports — all in one place.

The system supports two user roles:

- **Admin** — Full access to all modules, settings, and reports.
- **Staff** — Access to properties, owners, brokers, assigned clients and leads, with certain actions restricted.

---

## 2. Getting Started — Login & Password

### 2.1 Login

**URL:** `https://agrawal.acoding.com/public/login`  
**Access:** All users (Admin and Staff)

**Steps:**
1. Open the login URL in your browser.
2. Enter your **Email Address** and **Password**.
3. Click **Login**.

If your account is inactive, login will be refused. Contact your administrator.

---

### 2.2 Forgot Password

**URL:** `https://agrawal.acoding.com/public/forgot-password`  
**Access:** All users

**Steps:**
1. Click **Forgot Password?** on the login page.
2. Enter your registered email and click **Send Reset Link**.
3. Open the reset link sent to your email.
4. Enter and confirm a new password, then click **Reset Password**.

---

## 3. User Roles & Permissions

The table below shows the actual permissions enforced by the system, verified directly from the application code.

### 3.1 Master Permission Summary

| Module / Action | Admin | Staff |
|---|---|---|
| **Dashboard** | Admin Dashboard | Staff Dashboard |
| **Staff Management** | Full access | No access |
| **Reports** | Full access | No access |
| **Settings** | Full access | No access |
| **Reminders (global page)** | Full access | No access |
| **Rentals & Managed Rentals** | Full access | No access |

---

### 3.2 Properties

| Action | Admin | Staff |
|---|---|---|
| View list | All properties | All properties |
| View detail / Map | Yes | Yes |
| Create property | Yes | Yes |
| Edit property | Yes | Yes — but if a staff member sets the status to Published or Unavailable, it is automatically reverted to **Under Review** and requires Admin approval |
| Delete property | Yes | Yes |
| Upload images | Yes | Yes |
| Reorder images | Yes | Yes |
| **Delete images** | **Yes** | **No** |
| Upload documents | Yes | Yes |
| Download documents | Yes | Yes |
| **Delete documents** | **Yes** | **No** |

---

### 3.3 Owners

| Action | Admin | Staff |
|---|---|---|
| View list | Yes | Yes |
| View detail | Yes | Yes |
| Create owner | Yes | Yes |
| Edit owner | Yes | Yes |
| Delete owner | Yes | Yes |
| Upload KYC documents | Yes | Yes |
| Download KYC documents | Yes | Yes |
| **Delete KYC documents** | **Yes** | **No** |

---

### 3.4 Brokers

| Action | Admin | Staff |
|---|---|---|
| View list | Yes | Yes |
| View detail | Yes | Yes |
| Create broker | Yes | Yes |
| Edit broker | Yes | Yes |
| **Toggle active/inactive status** | **Yes** | **No** |
| **Delete broker** | **Yes** | **No** |

---

### 3.5 Clients

| Action | Admin | Staff |
|---|---|---|
| View list | All clients | Assigned clients only |
| View detail | Yes | Assigned clients only |
| **Create client** | **Yes** | **No** |
| Edit client | Yes | Assigned clients only |
| **Assign staff to client** | **Yes** | **No** |
| **Delete client** | **Yes** | **No** |
| Upload KYC documents | Yes | Assigned clients only |
| Download KYC documents | Yes | Assigned clients only |
| **Delete KYC documents** | **Yes** | **No** |

---

### 3.6 Client Requirements

| Action | Admin | Staff |
|---|---|---|
| View requirement detail | Yes | Assigned clients only |
| Add requirement | Yes | Assigned clients only |
| Close requirement | Yes | Assigned clients only |

---

### 3.7 Leads (CRM Pipeline)

| Action | Admin | Staff |
|---|---|---|
| View lead list | All leads | Assigned leads only |
| View lead detail | Yes | Assigned leads only |
| Change stage | Yes | Assigned leads only |
| Add / remove shortlisted property | Yes | Assigned leads only |
| Log site visit | Yes | Assigned leads only |
| Add note | Yes | Assigned leads only |
| Set reminder | Yes | Assigned leads only |
| Log quote | Yes | Assigned leads only |
| Create agreement | Yes | Assigned leads only |
| **Add agreement correction** | **Yes** | **No** |
| Download agreement document | Yes | Assigned leads only |

---

### 3.8 Reminders, Rentals, Reports, Settings

| Module | Admin | Staff |
|---|---|---|
| Global Reminders page | Yes | No |
| Mark reminder as done | Yes | Own reminders only |
| Rentals list | Yes | No |
| Managed Rentals | Yes | No |
| Reports (all) | Yes | No |
| Settings (all) | Yes | No |
| My Profile | Yes | Yes |

---

## 4. Admin Dashboard

**URL:** `https://agrawal.acoding.com/public/admin/dashboard`  
**Access:** Admin only

**Purpose:** High-level overview of the entire business — statistics, pipeline summary, upcoming reminders, and recent activity.

**Sections:**

| Section | Description |
|---|---|
| Total Properties | Count of all property records |
| Total Clients | Count of all registered clients |
| Active Leads | Leads currently in progress |
| Upcoming Reminders | Reminders due soon across all staff |
| Lead Stage Summary | Count of leads per pipeline stage |
| Recent Activity | Latest actions across the system |

---

## 5. Staff Dashboard

**URL:** `https://agrawal.acoding.com/public/my-dashboard`  
**Access:** Staff only

**Purpose:** Personalised view for the logged-in staff member.

**Sections:**

| Section | Description |
|---|---|
| My Active Leads | Leads assigned to you that are currently open |
| My Upcoming Reminders | Your pending reminders sorted by due date |
| My Recent Activity | Actions you have recently performed |

---

## 6. Staff Management

**URL:** `https://agrawal.acoding.com/public/admin/staff`  
**Access:** Admin only

**Purpose:** Create and manage staff user accounts — add users, update details, reset passwords, view activity logs, and enable or disable accounts.

### 6.1 Staff List

Shows all staff members with name, email, mobile, and active/inactive status.

### 6.2 Adding a New Staff Member

**URL:** `https://agrawal.acoding.com/public/admin/staff/create`

1. Click **Add Staff**.
2. Fill in the form:

| Field | Description |
|---|---|
| Name | Full name |
| Email | Login email (must be unique) |
| Mobile | Contact number |
| Password | Initial password — the staff member should change this after first login |

3. Click **Save**.

### 6.3 Editing a Staff Member

**URL:** `https://agrawal.acoding.com/public/admin/staff/{id}/edit`

1. Click the staff member's name to open their profile.
2. Click **Edit**, update fields, and save.

### 6.4 Resetting a Staff Member's Password

From the staff detail page (`https://agrawal.acoding.com/public/admin/staff/{id}`), scroll to **Update Password**, enter and confirm the new password, then click **Update Password**.

### 6.5 Enabling / Disabling a Staff Account

Click **Toggle Status** on the staff list or detail page. Disabled accounts cannot log in, but all historical data is preserved.

### 6.6 Viewing Staff Activity

**URL:** `https://agrawal.acoding.com/public/admin/staff/{id}/activity`

Click **View Activity** on the staff detail page to see a chronological log of every action that staff member has taken.

### 6.7 Assigning a Client to a Staff Member

From the staff detail page, use **Assign Client** to link an existing client to this staff member.

---

## 7. Properties

### 7.1 Property List

**URL:** `https://agrawal.acoding.com/public/admin/properties`  
**Access:** Admin and Staff (both see all properties)

**Purpose:** View and manage all property listings.

**Columns:** Title, Type, Listing Purpose (For Sale / For Rent), Location, Price, Status, Owner.

**Filters available:**

| Filter | Options |
|---|---|
| Property Type | Plot / Flat / Bungalow / Agricultural Land / Commercial |
| Listing Purpose | For Sale / For Rent |
| Status | Under Review / Published / Unavailable |
| Price Range | Min / Max |
| Location / City | Text search |
| Owner | Select owner |
| Tags | Select tags |
| Date Added | From / To |

---

### 7.2 Add / Edit Property

**Add URL:** `https://agrawal.acoding.com/public/admin/properties/create`  
**Edit URL:** `https://agrawal.acoding.com/public/admin/properties/{id}/edit`  
**Access:** Admin and Staff

**Purpose:** Create a new property listing or update an existing one.

**Steps:**
1. Click **Add Property** (or **Edit** on an existing property).
2. Fill in the form:

| Field | Description |
|---|---|
| Title | Short descriptive name (e.g. "3BHK Flat in Navrangpura") |
| Type | Property category — Plot, Flat / Apartment, Bungalow / Villa, Agricultural Land, Commercial |
| Listing Purpose | For Sale or For Rent |
| Status | Under Review / Published / Unavailable |
| Price | Asking price (₹) |
| Area | Size of the property |
| Area Unit | sq ft / sq yd / sq m / gunta / acre / bigha / hectare |
| Location / Address | Street address or locality |
| City | City the property is in |
| Owner | Select from existing owners, or use the quick-add button to create a new owner inline |
| Broker | Optionally link a referring broker |
| Sourcing Channel | How this property was sourced |
| Tags | Searchable labels (e.g. "Corner Plot", "Ready to Move") |
| Notes | Internal remarks |
| Type-specific Fields | Additional fields based on property type (e.g. BHK, floor number for flats) |

3. Click **Save Property**.

> **Status restriction for Staff:** Staff can set the property status field, but if they set it to **Published** or **Unavailable**, the system automatically reverts it to **Under Review** and shows an info message. Only Admin can set a property to Published or Unavailable permanently.

> **Duplicate Detection:** The system checks for properties with a similar owner, location, and size before saving. If a match is found, a warning appears. You can dismiss duplicates if they are confirmed to be distinct properties.

**Price History:** Every price change is automatically logged. The full price history is visible on the property detail page.

**Status History:** All status changes are logged with date and user.

---

### 7.3 Property Images

**URL:** `https://agrawal.acoding.com/public/admin/properties/{id}` (Images tab)

| Action | Admin | Staff |
|---|---|---|
| Upload images | Yes | Yes |
| Reorder images | Yes | Yes |
| Delete images | Yes | No |

**Steps:**
1. Open the property detail page and click the **Images** tab.
2. **Upload:** Drag and drop files or click to browse. Multiple images can be uploaded at once.
3. **Reorder:** Drag images into position. The first image becomes the cover/thumbnail.
4. **Delete (Admin only):** Click the bin icon on any image.

---

### 7.4 Property Documents (Document Vault)

**URL:** `https://agrawal.acoding.com/public/admin/properties/{id}` (Documents tab)

| Action | Admin | Staff |
|---|---|---|
| Upload documents | Yes | Yes |
| Download documents | Yes | Yes |
| Delete documents | Yes | No |

**Steps:**
1. Open the property detail page and click the **Documents** tab.
2. **Upload:** Select a document type and choose a file.
3. **Download:** Click the download icon next to any document.
4. **Delete (Admin only):** Click the delete icon. All deletions are logged permanently.

---

### 7.5 Property Map View

**URL:** `https://agrawal.acoding.com/public/admin/properties/map`  
**Access:** Admin and Staff

**Purpose:** View all properties plotted on an interactive map. Click any marker to see a property summary and a link to its detail page.

---

## 8. Owners

**URL:** `https://agrawal.acoding.com/public/admin/owners`  
**Access:** Admin and Staff

**Purpose:** Maintain a directory of individuals or entities who own the properties listed in the system.

### 8.1 Permissions

| Action | Admin | Staff |
|---|---|---|
| View list | Yes | Yes |
| View detail | Yes | Yes |
| Create owner | Yes | Yes |
| Edit owner | Yes | Yes |
| Delete owner | Yes | Yes |
| Upload KYC documents | Yes | Yes |
| Download KYC documents | Yes | Yes |
| **Delete KYC documents** | **Yes** | **No** |

### 8.2 Owner List

Displays all owners with name, mobile, city, and number of linked properties.

**Filters:** Name, mobile, city.

### 8.3 Adding an Owner

**URL:** `https://agrawal.acoding.com/public/admin/owners/create`

1. Click **Add Owner**.
2. Fill in the form:

| Field | Description |
|---|---|
| First Name / Last Name | Owner's full name |
| Mobile | Primary contact number |
| Alternate Mobile | Optional second number |
| Email | Email address |
| Address | Residential or office address |
| City | City |
| Notes | Internal remarks |

3. Click **Save Owner**.

> Owners can also be created inline while adding a property, without leaving the property form.

### 8.4 Editing an Owner

**URL:** `https://agrawal.acoding.com/public/admin/owners/{id}/edit`

Click **Edit**, update the fields, and save.

### 8.5 Owner KYC Documents

**URL:** `https://agrawal.acoding.com/public/admin/owners/{id}` (KYC section)

Upload identity verification documents (e.g. Aadhaar, PAN card). Select the document type before uploading. Both Admin and Staff can upload and download KYC; only Admin can delete KYC documents.

---

## 9. Brokers

**URL:** `https://agrawal.acoding.com/public/admin/brokers`  
**Access:** Admin and Staff

**Purpose:** Manage broker (channel partner / referral agent) records.

### 9.1 Permissions

| Action | Admin | Staff |
|---|---|---|
| View list | Yes | Yes |
| View detail | Yes | Yes |
| Create broker | Yes | Yes |
| Edit broker | Yes | Yes |
| **Toggle active/inactive** | **Yes** | **No** |
| **Delete broker** | **Yes** | **No** |

### 9.2 Broker List

Shows all brokers with name, company, mobile, and active/inactive status.

### 9.3 Adding a Broker

**URL:** `https://agrawal.acoding.com/public/admin/brokers/create`

1. Click **Add Broker**.
2. Fill in the form:

| Field | Description |
|---|---|
| Name | Broker's full name |
| Company Name | Brokerage firm name (optional) |
| Mobile | Primary phone |
| Email | Email address |
| City | City or area of operation |
| Notes | Internal remarks |
| Contact Persons | Additional contacts under this broker — each with name, role, mobile, email |

3. Click **Save Broker**.

### 9.4 Editing a Broker

**URL:** `https://agrawal.acoding.com/public/admin/brokers/{id}/edit`

Click **Edit**, update the fields, and save.

### 9.5 Toggle Status and Delete (Admin only)

- **Toggle Status:** Click **Enable / Disable** on the broker detail page. Disabled brokers are hidden from all selection dropdowns across the system.
- **Delete:** Click **Delete** to permanently remove the broker record.

---

## 10. Clients

**URL:** `https://agrawal.acoding.com/public/admin/clients`  
**Access:** Admin (all clients), Staff (assigned clients only)

**Purpose:** Maintain a directory of prospective buyers or renters.

### 10.1 Permissions

| Action | Admin | Staff |
|---|---|---|
| View list | All clients | Assigned clients only |
| View detail | Yes | Assigned clients only |
| **Create client** | **Yes** | **No** |
| Edit client details | Yes | Assigned clients only |
| **Assign staff to client** | **Yes** | **No** |
| **Delete client** | **Yes** | **No** |
| Upload KYC | Yes | Assigned clients only |
| Download KYC | Yes | Assigned clients only |
| **Delete KYC** | **Yes** | **No** |

### 10.2 Client List

Staff see only clients assigned to them. Admin sees all clients.

**Filters:** Name, mobile, email, assigned staff (Admin only).

### 10.3 Adding a Client (Admin only)

**URL:** `https://agrawal.acoding.com/public/admin/clients/create`

1. Click **Add Client**.
2. Fill in the form:

| Field | Description |
|---|---|
| First Name / Last Name | Client's full name |
| Mobile | Primary contact number |
| Alternate Mobile | Optional second number |
| Email | Email address |
| City | Client's city |
| Source | Sourcing channel (how the client was acquired) |
| Broker | If a broker referred this client, select them here |
| Notes | Internal remarks |

3. Click **Save Client**.

> **Duplicate Detection:** If an existing client has the same mobile or email, a warning appears with the matching record. You can open the existing record, or override and save with a reason.

### 10.4 Editing a Client

**URL:** `https://agrawal.acoding.com/public/admin/clients/{id}/edit`

Admin can edit any client. Staff can edit only their assigned clients.

### 10.5 Assigning a Staff Member (Admin only)

On the client detail page, click **Assign Staff** and select the responsible staff member.

### 10.6 Client KYC Documents

**URL:** `https://agrawal.acoding.com/public/admin/clients/{id}` (KYC section)

Admin and assigned staff can upload and download KYC documents. Only Admin can delete them.

---

## 11. Client Requirements

**URL:** `https://agrawal.acoding.com/public/admin/clients/{id}/requirements/{req_id}`  
**Access:** Admin, or Staff assigned to the client

**Purpose:** Track what a client is looking for. One client can have multiple requirements.

### 11.1 Viewing Requirements

Requirements are listed on the **Client Detail** page. Each card shows the search criteria and current status (Active / Closed).

### 11.2 Adding a Requirement

From the client detail page, click **Add Requirement**.

| Field | Description |
|---|---|
| Title | Short label (e.g. "2BHK Flat for Rent, Ahmedabad") |
| Interest Type | Buy or Rent |
| Property Type | Any Type / Plot / Flat / Bungalow / Villa / Agricultural Land / Commercial |
| Min / Max Budget | Price range (₹) |
| Min / Max Size | Size range |
| Preferred Location | Locality, area, or city |
| Notes | Additional context |
| Sourcing Channel | How this requirement was captured |
| Assigned To | Staff member who will handle this requirement |

Click **Save Requirement**.

> A new **Lead** is automatically created in the CRM pipeline when a requirement is saved.

### 11.3 Closing a Requirement

Click **Close Requirement** on the requirement detail page. This closes the requirement and its associated lead. Closed requirements cannot be reopened.

---

## 12. Lead Management — CRM Pipeline

### 12.1 Lead List

**URL:** `https://agrawal.acoding.com/public/admin/leads`  
**Access:** Admin (all leads), Staff (assigned leads only)

**Purpose:** View and manage all leads. Use the **Active / Closed** tabs to toggle between open and closed leads.

**Filters:**

| Filter | Description |
|---|---|
| Stage | Filter by pipeline stage |
| Interest Type | Buy / Rent |
| Property Type | Plot / Flat / Bungalow / Agricultural Land / Commercial |
| Assigned To | Staff member (Admin only) |
| Date From / To | Lead creation date range |

**Columns:**

| Column | Description |
|---|---|
| Client Name | The client this lead belongs to |
| Requirement | Summary of what they are looking for |
| Current Stage | Colour-coded pipeline stage |
| Days in Stage | Days the lead has been in the current stage |
| Assigned To | Handling staff member |
| Last Activity | When the last action was taken |

---

### 12.2 Lead Detail & Pipeline Progress

**URL:** `https://agrawal.acoding.com/public/admin/leads/{id}`  
**Access:** Admin (any lead), Staff (assigned leads only)

**Purpose:** Central hub for all activity on a single lead.

**At the top:** The **Pipeline Progress Bar** shows all stages the lead has passed through (not all configured stages — only reached stages). The current stage is highlighted. The bar grows as the lead progresses.

**Sections on this page:**

| Section | Description |
|---|---|
| Lead Summary | Client, requirement, assigned staff, creation date |
| Pipeline Progress | Visual progress bar of stages reached so far |
| Requirement Details | Full search criteria for this lead |
| Stage History | Log of every stage change with notes and who made the change |
| Shortlisted Properties | Properties matched to this lead |
| Site Visits | Property viewings logged |
| Notes | Internal notes and communication log |
| Reminders | Follow-up reminders linked to this lead |
| Quote History | Price quotes shared with the client |
| Agreement | Deal finalisation record |
| Activity Log | Full chronological log of all actions |

---

### 12.3 Change Lead Stage

**Access:** Admin and Staff (own leads only). Not available on closed leads.

**Steps:**
1. On the lead detail page, click **Change Stage** (only visible if the lead is open).
2. Select the new stage from the dropdown.
3. Optionally add a note explaining the reason.
4. Click **Update Stage**.

> **Important:** Once a lead reaches a **Closed Stage** (configured in Settings), its stage cannot be changed again. The button disappears and all backend routes block the action.

---

### 12.4 Property Shortlisting

**Access:** Admin and Staff (own leads)

**Purpose:** Maintain a list of matching properties for the client.

**Adding to the shortlist:**
1. Click **Add Property** in the Shortlisted Properties section.
2. Search for a property by title or location.
3. Click **Shortlist** next to the desired result.

**Removing from the shortlist:**
1. Click **Remove** next to the property.
2. Select a **Removal Reason**:
   - Client not interested
   - Price too high
   - Location mismatch
   - Property unavailable
   - Other
3. Click **Confirm Remove**.

> If a property is deleted from the system, the shortlist entry shows "Property no longer available" rather than crashing.

---

### 12.5 Site Visits

**Access:** Admin and Staff (own leads)

**Purpose:** Log property viewings for the client.

**Steps:**
1. Click **Log Site Visit** in the Site Visits section.
2. Fill in:

| Field | Description |
|---|---|
| Property | Select from the shortlisted properties |
| Visit Date | Date of the visit |
| Visit Time | Scheduled time (optional) |
| Accompanying Staff | Names of staff attending |
| Notes | Observations or outcome of the visit |

3. Click **Save Visit**.

Each visit record captures which pipeline stage the lead was in at the time.

---

### 12.6 Notes

**Access:** Admin and Staff (own leads)

**Purpose:** Record internal communications, client feedback, and observations.

**Steps:**
1. Click **Add Note** in the Notes section.
2. Type your note (max 2,000 characters).
3. Click **Save Note**.

Notes appear newest-first and show the author and timestamp.

---

### 12.7 Reminders (Lead)

**Access:** Admin and Staff (own leads)

**Purpose:** Set follow-up reminders tied to a specific lead.

**Steps:**
1. Click **Add Reminder** in the Reminders section.
2. Fill in:

| Field | Description |
|---|---|
| Reminder Message | What needs to be done |
| Remind At | Date and time |
| Assigned To | Staff member who should be notified |

3. Click **Save Reminder**.

When the time arrives, the assigned staff member receives an in-app notification. Reminders are marked Done from the Reminders page or directly from the notification.

---

### 12.8 Quotes

**Access:** Admin and Staff (own leads)

**Purpose:** Log price quotes shared with the client.

**Steps:**
1. Click **Log Quote** in the Quote History section.
2. Fill in:

| Field | Description |
|---|---|
| Property | Select from shortlisted properties |
| Quoted Price | Price communicated to the client (₹) |
| Quote Date | Date the quote was shared |
| Shared By | Channel used (e.g. WhatsApp, Email, Verbal) |
| Notes | Context or conditions |

3. Click **Save Quote**.

---

### 12.9 Agreement & Deal Closure

| Action | Admin | Staff |
|---|---|---|
| Create agreement | Yes | Yes (own leads only) |
| **Add correction to agreement** | **Yes** | **No** |
| Download agreement document | Yes | Yes (own leads only) |

**Creating an agreement:**
1. Click **Create Agreement** in the Agreement section.
2. Fill in:

| Field | Description |
|---|---|
| Property | The property agreed upon |
| Deal Type | Sale or Rental |
| Client Name | Buyer / tenant name |
| Owner Name | Property owner name |
| Agreed Price | Final agreed price or monthly rent (₹) |
| Deal Date | Date the agreement was reached |
| Notes | Deal remarks |

**Additional fields for Rental deals:**

| Field | Description |
|---|---|
| Agreement Start Date | Start of the rental period |
| Agreement End Date | End of the rental period |
| Monthly Rent | Monthly rent (₹) |
| Rent Escalation Clause | e.g. "5% increase per year" |
| Expiry Reminder Days | Days before expiry to send a reminder email |

3. Click **Save Agreement**.

**Adding a correction (Admin only):** Click **Add Correction** on the agreement card to log an amendment.

**Downloading the document:** Click **Download** to save an agreement summary.

> Creating an agreement does not automatically close the lead stage. Manually move the lead to a Closed Stage using **Change Stage**.

---

## 13. Reminders — Global View

**URL:** `https://agrawal.acoding.com/public/admin/reminders`  
**Access:** Admin only

**Purpose:** View and manage all reminders across all leads from one consolidated page.

**List View:** All pending reminders sorted by due date, showing message, lead/client, assigned staff member, and due date.

**Calendar View:** Click **Calendar** to see reminders on a monthly calendar.

**Marking a reminder as done:**
1. Find the reminder.
2. Click **Mark Done**.

> Staff can mark their own reminders as done from their personal notification or from within the lead detail page, but they cannot access this global Reminders page.

---

## 14. Rentals

### 14.1 Rental Agreements List

**URL:** `https://agrawal.acoding.com/public/admin/rentals`  
**Access:** Admin only

**Purpose:** Overview of all active rental agreements with key dates and expiry tracking.

**Columns:**

| Column | Description |
|---|---|
| Tenant Name | Client who has taken the rental |
| Property | The rented property |
| Monthly Rent | Agreed monthly amount (₹) |
| Start Date | Rental start date |
| End Date | Rental end date |
| Days Until Expiry | Countdown to end date |
| Status | Active / Expiring Soon / Expired |

Agreements approaching their end date (within the configured reminder window) are highlighted.

---

### 14.2 Managed Rentals

**URL:** `https://agrawal.acoding.com/public/admin/managed-rentals`  
**Access:** Admin only

**Purpose:** Track properties where Agrawal Properties manages the rental on behalf of the owner — including monthly rent collection.

**Rent Collection Checklist:**

**URL:** `https://agrawal.acoding.com/public/admin/managed-rentals/{property_id}/checklist`

1. Click on a managed rental to open its checklist.
2. The checklist shows a month-by-month grid.
3. Click **Mark as Collected** for each month once rent is received. Add an optional note.

**Toggling Managed Status:** Click **Toggle** on the list to turn managed rental tracking on or off for a property.

---

## 15. Reports

**Access:** Admin only  
**URL prefix:** `https://agrawal.acoding.com/public/admin/reports/`

---

### 15.1 Sourcing Channels Report

**URL:** `https://agrawal.acoding.com/public/admin/reports/sourcing-channels`

**Purpose:** Understand which acquisition channels bring in the most clients or leads.

**Filters:** Date range.

---

### 15.2 Site Visits Report

**URL:** `https://agrawal.acoding.com/public/admin/reports/site-visits`

**Purpose:** Full log of all property visits conducted.

**Filters:** Date range, property, staff member.

---

### 15.3 Properties Report

**URL:** `https://agrawal.acoding.com/public/admin/reports/properties`

**Purpose:** Analyse property inventory by type, status, location, and price range.

**Filters:** Property type, status, listing purpose, date range.

---

### 15.4 Leads Report

**URL:** `https://agrawal.acoding.com/public/admin/reports/leads`

**Purpose:** Analyse the sales pipeline — conversion rates, stage bottlenecks, and outcomes.

**Filters:** Date range, stage, assigned staff, interest type, property type.

---

### 15.5 Staff Performance Report

**URL:** `https://agrawal.acoding.com/public/admin/reports/staff-performance`

**Purpose:** Measure individual staff productivity.

**Filters:** Date range, staff member.

**Metrics shown:**

| Metric | Description |
|---|---|
| Leads Handled | Total assigned leads |
| Stage Updates | Number of stage changes made |
| Site Visits Logged | Visits recorded |
| Notes Added | Notes written |
| Quotes Logged | Quotes entered |
| Reminders Set | Reminders created |
| Deals Closed | Leads moved to a closed-won stage |

---

## 16. Settings

**Access:** Admin only  
**URL prefix:** `https://agrawal.acoding.com/public/admin/settings/`

---

### 16.1 Company Settings

**URL:** `https://agrawal.acoding.com/public/admin/settings/company`

**Purpose:** Configure the business identity shown across the system and on documents.

| Field | Description |
|---|---|
| Company Name | Business name (appears in headers and documents) |
| Company Logo | Upload your logo. Shown in the navigation bar and on agreement documents. |
| Address | Registered business address |
| Mobile / Phone | Primary contact number |
| Email | Business email |
| Website | Optional website URL |
| GSTIN | GST registration number |

Click **Save Settings**. To remove the current logo, click **Remove Logo**.

---

### 16.2 Lead Stages

**URL:** `https://agrawal.acoding.com/public/admin/settings/lead-stages`

**Purpose:** Define the stages in your sales pipeline.

**Adding a Stage:**
1. Click **Add Stage**.
2. Enter a **Stage Name** (e.g. "Site Visit Scheduled").
3. Choose a **Colour** for the badge.
4. Check **Is Closed Stage** if this stage terminates the lead journey (e.g. "Deal Done", "Not Interested"). Leads that reach a closed stage cannot have their stage changed again.
5. Click **Save**.

**Reordering:** Drag stages with the handle icon to control the order in the progress bar and dropdowns.

**Enable / Disable:** Disabled stages are hidden from the active pipeline without affecting existing leads.

---

### 16.3 Property Types

**URL:** `https://agrawal.acoding.com/public/admin/settings/property-types`

**Purpose:** Manage property categories used when listing properties.

**Adding a Type:** Click **Add Type**, enter the name, and save.

**Reorder:** Drag to control dropdown order.

**Enable / Disable:** Disabled types are hidden from property forms.

---

### 16.4 Property Tags

**URL:** `https://agrawal.acoding.com/public/admin/settings/property-tags`

**Purpose:** Searchable labels attached to properties for quick categorisation (e.g. "Ready to Move", "Corner Plot", "RERA Approved").

**Adding a Tag:** Click **Add Tag**, enter the label, and save.

---

### 16.5 Property Field Templates

**URL:** `https://agrawal.acoding.com/public/admin/settings/property-field-templates`

**Purpose:** Define custom data fields per property type. Different types need different information — a flat needs BHK and floor number; a plot needs facing direction.

**Adding a Field:**
1. Select the **Property Type**.
2. Enter a **Field Label** (e.g. "BHK Configuration").
3. Select the **Field Type** (text, number, dropdown, checkbox, etc.).
4. For dropdown fields, enter the selectable option values.
5. Click **Save**.

**Reorder:** Drag to control the order fields appear in the property form.

---

### 16.6 Document Types

**URL:** `https://agrawal.acoding.com/public/admin/settings/document-types`

**Purpose:** Define categories for uploaded files across Properties, Owners, and Client KYC (e.g. "Sale Deed", "Aadhaar Card", "NOC Letter").

**Adding a Type:** Click **Add Document Type**, enter the name, and save.

**Enable / Disable:** Disabled types are hidden from upload forms.

---

### 16.7 Sourcing Channels

**URL:** `https://agrawal.acoding.com/public/admin/settings/sourcing-channels`

**Purpose:** Track how clients and properties are acquired (e.g. "Social Media", "Referral", "Walk-in", "99acres").

**Adding a Channel:** Click **Add Channel**, enter the name, and save.

**Enable / Disable:** Disabled channels are hidden from all sourcing dropdowns.

---

### 16.8 Email Templates

**URL:** `https://agrawal.acoding.com/public/admin/settings/email-templates`

**Purpose:** Configure automated email content, set global email behaviour, and review delivery history.

#### Global Email Settings

| Setting | Description |
|---|---|
| Enable Automated Emails | Master on/off switch. When OFF, no automated emails are sent at all. |
| Rental Expiry Alert (days before) | How many days before a rental end date to send the expiry reminder. Default: 30 days. |

Click **Save Settings** after making changes.

#### Send Test Email

1. Enter a **recipient email address**.
2. Select the **template** to test.
3. Click **Send Test**. Tokens like `{{client_name}}` are replaced with sample values.

#### Editing a Template

Each template card shows:
- Template name and purpose.
- Active / Inactive status badge.
- Available token list (placeholders you can use in the subject or body).

**Steps:**
1. Update the **Subject** line.
2. Edit the **Body** using the rich text (WYSIWYG) editor — format with bold, italic, colours, bullet lists, tables, and links.
3. Insert tokens from the "Available tokens" list (e.g. `{{property_title}}`, `{{expiry_date}}`).
4. Click **Save Template**.

**Enable / Disable a Template:** Click **Enable / Disable** on the card. This is independent of the global switch.

#### Recent Email Log

Shows the last 50 emails sent:

| Column | Description |
|---|---|
| Recipient | Address the email was sent to |
| Template | Which template was used |
| Subject | Email subject line |
| Status | Sent (green) or Failed (red) |
| Sent At | Date and time |

Hover over a **Failed** badge to see the error reason.

---

### 16.9 Notification Settings

**URL:** `https://agrawal.acoding.com/public/admin/settings/notifications`

**Purpose:** Control which in-app notification types are active for all users. Toggle each type on or off. Changes take effect immediately.

---

## 17. Notifications

**Access:** Admin and Staff  
**URL:** Accessible via the bell icon in the top navigation bar on all pages

**Purpose:** In-app alerts for events that require your attention.

**How it works:**
- The bell icon shows an unread count badge.
- Click the bell to open the notification dropdown.
- Click a notification to mark it as read and navigate to the related record.
- Click **Mark All as Read** to clear all at once.

**Notification types:**

| Notification | Who receives it |
|---|---|
| Reminder is due | The staff member the reminder is assigned to |
| Rental agreement expiring soon | Admin |
| New lead assigned | The assigned staff member |
| Other system events | Controlled by [Notification Settings](#169-notification-settings) |

---

## 18. My Profile

**URL:** `https://agrawal.acoding.com/public/my-profile`  
**Access:** Admin and Staff (own profile only)

**Purpose:** Update personal details and change your login password.

### 18.1 Update Profile

| Field | Description |
|---|---|
| Name | Display name shown across the system |
| Email | Login email (must be unique) |
| Mobile | Contact number |
| Profile Photo | Optional profile picture |

Click **Save Changes**.

### 18.2 Change Password

1. Scroll to **Change Password**.
2. Enter **Current Password**.
3. Enter and confirm a **New Password**.
4. Click **Update Password**.

> If you have forgotten your current password, use the [Forgot Password](#22-forgot-password) flow from the login page.

---

## 19. Glossary

| Term | Definition |
|---|---|
| Lead | A tracked CRM opportunity linked to a client requirement |
| Requirement | A client's property search criteria — budget, type, size, location |
| Pipeline Stage | A phase in the lead journey (e.g. "Site Visit Scheduled") |
| Closed Stage | A terminal pipeline stage after which no further stage changes are allowed |
| Shortlist | A curated list of properties matched to a lead's requirement |
| Site Visit | An in-person or virtual property viewing for a client |
| Quote | A price offer communicated to a client for a specific property |
| Agreement | The finalised deal record capturing terms of a sale or rental |
| Sourcing Channel | The medium through which a client or property was acquired |
| KYC | Know Your Customer — identity verification documents (Aadhaar, PAN, etc.) |
| Managed Rental | A rental where the firm handles collection on behalf of the owner |
| Token / Placeholder | A variable in email templates (e.g. `{{client_name}}`) replaced with real values when sent |
| Broker | A channel partner or referral agent who brings clients or properties |
| Document Vault | Secure document storage linked to a property |
| Under Review | Property status indicating it is awaiting Admin approval before being published |

---

*This document covers all features available in Agrawal Properties as of May 2026. Base URL: `https://agrawal.acoding.com/public`*
