a:4:{i:0;s:20600:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>3bhk Builder Floor In Prime Location Of Baludyan Road Uttam Nagar</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.bharathomes.co.in/" title="Home">Home</a>
						
						<b class="ffv p2px">&rsaquo;</b><a href="http://www.bharathomes.co.in/property-in-delhi.htm" title="Property in Delhi">Delhi</a><b class="ffv p2px">&rsaquo;</b><a href="http://www.bharathomes.co.in/property-for-sale-in-param-puri-uttam-nagar-delhi.htm" title="Property for Sale in Param Puri, Uttam Nagar, Delhi">Param Puri</a>											
						<b class="ffv p2px">&rsaquo;</b> 3bhk Builder Floor In Prime Location Of Baludyan Road Uttam Nagar</p>
						</div>
						</div>
						</section>
											<script>	
						(function($){	
						  $(function(){
							$('[id^=slider1]').each(function(){
								$(this).DG_Slider({
									auto: true, mode:'fade', pager:false, pagerType:'short',controls:false
								});
							})
							$('a[rel=gall]').fancybox()
						  });	
						}(jQuery))		
					</script>
					<section id="middle"><br />
					<div class="wrap" id="bodyFormatNT">
					<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
					<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->
										<section class="fo pro_detail_n">
					<div class="w100 dt ac-dtr acac-dtc fl">
					<ul>
										<li class="vat pr30px vat w300px lh0">
                    <div class="demo-wrap slider300">
					<ul class="lsn m0px p0px" >
											<li class="bdr bw1px c5px p1px">
						<div class="">
						<p class="ac vam">
						<img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image.jpg" width="" height="" />						</p>
						</div>
						</li>
											</ul>
					</div>
					</li>
					<li class="vat ffos">
					<div class="fo mb10px bdrb bdreee pb10px res_clr">
					<div class="">
												<div><i class="fa fa-map-marker pr7px fl"></i><p class="ofh">Baludyan road, Param Puri, Uttam Nagar, Delhi							<br>
							<span class="gray">By Bharat Homes</span></p>
							</div>
												</div>
					</div>
					<p class="pr"><span class="headHr dib c5px"><a data-fancybox data-type="iframe" data-src="https://www.realestateindia.com/view_map.php?gaddress=~~Uttam Nagar~~Delhi, Param Puri, Uttam Nagar, Delhi&goglepointer1=&goglepointer2=" href="javascript:void(0);" style="padding-left:50px;" class="b xlarge p7px pr20px dib ts0">Location Map</a></span>
					<span style="top:-10px;left:0;" class="pa dib lh0px"><img src="https://static.realestateindia.com/images/icon_loc_map.png" alt=""></span>
					</p>
					<script>
					$("[data-fancybox]").fancybox({
					    iframe : {
					        css : {
					            width : '860px'
					        }
					    }
					});
					</script>
					<br />
											<div class="xxlarge mb10px">
						<div class="xxlarge ffrr mb7px dib red"><i class="fa fa-inr"></i> <span itemprop="price">50 L</span></div>
						<div class="xsmall ml15px dib">@ Rs 47619 per Sq. Yards</div>
						</div>
											<ul class="fo ac-mb10px pb10px lsn bdrb large">
											<li>
						<p class="fl w130px">Property ID: </p>
						<p class="fl mr30px">:</p>
						<p class="ofh b">REI372696</p>
						</li>
												<li>
						<p class="fl w130px">Property For</p>
						<p class="fl mr30px">:</p>
						<p class="ofh b">Sale</p>
						</li>
												<li>
						<p class="fl w130px">Location</p>
						<p class="fl mr30px">:</p>
						<p class="ofh b">Uttam Nagar</p>
						</li>
												<script type="text/javascript">
						area_conversion=function(b,f,e){var c=createAreaArr();if(e==1){if(b<20&&b!=18){var a=f/c[b];return a}else{return 0}}else{if(e==2){if(b<20&&b!=18){var d=f*c[b];return d}else{return 0}}}};
						
						function createAreaArr(){
							var a={
								1:1,
								2:0.1111111111111,
								3:0.093,
								4:0.00041666667,
								5:0.013890889,
								6:0.000091810503,
								7:0.002222222222222223,
								8:0.0036724201,
								9:0.0009182736455464,
								10:0.00092936802973,
								11:0.0000028696051,
								12:0.00002295663,
								13:0.000057392103,
								14:0.0013888889,
								15:0.0000092904166,
								16:0.003673095,
								17:0.0000092605969,
								19:0.002295684
							};
							return a;
						}
						
						function updateArea(a,c,d,h,b,w,z){
							var g=createAreaArr();
							 
							var bu = {
						    'Sq.ft.':'1',
						    'Sq. Yards':'2',
						    'Sq. Meter':'3',
						    'Guntha':'9',
						    'Ares':'10',
						    'Acre':'12',
						    'Bigha':'13',
						    'Hectares':'15',
						    'Marla':'16',
						    'Cent':'19',
						    };
							if(w=='Sq. Feet'){
								var e=d*(parseFloat(g[c]));
							}
							else{
								var e=parseFloat(g[c])*(d/ parseFloat(g[bu[w]]));
							} 
							
							if(b=="Y"){
								jQuery("#"+h+"_span").html(e.toFixed(2));
							}else{
								if(b=="N"){
									jQuery("#"+h).html(jQuery("#"+h).html+e.toFixed(2));
									console.log("#"+h);
								}
							}
							jQuery("#"+h+"Label").html(" "+a);
							jQuery("#"+z).html(a+" &#9660;")
						}
						
						</script>						
												<li class="fo">
						<p class="fl w130px">Built Up Area</p>
						<p class="fl mr30px">:</p>
						<div class="fl b">
						<script type="text/javascript">
						function convert(basetext,baseindex,baseunit){
						     if(105 > 0 )  updateArea(basetext,baseindex,105,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">105</span>
						<span class="pr">
						<a onClick="jQuery('#builtUp').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab">Sq. Yards &#9660;</a>
						<div id="builtUp" style="width:120px;display:none;top:-1px;left:0px;" class="pa">
						<span class="data p5px15px pb10px dib xlarge b pr" style="border-bottom:none;z-index:101;" id="builtupAreaLabel">Sq. Yards</span>
						<ul class="lsn m0px p0px data small bdrB0 pr uo" style="top:-1px;z-index:100;">
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Feet',1,'Sq. Yards');">Sq. Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Cent',19,'Sq. Yards');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Yards',2,'Sq. Yards');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Ares',10,'Sq. Yards');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Acre',12,'Sq. Yards');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Meter',3,'Sq. Yards');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Bigha',13,'Sq. Yards');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Hectares',15,'Sq. Yards');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Guntha',9,'Sq. Yards');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Marla',16,'Sq. Yards');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#builtUp').hide();
								
							})
						});
						</script>
						</div>
						</li>
												<li class="fo">
						<p class="fl w130px">Land / Plot Area</p>
						<p class="fl mr30px">:</p>
						<div class="fl b">
						<script type="text/javascript">
						function convert1(basetext,baseindex,baseunit){
						     if(200 > 0 )  updateArea(basetext,baseindex,200,'landArea','Y',baseunit,'DrpDownTab1'); }
						</script>  
						<span id="landArea_span">200</span>
						<span class="pr">
						<a onClick="jQuery('#landArea').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab1">Sq. Yards &#9660;</a>
						<div id="landArea" style="width:120px;display:none;top:-1px;left:0px;" class="pa">
						<span class="data p5px15px pb10px dib xlarge b pr" style="border-bottom:none;z-index:101;" id="landAreaLabel">Sq. Yards</span>
						<ul class="lsn m0px p0px data small bdrB0 pr uo" style="top:-1px;z-index:100;">
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Feet',1,'Sq. Yards');">Sq.Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Cent',19,'Sq. Yards');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Yards',2,'Sq. Yards');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Ares',10,'Sq. Yards');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Acre',12,'Sq. Yards');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Meter',3,'Sq. Yards');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Bigha',13,'Sq. Yards');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Hectares',15,'Sq. Yards');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Guntha',9,'Sq. Yards');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Marla',16,'Sq. Yards');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#landArea').hide();
								
							})
						});
						</script>
						</div>			
						</li>
											</ul>
											<form class="inquiry-form" name="frmpropertydetail" method="post" action="http://www.bharathomes.co.in/enquiry-form-10017.htm">
						<input type="hidden" name="enqtype" value="property" />
						<input type="hidden" name="subject" value="Inquiry For Property - 3bhk Builder Floor in Prime Location of Baludyan Road Uttam Nagar - REI372696" />
						<input type="hidden" name="property_id" value="372696" />
						</form>
						<a href="javascript:void(0);" class="submit-inquiry buttonBig xxlarge ts0 p10px20px mt10px c5px">Send Enquiry</a>
							
					</li>
					</ul>
					</div>											
					</section>
					<br /> 
											<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Additional Details</div>
	                    <ul class="lsn m0px p0px wp33 lh2em">
														<li><b>Furnishing :</b> Semi-Furnished</li>
																<li><b>Transaction :</b> New Property</li>
																<li><b>Bedrooms :</b> 3</li>
																<li><b>Bathrooms :</b> 2</li>
																<li><b>Reserved Parking :</b> 1</li>
																<li><b>No. of Floors :</b> 4</li>
																<li><b>Property On Floor :</b> 1</li>
																<li><b>Property Face :</b> West</li>
														</ul>
			            <p class="cb"></p>
			            <br />
												<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Amenities</div>
	                    <ul class="lsn m0px p0px wp33 lh2em">
													<li><i class="si w24px icon-ws" title="Water Storage"></i> Water Storage</li>
														<li><i class="si w24px icon-rp" title="Reserved Parking"></i> Reserved Parking</li>
													</ul>
			            <p class="cb"></p>
			        	<br>
			        							<br />
						<div class="bdrB xxlarge b dif pb5px mt10px mb7px">Property Description </div>
						<p class="aj">3 BHK furnished builder floor with registry available for sale in the prime location of Bal udhyan road near to main arya samaj road and najafgarh road, two side open plot with all basic amenities like, mcd water,sewerage,cemented.</p>						
											</div>
					<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				    <div class="db p20px bdr large ac">
				    <div class="dib mb10px">
					<div class="propUser bdr bdrddd vam"><i class="fa fa-user"></i></div>
					</div>
					<p class="mb5px"> Rakesh Ranjan  </p>
					<p class="alpha75 mb5px"> bharathomesuttamnagar@gmail.com </p>
					<p> <i class="fa xxxlarge vam mr5px fa-mobile" aria-hidden="true"></i> +91-9250511016 </p>
					</div>
		
					<div class="column_Box mc">
					<div class="tcl bullet divider">
					<div class="h h2"><b class="plusMinus"></b>
					<h2>Property by City</h2>
					</div>
					<div class="ic showHide_rp">
					<div class="mt10px">
											<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.bharathomes.co.in/property-in-delhi.htm" class="dif" title="Property in Delhi">Delhi</a> <b class="alpha50 bn small">(1313)</b></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.bharathomes.co.in/property-in-noida.htm" class="dif" title="Property in Noida">Noida</a> <b class="alpha50 bn small">(2)</b></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.bharathomes.co.in/property-in-ghaziabad.htm" class="dif" title="Property in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(2)</b></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="http://www.bharathomes.co.in/property-in-gurgaon.htm" class="dif" title="Property in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(1)</b></span>
											
					</div>
					</div>
					</div>
					</div>
					
										
					</div>
					</div>
					
												<br />
							<br />
							<section><br/>
							<div class="wrap fullFormat">	
							<div class="xxxlarge b mb30px ac"><h2>Similar Property</h2></div>
							<div class="cf_5img mt30px">
							<ul class="lsn m0px p0px fo idv_eqheight">						
															
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.bharathomes.co.in/sell/3-bhk-builder-floor-mansa-ram-park-west-delhi_631841.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image_180.jpg" width="200" height="140" /></div>
								<div class="p10px al">
								<p class="b dif">Independent/Builder Floor...</p>
								<p class="mt5px">Builder Floor</p>
								<p class="alpha75 mt5px">
								3 BHK / 70 Sq.ft.								
								</p>    
								<p class="alpha75">Mansa Ram Park, Dwarka, Delhi</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.bharathomes.co.in/sell/3-bhk-builder-floor-uttam-nagar-west-delhi_503178.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img src="https://rei.wlimg.com/prop_images/179879/503178_1-350x350.jpg"  alt="Independent/Builder Floor for Sale in Uttam Nagar"  style="width:100%;height:140px;"  /></div>
								<div class="p10px al">
								<p class="b dif">Independent/Builder Floor...</p>
								<p class="mt5px">Builder Floor</p>
								<p class="alpha75 mt5px">
								3 BHK / 55 Sq. Yards								
								</p>    
								<p class="alpha75">Jain Park, Uttam Nagar, Delhi</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.bharathomes.co.in/sell/3-bhk-builder-floor-mohan-garden-west-delhi_607091.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img src="https://rei.wlimg.com/prop_images/179879/607091_1-350x350.jpg"  alt="3 BHK Builder Floor for Sale in Mohan Garden, West Delhi"  style="width:100%;height:140px;"  /></div>
								<div class="p10px al">
								<p class="b dif">3 BHK Builder Floor for S...</p>
								<p class="mt5px">Builder Floor</p>
								<p class="alpha75 mt5px">
								3 BHK / 100 Sq. Yards								
								</p>    
								<p class="alpha75">Mohan Garden, Delhi</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.bharathomes.co.in/sell/2-bhk-flats-apartments-nawada-west-delhi_656684.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image_180.jpg" width="200" height="140" /></div>
								<div class="p10px al">
								<p class="b dif">Residential Flat for Sell</p>
								<p class="mt5px">Flats & Apartments</p>
								<p class="alpha75 mt5px">
								2 BHK / 455 Sq.ft.								
								</p>    
								<p class="alpha75">Nawada, Delhi</p>
								</div>
								</div>    
								</li>								
																
								<li>
								<div class="data ac dib cp"  onclick="location.href='http://www.bharathomes.co.in/sell/2-bhk-flats-apartments-uttam-nagar-west-delhi_663450.htm'">
								<div class="w200px bdrB vam dtc" style="height:140px;"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image_180.jpg" width="200" height="140" /></div>
								<div class="p10px al">
								<p class="b dif">2 BHK Flats for sale at U...</p>
								<p class="mt5px">Flats & Apartments</p>
								<p class="alpha75 mt5px">
								2 BHK / 581 Sq.ft.								
								</p>    
								<p class="alpha75">Uttam Nagar, Delhi</p>
								</div>
								</div>    
								</li>								
												
							</ul>
							</div>
							</div> 
							</section> 
												</div>
					</section>
									<div id="myModal" class="modal fade dn pf" role="dialog" style="z-index:9999;left:0;top:0%;width:100%;height:100%;background-color:rgba(0,0,0,0.6);overflow-x: hidden; overflow-y: auto;">
				    <!-- Modal content-->
				    <div style="max-width:700px;margin-top: 50px;min-height:400px;" class="modal-content data m0a p10px pr">
				      <div class="modal-header">
				        <a style="right:25px;top:25px;" class="pa b xxxlarge" data-dismiss="modal"><span class="xlarge">&times;</span></a>	        
				      </div>
				      <div class="modal-body">
				        <div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>
				      </div>
				      <div class="modal-footer">
				        
				      </div>
				    </div>
				</div>
				<script type="text/javascript">
					jQuery(document).ready(function(){
						jQuery(document).on("click", ".submit-inquiry" , function(){
							var form = jQuery(this).parent().find(".inquiry-form");
							if(form.length){
								jQuery.ajax({
									url: form.attr("action"),
									type: form.attr("method"),
									data:form.serialize(),
									crossDomain:true,
									success:function(res){
										jQuery("#myModal .modal-body").html(res);
									}
								});
							}
						});
						jQuery(document).on("click", "[data-dismiss=modal]", function(){
							jQuery("#myModal .modal-body").html('<div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>');
							jQuery("#myModal").hide();
						});
						jQuery(document).on("submit", "form[name=static_form]", function(e){				
							e.preventDefault();
							var isValidForm =static_inq_form_validate(jQuery(this).attr("form-id"));
							if(isValidForm == undefined){
								var form = jQuery(this);
								if(form.length){
									jQuery.ajax({
										url: form.attr("action"),
										type: form.attr("method"),
										data:form.serialize(),
										crossDomain:true,
										beforeSend:function(){
											jQuery("#myModal .modal-footer").html("");
										},
										success:function(res){
											jQuery("#myModal .modal-body").html(res);
											setTimeout(function(){
												jQuery("#myModal", document).hide();
												jQuery("#myModal .modal-body").html('<div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>');
												},2000)
										}
									});
								}
							}
						});
						var modal = jQuery("#myModal", document);
			
						jQuery(document).on("click", ".submit-inquiry" , function(){
						    modal.show();
						});
			
						window.onclick = function(event) {
						    if (jQuery(event.target) == modal) {
						        modal.css("display","none");
						    }
						}
					});
				</script>
				";i:1;s:55:"3 BHK Builder Floor for Sale in Uttam Nagar, West Delhi";i:2;s:205:"Property for Sale in Uttam Nagar, 3 Bedrooms, 2 Bath Rooms, 1 Parking, 4 Total Floor, 105 Sq. Yards Builder Floor in Param Puri, Delhi, Delhi, Bharat Homes deal in all type of Builder Floor in Uttam Nagar.";i:3;s:205:"Property for Sale in Uttam Nagar, 3 Bedrooms, 2 Bath Rooms, 1 Parking, 4 Total Floor, 105 Sq. Yards Builder Floor in Param Puri, Delhi, Delhi, Bharat Homes deal in all type of Builder Floor in Uttam Nagar.";}