a:4:{i:0;s:22209:"					<div class="h1"><h1>Commercial Office/Space for Lease in Bangalore</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.apartmentshoppe.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.apartmentshoppe.co.in/find-property.htm" title="Find Property">Find Property</a>  			
											
					
					<b class="ffv p2px">&rsaquo;</b>Commercial Office/Space for Lease in Bangalore</p> 
					<br />
					
											<p class="aj">Welcome to office spaces rental professional real estate solutions and services company believes in delivering honesty - We are her to help in your property search please feel free to contact us.<br/>
<br/>
Good frontage 3000 sq.Ft full furnished office space for rent. The property is located at rajaji nagar with internet connection. Fully furnished 1 reception, 25 work stations, 2 cabins, 1 conference, 1 meeting room, 2 wash room, 1 pantry, With ac. Ample 2 wheeler parking. Centralised a/c, 24 hours water and 100 percent back up is provided.<br/>
Posh commercial complex, Well maintain, Close to the main road, Walking distance to bank, Atm, Restaurant, Bus stop, Shopping mall, Suitable for office purpose.<br/>
<br/>
We have options sale and rent - It/bt office space, Warehouse, Show room, Mall, Star hotel, Hospital, Engineering colleges, Medical colleges, School, Restaurant, Pub & past food - Different sizes at different locations to suite your requirement and give you the best deal in town in and around bangalore.</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">REI583699</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">Rent</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">2.25 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(3000 > 0 )  updateArea(basetext,baseindex,3000,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">3000</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>Land / Plot Area</b>: </td>
						
						<td class="vat p2px5px">
						<script type="text/javascript">
						function convert1(basetext,baseindex,baseunit){
						     if(40000 > 0 )  updateArea(basetext,baseindex,40000,'landArea','Y',baseunit,'DrpDownTab1'); }
						</script>  
						<span id="landArea_span">40000</span>
						<span class="pr">
						<a onClick="jQuery('#landArea').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab1">Sq.ft. &#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.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:convert1('Sq.%20Feet',1,'Sq.ft.');">Sq.Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Cent',19,'Sq.ft.');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Yards',2,'Sq.ft.');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Ares',10,'Sq.ft.');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Acre',12,'Sq.ft.');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Meter',3,'Sq.ft.');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Bigha',13,'Sq.ft.');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Hectares',15,'Sq.ft.');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Guntha',9,'Sq.ft.');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Marla',16,'Sq.ft.');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#landArea').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="Commercial Office/Space for Lease in Bangalore" href="https://rei.wlimg.com/prop_images/137628/583699_1.jpg"><div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/137628/583699_1-350x350.jpg);background-size:cover;background-position:center;width:150px;height:150px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/137628/583699_1-350x350.jpg"  alt="Commercial Office/Space for Lease in Bangalore"  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> 0 to 5 years</li>
																<li class="p2px"><b>Bathrooms :</b> 2</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-fc" title="Gymnasium"></i> Gymnasium</li>
														<li class="p2px vat"><i class="si w24px icon-sw" title="Swimming Pool"></i> Swimming Pool</li>
														<li class="p2px vat"><i class="si w24px icon-ccc" title="Club House"></i> Club House</li>
													</ul>
			            <p class="cb"></p>
			        	<br>
			        								<div class="bdrB xxlarge b dif lh14em mb7px">Property Address</div>
							<p>Rajaji Nagar, Bylahalli, Bangalore, Bangalore, Karnataka</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=~~Rajajinagar~~Bangalore~~Karnataka, Bylahalli,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. Mudhusudan 								</td>
								</tr>
																<tr>
								<td class="ar b p5px">Mobile :</td>
								<td  class="p5px">
								+91-9945000444,9900249858,9886095010								</td>
								</tr>
																<tr>
								<td class="ar b p5px">Contact Address :</td>
								<td  class="p5px">
								F-8, Shalimar Galaxy No -139, First Main Road, Bylahalli, Bangalore, Karnataka, India								</td>
								</tr>
															</table>
													<form name="frmpropertydetail" method="post" action="http://www.apartmentshoppe.co.in/property-inquiry.htm">
						<p class="p10px ac">
						<input type="hidden" name="enqtype" value="property" />
						<input type="hidden" name="subject" value="Inquiry For Property - Commercial Office/Space for Lease in Bangalore - REI583699" />
						<input class="button p5px10px b" type="submit" value="SEND ENQUIRY" />
						<input type="hidden" name="property_id" value="583699" />
						</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/137628/583710_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/137628/583710_1-350x350.jpg"  alt="Commercial Office/Space for Lease in Bangalore"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.apartmentshoppe.co.in/rent/office-space-jp-nagar-bangalore-south_583710.htm" title="Commercial Office/Space for Lease in Bangalore" class="dif b">Commercial Office/Space for Lease in Bangalore</a></p>
							<p class="mb5px"> (Bylahalli, Bangalore/Bangalore)   Area: 2800 Sq.ft. | 1 Bathrooms |  1  Lac  82 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.apartmentshoppe.co.in/rent/office-space-agara-bangalore_678027.htm" title="Office for rent at Agara" class="dif b">Office for rent at Agara</a></p>
							<p class="mb5px"> (Bylahalli, Bangalore/Bangalore)   Area: 3000 Sq.ft. | 2 Floor | 2 Bathrooms |  1  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/137628/618137_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/137628/618137_1-350x350.jpg"  alt="Office Are Available For Rent in Affordable Price"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.apartmentshoppe.co.in/rent/office-space-btm-layout-bangalore-south_618137.htm" title="Office Are Available For Rent in Affordable Price" class="dif b">Office Are Available For Rent in Affordable Price</a></p>
							<p class="mb5px"> (Bylahalli, Bangalore/Bangalore)   Area: 2000 Sq.ft. / 5000 Sq.ft.</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.apartmentshoppe.co.in/rent/office-space-koramangala-bangalore_669949.htm" title="Office for rent at Koramangala Block 7, Bangalore" class="dif b">Office for rent at Koramangala Block 7, Bangalore</a></p>
							<p class="mb5px"> (Bylahalli, Bangalore/Bangalore)   Area: 4520 Sq.ft. | 6 Floor |  3  Lac  20 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/137628/618190_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/137628/618190_1-350x350.jpg"  alt="Office Are Available For Rent in Affordable Price"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.apartmentshoppe.co.in/rent/office-space-koramangala-bangalore-south_618190.htm" title="Office Are Available For Rent in Affordable Price" class="dif b">Office Are Available For Rent in Affordable Price</a></p>
							<p class="mb5px"> (Bylahalli, Bangalore/Bangalore)   Area: 3000 Sq.ft. / 8000 Sq.ft. | 3 Bathrooms</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/137628/618134_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/137628/618134_1-350x350.jpg"  alt="Office Are Available For Rent in Affordable Price"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.apartmentshoppe.co.in/rent/office-space-hsr-layout-bangalore-south_618134.htm" title="Office Are Available For Rent in Affordable Price" class="dif b">Office Are Available For Rent in Affordable Price</a></p>
							<p class="mb5px"> (Bylahalli, Bangalore/Bangalore)   Area: 2000 Sq.ft. / 7000 Sq.ft. |  2  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:66:"3000 Sq. Feet Office Space for Rent in Rajajinagar, Bangalore West";i:2;s:214:"Property for Rent in Bylahalli, Bangalore, Karnataka, 2 Bath Rooms, 3000 Sq.ft. Office Space in Bylahalli, Bangalore, Karnataka, Apartment Shoppe deal in all type of Office Space in Bylahalli, Bangalore, Karnataka.";i:3;s:214:"Property for Rent in Bylahalli, Bangalore, Karnataka, 2 Bath Rooms, 3000 Sq.ft. Office Space in Bylahalli, Bangalore, Karnataka, Apartment Shoppe deal in all type of Office Space in Bylahalli, Bangalore, Karnataka.";}