a:6:{i:0;s:9813:"				<div class="h1"><h1>South India Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.holidayss.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.holidayss.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>South India Package</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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bangalore, Hassan, Mysore, Kodagu</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.holidayss.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="South India Package - 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="103225"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</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 w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/492417/172661.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/492417/172661.jpg"  width="150" height="150"    alt="South India Package" title="South India Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<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> Banglore
								</p>
								<p class="aj">Upon arrival at the Bangalore Airport our agent will cordially welcome you and transfer you to the hotel. Afternoon, proceed for a local sightseeing tour of Bangalore City. Bangalore, the capital of Karnataka, is known popularly as the city of Gardens. The city is today the Silicon Valley of India apart from being the principal administrative, commercial and industrial hub of Karnataka State. It lies at an altitude of 920 m above MSL. The present day Bangalore City was founded by Kempe Gowda, a chieftain under the Vijayanagara Empire, in 1537 A.D. With the support from king Achutaraya, he built a mud fort here and established petite towns inside the fort. Places of tourist interest here include the Lalbagh Gardens, Vidhana Soudha, Cubban Park and Museum, The Govt. Museum, Cariappa Memorial Park, Visveswarayya Industrial & Technological Museum, Tippu’s Palace, The Fort, Bull Temple, Venkatappa Art Gallery. Overnight at hotel.</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 2:</b> Bangalore to Hassan
								</p>
								<p class="aj">After breakfast check-out from the hotel and drive to Hassan; on arrival check-in into hotel. Day is at your disposal to enjoy at leisure. Overnight stay at hotel</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> Hassan Stay
								</p>
								<p class="aj">After breakfast proceed for a local sightseeing tour of Hassan. The town of Hassan lies at a distance of around 190 km from the capital city of Bangalore. It is ideally located close to historical places like Belur, Haleibid and Shravanbelagola. Nothing much is known about the history of Hassan, except that it was under the rule of the great Hoysala Empire between 11th and the 14th century. Explore the many historic places located in close proximity to the town. Overnight stay at hotel.</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> Hassan to Coorg
								</p>
								<p class="aj">After a refreshing breakfast check-out from the hotel and drive to Coorg; on arrival check-in into hotel. Day is at your disposal to enjoy at leisure. Overnight at hotel.</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 5:</b> Coorg stay
								</p>
								<p class="aj">After breakfast proceed for an exciting sightseeing tour of Coorg. Kodagu or Coorg, known as the ‘Scotland of India’, is the most picturesque hill station of Karnataka. Located on the Western Ghats at an altitude of 4000 ft, Kodagu has dense forests, coffee and tea plantations, orange orchards and lush paddy fields dotting its terrain. The majority of the population here belongs to the Kodava community; an ancient martial race with distinct culture and traditions. The people of Kodagu are considered the most beautiful of the people in India. Overnight stay at hotel.</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 6:</b> Coorg to Mysore
								</p>
								<p class="aj">After breakfast check-out from the hotel and drive to Mysore; on arrival check-in into Hotel. Afternoon, proceed for a local sightseeing tour of Mysore. Mysore, a calm and serene city, lies at a distance of 139 km from Bangalore. The city was the imperial capital of the erstwhile Mysore kingdom ruled by the Wodeyar dynasty. Places of tourist interest include the grand Mysore Palace, Chamarajendra Art Gallery, Mysore Zoo Gardens, St. Philomena’s Church, Temples, Chamundi Hills, Brindavan Gardens and Bylakuppa. Overnight at the hotel</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 7:</b> Mysore to Bangalore
								</p>
								<p class="aj">After breakfast check-out from the hotel and drive to Bangalore Airport for your onward journey.</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>Hotel</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.holidayss.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="South India Package - 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="103225"/>
						</form>
						</div>
						
						";i:1;s:58:"Book South India Package - 6 Nights / 7 Days Tour Packages";i:2;s:131:"book south india package - 6 nights / 7 days tour packages, heritage tour packages, bangalore, hassan, mysore, kodagu tour packages";i:3;s:161:"The Holidayss offers South India Package - 6 Nights / 7 Days tour package, budget Heritage tour packages for Bangalore, Hassan, Mysore, Kodagu at exciting price.";i:4;s:424:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangalore, Hassan, Mysore, Kodagu"        
		                 },
		      "description": "",
		      "name": "South India Package",
		      "telephone": "+91-7010402069"
		    }
		    </script>
			";i:5;N;}