a:4:{i:0;s:22679:"					<div class="h1"><h1>2 BHK Flat For Sale In Yamuna Expressway, Gr Noida</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.squareyardsindia.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.squareyardsindia.in/browse-property.htm" title="Browse Property">Browse Property</a>  			
											
					
					<b class="ffv p2px">&rsaquo;</b>2 BHK Flat For Sale In Yamuna Expressway, Gr Noida</p> 
					<br />
					
											<p class="aj">Gaursons INDIA is launching Gaur Yamuna City at Yamuna Expressway just in front of Formula F1 track & next to Night Safari. Spread across a mammoth 250 acres, Gaur Yamuna City is India's largest group housing development located on the Yamuna Expressway. Gaur Yamuna City Yamuna Expressway is offering 2, 3 and 4 BHK apartments spreads over 300 acres Mega Township with a lot of green area and absolute fantastic design. The project will have a clubhouse, a magnificent swimming pool, a jogging track, children's play areas, and a convenience store..</p>
						<br />
											<div class="headVr p10px">
					<p class="xxlarge b mb10px">Property Details</p>
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="vat data p10px">
					<table class="w100">
											<tr>
						<td class="vat p2px5px w175px"><b>Property ID</b>:</td>
						<td class="vat p2px5px">REI717255</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
												<tr>
						<td class="vat p2px5px"><b>Property For </b>:</td>
						<td class="vat p2px5px">Sale</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
												<tr>
						<td class="vat p2px5px"><b>Price</b>: </td>
						<td class="vat p2px5px">30.20 L</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
												<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>						
												<tr>
						<td class="vat p2px5px"><b>Built Up Area</b>: </td>
						
						<td class="vat p2px5px">
						<script type="text/javascript">
						function convert(basetext,baseindex,baseunit){
						     if(1075 > 0 )  updateArea(basetext,baseindex,1075,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">1075</span>
						<span class="pr">
						<a onClick="jQuery('#builtUp').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab">Sq.ft. &#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.ft.</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.ft.');">Sq. Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Cent',19,'Sq.ft.');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Yards',2,'Sq.ft.');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Ares',10,'Sq.ft.');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Acre',12,'Sq.ft.');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Meter',3,'Sq.ft.');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Bigha',13,'Sq.ft.');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Hectares',15,'Sq.ft.');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Guntha',9,'Sq.ft.');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Marla',16,'Sq.ft.');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#builtUp').hide();
								
							})
						});
						</script>
						</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
												<tr>
						<td class="vat p2px5px"><b>Carpet Area</b>: </td>
						
						<td class="vat p2px5px">
						<script type="text/javascript">
						function convert2(basetext,baseindex,baseunit){
						     if(558 > 0 )  updateArea(basetext,baseindex,558,'catpetArea','Y',baseunit,'DrpDownTab2');   }
						</script>  
						<span id="catpetArea_span">558</span>
						<span class="pr">
						<a onClick="jQuery('#catpetArea').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab2">Sq.ft. &#9660;</a>
						<div id="catpetArea" 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="catpetAreaLabel">Sq.ft.</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:convert2('Sq.%20Feet',1,'Sq.ft.');">Sq.Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Cent',19,'Sq.ft.');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Sq.%20Yards',2,'Sq.ft.');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Ares',10,'Sq.ft.');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Acre',12,'Sq.ft.');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Sq.%20Meter',3,'Sq.ft.');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Bigha',13,'Sq.ft.');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Hectares',15,'Sq.ft.');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Guntha',9,'Sq.ft.');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert2('Marla',16,'Sq.ft.');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#catpetArea').hide();
								
							})
						});
						</script>			
						</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
											</table>
					</td>
											<td class="vat pl15px w175px">
													<div class="w150px imgWidth150 m0a" id="thumbContainer0" >
							<div class="ac lh0 mt10px">
							<a  data-fancybox="showZoomImage"  title="2 BHK Flat For Sale In Yamuna Expressway, Gr Noida" href="https://rei.wlimg.com/prop_images/860982/717255_1.jpg"><div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/860982/717255_1-350x350.jpg);background-size:cover;background-position:center;width:150px;height:150px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/860982/717255_1-350x350.jpg"  alt="2 BHK Flat For Sale In Yamuna Expressway, Gr Noida"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div></a>							</div>
							</div>
													<p class="paging ac p10px small" id="propertyThumbLinks">
													<a href="javascript:void(0);" class="on w15px bdr dib b" onclick="imgDisplay('0')" title="">1</a> &nbsp; 
													</p>
						<script type="text/javascript">
						// <![CDATA[
						function imgDisplay(num) {
						as=document.getElementById('propertyThumbLinks').getElementsByTagName('a');
						for (i=0; i<as.length; i++) {
						as[i].className='p2px5px';
						document.getElementById('thumbContainer'+i).style.display='none';
						}
						as[num].className='on p2px5px'
						document.getElementById('thumbContainer'+num).style.display='';
						}
						//]]>
						</script>
						</td>
											</tr>
					</table>
					</div>
					<br />
											<div class="bdrB xxlarge b dif lh14em mb7px">Additional Details</div>
						<ul class="lsn m0px p0px wp33">
														<li class="p2px"><b>Property Age :</b> Under Construction</li>
																<li class="p2px"><b>Furnishing :</b> Semi-Furnished</li>
																<li class="p2px"><b>Transaction :</b> New Property</li>
																<li class="p2px"><b>Bedrooms :</b> 2</li>
																<li class="p2px"><b>Bathrooms :</b> 2</li>
																<li class="p2px"><b>Reserved Parking :</b> 1</li>
																<li class="p2px"><b>No. of Floors :</b> 25</li>
																<li class="p2px"><b>Property On Floor :</b> 2</li>
																<li class="p2px"><b>Property Face :</b> North</li>
														</ul>
			            <p class="cb"></p>
			            <br />
												<div class="bdrB xxlarge b dif lh14em mb7px">Amenities</div>
						<ul class="lsn m0px p0px wp33">
													<li class="p2px vat"><i class="si w24px icon-pb" title="Power Back Up"></i> Power Back Up</li>
														<li class="p2px vat"><i class="si w24px icon-ws" title="Water Storage"></i> Water Storage</li>
														<li class="p2px vat"><i class="si w24px icon-lf" title="Lift"></i> Lift</li>
														<li class="p2px vat"><i class="si w24px icon-rp" title="Reserved Parking"></i> Reserved Parking</li>
														<li class="p2px vat"><i class="si w24px icon-fa" title="Security"></i> Security</li>
														<li class="p2px vat"><i class="si w24px icon-ms" title="Maintenance Staff"></i> Maintenance Staff</li>
														<li class="p2px vat"><i class="si w24px icon-fc" title="Gymnasium"></i> Gymnasium</li>
														<li class="p2px vat"><i class="si w24px icon-pk" title="Park"></i> Park</li>
													</ul>
			            <p class="cb"></p>
			        	<br>
			        								<div class="bdrB xxlarge b dif lh14em mb7px">Property Address</div>
							<p>Gaur Yamuna City, Yamuna Expressway, Greater Noida, Greater Noida, Uttar Pradesh</p>
													<br />
						<div class="bdrB xxlarge b dif lh14em mb7px">Location Map</div>
						<div class="bdr p2px lh0 mt10px"> 
						<iframe width="100%" height="300" frameborder="0"  marginheight="0" marginwidth="0"
						src="https://www.google.com/maps/embed/v1/place?key=AIzaSyAN_m_CqOOtgmiF9crPBw9oSbiFBPNwn5o&q=~~Yamuna Expressway~~Greater Noida~~Uttar Pradesh,India">
						</iframe>
						</div>
												<br />
						
						<table class="w100 formTable">
						<tr>
						<td class="headVr b p5px" colspan="2">Property Seller Detail</td>
						</tr>
														<tr>
								<td class="ar b p5px w30">Contact Person :</td>
								<td class="p5px">
								Mr. ratneesh / manoj 								</td>
								</tr>
																	<tr>
									<td class="ar b p5px">Phone :</td>
									<td class="p5px">+91-124-4269582</td>
									</tr>
																	<tr>
								<td class="ar b p5px">Mobile :</td>
								<td  class="p5px">
								+91-7557458455, +91-9311855005								</td>
								</tr>
																<tr>
								<td class="ar b p5px">Contact Address :</td>
								<td  class="p5px">
								GROUND FLOOR, PLOT NO.122, Sector 44, Gurgaon, Haryana, India								</td>
								</tr>
															</table>
													<form name="frmpropertydetail" method="post" action="http://www.squareyardsindia.in/property-inquiry.htm">
						<p class="p10px ac">
						<input type="hidden" name="enqtype" value="property" />
						<input type="hidden" name="subject" value="Inquiry For Property - 2 BHK Flat For Sale In Yamuna Expressway, Gr Noida - REI717255" />
						<input class="button p5px10px b" type="submit" value="SEND ENQUIRY" />
						<input type="hidden" name="property_id" value="717255" />
						</p>
						</form>
												<br />
						<br />
						<div class="headHr xlarge p7px pl10px">Properties you might be Interested</div>
						
						<div class="p10px">
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight">
													<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/860982/632403_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/860982/632403_1-350x350.jpg"  alt="1 BHK Flats & Apartments for Sale in Sector 27, Greater Noida"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.squareyardsindia.in/sell/1-bhk-serviced-apartments-greater-noida_632403.htm" title="1 BHK Flats & Apartments for Sale in Sector 27, Greater Noida" class="dif b">1 BHK Flats & Apartments for Sale in Sector 27, Greater Noida</a></p>
							<p class="mb5px"> (Sector 27 Greater Noida/Greater Noida)   Area: 500 Sq.ft. | 1 Bedrooms | 1 Floor | 1 Bathrooms |   26 Lac  32 Thousand </p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://static.realestateindia.com/images/no_image.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image.jpg" style="max-height:200px;max-width:200px;z-index: -1;margin-left: -1000px;" /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.squareyardsindia.in/sell/3-bhk-flats-apartments-sector-zeta-1-greater-noida_717251.htm" title="3 BHK Flat For Sale In Zeta 1, Greater Noida" class="dif b">3 BHK Flat For Sale In Zeta 1, Greater Noida</a></p>
							<p class="mb5px"> (Sector Zeta 1 Greater Noida/Greater Noida)   Area: 1730 Sq.ft. | 3 Bedrooms | 10 Floor | 3 Bathrooms |   52 Lac  80 Thousand </p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/860982/525920_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/860982/525920_1-350x350.jpg"  alt="3 BHK Apartment For Sale In Greater Noida West, Sector-2"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.squareyardsindia.in/sell/3-bhk-flats-apartments-sector-2-greater-noida_525920.htm" title="3 BHK Apartment For Sale In Greater Noida West, Sector-2" class="dif b">3 BHK Apartment For Sale In Greater Noida West, Sector-2</a></p>
							<p class="mb5px"> (Sector 2 Greater Noida/Greater Noida)   Area: 1445 Sq.ft. | 3 Bedrooms | 1 Floor | 3 Bathrooms |   46 Lac  24 Thousand </p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://static.realestateindia.com/images/no_image.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img  alt="Coming Soon Property" src="https://static.realestateindia.com/images/no_image.jpg" style="max-height:200px;max-width:200px;z-index: -1;margin-left: -1000px;" /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.squareyardsindia.in/sell/2-bhk-flats-apartments-yamuna-expressway-greater-noida_696872.htm" title="2 BHK Flat For Sale In Yamuna Expressway, Gr Noida" class="dif b">2 BHK Flat For Sale In Yamuna Expressway, Gr Noida</a></p>
							<p class="mb5px"> (Yamuna Expressway, Greater Noida/Greater Noida)   Area: 1270 Sq.ft. | 2 Bedrooms | 1 Floor | 2 Bathrooms |   50 Lac  67 Thousand </p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/860982/696851_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/860982/696851_1-350x350.jpg"  alt="4 BHK Villa For Sale In Sector-27 Greater Noida"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.squareyardsindia.in/sell/4-bhk-bungalows-villas-sector-27-greater-noida_696851.htm" title="4 BHK Villa For Sale In Sector-27 Greater Noida" class="dif b">4 BHK Villa For Sale In Sector-27 Greater Noida</a></p>
							<p class="mb5px"> (Sector 27 Greater Noida/Greater Noida)   Area: 2359 Sq.ft. | 4 Bedrooms | 5 Bathrooms |  1  Crore   30 Lac </p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/860982/687716_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/860982/687716_1-350x350.jpg"  alt="2 bhk Flats for sale at Noida"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.squareyardsindia.in/sell/2-bhk-flats-apartments-sector-16c-greater-noida_687716.htm" title="2 bhk Flats for sale at Noida" class="dif b">2 bhk Flats for sale at Noida</a></p>
							<p class="mb5px"> (Sector 16C Greater Noida West, /Greater Noida)   Area: 1190 Sq.ft. | 2 Bedrooms | 1 Floor | 2 Bathrooms |   40 Lac </p>
							<br />
							</li>
											
						</ul>
						</div>
						</div>
										<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:69:"2 BHK Flats & Apartments for Sale in Yamuna Expressway, Greater Noida";i:2;s:329:"Property for Sale in Yamuna Expressway, Greater Noida, Uttar Pradesh, 2 Bedrooms, 2 Bath Rooms, 1 Parking, 25 Total Floor, 1075 Sq.ft. Flats & Apartments in Yamuna Expressway, Greater Noida, Uttar Pradesh, Square Yards Consulting Pvt. Ltd deal in all type of Flats & Apartments in Yamuna Expressway, Greater Noida, Uttar Pradesh.";i:3;s:329:"Property for Sale in Yamuna Expressway, Greater Noida, Uttar Pradesh, 2 Bedrooms, 2 Bath Rooms, 1 Parking, 25 Total Floor, 1075 Sq.ft. Flats & Apartments in Yamuna Expressway, Greater Noida, Uttar Pradesh, Square Yards Consulting Pvt. Ltd deal in all type of Flats & Apartments in Yamuna Expressway, Greater Noida, Uttar Pradesh.";}