a:6:{i:0;s:12027:"				<div class="h1"><h1>South India Budget Tours</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.journeyasia.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.journeyasia.co.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>South India Budget Tours</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">
						10 Nights / 11 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kumarakom, Kochi, Chennai, Kanchipuram, Periyar, Thanjavur, Pondicherry, Cuddalore, Tiruchirapalli</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.journeyasia.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="South India Budget Tours - 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="107041"/>
						</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_1/7828/177383.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/7828/177383.jpg"  width="150" height="150"    alt="South India Budget Tours" title="South India Budget Tours" /></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> Arrive Chennai
								</p>
								<p class="aj">Upon arrival meet and assist by our representative and then transfer to your 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> Chennai - Kanchipuram - Mahabalipuram
								</p>
								<p class="aj">After breakfast visit the city of Chennai covering the government museum and Fort St. George. Later excursion to Kanchipuram visiting the Ekambaram temple and the Kailashnath temples dedicated to Shiva. The temples in this region date back to the 6th and 7th centuries. <br />
Leave for an excursion to Mamallapuram. </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> Mahabalipuram - Pondicherry
								</p>
								<p class="aj">In the morning proceed for a city tour of Mahabalipuram covering the shore temples that date back from the 8th century. Also see the rock cut monolithic temples including Arjuna's Penance and Tiger cave. Post lunch continue towards Pondicherry and visit the Mother's Ashram. Also worth a visit is the temple complex at Pondicherry</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> Pondicherry - Chidambaram - Thanjavur (Tanjore)
								</p>
								<p class="aj">Board your car in the morning and drive to Chidambaram crossing the unparalleled scenic sights of Southern India. Chidambaram is also known as the "City of the Cosmic Dancer". This city is also the centre of philosophy art and religion. Post lunch session unfurls the magic of this city of Nataraj - the Cosmic dancer. Visit Chidambaram temple planned and built by the Chola kings in the 11th century. En route Tanjore visit Gangaikondacholapuram and its monumental temple called Gangaikondacholisvaram built in 1020 AD</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> Thanjavur (Tanjore)
								</p>
								<p class="aj">Visit the Brihadeshwara temple a masterpiece in itself built in 1000AD by the Cholas. Next to be seen is the Tanjore art gallery and the Saraswati Mahal Library with its unique collection of Chola art and rare illustrated manuscripts. A short distance away is the second capital of Tanjore district also the home of intellectuals especially Brahmins called Kumbakonam. Visit the Nageshwara temple by far the best architectural feat of Southern India. </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> Thanjavur - Tiruchirapalli - Madurai
								</p>
								<p class="aj">A short distance away is the eternal city of Tiruchirapalli better known as Trichy. Here worth a visit is Srirangam temple the abode of Lord Vishnu in his reclining form. All the 1000 pillars in the hall are very intricately designed. Post lunch continue towards Madurai. </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> Madurai
								</p>
								<p class="aj">Madurai famous for the Meenakshi Sundereswar temple is the epitome of South Indian temple cities alive and bustling with pilgrims and religious preoccupations. The temple of goddess Meenakshi houses the hall of !000 musical pillars known for their intricate work. Some free time later in the day to explore this cultural capital of South India. </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 8:</b> Madurai - Periyar
								</p>
								<p class="aj">Just 135 kms away from Madurai is the famous Periyar Wild Life Sanctuary. Reach Periyar by early afternoon and after lunch get set for a jungle trail. </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 9:</b> Periyar - Kumarakom 
								</p>
								<p class="aj">After breakfast transfer to Kumarakom. Check-in at Coconut Lagoon. After lunch visit to the Farm House. Sunset cruise in the evening. Overnight at a houseboat</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 10:</b> Kumarakom - Cochin 
								</p>
								<p class="aj">Leave the backwaters and reach Cochin by early afternoon. Proceed for a half day sight seeing of Cochin by boat.<br />
A few interesting sites included in the tour are the Chinese fishing nets along the Vasco Da Gama Square, Santa Cruz Basilica, St. Francis Church, VOC Gate, Bastion Bungalow etc. Apart from these architectural splendors, an array of restaurants serving fresh seafood is also popular among tourists. The Chinese fishing nets erected on teak wood and bamboo poles work on the principle of balance. Records say they were first set up here between AD 1350 and 1450. Vasco Da Gama Square, the narrow promenade that parallels the beach, is the best place to watch the nets being lowered and pulled out of the sea. </p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Cochin - Chennai 
									</p>
									<p class="aj">In time transfer to the airport for your flight back to Chennai and finally your onward destination.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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>
															</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.journeyasia.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="South India Budget Tours - 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="107041"/>
						</form>
						</div>
						
						";i:1;s:57:"Book South India Budget Tours - 111 Days Tour Packages";i:2;s:199:"book south india budget tours - 111 days tour packages, hill station tour packages, kumarakom, kochi, chennai, kanchipuram, periyar, thanjavur, pondicherry, cuddalore, tiruchirapalli tour packages";i:3;s:234:"Book South India Budget Tours - 111 Days tour packages from Journey Asia - Get attractive 111 Days Hill Station  tour packages for  Kumarakom, Kochi, Chennai, Kanchipuram, Periyar, Thanjavur, Pondicherry, Cuddalore, Tiruchirapalli.";i:4;s:497:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kumarakom, Kochi, Chennai, Kanchipuram, Periyar, Thanjavur, Pondicherry, Cuddalore, Tiruchirapalli"        
		                 },
		      "description": "",
		      "name": "South India Budget Tours",
		      "telephone": "+91-9910303694"
		    }
		    </script>
			";i:5;N;}