a:6:{i:0;s:29793:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Char Dham Yatra 08 Night 09 Days Ex-haridwar</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.samguantourism.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.samguantourism.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Char Dham Yatra 08 Night 09 Days Ex-haridwar</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> 
						8 Nights / 9 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Srinagar, Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Rudraprayag, Uttarkashi, Barkot, Dungarpur</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 14999 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.samguantourism.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Char Dham Yatra 08 Night 09 Days Ex-haridwar - 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="196282"/>
						</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_19/569552/311425.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/569552/311425.jpg"  width="150" height="84"    alt="Char Dham Yatra 08 Night 09 Days Ex-haridwar" title="Char Dham Yatra 08 Night 09 Days Ex-haridwar" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Char dham Yatra is one of the most important place for hindu pilgrimage. Everyone want to visit chardham yatra once in their life. Basically char dham Yatra is 8Night/9Days. Chardham yatra package begins from Haridwar and We will transfer by cab to the holy shrines via Rishikesh.<br />
This Yatra covers to Yamunotri, Gangotri, Kedarnath and Badrinath. Besides the blessing of the almighty, pilgrims enjoy the beauty of nature and the spiritual ambience of Himalayas covered by snow, the melodious chirping of birds & the scatter thick green forests.								</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> Haridwar – Barkot (approx 215km / 07 hrs. drive)
										</p>
										<p class="aj">This morning, you depart for Barkot. Barkot is a beautiful hill station which is located on the foot of Yamunotri. As you drive through Mussoorie, you can visit the famous Kempty Falls on your 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 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 – Yamunotri – Barkot (approx 42 km DRIVE / 06 km TREK)
										</p>
										<p class="aj">After breakfast, depart for Hanumanchatti (40 Km), Janki Chatti (8 km). Here you will begin the First hill Yatra of Yamunotri (6 Km trek). You have an option of hiring Palki or a horse for your trek. (Cost Not Included). <br />
The trek passes through lush green valley, a profusion of conifers, rhododendrons, cacti and several species of Himalayan shrubs.<br />
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. Return via the same route back to Barkot. 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 (approx DRIVE 82 km, / 04 hrs. DRIVE)
										</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 (approx 100 km. PER WAY)
										</p>
										<p class="aj">Early morning breakfast at hotel and drive to Gangotri. 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 / Phata (approx 223 kms / 09 hrs DRIVE)
										</p>
										<p class="aj">Leave for your next destination, Guptkashi after having your breakfast early in the morning. On reaching, check-in to the hotel. Guptkashi is located at a distance of 47 km from the holy shrine, Kedarnath. The town holds immense religious importance as it houses famous ancient temples like Vishwanath Temple and Ardhnareshwar Temple. Have your dinner and stay overnight in the hotel/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 6:</b> Guptkashi/Phata – Kedarnath – Guptkashi / Phata
										</p>
										<p class="aj">Early morning after breakfast drive to Sonprayag. From where, you will start your 20 km trek to Kedarnath. You can hire a Doli or a horse, for your trek (Cost Not Included) or you can book helicopter tickets (cost for both ways ticket comes around 9,500 rupees which is not included). Mandakini, one of the main tributaries of the Ganges originates at Kedarnath and flows through Gaurikund. "Jai Bholenath" chants echoes in the mountains. The mists envelop the mountains and slowly lift away. When you can view the picturesque beauty you are left mesmerized. <br />
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 (Guptkashi/Rudraprag). Dinner and Overnight at Guptkashi/ Rudraprayag.</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/ Phata – Pandukeshwar / Badrinath (185 kms / 7 hrs )
										</p>
										<p class="aj">After having your breakfast in the morning, check out of the hotel and start driving towards your next destination, Badrinath via Joshimath. Badrinath is an important pilgrimage site which holds immense importance for both Hindus and Buddhists. Badrinath temple is dedicated to Lord Vishnu and is set at a height of 3133 meter. 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. 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 8:</b> Badrinath – Rudraprayag / Srinagar
										</p>
										<p class="aj">This morning if we had not visited Badrinath Temple so we can visit for Darshan. Later return to the hotel for breakfast. After breakfast check out from the hotel and proceed for Rudraprayag/Srinagar. En-route you can see Karanprayag Devprayag. On reaching Rudraprayag / Srinagar, check-in to the hotel. You can relax for the rest of the day. Have your dinner and stay overnight at 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 9:</b> Rudraprayag / Srinagar – Haridwar
										</p>
										<p class="aj">Early morning, after breakfast, you drive downhill to Haridwar via Rishikesh a spiritual city and the Yoga capital of the world. On reaching Rishikesh, go out for sightseeing. Visit Ram Jhula and Laxman Jhula. Evening drive back to Haridwar.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Sightseeing</li>
																				<li>08 Nights stay as per below detailed hotels </li><li>
08 Breakfasts and Dinner at Hotels </li><li>
All sightseeing and transportation as per itinerary</li><li>
All toll tax Parking and driver allowance</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Airfare or Train fare </li><li>
Coolie/ Porter charges </li><li>
Any meals other than those specified in Tour Cost Includes</li><li>
Extended stay or travelling due to any reason</li><li>
Expenses of personal nature such as tips, telephone calls, laundry, liquor etc.</li><li>
Guide & Entrance fees during sightseeing.</li><li>
Any other item not specified in ‘Tour cost includes.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>50% 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">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>14999</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</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><li>
Refund will be made within 15 working days from the date of receipt of the cancellation.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.samguantourism.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Char Dham Yatra 08 Night 09 Days 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="196282"/>
						</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.samguantourism.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/badrinath-tour-packages.htm" title="Badrinath Tour Packages">Badrinath</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/kedarnath-tour-packages.htm" title="Kedarnath Tour Packages">Kedarnath</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/gangotri-tour-packages.htm" title="Gangotri Tour Packages">Gangotri</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/dalhousie-tour-packages.htm" title="Dalhousie Tour Packages">Dalhousie</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/yamunotri-tour-packages.htm" title="Yamunotri Tour Packages">Yamunotri</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/dharamshala-tour-packages.htm" title="Dharamshala Tour Packages">Dharamshala</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/dungarpur-tour-packages.htm" title="Dungarpur Tour Packages">Dungarpur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</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.samguantourism.in/uttarkashi-tour-packages.htm" title="Uttarkashi Tour Packages">Uttarkashi</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.samguantourism.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</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.samguantourism.in/dehradun-tour-packages.htm" title="Dehradun Tour Packages">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.samguantourism.in/barkot-tour-packages.htm" title="Barkot Tour Packages">Barkot</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.samguantourism.in/rudraprayag-tour-packages.htm" title="Rudraprayag Tour Packages">Rudraprayag</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.samguantourism.in/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</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.samguantourism.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</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.samguantourism.in/katra-tour-packages.htm" title="Katra Tour Packages">Katra</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.samguantourism.in/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</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.samguantourism.in/agra-tour-packages.htm" title="Agra Tour Packages">Agra</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.samguantourism.in/corbett-tour-packages.htm" title="Corbett Tour Packages">Corbett</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.samguantourism.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.samguantourism.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(1)</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 Srinagar, Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Rudraprayag, Uttarkashi, Barkot, Dungarpur</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.samguantourism.in/holiday-packages/char-dham-yatra10-night11-daysex-delhi.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/569552/311426.jpg"  alt="Char Dham Yatra 10 Night 11 Days Ex- Delhi Tour" title="Char Dham Yatra 10 Night 11 Days Ex- Delhi Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.samguantourism.in/holiday-packages/char-dham-yatra10-night11-daysex-delhi.htm" title="Char Dham Yatra 10 Night 11 Days Ex- Delhi Tour"><h3>Char Dham Yatra 10 Night 11 Days Ex- Delhi..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 18999</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								10 Nights / 11 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Srinagar, Haridwar, Kedarnath..</p>
															<div class="mt10px small">
							<form name="pkg_196283" id="pkg_196283" method="post" action="http://www.samguantourism.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.samguantourism.in/holiday-packages/char-dham-yatra10-night11-daysex-delhi.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Char Dham Yatra 10 Night 11 Days Ex- Delhi Tour - 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="196283"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.samguantourism.in/holiday-packages/chardham-yatraby-helicopter-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/569552/312115.jpg"  alt="Chardham Yatra By Helicopter Package" title="Chardham Yatra By Helicopter Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.samguantourism.in/holiday-packages/chardham-yatraby-helicopter-package.htm" title="Chardham Yatra By Helicopter Package"><h3>Chardham Yatra By Helicopter Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 167000</b> <b class="xsmall alpha50">Per Person</b></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_196553" id="pkg_196553" method="post" action="http://www.samguantourism.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.samguantourism.in/holiday-packages/chardham-yatraby-helicopter-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Chardham Yatra By Helicopter Package - 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="196553"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.samguantourism.in/holiday-packages/do-dham-yatraby-helicopter-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/569552/312116.jpg"  alt="Do Dham Yatra by Helicopter Package" title="Do Dham Yatra by Helicopter Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.samguantourism.in/holiday-packages/do-dham-yatraby-helicopter-package.htm" title="Do Dham Yatra by Helicopter Package"><h3>Do Dham Yatra By Helicopter Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 90000</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								1 Day 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dehradun, Kedarnath, Badrinath</p>
															<div class="mt10px small">
							<form name="pkg_196554" id="pkg_196554" method="post" action="http://www.samguantourism.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.samguantourism.in/holiday-packages/do-dham-yatraby-helicopter-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Do Dham Yatra by Helicopter Package - 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="196554"/>
							</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:83:"Book Char Dham Yatra 08 Night 09 Days Ex-haridwar - 8 Nights / 9 Days Tour Packages";i:2;s:242:"book char dham yatra 08 night 09 days ex-haridwar - 8 nights / 9 days tour packages, religious & pilgrimage tour packages, srinagar, haridwar, kedarnath, badrinath, yamunotri, gangotri, rudraprayag, uttarkashi, barkot, dungarpur tour packages";i:3;s:290:"Samguan Tourism India Pvt. Ltd. offers Char Dham Yatra 08 Night 09 Days Ex-haridwar - 8 Nights / 9 Days tour package, budget Religious & Pilgrimage tour packages for Srinagar, Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Rudraprayag, Uttarkashi, Barkot, Dungarpur at exciting price.";i:4;s:1067:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Rudraprayag, Uttarkashi, Barkot, Dungarpur"        
		                 },
		      "description": "Char dham Yatra is one of the most important place for hindu pilgrimage. Everyone want to visit chardham yatra once in their life. Basically char dham Yatra is 8Night/9Days. Chardham yatra package begins from Haridwar and We will transfer by cab to the holy shrines via Rishikesh.
This Yatra covers to Yamunotri, Gangotri, Kedarnath and Badrinath. Besides the blessing of the almighty, pilgrims enjoy the beauty of nature and the spiritual ambience of Himalayas covered by snow, the melodious chirping of birds & the scatter thick green forests.",
		      "name": "Char Dham Yatra 08 Night 09 Days Ex-haridwar",
		      "telephone": "+91-7982528144"
		    }
		    </script>
			";i:5;N;}