a:6:{i:0;s:9314:"				<div class="h1"><h1>South India Temple Tour</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 Temple 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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Chennai, Kanchipuram, Mahabalipuram, Thanjavur, 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.holidayss.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="South India Temple 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="103367"/>
						</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/172842.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/492417/172842.jpg"  width="150" height="150"    alt="South India Temple Tour" title="South India Temple Tour" /></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> Chennai
								</p>
								<p class="aj">On arrival at Chennai airport, meet our representative who’ll guide you to one of our listed hotels. Check-in at the hotel. After resting for a while, embark on a sightseeing tour of Chennai. The major tourist attractions in Chennai include the Fort St. George, St. Thomas Mount, San Thome Cathedral, Kapaleeswar Temple and the National Art Gallery.<br />
<br />
In the evening visit the beautiful Marina. Don’t try swimming at Marina beach since there are strong currents present along the shoreline and no rescue equipments and lifeguards are available at this beach. 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 2:</b> Chennai - Kanchipuram
								</p>
								<p class="aj">In the morning leave for Mahabalipuram via. Kanchipuram. The major Kanchipuram tourist attractions include visits to the Kailasanthar Temple, Ekambareshwarar Temple, The Vardarajanperumal Temple and the Sakkiswarar Temple. Then resume with your drive to Mahabalipuram.<br />
<br />
This 7th century former port city is famous for its rock-cut shore temples. On arrival, check-in at one our listed hotels.The rest of the day is to be spent at leisure. 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 3:</b> Mahabalipuram - Pondicherry
								</p>
								<p class="aj">Next morning after breakfast, move out on a sightseeing tour of Mahabalipuram.  The major attractions to visit include  the Shore and the Five Ratha temples, Arjuna’s Penance and the Tiger caves. After the visit leave for Pondicherry.<br />
<br />
As on reaching Pondicherry, check-in at one our listed hotels. Rest and relax for the day.<br />
<br />
In the evening you may take a leisurely walk to the local market of Pondicherry. Return to the 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 4:</b> Pondicherry - Swamimalai
								</p>
								<p class="aj">Post breakfast, set out to explore the Pondicherry for its diverse attractions like the coastline of 32 Kms, palm-fringed beaches, backwaters and fishing villages.<br />
<br />
Later in the afternoon visit Aurbindo Ashram and Auroville. After visit drive to Swamimalai. Stop midway to visit Chidambaram, and Gangaikonda Cholapuram.<br />
<br />
On reaching Swamimalai, transfer to one of our listed hotels. Later in the day visit the Swamimalai Murugan Temple. 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 5:</b> Swamimalai - Tanjore
								</p>
								<p class="aj">After breakfast head straight to Tanjore. Tanjore is known as the city of temples as it has many famous temples in and around the city including the Navagraha temples. On reaching Tanjore, check-in at one of our listed hotels.<br />
<br />
After resting for a while, set out on a guided city tour of Tanjore including major tourist destinations like the Vijayanagar Fort, Shiva Ganga Garden, Aalangudi temple, Brahadeshwara temple and the Chandra Bagawan Temple. In the evening return to the 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 6:</b> Tanjore – Departure from Madurai
								</p>
								<p class="aj">Post breakfast on the last day of the tour, get transferred to the Madurai airport to go aboard a flight for your onward destination.</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 Temple 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="103367"/>
						</form>
						</div>
						
						";i:1;s:62:"Book South India Temple Tour - 5 Nights / 6 Days Tour Packages";i:2;s:175:"book south india temple tour - 5 nights / 6 days tour packages, religious & pilgrimage tour packages, chennai, kanchipuram, mahabalipuram, thanjavur, pondicherry tour packages";i:3;s:220:"Book South India Temple Tour - 5 Nights / 6 Days tour packages from The Holidayss - Get attractive 5 Nights / 6 Days Religious & Pilgrimage  tour packages for  Chennai, Kanchipuram, Mahabalipuram, Thanjavur, Pondicherry.";i:4;s:454:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chennai, Kanchipuram, Mahabalipuram, Thanjavur, Pondicherry"        
		                 },
		      "description": "",
		      "name": "South India Temple Tour",
		      "telephone": "+91-7010402069"
		    }
		    </script>
			";i:5;N;}