a:6:{i:0;s:13420:"				<div class="h1"><h1>Yoga and Meditation Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.heavensgroup.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.heavensgroup.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Yoga and Meditation 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">New Delhi, Haridwar, Shivpuri, Rishikesh</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.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Yoga and Meditation 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="45362"/>
						</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_10/278544/89564.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/278544/89564.jpg"  width="150" height="150"    alt="Yoga and Meditation Tour" title="Yoga and Meditation 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> Delhi
								</p>
								<p class="aj">Arrive in Delhi by late evening. Our representative will provide you the required assistance and arrange a smooth transfer to 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> Delhi
								</p>
								<p class="aj">In the morning start for the city tour that will cover places like Parliament House , Laxmi Narayan Temple , India Gate. Later  in the afternoon, head for a sightseeing tour of Old Delhi covering Gandhi memorial,  Jama Masjid and Red Fort. In the evening enjoy the light and sound show. Spend overnight in 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> Delhi - Haridwar – Rishikesh
								</p>
								<p class="aj">In the morning start early, transfer to station to board train to Haridwar. On arrival you’ll be transferred to hotel. In the afternoon, enjoy city tour preceded by grand viewing of Ashrams, some of which are internationally recognized as Center of Yoga and Meditation and  Philosophical studies. A few of the ashrams offering great experience in Rishikesh are:<br />
<br />
    Swarg Ashram Parmarth Niketan<br />
    Ved Niketan Yoga Study Center<br />
    Muni Ki Reti Mahesh Yogi Ashram<br />
    Parmarth Niketan Shankracharya nagar<br />
    Shanti Kunj Maa Anand Mai ashram<br />
<br />
Choose one of the ashram for your stay . Afternoon is to be spent on briefing of day routine.</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> Rishikesh (Ashram)
								</p>
								<p class="aj">In the Yoga and Meditation Tour you will be required to spend three in the Ashram following a typical day schedule which is as follows:<br />
<br />
    5.30 A.M. to 6.30 A.M. - Meditation classes<br />
    7.00 A.M. to 8.00 A.M. -Yoga classes<br />
    8.15 A.M.- Breakfast<br />
    12.00 Noon. - Lunch<br />
    15.00 A.M. to 15.45 A.M. - Lecture<br />
    16.00 P.M.-  Tea<br />
    16.30 P.M. to 19.00 P.M.-  Yoga & Meditation Classes<br />
    19.30 P.M.-  Dinner</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> Rishikesh (Ashram)
								</p>
								<p class="aj">In the Yoga and Meditation Tour you will be required to spend three in the Ashram following a typical day schedule which is as follows:<br />
<br />
    5.30 A.M. to 6.30 A.M. - Meditation classes<br />
    7.00 A.M. to 8.00 A.M. -Yoga classes<br />
    8.15 A.M.- Breakfast<br />
    12.00 Noon. - Lunch<br />
    15.00 A.M. to 15.45 A.M. - Lecture<br />
    16.00 P.M.-  Tea<br />
    16.30 P.M. to 19.00 P.M.-  Yoga & Meditation Classes<br />
    19.30 P.M.-  Dinner</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> Rishikesh (Ashram)
								</p>
								<p class="aj">In the Yoga and Meditation Tour you will be required to spend three in the Ashram following a typical day schedule which is as follows:<br />
<br />
    5.30 A.M. to 6.30 A.M. - Meditation classes<br />
    7.00 A.M. to 8.00 A.M. -Yoga classes<br />
    8.15 A.M.- Breakfast<br />
    12.00 Noon. - Lunch<br />
    15.00 A.M. to 15.45 A.M. - Lecture<br />
    16.00 P.M.-  Tea<br />
    16.30 P.M. to 19.00 P.M.-  Yoga & Meditation Classes<br />
    19.30 P.M.-  Dinner</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> Rishikesh (Ashram)
								</p>
								<p class="aj">In the Yoga and Meditation Tour you will be required to spend three in the Ashram following a typical day schedule which is as follows:<br />
<br />
    5.30 A.M. to 6.30 A.M. - Meditation classes<br />
    7.00 A.M. to 8.00 A.M. -Yoga classes<br />
    8.15 A.M.- Breakfast<br />
    12.00 Noon. - Lunch<br />
    15.00 A.M. to 15.45 A.M. - Lecture<br />
    16.00 P.M.-  Tea<br />
    16.30 P.M. to 19.00 P.M.-  Yoga & Meditation Classes<br />
    19.30 P.M.-  Dinner</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> Rishikesh - Shivpuri
								</p>
								<p class="aj">In the morning leave for Shivpuri, arrive and check in resort. You will be welcomed by welcome drink. Later on briefing about the whole schedule is provided to you. Enjoy  jungle walk in the reserve forest around the Nature Camp Resort. Enjoy campfire and overnight stay followed by dinner at Shivpuri.</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> Shivpuri
								</p>
								<p class="aj">Wake up early morning Yoga class providing complete relaxation of body & mind. Brunch on  yogic breakfast before driving to Byasi / Kaudiyala to experience rafting at Shivpuri. After briefing on raft maneuvering,  safety and team spirit development . You’ll be ready to hit the most exciting rapids on Ganges. Lunch at camp resort. Evening is preserved for meditation and relaxation. Later on enjoy  campfire & dinner at camp.</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> Shivpuri
								</p>
								<p class="aj">In the morning get ready for one and half hour drive to Hindolakhal, on arriving we start trek to Kunjapuri. The one hour trek allows you to explore the thick forest. On reaching Kunjapuri,  join the class for meditation, relaxation and asanas. Embrace the sight of sunrise on Greater Himalayan peaks and later on descend to your  camp resort. After lunch enjoy wildlife safari at Chilla. Later drive back to camp resort for Dinner and 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> Shivpuri - Delhi
									</p>
									<p class="aj">Early morning wake-up early for advance yoga class, attend the question answer session that helps you assess the change in personality undergone during the course. After breakfast experience rafting once again from Shivpuri to Rishikesh. Have lunch at Brahampuri. In the evening get transferred to station to board train to Delhi. On arrival check in into hotel. Spend overnight at 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> Delhi
									</p>
									<p class="aj">Transfer to Delhi International Airport to board flight to fly back home.</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>
																		<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.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Yoga and Meditation 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="45362"/>
						</form>
						</div>
						
						";i:1;s:65:"Book Yoga and Meditation Tour - 11 Nights / 12 Days Tour Packages";i:2;s:149:"book yoga and meditation tour - 11 nights / 12 days tour packages, hill station tour packages, new delhi, haridwar, shivpuri, rishikesh tour packages";i:3;s:179:"Heavens Group offers Yoga and Meditation Tour - 11 Nights / 12 Days tour package, budget Hill Station tour packages for New Delhi, Haridwar, Shivpuri, Rishikesh at exciting price.";i:4;s:436:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Haridwar, Shivpuri, Rishikesh"        
		                 },
		      "description": "",
		      "name": "Yoga and Meditation Tour",
		      "telephone": "+91-9034015553"
		    }
		    </script>
			";i:5;N;}