a:6:{i:0;s:10680:"				<div class="h1"><h1>Mesmerizing Mahabaleshwar</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.avashshergilltravel.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.avashshergilltravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Mesmerizing Mahabaleshwar</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						3 Nights / 4 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Mahabaleshwar</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 16000 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.avashshergilltravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mesmerizing Mahabaleshwar - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="187378"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/357911/292130.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/357911/292130.jpg"  width="150" height="112"    alt="Mesmerizing Mahabaleshwar" title="Mesmerizing Mahabaleshwar" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/357911/292131.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/357911/292131.jpg"  width="150" height="112"    alt="Mesmerizing Mahabaleshwar" title="Mesmerizing Mahabaleshwar" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Nestled in the Western Ghats Range, Mahabaleshwar is a popular getaway destination of Maharashtra. Owing to its scenic enchantment, it has served as the summer capital of the Bombay Province during the British Raj. Located at an altitude of 1372m, it offers beautiful views of the valleys around. Book a 3 Nights and 4 Days tour package to Mahabaleshwar with pick up and drop at Mumbai. Make your journey comfortable with the best-in-class service of Avash Shergill Travel.<br />						<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival at Mumbai and Transfer to Mahabaleshwar along with Sightseeing
								</p>
								<p class="aj">Arrive at the Mumbai Airport/Railway Station and take a drive to Mahabaleshwar. On arrival, check-in to your hotel and take some rest. In the evening, enjoy a visit to the local market and Venna Lake to spend some peaceful time. Later, return to the hotel for an overnight stay.<br />
<br />
Tags: Mumbai, Mahabaleshwar, Local Market, Venna Lake</p>
								</td>
									<td class="p10px vat imgWidth150 w150px lh0">
									<div class="demo-wrap">
									<ul class="lsn m0px p0px" >
												<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/357911/292131.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/357911/292131.jpg"  width="150" height="112"    alt="Mesmerizing Mahabaleshwar" title="Mesmerizing Mahabaleshwar" /></a></p></div></li>
									</ul>
									</div>
									</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Sightseeing
								</p>
								<p class="aj">After the breakfast at the hotel, proceed for sightseeing. The local tour will cover major points of scenic attraction, namely, Arthur’s Seat, Babington Point, Baghdad Point, Bombay Point (Sunset Point), Castle Rock Point, Connaught Peak, Dhobi Waterfall, Falkland Point, Helen’s Point, Hunter Point, Kate’s Point, Marjorie Point, Lodwick Point, Old Mahabaleshwar Temple, Robbers Cave, Rosamund Rock, Savitri Point, Venna Lake and Wilson Point (Sunrise Point). With abundant greenery all around, these places will leave you completely rejuvenated. Post the sightseeing, return to the hotel for an oevrnight stay.<br />
<br />
Tags: Arthur’s Seat, Babington Point, Baghdad Point, Bombay Point, Castle Rock Point, Connaught Peak, Dhobi Waterfall, Falkland Point, Helen’s Point, Hunter Point, Kate’s Point, Marjorie Point, Lodwick Point, Old Mahabaleshwar Temple, Robbers Cave, Rosamund Rock, Savitri Point, Venna Lake, Wilson Point</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Pratapgad Excursion
								</p>
								<p class="aj">After a fulfilling breakfast at the hotel, take a drive to Pratapgard, which is famous for its century-old fort. It is known for the battle between the Maratha warrior, Shivaji and Afzal Khan in 1659. Post the fort visit, return to Mahabaleshwar for an overnight stay.<br />
<br />
Tags: Pratapgad, Pratapgad Fort</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Panchgani Excursion and Transfer to Mumbai for Departure
								</p>
								<p class="aj">After the breakfast, check-out from the hotel and proceed to Table Land, Panchgani. Located at an elevation of 4,550 above the sea-level, it is the longest mountain plateau in the Asia. Stretched to 95 acres of land, Table Land offers enthralling view of the valley ahead. Post the sightseeing, take a drive to the Mumbai Airport for departure.<br />
<br />
Tags: Panchgani, Table Land, Mumbai</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>CP (Room + Breakfast)</li>
																		<li>Hotel</li>
																		<li>3 Star Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
																<li>Package Inclusions:</li><li>
●        Accommodation on twin sharing basis</li><li>
●        Meals: Breakfast</li><li>
●        Pick-up and Drop to Railway Station / Airport</li><li>
●        Transfers and sightseeing by an AC vehicle</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>●        Meals other than those specified above.</li><li>
●        Personal expenses like portages, tips, laundry, mineral water etc.</li><li>
●        Monument entrances, camera charges, etc.</li><li>
●        Any activity not mentioned in the inclusions.</li><li>
●        Travel Insurance.</li><li>
●        Additional cost due to flight cancellation/roadblocks, political unrest, etc.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* 50% Advance Percentage of total booking amount
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount.
* Retention Amount varies as per the number of days left before your package start date.
* Refund will be made within 15 working days from the date of receipt of the cancellation.~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.avashshergilltravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mesmerizing Mahabaleshwar - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="187378"/>
						</form>
						</div>
						
						";i:1;s:64:"Book Mesmerizing Mahabaleshwar - 3 Nights / 4 Days Tour Packages";i:2;s:126:"book mesmerizing mahabaleshwar - 3 nights / 4 days tour packages, forts and palaces tour packages, mahabaleshwar tour packages";i:3;s:179:"Book Mesmerizing Mahabaleshwar - 3 Nights / 4 Days tour packages from Avash Shergill Travel - Get attractive 3 Nights / 4 Days Forts and Palaces  tour packages for  Mahabaleshwar.";i:4;s:883:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Mahabaleshwar"        
		                 },
		      "description": "Nestled in the Western Ghats Range, Mahabaleshwar is a popular getaway destination of Maharashtra. Owing to its scenic enchantment, it has served as the summer capital of the Bombay Province during the British Raj. Located at an altitude of 1372m, it offers beautiful views of the valleys around. Book a 3 Nights and 4 Days tour package to Mahabaleshwar with pick up and drop at Mumbai. Make your journey comfortable with the best-in-class service of Avash Shergill Travel.",
		      "name": "Mesmerizing Mahabaleshwar",
		      "telephone": "+91-8699559635"
		    }
		    </script>
			";i:5;N;}