a:6:{i:0;s:15991:"				<div class="h1"><h1>Chardham Yatra Package  (Ex - Haridwar)</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sharmatravel.in/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Chardham Yatra Package  (Ex - Haridwar)</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">Tour Code </td>
						<td class="p5px pl0px vat">ST-CHDM02H</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Joshimath, Rishikesh, Uttarkashi, Barkot, Auli</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.sharmatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chardham Yatra Package  (Ex - Haridwar) - 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="121822"/>
						</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_18/513007/196805.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_18/513007/196805.jpg"  width="150" height="150"    alt="Chardham Yatra Package  (Ex - Haridwar)" title="Chardham Yatra Package  (Ex - Haridwar)" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Briefing about Chardham Yatra : <br />
Char Dham’, the most sacred pilgrimage circuit, the circuit of mythologies, the circuit that cossets four abodes of God; you can simply go on defining these two words in different and beautiful ways. This pilgrimage was initiated by sage Adi Shankaracharya, a great Hindu intellectual and reformer. The sage started this holy journey in the 8th century with the motive of reviving the Hindu religion, and certainly the four destinations were perfect to serve his purpose. Yamunotri (the abode of Shakti Yamuna), Gangotri (the abode of Shakti Ganga), Kedarnath (the abode of Lord Shiva) and Badrinath (the abode of Lord Vishnu) are the four holy places embracing the foothills of the Garhwal Himalayas, Uttarakhand. It is believed that by visiting this pious circuit, all the sins of the devotees are forgiven; are washed off. Since ages, this belief is so prominent that the Char Dham Yatra is considered as a must for every human. Further, it is not just that people come here for getting salvation; they visit these holy sites so as to attain enlightenment, to experience serenity and spirituality.<br />
<br />
The Char Dham pilgrimage in Uttarakhand commences from April-May and lasts till Diwali (one of the most celebrated Hindu festivals), in October-November.<br />
Season: May – June & September – November<br />
Region: Garhwal Himalaya<br />
Max Altitude: 3384 mts (Kedarnath)<br />
Duration: 09-10 days<br />
<br />
Highlights of Char Dham Pilgrimage Yatra : <br />
Haridwar, Mussoorie, Kempty fall, Yamuna River, Bandar punch Peak view from Barkot, Sri Yamunotri Temple, Cave, Kashi Vishwnath Temple, Shakti Temple, Bhagirathi River, Sri Gangotri Temple, Gomukh, Tehri Dam, Prakateshwar Mandakini River, Sri Kedarnath Temple, Gaurikund, Alaknanda River, Sri Narsingh Temple, Adi Shankarcharya Samadhi, Dhauli River, Sri Badrinath Temple, Byas Gufa, Ganesh Gufa, Bheem Pul, Saraswati River, Mana Village, Pinder River, Mandakini River, Confluence of Bhagirathi and Alaknanda River, Rishikesh, Laxman Jhoola, Ram Jhoola, Swarga Ashram etc.20-0430-09<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> Haridwar - Barkot/Kharsali
								</p>
								<p class="aj">This morning depart for Barkot, located on the foot of Yamunotri. Drive via Mussoorie and visit Kempt Falls on the way. On arrival at Barkot, check-in to your hotel/camp. Rest of the day is free to relax and store your energy for the Pahad (hiII) Yatra of Yamunotri the next day. Dinner and Overnight stay at Barkot.</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> Barkot/Kharsali - Yamunotri - Barkot
								</p>
								<p class="aj">After breakfast, depart for Hanumanchatti (40 Km), Janki Chatti (8 km). Here you will begin the First Pahad Yatra of Yamunotri (5 Km trek). You can hire a Doli or a horse, for your trek (Cost Not Included). The trek passes through lush green valley, a profusion of conifers, rhododendrons, cacti and several species of Himalayan shrubs. Yamunotri (altitude 3,291 m), the western most shrine of the Char Dhams, is dominated by Banderpunch (6,361 m). Yamunotri is the source of the river Yamuna, the twin sister of Varna, the Lord of Death. Yamuna is also the daughter of Surya the Sun. The actual source of the river originates from Champasar Glacier 1 km a head of the shrine, at an altitude of 4,321 mts. On arrival by afternoon in Yamunotri take holy dip in Yamuna River and perform Pooja, and take the same route back to Barkot, check in at Hotel / Camp. Dinner and Overnight stay at hotel in Barkot.</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 - Uttarkashi
								</p>
								<p class="aj">After breakfast check out from the Barkot hotel and drive to Uttarkashi. On arrival check in into the hotel. Uttarkashi is situated on the banks of river Bhagirathi and is famous for its historical monuments, Temples & Ashrams. In the evening, Visit the famous Vishwanath Temple. Dinner and Overnight stay at Uttarkashi.</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> Uttarkashi - Gangotri - Uttarkashi
								</p>
								<p class="aj">Early morning breakfast at hotel and drive to Gangotri. Nestled in the magnificent Garhwal Himalayas, Gangotri is set at an altitude of 3048 mts. Upon arrival at Gangotri take a holy dip in the sacred river Ganges which is also called Bhagirathi at its origin Visit the Gangotri Temple. The 18th century’s temple dedicated to Goddess Ganga is located near a sacred stone where King Bhagirathi worshipped Lord Shiva. Ganga is believed to have touched earth at this spot. The temple is an exquisite 20 ft. high structure made of white granite. After performing Pooja Late afternoon drive back to Uttarkashi. Dinner & Overnight stay at Uttarkashi.</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 - Guptkashi /Sitapur
								</p>
								<p class="aj">After early morning breakfast check out from the hotel and drive for Guptkashi/Rampur/Sitapur. On arrival check in at hotel. Rest of the day free to explore the Guptkashi town. Dinner and Overnight stay in Guptkashi/Rampur/Sitapur hotel/Camps. Here we have designed this program compatible to cover kedarnath Ji Yatra by trek or helicopter. Hence we are providing here 03 consequent nights stay in Sitapur / Rampur or Guptkashi.</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> Guptkashi - Sonprayag - Kedarnath
								</p>
								<p class="aj">Early morning after breakfast check out from the hotel and drive to Sonprayag. From where, you will start your 21 km trek to Kedarnath. You can hire a Doli or a horse, for your trek (Cost Not Included). On arrival check in at Govt. Camps/Lodges. Dinner and Overnight at Govt. Camps/Lodges. Or you can return back to Sonprayag as per your strength and choices.</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> Kedarnath - Sonprayag - Sitapur/Rampur
								</p>
								<p class="aj">Early morning you get up before dawn and after taking bath you are at the temple by 4:45 am for the ‘Abhishek’ to Kedarnath Shiva. Later you’ll start the return trek of 20 km from Kedarnath to Sonprayag. The vehicles wait for you in Sonprayag Car Parking and you’ll drive to your hotel (Sitapur). Dinner and Overnight at Sitapur Or Rampur.</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> Sitapur/Rampur/Guptkashi - Joshimath - Badrinath
								</p>
								<p class="aj">This morning, you check out of the hotel at 08:00 am and drive to Badrinath via Joshimath. After driving through some wonderful Ghat road you arrive at Badrinath. On arrival check into the hotel. After some rest and refreshments you are all set to go to Badrinath Temple for darshan in the evening. But first you have to go to Tapt Kund (Hot Spring), take bath and then go to the temple. Dedicated to Lord Vishnu, the temple of Shri Badrinath Ji is 15 meters in height, built in the form of a cone with a small cupola of a gilt bull and spire. Later back to hotel. Dinner and Overnight stay 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 9:</b> Badrinath - Joshimath - Srinagar
								</p>
								<p class="aj">Early morning, pilgrims after having a bath in the Taptkund have the Darshan of Badrivishal. Brahamakapal is significant for Pinddan Shraddh of ancestors (Pitrus). There are other interesting sightseeing spot like Mana, Vyas Gufa, Maatamoorti, Charanpaduka, Bhimkund and the Mukh of the Saraswati River. Just within the three kms of Badrinathjee. Joshimath is situated on the slopes above the confluence of the rivers Alaknanda and Dhauliganga. Of the four Maths established by Adi Shankaracharya, Joshimath is the winter seat of Badrinath. The idol is brought down to Joshimath and installed in the temple for people to worship. There are many other temples in the township. The most important is the temple of Nir Singh with the idol of Lord Vishnu. The left arm of this deity is getting destroyed with time and the popular belief holds that the day the arm completely withers Badrinath valley will cease to exist and the Gods will transfer the residence into the neighboring Niti Valley at Bhavishya Badri. Nandprayag (confluence of river Nandakini and Alaknanda River)</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> Srinagar - Devprayag - Rishikesh - Haridwar
								</p>
								<p class="aj">Early morning, after breakfast, you drive downhill to Rishikesh a spiritual city and the Yoga capital of the world. On reaching Rishikesh you’ll do the Rishikesh sightseeing visit Ram Jhula and Laxman Jhula. Evening drive to Haridwar and drop at Railway station for your departures. At this last day, our services concludes here in Haridwar. But the passengers those are looking forward to have departures from Delhi Or want to make one more night in Haridwar can ask our assistance regarding these services to be arranged by paying nominal costs. We wish here the prosperous and spiritual , healthy life ahead and may you have all blessings from the almighty Godheads and abodes. Jai Kedarnth Ji !!</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.sharmatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chardham Yatra Package  (Ex - Haridwar) - 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="121822"/>
						</form>
						</div>
						
						";i:1;s:79:"Book Chardham Yatra Package  (Ex - Haridwar) - 9 Nights / 10 Days Tour Packages";i:2;s:232:"book chardham yatra package  (ex - haridwar) - 9 nights / 10 days tour packages, religious & pilgrimage tour packages, haridwar, kedarnath, badrinath, yamunotri, gangotri, joshimath, rishikesh, uttarkashi, barkot, auli tour packages";i:3;s:262:"Sharma Travel offers Chardham Yatra Package  (Ex - Haridwar) - 9 Nights / 10 Days tour package, budget Religious & Pilgrimage tour packages for Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Joshimath, Rishikesh, Uttarkashi, Barkot, Auli at exciting price.";i:4;s:2565:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Joshimath, Rishikesh, Uttarkashi, Barkot, Auli"        
		                 },
		      "description": "Briefing about Chardham Yatra : 
Char Dham’, the most sacred pilgrimage circuit, the circuit of mythologies, the circuit that cossets four abodes of God; you can simply go on defining these two words in different and beautiful ways. This pilgrimage was initiated by sage Adi Shankaracharya, a great Hindu intellectual and reformer. The sage started this holy journey in the 8th century with the motive of reviving the Hindu religion, and certainly the four destinations were perfect to serve his purpose. Yamunotri (the abode of Shakti Yamuna), Gangotri (the abode of Shakti Ganga), Kedarnath (the abode of Lord Shiva) and Badrinath (the abode of Lord Vishnu) are the four holy places embracing the foothills of the Garhwal Himalayas, Uttarakhand. It is believed that by visiting this pious circuit, all the sins of the devotees are forgiven; are washed off. Since ages, this belief is so prominent that the Char Dham Yatra is considered as a must for every human. Further, it is not just that people come here for getting salvation; they visit these holy sites so as to attain enlightenment, to experience serenity and spirituality.

The Char Dham pilgrimage in Uttarakhand commences from April-May and lasts till Diwali (one of the most celebrated Hindu festivals), in October-November.
Season: May – June & September – November
Region: Garhwal Himalaya
Max Altitude: 3384 mts (Kedarnath)
Duration: 09-10 days

Highlights of Char Dham Pilgrimage Yatra : 
Haridwar, Mussoorie, Kempty fall, Yamuna River, Bandar punch Peak view from Barkot, Sri Yamunotri Temple, Cave, Kashi Vishwnath Temple, Shakti Temple, Bhagirathi River, Sri Gangotri Temple, Gomukh, Tehri Dam, Prakateshwar Mandakini River, Sri Kedarnath Temple, Gaurikund, Alaknanda River, Sri Narsingh Temple, Adi Shankarcharya Samadhi, Dhauli River, Sri Badrinath Temple, Byas Gufa, Ganesh Gufa, Bheem Pul, Saraswati River, Mana Village, Pinder River, Mandakini River, Confluence of Bhagirathi and Alaknanda River, Rishikesh, Laxman Jhoola, Ram Jhoola, Swarga Ashram etc.20-0430-09",
		      "name": "Chardham Yatra Package  (Ex - Haridwar)",
		      "telephone": "+91-9643567755"
		    }
		    </script>
			";i:5;N;}