Module Customization for Real Estate Sector

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

 1Create custom
page layouts
conditional layouts
validation rule
  1. Create a custom module called Property. 
  2. Create multiple layouts within the Property module to manage different housing types like Residential Property and Commercial Property.  
  3. Set layout rules to create conditional layouts in the Property module for defining field dependency.
  4. Add multiple line items in the layouts by including subforms.
  5. Ensure data accuracy by setting up validating rules. 

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 1. Create Custom Module

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


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: Insurance. 
  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 
BuyerSingle LineNone
Permanent AddressMulti-LineNone
CitySingle LineNone
StateSingle Line None
EmailEmail None
Male, Female, Others
Marital StatusPick-listOptions: 
Married, Unmarried
Social Security NumberSingle Line None
ID ProofPick-List Options: 
Passport, Driving Licence
Mobile numberPhone None
Section: Property Type+
Field NameField TypeSpecific Properties, if any 
Property TypePick-listOptions: 
Residential property
Commercial property
Property AreaSingle lineNone
Construction StatusPick-listOptions: 
Under Construction
Ready to move
Price RangePick-listOptions: 
Posted ByPick-listOptions: 
Create page layouts →
 1Create custom
page layouts
conditional layouts
validation rule

Requirement 2. Add Multiple Layouts

We've now created a module called Insurance Policy for Zylker Insurance - however, insurance management is done based on the type of insurance. 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 policy holders, the emails automated to them, the reports obtained will all be different based on whether the proposer belongs to Health or auto insurance. So how can Zylker manage these diverse divisions under the same module? The solution is to create multiple layouts under the Insurance module. 


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 Health Insurance layout and save it. The fields are mentioned below.
Section: Types of Properties section for Residential Property layout+
Field NameField TypeSpecific Properties, if any 
Property type requiredPick-listMark as Required
Farm Houses 
Serviced Apartments
Property required forPick-listOptions: 
LocationSingle LineNone
Rent RangePick-listOptions: 
Number of RoomsPick-listOptions: 
Section: Types of Properties section for Commercial Property layout+
Field NameField TypeSpecific Properties, if any 
Property type requiredPick-listMark as Required
New Launch
Office Space
Hotel or Resorts
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 the layouts? 

Once the student 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 the layouts. 

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.  

← Create custom models  Create conditional layouts →
 1Create custom
page layouts
conditional layouts
validation rule

Requirement 3. 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.


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 PeriodPick-listOptions:
5 years
10 years
> 10 years
Lessee NameSingle LineNone
Phone number PhoneNone
Permanent AddressSingle LineNone
Type of ContractPick-listOptions:
Standard agreement
Comprehensive agreement
Lease Date StartsDateNone
Lease EndsPick-listOptions:
Ends on a set date
Has no set end date
Type of RenewalPick-listOptions:
←Create page layouts   Create subforms →
 1Create custom
page layouts
conditional layouts
validation rule

Requirement 4. 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. Go to 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 TypeSingle LineNone
Number of roomsSingle LineNone
Location Single LineNone
Art Deco
Modern Style
Arab Materials
Preferred color palateSingle LineNone
Furniture or Textile TexturePick-listOptions:
Smooth and shiny finishes
Rough or coarse texture
Designs in Fabrics
Paint techniques
← Create conditional layoutsCreate validation rule →
 1Create custom
page layouts
conditional layouts
validation rule

Requirement 5. 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.


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. In the Create Validation Rule Popup window, perform the following actions:.
  4. Click + Create Validation Rule.
  5. Choose the Residential Property layout, that the field you wish to validate, belongs to
    • 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".  

With this, we conclude the customization tutorial for real estate sector. Check out customization for the insurance and education sectors as directed below. 

← Create subforms

Still can't find what you're looking for?

Write to us: