a:6:{i:0;s:4754:"				<div class="h1"><h1>Detox & Rejuvenate In An Ayurvedic Centre 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>Detox & Rejuvenate In An Ayurvedic Centre 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">
						13 Nights / 14 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Chennai, Kanchipuram, Mahabalipuram, Madurai, Thanjavur, Mumbai</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="Detox & Rejuvenate In An Ayurvedic Centre 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="114744"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
										</tr>
					</table>
					</div>
					<br />
					
					Overview<br />
South Indian splendour is famous all over the world. There is heritage beauty, architectural beauty and natural beauty in this land. One important part of the heritage beauty that has been received as legacy by South India is Yogic science and Art of Meditation. We thus take you on to explore all these aspects of South India put together in a single itinerary of 15 Days South India Ayurveda Tour! On one hand you see the architectural finesse of craftsmen of olden times in Mahabalipuram temples, the mesmerizing sites of Chennai and on the other hand you will get to see get the ultimate ecstatic experience of staying at an Ayurvedic resort (where your diet and routine will be strictly planned suited to relax and rejuvenate your body, mind and soul).<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="Detox & Rejuvenate In An Ayurvedic Centre 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="114744"/>
						</form>
						</div>
						
						";i:1;s:87:"Book Detox & Rejuvenate In An Ayurvedic Centre Tour - 13 Nights / 14 Days Tour Packages";i:2;s:190:"book detox & rejuvenate in an ayurvedic centre tour - 13 nights / 14 days tour packages, heritage tour packages, chennai, kanchipuram, mahabalipuram, madurai, thanjavur, mumbai tour packages";i:3;s:219:"Traveda Tour offers Detox & Rejuvenate In An Ayurvedic Centre Tour - 13 Nights / 14 Days tour package, budget Heritage tour packages for Chennai, Kanchipuram, Mahabalipuram, Madurai, Thanjavur, Mumbai at exciting price.";i:4;s:1248:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chennai, Kanchipuram, Mahabalipuram, Madurai, Thanjavur, Mumbai"        
		                 },
		      "description": "Overview
South Indian splendour is famous all over the world. There is heritage beauty, architectural beauty and natural beauty in this land. One important part of the heritage beauty that has been received as legacy by South India is Yogic science and Art of Meditation. We thus take you on to explore all these aspects of South India put together in a single itinerary of 15 Days South India Ayurveda Tour! On one hand you see the architectural finesse of craftsmen of olden times in Mahabalipuram temples, the mesmerizing sites of Chennai and on the other hand you will get to see get the ultimate ecstatic experience of staying at an Ayurvedic resort (where your diet and routine will be strictly planned suited to relax and rejuvenate your body, mind and soul).",
		      "name": "Detox & Rejuvenate In An Ayurvedic Centre Tour",
		      "telephone": "+91-9973011696"
		    }
		    </script>
			";i:5;N;}