a:6:{i:0;s:9325:"				<div class="h1"><h1>South India Temple Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.hifiholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.hifiholidays.com/travel-packages.htm" title="Travel Packages">Travel 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, Pondicherry, Tanjore</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.hifiholidays.com/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="108394"/>
						</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_14/411823/179405.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/411823/179405.jpg"  height="150"  width="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> Arrival
								</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> Departure
								</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.hifiholidays.com/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="108394"/>
						</form>
						</div>
						
						";i:1;s:62:"Book South India Temple Tour - 5 Nights / 6 Days Tour Packages";i:2;s:173:"book south india temple tour - 5 nights / 6 days tour packages, religious & pilgrimage tour packages, chennai, kanchipuram, mahabalipuram, pondicherry, tanjore tour packages";i:3;s:218:"Hifi Tour & Travel  Holidays offers South India Temple Tour - 5 Nights / 6 Days tour package, budget Religious & Pilgrimage tour packages for Chennai, Kanchipuram, Mahabalipuram, Pondicherry, Tanjore at exciting price.";i:4;s:452:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chennai, Kanchipuram, Mahabalipuram, Pondicherry, Tanjore"        
		                 },
		      "description": "",
		      "name": "South India Temple Tour",
		      "telephone": "+91-9890797744"
		    }
		    </script>
			";i:5;N;}