a:6:{i:0;s:35732:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>11 Days Chardham Tour Package (ex Delhi) Itinerary</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.batratourtravels.in/" title="Home">Home</a>
						
							
						<b class="ffv p2px">&rsaquo;</b> 11 Days Chardham Tour Package (ex Delhi) Itinerary</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						10 Nights / 11 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Joshimath, Rudraprayag, Uttarkashi, Barkot, Guptakashi</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.batratourtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="11 Days Chardham Tour Package (ex Delhi) Itinerary - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="186732"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_20/570528/290333.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/570528/290333.jpg"  width="150" height="112"    alt="11 Days Chardham Tour Package (ex Delhi) Itinerary" title="11 Days Chardham Tour Package (ex Delhi) Itinerary" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Chardham is the famous religious circuit visited by lakhs of devotees every year. Located on the high himalayas of Uttarakhand, Chardham yatra complete after the visit of four Hindu pilgrimage destination – Yamunotri, Gangotri, Kedarnath and Badrinath. This 11 days Chardham pilgrimage tour from Delhi offers sacred darshan of all four shrine with comfortable accommodations and facilities in between the yatra.								</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 (220kms / 6-7hr) Height: 310 Mts.
										</p>
										<p class="aj">Meet Our Driver At Delhi Airport /station / Hotel / Home and Drive to Haridwar. Check Into the Hotel Arrival in Haridwar. Evening Visit Mansa Devi Temple & Ganga Aarti At Har Ki Pauri. Overnight Stay At Haridwar.</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 (210kms/7-8hr) Height: 1352 MTS.
										</p>
										<p class="aj">Barkot via Mussoorie, enroute visit Mussoorie Lake & Kempty Fall in Mussoorie. Later drive straight to Barkot. Check into the hotel arrival in Barkot. Overnight stay at Barkot.<br />
<br />
Barkot Weather – Generally pleasant in summer, the temperature ranges from 25-30 degree Celsius, Winter: The Days are pleasantly cool but the nights are cold,temp ranges from 10 deg to 05 deg.</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 – Yamunotri – Barkot {36kms Drive & 5 Kms Trek (one Side)}   Height: 3235 Mts.
										</p>
										<p class="aj">Early Morning After Breakfast (packed Breakfast), Drive to Jankichatti / Phoolchatti & Star Trek from Here to Yamunotri (6kms) (either By Walk or By Horse or By Doli At Own Cost). After Taking Bath in Jamunabai Kund’s Warm Water and Having “darshan” of “yamunaji” Return to Jankichatti By Trek. Later Drive Towards Barkot, Overnight Stay At Barkot.<br />
<br />
yamunotri Temple: Maharani Gularia of Jaipur Built the Temple in the 19th Century. It Was Destroyed Twice in the Present Century and Rebuilt Again. At Yamunotri, One Can Cook Rice By Packing It in a Cloth and Dipping It in the Hot Water of the Tapt Kund. Pilgrims Take this Cooked Rice Home as “prasad”. Here Near the Temple “pooja” Can Be Offered to Divya Shila.<br />
<br />
surya Kund: There are a Number of Thermal Springs Near Temple, Which Flows Into Numerous Pools. the Most Important of These is Surya Kund.<br />
<br />
yamunotri Weather – in Summer the Maximun Temp is 18 Degrees and the Minimum is 10 Degrees Celsius. the Days are Pleasantly Cool But the Nights are Cold.</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 – Uttarkashi (100kms/4hr) Height: 1352 MTS.
										</p>
										<p class="aj">Morning After Breakfast, Drive to Uttarkashi. Check Into the Hotel Arrival in Uttarkashi. Visit Kashi Vishwanath Temple in Uttarkashi. Overnight Stay At Uttarkashi.<br />
<br />
uttarkashi is Home to a Number of Ashrams, Temples. the Name of the Town Reflects Its Similarity to and Location (as North Of) the City of Kashi (varanasi). Similar to Varanasi, Town of Uttarkashi is also Situated On the Banks of River Ganga.<br />
<br />
shakti Temple – Right in Front of the Vishwanath Temple is Shakti Temple. It Has a Big ‘trishul’ of About 6 Meters in Height and a Circumference of 90 Cms. At Bottom. Though There are Different Views About the Making of This, the Upper Part of It Seems to Be Made Up of Iron and the Lower One is of Copper. as per the Epics this Shakti Was Thrown On the Devils By the Goddess Durga(shakti), Hence It Gets Its Name. Since Then this Shakti is Erected Over Here<br />
<br />
uttarkashi Weather – Generally Hot in Summer, the Temperature Ranges from 30-35 Degree Celsius But Nights is Pleasant, Cold in Winters.</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 (100kms/3-4 each side) Height: 3048 MTS.
										</p>
										<p class="aj">Early morning (packed breakfast) drive to Gangotri, enroute at Gangnani take a holy dip in Garam Kund, further drive to Gangotri via beautiful Harsil Valley. Harsil is famous for its nature beauty and for the majestic views of the Deodar trees and mountains. On arrival at Shree Gangotri, take a holy dip in the sacred river Ganges which is also called Bhagirathi at its origin. Perform Pooja and Darshan, after that relax for some time in the lovely surroundings. Later drive back to Uttarkashi. Overnight stay at Uttarkashi.<br />
<br />
Gangotri Temple: The temple was constructed by the Gorkha General Amar Singh Thapa in the 18th Century, is situated on the right bank of Bhagirathi.<br />
<br />
Gangotri Weather – The maximum temperature during summer can go up to 20° Celsius. Summer nights can get cooler with a minimum temperature of 10° Celsius. Light woolen clothes are required while visiting Gangotri during summer. Winter season is very chilly in Gangotri. Gangotri will be covered in sheets of snow during winter. Pilgrim centers remains closed throughout winter due to heavy snow falls.</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 (220kms/8-9hr) Height: 1319 MTS.
										</p>
										<p class="aj">Morning after breakfast, drive to Guptkashi via Moolgarh & Lambgoan. Enroute you can see the beautiful river Mandakini at Tilwara. The Mandakini river comes from Kedarnath, drive alongside the river to reach Guptakashi, visit Ardh Narishwar Temple in Guptakashi. Check into the hotel arrival in Guptakashi. Overnight stay at Guptakashi.<br />
<br />
Guptakashi:- The name Gupt Kashi means “Hidden Benares. Mythology describes how when the Pandava brothers were searching for a glimpse of Shiva, Shivji first concealed himself at Guptkashi, but later fled from them further up the valley to Kedarnath, where the Pandavas finally got their wish fulfilled. There are more tangible connections as well-the Kedarnath pandas (priests) live in Guptkashi 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 />
<br />
Guptkashi Weather – pleasant in summer, the temperature ranges from 25-30 degree Celsius. Cold in winters.</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 – Kedarnath – Guptkashi (30kms by road & 19kms Trek one way)   Height: 3384 MTS.
										</p>
										<p class="aj">Morning after breakfast departure for Kedarnath dham. Enjoy Kedarnath Darshan & back your hotel. Overnight stay at Kedarnath.<br />
<br />
By Helicopter: Morning our driver will transfer you your prebook Helipad. You can inform driver about your arrival time whether it will by helicopter or by trek, so that Driver will be there to pick you up. (note: helicopter ticket is not included in this package).<br />
<br />
By Trek: Morning our driver will drop you at Sonprayag then you have to take local jeep for Gaurikund & then your trek strat for kedarnath ji. After darshan you follow same & back to Sonpraag. There is big parking issue so driver will back tp other palace if his contact no. in not working then you have to arrange other taxi or wait for your driver.<br />
<br />
Kedarnath: 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. According to legend, the Pandavas after having won over the Kaurava in the Kurukshetra war, felt guilty of having killed their own brothers and sought the blessings of Lord Shiva for redemption. He eluded them repeatedly and while fleeing took refuge at Kedarnath in the form of a bull. On being followed he dived into the ground, leaving his hump on the surface.<br />
<br />
Kedarnath Weather – Due to its high altitude the weather in Kedarnath remains cold for most part of the year. Summer here is cool and pleasant while winter is severe. During summer season the temperature varies around 20°Celsius. Light woolen wear is recommended. Winter season in Kedarnath is severe with mercury falling to as low as 0°Celsius. During this time the place experiences snowfall as well. Due to the extreme climatic conditions, this time is usually avoided by tourists.</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> Guptkashi – Badrinath (160kms/7hr) Height: 3133 MTS.
										</p>
										<p class="aj">sightseeing spot like Mana, Vyas Gufa, Maatamoorti, Charanpaduka, Bhimkund and the “Mukh” of the Saraswati River. Just within the three kms of Badrinathjee. Overnight stay at Badrinath.<br />
<br />
Mana Village : Inhabited by an Indo-Mongolian tribe, it is the last Indian village before Tibet.<br />
<br />
Vasundhara : As the name suggests, vasundhara is a magnificent water fall. This place is 5 kms. from Badrinath out of which 2 kms. is motorable upto Mana.<br />
<br />
Bhim Pul : On the other side of Mana village, a massive rock forming a natural bridge, lies over the roaring Saraswati river. It presents a spectacular view of water thundering down through the narrow passage under the rock and is believed to have been placed there by Bhim, the second eldest among the five Pandava brothers.<br />
<br />
Vyas Gufa (cave): Near Mana Village, this is a rock-cave where Ved Vyas is believed to have composed the Mahabharata and the pauranic commentaries.<br />
<br />
Badrinath Weather: The average maximum temperature will be around 18° Celsius and the average minimum is 8° Celsius. Warm and woolen clothes are hence required for a stay in Badrinath throughout the year. Winter in Badrinath is often accompanied by snow falls. Winter is very chilly with an average temperature of 5° Celsius. Due to the extreme climatic conditions, this time is usually closed for tourists.</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 – Rudraprayag (160kms/7hr)   Height: 895 MTS.
										</p>
										<p class="aj">Morning after breakfast, driver for Rudraprayag via Joshimath. Visit on the way Narsingh Temple in Joshimath later drive back to Rudraprayag via Joshimath. Check into the hotel arrival in Rudraprayag. Overnight stay at Rudraprayag.<br />
<br />
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.<br />
<br />
Rudraprayag Weather – Generally hot in summer, the temperature ranges from 35-40 degree Celsius, Winter: The Days are pleasantly cool but the nights are cold, temp ranges from 20 deg to 05 deg.</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> Rudraprayag – Haridwar (165kms/5-6hr)
										</p>
										<p class="aj">Morning after breakfast, drive for Haridwar via Rishikesh. Rishikesh ‘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. Check in Hotel. Later visit Rishikesh Temples & Sight Seeing – Laxman Jhulla, Ram Jhulla. Overnight stay at Haridwar.<br />
<br />
Rishikesh: Named after the Lord Vishnu, Rishikesh is a holy city for Hindus. Located in the foothills of the Himalaya in northern India it is also known as the yoga center of the world and is home to many world renowned ashrams. Rishikesh styles itself as the ‘Yoga Capital of the World’, with masses of ashrams and all kinds of yoga and meditation classes. The fast-flowing Ganges is surrounded by forested hills inside the city. Apart from temples and ashrams Rishikesh is now a popular white-water rafting centre, backpacker hang-out, and gateway to treks in the Himalaya.</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> Haridwar – Delhi (220kms / 6-7hr) Height: 310 Mts.
											</p>
											<p class="aj">Morning After Breakfast, Drive for Delhi. Dropping At Delhi Airport / Station / Home / Hotel.</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 />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount</li><li>
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.batratourtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="11 Days Chardham Tour Package (ex Delhi) Itinerary - 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="186732"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/packages-in-badrinath.htm" title="Packages in Badrinath">Badrinath</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/packages-in-gangotri.htm" title="Packages in Gangotri">Gangotri</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/packages-in-yamunotri.htm" title="Packages in Yamunotri">Yamunotri</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/packages-in-kedarnath.htm" title="Packages in Kedarnath">Kedarnath</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/packages-in-uttarkashi.htm" title="Packages in Uttarkashi">Uttarkashi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/packages-in-barkot.htm" title="Packages in Barkot">Barkot</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/packages-in-rudraprayag.htm" title="Packages in Rudraprayag">Rudraprayag</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/packages-in-guptakashi.htm" title="Packages in Guptakashi">Guptakashi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/packages-in-dehradun.htm" title="Packages in Dehradun">Dehradun</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.batratourtravels.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.batratourtravels.in/packages-in-joshimath.htm" title="Packages in Joshimath">Joshimath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.batratourtravels.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(6)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for New Delhi, Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Joshimath, Rudraprayag, Uttarkashi, Barkot, Guptakashi</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.batratourtravels.in/holiday-packages/10-days-chardham-tour-packageex-haridwar.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/570528/290340.jpg"  alt="10 Days Chardham Tour Package Ex Haridwar" title="10 Days Chardham Tour Package Ex Haridwar"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.batratourtravels.in/holiday-packages/10-days-chardham-tour-packageex-haridwar.htm" title="10 Days Chardham Tour Package Ex Haridwar"><h3>10 Days Chardham Tour Package Ex Haridwar</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Haridwar, Kedarnath, Badrinath, Yamunotr..</p>
															<div class="mt10px small">
							<form name="pkg_186734" id="pkg_186734" method="post" action="http://www.batratourtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.batratourtravels.in/holiday-packages/10-days-chardham-tour-packageex-haridwar.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="10 Days Chardham Tour Package Ex Haridwar - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="186734"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.batratourtravels.in/holiday-packages/chardham-helicopter-tour-packageex-dehradun-haridwar-itinerary.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/570528/290343.jpg"  alt="Chardham Helicopter Tour Package Ex Dehradun/ Haridwar Itinerary" title="Chardham Helicopter Tour Package Ex Dehradun/ Haridwar Itinerary"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.batratourtravels.in/holiday-packages/chardham-helicopter-tour-packageex-dehradun-haridwar-itinerary.htm" title="Chardham Helicopter Tour Package Ex Dehradun/ Haridwar Itinerary"><h3>Chardham Helicopter Tour Package Ex Dehrad..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Haridwar, Kedarnath, Badrinath, Yamunotr..</p>
															<div class="mt10px small">
							<form name="pkg_186737" id="pkg_186737" method="post" action="http://www.batratourtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.batratourtravels.in/holiday-packages/chardham-helicopter-tour-packageex-dehradun-haridwar-itinerary.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Chardham Helicopter Tour Package Ex Dehradun/ Haridwar Itinerary - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="186737"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.batratourtravels.in/holiday-packages/chardham-helicopter-tour-packageex-dehradun-itinerary.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/570528/290397.jpg"  alt="Chardham Helicopter Tour Package Ex Dehradun Itinerary" title="Chardham Helicopter Tour Package Ex Dehradun Itinerary"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.batratourtravels.in/holiday-packages/chardham-helicopter-tour-packageex-dehradun-itinerary.htm" title="Chardham Helicopter Tour Package Ex Dehradun Itinerary"><h3>Chardham Helicopter Tour Package Ex Dehrad..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dehradun, Kedarnath, Badrinath, Yamunotr..</p>
															<div class="mt10px small">
							<form name="pkg_186752" id="pkg_186752" method="post" action="http://www.batratourtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.batratourtravels.in/holiday-packages/chardham-helicopter-tour-packageex-dehradun-itinerary.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Chardham Helicopter Tour Package Ex Dehradun Itinerary - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="186752"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.batratourtravels.in/holiday-packages/chardham-yatra-bike-tour-package-2019-itinerary.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/570528/290341.jpg"  alt="Chardham Yatra Bike Tour Package 2019 Itinerary" title="Chardham Yatra Bike Tour Package 2019 Itinerary"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.batratourtravels.in/holiday-packages/chardham-yatra-bike-tour-package-2019-itinerary.htm" title="Chardham Yatra Bike Tour Package 2019 Itinerary"><h3>Chardham Yatra Bike Tour Package 2019 Itin..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								10 Nights / 11 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Haridwar, Badrinath, Yamunotri, Gangotri..</p>
															<div class="mt10px small">
							<form name="pkg_186735" id="pkg_186735" method="post" action="http://www.batratourtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.batratourtravels.in/holiday-packages/chardham-yatra-bike-tour-package-2019-itinerary.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Chardham Yatra Bike Tour Package 2019 Itinerary - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="186735"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.batratourtravels.in/holiday-packages/char-dham-helicopter-tour-package-itinerary.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/570528/290342.jpg"  alt="Char Dham Helicopter Tour Package Itinerary" title="Char Dham Helicopter Tour Package Itinerary"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.batratourtravels.in/holiday-packages/char-dham-helicopter-tour-package-itinerary.htm" title="Char Dham Helicopter Tour Package Itinerary"><h3>Char Dham Helicopter Tour Package Itinerar..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dehradun, Kedarnath, Badrinath</p>
															<div class="mt10px small">
							<form name="pkg_186736" id="pkg_186736" method="post" action="http://www.batratourtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.batratourtravels.in/holiday-packages/char-dham-helicopter-tour-package-itinerary.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Char Dham Helicopter Tour Package Itinerary - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="186736"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:80:"Book 11 Days Chardham Tour Package (ex Delhi) Itinerary - 111 Days Tour Packages";i:2;s:252:"book 11 days chardham tour package (ex delhi) itinerary - 111 days tour packages, religious & pilgrimage tour packages, new delhi, haridwar, kedarnath, badrinath, yamunotri, gangotri, joshimath, rudraprayag, uttarkashi, barkot, guptakashi tour packages";i:3;s:295:"Book 11 Days Chardham Tour Package (ex Delhi) Itinerary - 111 Days tour packages from Batra Tour & Travels - Get attractive 111 Days Religious & Pilgrimage  tour packages for  New Delhi, Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Joshimath, Rudraprayag, Uttarkashi, Barkot, Guptakashi.";i:4;s:953:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Joshimath, Rudraprayag, Uttarkashi, Barkot, Guptakashi"        
		                 },
		      "description": "Chardham is the famous religious circuit visited by lakhs of devotees every year. Located on the high himalayas of Uttarakhand, Chardham yatra complete after the visit of four Hindu pilgrimage destination – Yamunotri, Gangotri, Kedarnath and Badrinath. This 11 days Chardham pilgrimage tour from Delhi offers sacred darshan of all four shrine with comfortable accommodations and facilities in between the yatra.",
		      "name": "11 Days Chardham Tour Package (ex Delhi) Itinerary",
		      "telephone": "+91-9837377377"
		    }
		    </script>
			";i:5;N;}