Module Customization for Real Estate Sector

Objective: To customize modules in Zoho CRM to meet Zylker Real Estate's unique requirements.

  • Create a custom module called Property.
  • Create multiple layouts within the Propertymodule to manage different housing types like Residential Property and Commercial Property.
  • Set layout rules to create conditional layouts in the Property module for defining field dependency.
  • Add multiple line items in the layouts by including subforms.
  • Ensure data accuracy by setting up validating rules.
  • Custom Modules
  • Page Layouts and Conditional Layouts
  • Subforms and Validation Rule

Module customization requirements for Zylker Real Estate

Zylker Real Estate needs a CRM system to manage various activities like maintaining residential and commercial properties, handling the vendors and landlord details, sending property notifications to the buyers and so on.

Though Zoho CRM's default sales setup does not meet their requirements in this case, it can be customized extensively to suit their needs. Let's take a close look at Zylker Real Estate's requirements and see how Zoho CRM can meet them.

Requirement: Create Custom Module

Zylker Real Estate has no use of modules such as leads, contacts, accounts and deals as they are into property dealings.

Solution:

Zylker could create custom modules in Zoho CRM to fit their context. For example, Properties, Landlords, or Vendors.

Let us see how you can create a custom module in the steps below:

  • 1. Click Settings > Setup > Customization > Modules and Fields.
  • 2. In the List of Modules page, click Create New Module.
  • 3. In the ensuing Layout Editor page, enter the name of the module: Property.
  • 4. From the New Fields tray on the left, drag and drop the required type of fields and sections into the layout. (Each field used in this tutorial and the field type are mentioned in the table below) Edit properties of a field if required.
  • 5. Set module permission and click Save. Select user profiles that can have access to the module. The other profiles that have been excluded will be restricted from accessing this module.

Details of the fields and sections in the Properties module:

Section: Property Details
Field NameField TypeSpecific Properties, if any

Buyer

Single Line

None

Permanent Address

Multi-Line

None

City

Single Line

None

State

Single Line

None

Email

Email

None

Sex

Pick-list

Options:

Male, Female, Others

Marital Status

Pick-list

Options:

Married, Unmarried

Social Security Number

Single Line

None

ID Proof

Pick-list

Options:

Passport, Driving Licence

Mobile number

Phone

None

Section: Property Type
Previous Scenario Page Layouts and Conditional Layouts

Requirement: Add Multiple Layouts

We've now created a module called Property for Zylker Real Estate - however, property management is done based on the type of property. For example, the property type information required by the residential property seekers will vary from that of commercial property seekers. Similarly the vendors will have varied information displayed in their property listing forms. Having these diverse details in the same module causes a lot of confusion.

Besides, the activities revolving around the property seekers, the emails automated to them, the reports obtained will all be different based on whether the buyer wants a residential or commercial property. So how can Zylker manage different types of requests under the same module? The solution is to create multiple layouts under the Property module.

Solution:

Each module can be sub-divided into layouts. For instance the Properties module can have the following layouts within it:

  • Residential Properties
  • Commercial Properties
  • Landlords
  • Vendors

Note that, though the layouts can be kept separate and different people can be assigned to each layout, they all belong to the same module, Properties. This makes it easy for Zylker to manage multiple divisions in the same CRM system.

Each new layout under the module may share common fields or have different fields specific to that layout.

For instance, the Property Type field will be different for the two layouts. If you look at this field in Residential Property, it has options such as Apartments, Villas, Individual Houses or Farm Houses.

When you switch the layout to Commercial Property, the same field will have options such as New Launch, Office Space, Hotel/Resorts or Agricultural Land. The custom field you have consumed is only one - but it can have different options in different layouts.

Let us see how you can add multiple layouts in a module in the steps below:

  • 1. Click Settings > Setup > Customization > Modules and Fields.
  • 2. From the List of Modules, select Properties
  • 3. Click Create New Layout.

    Note that the Standard Layout will be cloned and a you can make the required edits in the new layout.

  • 4. Create new fields that are suitable for the Residential Property layout and save it. The fields are mentioned below.
Types of Properties section for Residential Property layout
Field NameField TypeSpecific Properties, if any

Property type required

Pick-list

Mark as Required

Options:

1. Apartment

2. Villa

3. Farm Houses

4. Serviced Apartments

Property required for

Pick-list

Options:

1. Rent

2. Buy

Location

Single Line

None

Rent Range

Pick-list

Options:

1. Min

2. Max

Number of Rooms

Pick-list

Options:

1. 2 BHK

2. 3 BHK

3. 4 BHK

Types of Properties section for Commercial Property layout
Field NameField TypeSpecific Properties, if any

Property type required

Pick-list

Mark as Required

Options

1. New Launch

2. Office Space

3. Hotel or Resorts

4. Agricultural Land

Now that we have two layouts: Residential and Commercial. You can select the layout while creating a record and fill in the details.

How to work with different layouts?

Once the Property information has been classified into different layouts - Zylker can organize further activities and processes based on the layouts.

For instance, a buyer who wants to purchase an apartment has to be sent a contract right after the negotiation is finalized. The automated emails sent for both the above activities are different even though they belong to the same module. You can achieve this by defining layout as criteria in the workflow rules.

Similarly, the following are some more functions in CRM that can be achieved based on layouts:

  • Layout assignment and permission.
  • Layout based workflows.
  • Layout based reports.
  • Layout based custom views.
  • Generate records in CRM from import, web-forms and APIs based on layouts.

Layout based workflow rules: Automate email alerts to the buyers based on the layout

This workflow rule will automatically send different emails to the residential and commercial property buyers whenever the workflow rule is triggered.

Layout based reports: Reports created with "Layout" as part of the filters will create reports specific to residential and commercial properties.

Layout based custom views: In a similar manner, you can execute functions across CRM based on layouts, by simply inserting it as part of the criteria sections. This could be advanced filters.

Layout assignment to CRM users: You may have different people associated with each layout, in this case, residential and commercial layouts. Residential property layout owners need not view the details of the commercial property division and vice versa. To manage this efficiently, you can assign each layout to specific user profiles in CRM. If you want to restrict a profile from accessing a layout, simply exclude that profile from the Layout Permission section.

Requirement: Define Field Dependency with Conditional Layouts

Now we have new modules, with multiple layouts under each of them. Further to this, Zylker has a third requirement. In the property type form, there are many fields that are required based on a previous choice.

For example, fields like "Choose the lease period" will be displayed only when the buyer selects "Lease" field under "Select if the property is for Lease or Rent". Otherwise, the field is irrelevant.

There are several such fields in each layout, which may or may not be relevant, based on a previous field value. The presence of all the fields at all times actually clutters the layout and often leaves the CRM user confused.

Solution:

Conditional layouts offer a solution exactly to such a requirement. Using layout rules, a layout can be made dynamic - that is Zylker can control how the layout appears, based on the input value of a field. So, if someone selects "Lease" for "Do you want the property for Lease or Rent", another field asking for further details appears, otherwise the latter stays hidden.

In a similar manner the entire layout could be made dynamic by framing layout rules to show/hide fields and sections and make fields mandatory.

Example - Lease detail is required only when the buyer chooses to take the property on lease, otherwise, the lease details field is not relevant.

Solution - Display lease details field only if "Property For" is Lease.

Let us see how you can define field dependency in the steps below:

  • 1. Click Settings > Setup > Customization > Modules and Fields.
  • 2. Under Layout Rules, click New Layout Rule and configure the rules as shown in the images.

Section: Lease Details

Field NameField TypeSpecific Properties, if any

Lease Period

Pick-list

Options:

1. 5 years

2. 10 years

2. > 10 years

Lessee Name

Single Line

None

Phone number

Phone

None

Permanent Address

Single Line

None

Type of Contract

Pick-list

Options:

1. Standard agreement

2. Comprehensive agreement

Lease Date Starts

Date

None

Lease Ends

Pick-list

Options:

1. Ends on a set date

2. Has no set end date

Type of Renewal

Pick-list

Options:

1. Monthly

2. Yearly

Previous Scenario Subforms and Validation Rule

Requirement: Add multiple line items using Subforms.

We created a custom module "Properties" for Zylker Real Estate, added different layouts to manage diverse divisions and also de-cluttered the layouts by allowing field and layout dependencies. Let us now learn how you can add additional information like, "Storage Units" or "Preferred Interior Design" and so on right within the customer's form. You can easily achieve this by adding subforms.

Example - A residential property buyer is interested in purchasing a farm house and would like to specify some interior design preferences in the form. These details can be added along with other related information inside a subform.

Solution - Subforms gives you the solution to keep your primary form free from clutter by enabling you to add multiple line items inside a secondary form. Though these are important details mentioned by the buyer, they can easily be captured inside a subform named "Interior Design Details". You can introduce the additional line items in a subform and store the relevant information. While the primary form will still be about the buyer's details, the subform will hold the additional details about academics and previous employments.

Let us see how you can add a subform to a layout in the steps below:

  • 1. Click Settings > Setup > Customization > Modules and Fields.
  • 2. From the List of modules, select Residential Property.
  • 3. In the Layout editor, drag and drop the Subform block from the New Fields section on the left.
  • 4. Name the subform - "Interior Design Details".

Section: Interior Design Details

Field NameField TypeSpecific Properties, if any

Property type required

Pick-list

Mark as Required

Options

1. Apartment

2. Villa

3. Farm Houses

4. Serviced Apartments

Number of rooms

Pick-list

Options

1. 2 BHK

2. 3 BHK

3. 4 BHK

Location

Single Line

None

Styles

Pick-list

Options

1. Art Deco

2. Modern Style

3. Arab Materials

4. Vintage

Preferred color palate

Single Line

None

Furniture or Textile Texture

Options

1. Smooth and shiny finishes

2. Rough or coarse texture

Pattern

Pick-list

Options

1. Designs in Fabrics

2. Paint techniques

3. Wallpaper

Requirement: Ensure Data Accuracy by Setting Up Validation Rules.

Your form now has diverse and countless fields to capture details and there can be chances that the buyer enters some value which does not comply with Zylker Real Estate's terms and conditions.

For example, the number of rooms selected for a particular property type is incorrect, or the zip code entered by the buyer has less than 5 characters. The system should recognize the error and throw an alert whenever the proposer enters an invalid data.

Solution:

Creating validation rules will help you arrest invalid data while it is being entered in Zoho CRM. In this case, creating a validation rule for the Residential Property layout will let you define the number of rooms for a property type. Similarly, you can set the system to throw an alert if the zip code entered has more or less than 5 characters.

Example - The customer has chosen number of rooms as 2 BHK and the property type is a serviced apartment. But the serviced apartment is available only for 4 BHK.

Solution - Create a validation rule saying if the property type is serviced apartment, number of rooms can not be less that 4 BHK.

Let us see how you can set up validation rules for fields in the steps below:

  • 1. Go to Setup > Customization > Modules and Fields.
  • 2. Select the Property module > click the Validation Rules tab.
  • 3. Click + Create Validation Rule.
  • 4. Choose the Residential Property layout, that the field you wish to validate, belongs to
  • 5. In the Create Validation Rule Popup window, perform the following actions:.
    • Choose the field and define the primary condition to initiate the rule.
    • Choose the serviced apartment from the residential property type and, if you want to validate the serviced apartment field, your primary condition will be, "Number of rooms = 4 BHK".

You have successfully customized your CRM account for real estate sector. With this, we conclude the customization tutorial.