a:6:{i:0;s:17502:"				<div class="h1"><h1>Char Dham Yatra Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.apexholidaysandadventures.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.apexholidaysandadventures.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Char Dham Yatra 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, Chamoli, Rishikesh, Rudraprayag, Uttarkashi, Sonprayag, Jyotirmath</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.apexholidaysandadventures.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Char Dham Yatra 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="69155"/>
						</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_15/426591/125748.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/426591/125748.jpg"  width="150" height="150"    alt="Char Dham Yatra Tour" title="Char Dham Yatra 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 – Haridwar
								</p>
								<p class="aj">Arrive at Delhi Airport/Railway Station/Hotel to find our  representative waiting for you. Proceed for an assisted drive to Haridwar by road. Upon your arrival at Haridwar, check in into your hotel.<br />
Located at the feet of the splendid Shivaliks, Haridwar, which literally means entrance to God's realm is a wonderful gateway to the majestic Ganges. The river makes way to the plains form this holy city. It is also the same site where the great Suryavanshi Prince Bhagirath performed severe penances to salvage the souls of his ancestors who were cursed by the great sage Kapila. As his austerities were answered, the mighty River Ganges flowed down from the thick locks of Lord Shiva and thus blessed the sixty thousand sons of King Sagara, who were subsequently revived. Following the same tradition of Bhagirath, devotees and pilgrims pray for the salvation of their ancestors in the holy water of Ganga.<br />
In the evening, attend the wonderful “Ganga Arti" by the river bank at Har ki Pauri. The sight of hundreds of floating earthen lamps is a breathtaking sight. Return to the hotel 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 2:</b> Haridwar – Barkot (Kharsali)
								</p>
								<p class="aj">Start the day with an early morning breakfast. After your meal, start the scenic drive to Barkot (Kharsali) through Dehradun and Mussoorie. On route, visit the wonderful Kempty falls. After enjoying the cool ambience here, continue with your journey.<br />
Upon arrival in Barkot, check-in your hotel for the 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> Barkot ( Kharsali ) – Yamunotri – Barkot ( Kharsali )
								</p>
								<p class="aj">Barkot is the base of your mountain trek to Yamunotri. After an early morning breakfast, start on your yatra. The 5 km trek can be covered either on foot. Horses or Palanquin/ Doli can be hired at own cost. Arrangement can made on direct payment basis at hotel on informing 2 days prior your trek.<br />
Before the religious rituals, take bath at Jamunabai Kund’s warm water. There are a Number of thermal springs in the vicinity of the temple, which flows into numerous pools. The most important of these is Surya Kund. One can cook rice by packing it in a cloth and dipping it in the hot water of the kund. Pilgrims take this cooked rice home as “Prasad”.<br />
After you have been purified by the thermal waters, pay a visit to the Divya Shila. The rock pillar is worshipped before entering the temple. Enter the Yamunotri temple. The Maharani Gularia of Jaipur built the temple in the 19th Century. It was destroyed twice in the present century and rebuilt again. Offer your prayers and be blessed.<br />
In some time, make the downhill trek. Return to the Barkot hotel for overnight stay and 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 4:</b> Barkot (Kharsali) – Uttarkashi
								</p>
								<p class="aj">Start the day with a hearty meal. Check-out of your hotel and proceed to drive to Uttarkashi. Check in the hotel here. The evening is free for your leisure. Uttarkashi is situated at the bank of River Bhagirathi. The temple of Lord Vishwanath is located here, where a massive iron trident is erected. Visit the temple for blessings. Return to hotel for dinner and overnight rest.</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> Uttarkashi – Gangotri – Uttarkashi
								</p>
								<p class="aj">Early morning, have you breakfast and start your journey to Gangotri, situated at 3048 m. En-route, enjoy the charming Harsil village, the sight of meandering Bhagirathi River and magnificent views of the Himalayas.<br />
The Gangotri Temple is an ancient 18th century temple built of white marble located on the banks of River Bhagirathi. Constructed by the Gorkha General Amar Singh Thapa, the temple is dedicated to the River Goddess.<br />
Pay reverence to Kedar Ganga Sangam. Around 100 Yards from the Ganga Temple, Kedar Ganga. Flows from the Kedar Valle. This river meets the Bhagirathi on its left bank.<br />
After Gangotri Darshan, priced for the drive back to Uttarkashi. Have dinner and overnight rest.</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> Uttarkashi - Guptkashi
								</p>
								<p class="aj">After a healthy breakfast in the hotel, drive straight to Guptkashi. En-route enjoy the views of the beautiful river Mandakini at Tilwara, which originates in Kedarnath. On arrival in Guptkashi, check-in at the Hotel. Later proceed for Kedarnath Pre-registration.<br />
The name Gupt Kashi means “Hidden Benares”. Mythology describes that Lord Shiva stayed here hidden form the Pandava brothers who were searching for a glimpse of the Lord. There are more concrete connections as well-the Kedarnath pandas (hereditary pilgrimage priests) live in Gupt Kashi during the winter months, and after the Kedarnath temple closes for the winter, the image of Kedarnath passes through Gupt Kashi on its way to Ukhimath (across the valley), where it stays for the winter.<br />
Get back to the hotel 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 7:</b> Guptkashi – Sonprayag - Gaurikund - Kedarnath
								</p>
								<p class="aj">In the early morning after having a healthy breakfast, drive to Sonprayag. Take a local jeep from Sonparyag to Gaurikund. From Gaurikund, start your trek to Kedarnath. The mountain abode of lord Shiva is located at a height of 3584 m. make the yatras on foot or at your own costs hire by pony / Doli. Check in the government camps at Kedarnath. Enjoy a warm dinner and take rest. Night halt. (Breakfast, Dinner)<br />
The Kedarnath shrine, one of the 12 jyotirlingas of Lord Shiva, is a scenic spot situated, against the backdrop of the majestic Kedarnath range. Kedar is another name of Lord Shiva, the protector and the destroyer. According to legend, the temple got its name from a legend in Mahabharata. Lord Shiva was alluding the Pandavas who were seeking his blessings. Taking the form of a hull, he hid into the ground, leaving his hump on the surface. The remaining portions of Lord Shiva appeared at four other places and are worshipped there as his manifestations. The arms appeared at Tungnath, the face at Rudranath, the belly at Madhmaheshwar and his locks (hair) with head at Kalpeshwar. Kedarnath and the four above-mentioned shrines are treated as Panch Kedar. Attain the salvation your soul seeks here.</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> Kedarnath – Rudraprayag
								</p>
								<p class="aj">Get ready for an early morning Darshan. Before 4:45 am take bath and reach the temple for the Abhishek ceremony of the idol of the Lord. Do the puja rituals and take your blessings.<br />
After Temple Darshan, trek down to Sonprayag. Later, drive to Rudraprayag via Guptkashi. Rudraprayag is one of the Panch Prayag (five confluences) of Alaknanda River, the point of confluence of Rivers Alaknanda and Mandakini. Check-in the hotel at Rudraprayag. Dinner and overnight stay here.</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> Rudraprayag – Joshimath - Badrinath
								</p>
								<p class="aj">Early in the day enjoy a hearty breakfast. Checkout of the hotel and drive to Badrinath via Joshimath. Enjoy the picturesque scenery. En-route.  Badrinath one of the ‘Four Dhams’ is one of the most celebrated pilgrimage spots of the country and is situated at an elevation of 3,133 meters, guarded on either side by the two mountain ranges known as Nar & Narayan with the towering Neelkanth Peak providing a splendid backdrop. This revered spot was once carpeted with wild berries. Thus the place got the name “Badri van”, meaning “forest of berries”.<br />
On arrival, check-in the Hotel. Later at evening visit Badrinath Temple for Aarti. Before you enter the holy abode of Lord Vishnu, purify ourselves with a bath in the Tapt Kund. The natural thermal springs on the bank of the river Alaknanda, offers waters with medicinal qualities.<br />
Return to hotel 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 10:</b> Badrinath – Joshimath – Rudraprayag
								</p>
								<p class="aj">Early morning, pilgrims go for the customary bath in the Taptkund have the Darshan of Badrivishal. Brahamakapal is significant for Pinddan Shraddh of ancestors (Pitrus). On the flat platform on the bank of river Alaknanda, Hindus perform propitiating rites for their deceased ancestors.<br />
Later in the day get ready for sightseeing spot. Visit Mana Village and other temples, if time permits. Later drive back to Rudraprayag via Joshimath. Check in the Rudraprayag Hotel. Dinner and overnight stay is arranged here.</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> Rudraprayag – Rishikesh - Haridwar
									</p>
									<p class="aj">After an early meal, drive to Haridwar. En-route stop at Rishikesh. The ‘place of sages’ is a celebrated spiritual town on the bank of Ganga and is surrounded by Shivalik range of the Himalayas on three sides. It is said that when Raibhya Rishi did hard penances, God appeared by the name of” Hrishikesh” and this area hence firth came to be known as Rishikesh. In the holy town known as the Yoga capital of the world, visit, Laxman Jhulla, Ram Jhulla, Triveni Ghat, Bharat Mandir, and Shivananda Ashram. At evening attend Ganga Aarti at Parmarth Ashram.<br />
Drive to Haridwar. Dinner and overnight stay in Haridwar 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 12:</b> Haridwar – Delhi
									</p>
									<p class="aj">Chardham Yatra ends today. Have breakfast and drive back to Delhi. On arrival at the capital city, transfer to Railway Station / Airport to return home after your spiritual awakening.</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.apexholidaysandadventures.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Char Dham Yatra 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="69155"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Char Dham Yatra Tour - 11 Nights / 12 Days Tour Packages";i:2;s:202:"book char dham yatra tour - 11 nights / 12 days tour packages, religious & pilgrimage tour packages, new delhi, haridwar, chamoli, rishikesh, rudraprayag, uttarkashi, sonprayag, jyotirmath tour packages";i:3;s:264:"Book Char Dham Yatra Tour - 11 Nights / 12 Days tour packages from Apex Holidays and Adventures - Get attractive 11 Nights / 12 Days Religious & Pilgrimage  tour packages for  New Delhi, Haridwar, Chamoli, Rishikesh, Rudraprayag, Uttarkashi, Sonprayag, Jyotirmath.";i:4;s:479:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Haridwar, Chamoli, Rishikesh, Rudraprayag, Uttarkashi, Sonprayag, Jyotirmath"        
		                 },
		      "description": "",
		      "name": "Char Dham Yatra Tour",
		      "telephone": "+91-8554854111"
		    }
		    </script>
			";i:5;N;}