a:6:{i:0;s:17452:"				<div class="h1"><h1>South India Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travedatour.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travedatour.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>South India Tour</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">
						11 Nights / 12 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Tirupati, Thiruvananthapuram, Chennai, Chidambaram, Kanchipuram, Kanyakumari, Madurai, Rameshwaram, Thanjavur, Tiruchirappalli, Tiruvannamalai, Pondicherry</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.travedatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="South India Tour - 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="114739"/>
						</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/506429/187272.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/506429/187272.jpg"  width="150" height="150"    alt="South India Tour" title="South India Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Overview<br />
From the ancient past, South India is noted as a “world-class temple destination” for a huge collection of temples. It’s profusely built; stones or wooden figures carved and aesthetically designed temples are unique and marvelous in their architectural brilliance and known for rich sources of religious teachings.<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> Chennai
								</p>
								<p class="aj">On arrival at Chennai Airport/Railway Station, meet our representative who’ll welcome and guide you to transfer to the hotel. Check-in at the hotel. After resting for a while, commence your first day of religious tour by witness the architectural excellence of the Dravidian period of Kapaleeswarar Gopuram (tower) Temple dedicated to the destroyer figure in the Hindu divine trinity, “Lord Shiva” and Parthasarathy Temple dedicated to the blue-skinned, flute playing flirt “Lord Krishna”.<br />
<br />
Later visit Kala Kshetra, Fort St. George, St. Thomas Church, St. Thomas Mount and National Art Gallery and Museum. In the evening visit the beautiful “Marina Beach” prominent for the second longest beach in the world. Walk and relax along the surf-kissed edge. Later return to hotel for overnight stay.</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 - Tirupati
								</p>
								<p class="aj">After a refresh tour of Chennai, Set out for an intriguing and awe-inspiring tourism spot “Tirupati” noted as the famous temple town of Andhra Pradesh. Upon arrival, have lunch at local restaurant then visit far-famed “Sri Venkateshwara Temple” nestled on the top of the Tirumala hills believed to be the oldest and the richest temple in the world purely sanctified to Lord Vishnu called as Balaji by the North Indians and Govinda by the South Indians, pay homage to Lord Venkateshwara and later in the evening return to Chennai for dinner and overnight stay.</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> Chennai - Kanchipuram
								</p>
								<p class="aj">On third day you will drive toward the golden city of a thousand temples “Kanchipuram” for an exhilarating experience. On your holy tour to Kanchipuram, you will not only get a chance to pay obeisance at the holy temples like Ekambareswarar Temple, Kailashnath Temple, Kamakshi Temple, The Vaikuntha Perumal Temple and more but also will get an opportunity to purchase some of the finest Kanchipuram silk sarees which are unique and exceptional in the entire world. In evening you visit Kanchi Kudil, which is a 90-year-old house and popular for its old-style architecture and functionality. Overnight stay will be at Kanchipuram.Enquire About This Trip</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> Kanchipuram - Tiruvannamalai
								</p>
								<p class="aj">The fourth day of your tour move towards the abode of the mystical saint Sri Ramana Maharshi, “Thiruvannamalai” a small town situated on top of a small hill. Upon reaching, check in at the hotel and after refreshing a while or lunch get ready to explore some of the major attractions are – Arunachaleswarar Temple, Skandashraman, Ramana Ashram, Seshadri Swamigal Ashram, Gingee fort, Mamara Guhai, Sathanur Dam and Virupaksha cave. After exploring the heritage attractions and various temples in the town, relaxed your body at your lavish room for a trip to Pondicherry. Overnight stay will be at Thiruvannamalai.</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> : Tiruvannamalai – Pondicherry: (131kms/3.5hrs)
								</p>
								<p class="aj">Early morning after breakfast set out to explore one of the most visited tourist spots in India, “Pondicherry” noted as the “Capital of the Union Territory” nestled perfectly on the Coromandel shoreline and symbolizes the living monument of the French colonial rule or culture in India. Apart from the French culture, its pleasant atmosphere, natural beauty, pristine beaches and delicious cuisines no doubt allures you. <br />
<br />
Transfer to hotel/resort on arrival, after having lunch you spends your remaining day at Plage Paradiso (Paradise Beach) or Pondicherry Beach at leisure and enjoy scenic surroundings. As an alternate, you can also spend your whole day by visiting on Aurobindo Ashram; Vinaynagar Manakula temple which has a golden dome and a collection of 40 beautiful friezes, Church of Sacred Heart of Jesus, Botanical Garden and Aquarium, French War Memorial, Jawahar Toy Museum, Pondicherry Museum, Raj Niwas (Palais du Government) and The Statue of Dupleix. Overnight stay will be 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 6:</b> Pondicherry - Chidambaram - Tanjore
								</p>
								<p class="aj">On the sixth day, your religious journey onwards to a charming own, adorned with the best of history and archaeological splendours, “Chidambaram” a popular small temple town in Tamil Nadu. Here you will visit and pay homage to one of the famous Nataraja Temple dedicated to Lord Shiva who appears in the form of the cosmic dancer Nataraja.<br />
<br />
After this religious excursion, continue to your next destination in-line, Tanjore which is 104 km often referred as the seat of the Chola rulers or an important centre of religion, art and architecture. Here you’ll be an observer to the Brihadeeswarar Temple, Chandra Bhagwan Temple, Lord Murgan Temple, Thirunallar Temple, Vijaynagar fort and Siva Ganga garden. Beside temples its Carnatic music and musical instruments grab your attention. Overnight stay will be at Tanjore.</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> Tanjore - Trichy
								</p>
								<p class="aj">After appetizing breakfast at Tanjore leave for “Tiruchirapalli” or “Trichy”, a popular city of Tamil Nadu, scenically located on the banks of river Cauvery. On arrival, check in at the hotel. After refreshing or lunch, get ready to explore a delightful holiday destination which has several churches, colleges, missions and spectacular monuments and temples dating back to 1700s.<br />
<br />
The attractions you will visit or considered not to be missed on your tour to Trichy are – Rock fort Ganpati Temple, Sri Ranganathaswamy Temple, Puliyancholai falls, Kallanai dam and St Joseph’s church along with various other religious temples and places are waiting for you. Overnight stay will be at Trichy.Enquire About This Trip</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> Trichy - Madurai
								</p>
								<p class="aj">After a perfect experience of traditional and contemporary culture at Trichy, it’s time to move toward the next holy destination “Madurai” famous for Meenakshi Sundareswarar temple or temple city. Upon arrival at Madurai our executive will help you to transfer to hotel. Fall down your soul and body a while and get ready for the sightseeing tour of Madurai covering Ayirangal Mandapam, Mariamman Teppakulam Temple Tank, Thirumalai Nayakkar Palace, Gandhi Museum and Koodal Azhagar Temple.<br />
<br />
In evening visit the Meenakshi Temple to witness the famous night ceremony when the temple copper of Lord Siva is carried to the bed chamber of Goddess Parvathi to the accompaniment of religious prayers and music. Overnight staywill be at 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 9:</b> Madurai - Rameshwaram
								</p>
								<p class="aj">On ninth day, early morning after breakfast, you will drive towards “Rameshwaram” noted as an island or the holiest town on the southern coast of India. On your Rameshwaram excursion you visit the most popular attraction of the spiritual town– Sri Ramanthaswamy temple along with various temples and beaches like Agnitheertham, Dhanushkodi Temple, Gandamadana Parvatham, Jada Tirtham, Jatayu Tirtham, Kothandaramaswamy Temple, Lakshmana Tirtham, Rama Tirtham (Gandamadana), Ramjharoka Temple and more that make your day enjoyable and charming. Late evening return to Madurai for dinner and overnight stay 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 10:</b> Madurai - Trivandrum
								</p>
								<p class="aj">Have your tempting breakfast in Madurai and then proceed to Trivandrum “Capital City of Kerala” famous for its pristine sandy beaches, long stretches of palm fringed shorelines, breezy backwaters, historic monuments & rich cultural heritage. Along with its string of nature & historic delights, Trivandrum is also a holy abode with many temples. So welcome to Trivandrum, check in at the hotel. After resting for a while or lunch, set out on a guided city tour of Trivandrum including major tourist destinations like the Sri Padmanabha Swamy Temple dedicated to Lord Vishnu rebuilt in 1733 a perfect example of South Indian architecture, Zoological Park (except Mondays), Napier Museum with its bronze collection, Sri Chitra Art Gallery. In the evening return to the hotel for overnight stay.</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> Trivandrum - Kanyakumari
									</p>
									<p class="aj">Eleventh day of Impeccable South India Temple Tour Package allures you with a sightseeing of Kanyakumari legendary for its temples, beaches and being the southern most tip of the country. Some of the most popular attractions that covered on your Kanyakumari excursion are – Padmanabhapuram Palace, Thiruvalluvar Statue, Vivekananda Rock Memorial, Gandhi Mandapam, Kumari Amman and Kanyakumari Muttom beach. Later in the evening watch the sun set over the sea and then return to Trivandrum. Dinner and overnight stay at the Trivandrum 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 12:</b> Trivandrum - Chennai
									</p>
									<p class="aj">On the last day of the tour, post breakfast, transferred to the Trivandrum Airport/Railway Station to connect flight/train for onward destination. In this way your religious tour end and Travelogy India ensure you that this tour will take you closer to god giving meaning to your life.</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>
												</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.travedatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="South India Tour - 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="114739"/>
						</form>
						</div>
						
						";i:1;s:57:"Book South India Tour - 11 Nights / 12 Days Tour Packages";i:2;s:252:"book south india tour - 11 nights / 12 days tour packages, heritage tour packages, tirupati, thiruvananthapuram, chennai, chidambaram, kanchipuram, kanyakumari, madurai, rameshwaram, thanjavur, tiruchirappalli, tiruvannamalai, pondicherry tour packages";i:3;s:281:"Traveda Tour offers South India Tour - 11 Nights / 12 Days tour package, budget Heritage tour packages for Tirupati, Thiruvananthapuram, Chennai, Chidambaram, Kanchipuram, Kanyakumari, Madurai, Rameshwaram, Thanjavur, Tiruchirappalli, Tiruvannamalai, Pondicherry at exciting price.";i:4;s:873:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Tirupati, Thiruvananthapuram, Chennai, Chidambaram, Kanchipuram, Kanyakumari, Madurai, Rameshwaram, Thanjavur, Tiruchirappalli, Tiruvannamalai, Pondicherry"        
		                 },
		      "description": "Overview
From the ancient past, South India is noted as a “world-class temple destination” for a huge collection of temples. It’s profusely built; stones or wooden figures carved and aesthetically designed temples are unique and marvelous in their architectural brilliance and known for rich sources of religious teachings.",
		      "name": "South India Tour",
		      "telephone": "+91-9973011696"
		    }
		    </script>
			";i:5;N;}