a:6:{i:0;s:21036:"				<div class="h1"><h1>Super Saver Char Dham Yatra 12 Days / 11 Nights Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.grandindiatrip.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Super Saver Char Dham Yatra 12 Days / 11 Nights 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">Tour Code </td>
						<td class="p5px pl0px vat">char dham yatra</td>
						</tr>
												<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">Haridwar, Chamoli, Rudraprayag, Uttarkashi</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 25999 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Super Saver Char Dham Yatra 12 Days / 11 Nights 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="60046"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_9/257644/113317.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/113317.jpg"  width="150" height="150"    alt="Super Saver Char Dham Yatra 12 Days / 11 Nights Tour" title="Super Saver Char Dham Yatra 12 Days / 11 Nights Tour" /></a></p></div></li>
																		<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_9/257644/113315.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/113315.jpg"  width="150" height="150"    alt="Super Saver Char Dham Yatra 12 Days / 11 Nights Tour" title="Super Saver Char Dham Yatra 12 Days / 11 Nights Tour" /></a></p></div></li>
																		<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_9/257644/113316.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/113316.jpg"  width="150" height="150"    alt="Super Saver Char Dham Yatra 12 Days / 11 Nights Tour" title="Super Saver Char Dham Yatra 12 Days / 11 Nights Tour" /></a></p></div></li>
																		<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_9/257644/113319.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/113319.jpg"  width="150" height="150"    alt="Super Saver Char Dham Yatra 12 Days / 11 Nights Tour" title="Super Saver Char Dham Yatra 12 Days / 11 Nights Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					* Ex - Delhi<br />
<br />
Haridwar, Barkot, Uttarkashi, Guptkashi, Kedarnath, Rudraprayag & Badrinath<br />
<br />
One of the most important Hindu pilgrimages, the Char Dham Yatra, is located in the Garhwal region of the state of Uttarakhand. The pilgrimage takes devotees to four sites, Yamunotri, Gangotri, Kedarnath and Badrinath that are revered by the Hindus and sacred according to the Hindu religion. Each temple is representative of one of the Hindu gods - Kedarnath is home to Lord Shiva, Badrinath is home to Lord Vishnu, Yamunotri represent goddess of Shakti Yamuna, and Gangotri represent goddess of Shakti Ganga. The Yatra starts in a west to east direction, from Yamunotri, then proceeding to Gangotri and finally to Kedarnath and Badrinath. The great Hindu philosopher and reformer Adi Shankaracharya initiated the Char Dham yatra in an attempt to revive the Hindu religion during the 8th century.<br />
<br />
HIGHLIGHTS-<br />
Witness the Ganga Aarti at Har-Ki-Pauri.<br />
Yamunotri Darshan.<br />
Visit Kashi Vishwanath temple.<br />
Day excursion to Gangotri.<br />
Visit Kedarnath Temple.<br />
Visit to Badrinath.Please contact our sales staff to give you best flight deals.<br />
The hotel confirmed will be as per the brochure or an alternate hotel of similar category.<br />
Do carry comfortable walking shoes.<br />
All the prices are for Indian Nationals only, unless specified.<br />
All sightseeing is subject to weather, political conditions in the destination.<br />
It is mandatory to carry a valid photo identity card (Passport / Driving License / Voter ID card).<br />
'PL' denotes Packed Lunch.<br />
'L-LR' denotes Lunch at Local Restaurant.<br />
'EL' denotes en route Lunch.<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> Arrive Delhi - On To Haridwar (Approx 214 Kms/Approx. 5 Hours Drive)
								</p>
								<p class="aj">Welcome to your 'Super Saver Char Dham Yatra' tour! On arrival at the airport / railway Station you will reach by own cost at reporting point sharp 9:00am (Hotel Lohmod ,A-292 Mahipalpur Ext, Near Airport New Delhi ) then 9:15 am proceed to Haridwar. On arrival at Haridwar, check-in to your hotel. <br />
The rest of the day is at leisure to explore the city (on your own.) In the evening, you can witness the Ganga Aarti at Har Ki Pauri. <br />
Overnight in Haridwar (D)</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 - On To Barkot (Approx 220 Kms / Approx. 8 Hours Drive)
								</p>
								<p class="aj">Today, after breakfast, proceed to Barkot. Barkot is a beautiful town nestled in the Rawain Valley of Uttarkashi District on the banks of the Yamuna. Via Dehradun and Mussoorie. Enroute visit Kempty Fall and others. On arrival in Barkot, check-in to your Resort. <br />
The rest of the evening is at leisure for you to explore Barkot (on your own).<br />
Overnight in Barkot (B, D)</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 - Excursion To Yamunotri (Approx 46 Kms / Approx. 1 And 1/2 Hours Drive)
								</p>
								<p class="aj">The morning will start with the drive towards Jankichatti / Phoolchatti, the base for Yamunotri trek. After reaching there, start your trek (10 Kms trek one way) and reach the temple of Goddess Yamuna by afternoon. The Darshan and puja will be followed by a dip in the hot springs situated there. Here near the temple 'Pooja' can be offered to Divya Shila, after taking bath in Jamunabai Kund's warm water and having 'Darshan' of pious 'Yamunaji'. Return back to Jankichatti / Phoolchatti (On foot ) and further proceed to your Resort.<br />
Overnight in Barkot (B, D)</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> On To Uttarkashi (Approx 100 Kms / Approx. 5 Hours Drive )
								</p>
								<p class="aj">Today, you will drive to Uttarkashi situated at the bank of river Bhagirathi. On arrival, check-in to your hotel.<br />
Later at evening visit Vishwanath Temple. The temple of Lord Vishwanath is located here where a massive iron trident is erected<br />
Overnight in Uttarkashi. (B, D)</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 - Day Excursion To Gangotri (Approx 100 Kms / Approx. 5 Hours One Way )
								</p>
								<p class="aj">Today, after an early breakfast, proceed Gangotri. Drive along the Bhagirathi river and pass through dense forests. Gangotri Temple, the temple constructed by the Gorkha General Amar Singh Thapa in the 18th Century, is situated on the right bank of Bhagirathi. Shiv Ling is submerged in the river. This natural rock Shiv Ling is the place where, according to mythology Lord Shiva sat when he received the Ganga in his matted lock. It is visible in the winter months when the water level decreases. Kedar Ganga Sangam, around 100 Yards from the Ganga Temple flows the river Kedar Ganga. Starting from the Kedar Valley, this river meets the Bhagirathi on its left bank. Enroute we enjoy picturesque Harsil village, Bhagirathi River and the most magnificent view of the Himalayas After Gangotri Darshan, proceed further to Uttarkashi. On arrival, check-in to your hotel.<br />
Overnight in Uttarkashi (B, D)</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 - On To Guptkashi (Approx 210 Kms / Approx. 9 Hours Drive)
								</p>
								<p class="aj">Today, after an early breakfast, proceed for almost a day long drive to Guptkashi. Enroute you can see the beautiful river Mandakini at Tilwara. The Mandakini river comes from Kedarnath, drive alongside the river to reach Guptkashi. On arrival check in at the hotel. <br />
Later proceed for Kedarnath Pre-registration and return back to hotel. <br />
The rest of the evening is at leisure.<br />
Overnight in Guptkashi (B, D)</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> On To Kedarnath (Approx 30 Kms By Road And Approx 20 Kms Trek One Way)
								</p>
								<p class="aj">Post breakfast, drive to Sonparyag<br />
Later proceed to Gaurikund by local Jeep from Sonparyag.<br />
From Gaurikund start your trek to Kedarnath (3584 mts) on foot or on by pony / Doli. (On your own) proceed to your Guest house and check-in.<br />
Note: Tour members should carry personal medicines, heavy woolen, toiletries and clothes for an overnight halt at Kedarnath<br />
The rest of the evening is at leisure. One can visit the Kedarnath Temple or attend the pooja ceremony. Pay your tribute at the shrine and spend some time soaking up the peaceful, spiritual atmosphere of the place. <br />
Overnight in Kedarnath (B)</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> On To Rudraprayag (Approx 19 Kms Down Trek One Way And Approx 75Kms/ Approx 4Hr By Road)
								</p>
								<p class="aj">After breakfast, begin the 19 kilometer descent on foot to Sonparyag. <br />
Later, drive to Rudraprayag via Guptkashi. On arrival in Rudraprayag, check-in to your resort.<br />
The rest of the evening is at leisure.<br />
Overnight in Rudraprayag. (D)</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> On To Badrinath Via Joshimath ( Approx 165 Km / Approx. 7 Hours Drive)
								</p>
								<p class="aj">Post early breakfast, drive to Badrinath via Joshimath. It is 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 and Narayan with the towering Neelkanth Peak providing a splendid backdrop. On arrival in Badrinath, check-in to your hotel.<br />
Later in the evening visit Badrinath Temple for Aarti on your own.<br />
Overnight in Badrinath (B, D)</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> On To Rudraprayag Via Joshimath ( Approx 160 Kms / Approx. 7 Hours Drive)
								</p>
								<p class="aj">After breakfast, 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 Village. Just within the three kms of Badrinathjee.Tapt Kund: Natural thermal springs on the bank of the river Alaknanda, where it is customary to bathe before entering the Badrinath temple. Narad Kund : A recess in the river, near Tapt Kund, forming a pool from where the Badrinath idol was recovered.<br />
Brahama Kapal : A flat platform on the bank of river Alaknanda. Hindus perform propitiating rites for their deceased ancestors.<br />
Mana Village: Inhabited by an Indo-Mongolian tribe, it is the last Indian village before Tibet. 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 />
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 />
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 />
Later drive back to Rudraprayag via Joshimath. On arrival check in resort.<br />
Overnight in Rudraprayag. (B, D)</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> On To Haridwar Via Rishikesh ( Approx 162 Kms / Approx. 5 Hours Drive)
									</p>
									<p class="aj">Today, after breakfast, proceed to Haridwar, en-route visit of 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. Visit Laxman Jhulla, Ram Jhulla, Triveni Ghat, Bharat Mandir, and Shivananda Ashram. On arrival in Haridwar, check-in at your hotel.<br />
The rest of the evening is at leisure for you to explore the city (on your own). <br />
Overnight in Haridwar. (B, D)</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> On To Delhi (Approx 250 Kms / Approx. 8 Hour Drive)
									</p>
									<p class="aj">Today, bid farewell to your 'Super Saver Char Dham Yatra' tour, as you are transferred to New Delhi railway Station in Delhi for your onward journey. For airlines passenger direct by own your cost ride Metro airport link ( New Delhi Rly station to Airport</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>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Please contact our sales staff to give you best flight deals.</li><li>
The hotel confirmed will be as per the brochure or an alternate hotel of similar category.</li><li>
Do carry comfortable walking shoes.</li><li>
All the prices are for Indian Nationals only, unless specified.</li><li>
All sightseeing is subject to weather, political conditions in the destination.</li><li>
It is mandatory to carry a valid photo identity card (Passport / Driving License / Voter ID card).</li><li>
'PL' denotes Packed Lunch.</li><li>
'L-LR' denotes Lunch at Local Restaurant.</li><li>
'EL' denotes en route Lunch.</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>14 May 2016	21 May 2016	28 May 2016	04 Jun 2016	11 Jun 2016<br />
18 Jun 2016<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. ~^#^~						
    	<p class="h dif xlarge b mb5px">Super Saver Char Dham Yatra 12 Days / 11 Nights</p>
    	<div class="otherDetails aj">Economy<br>
<br>
<br>
Per Person on Twin Sharing Basis	24999.00<br>
On Triple Sharing	23999.00<br>
Child Between (5 - 12 Yrs) with extra bed (or mattress)	20999.00<br>
Child Between (5 - 12 Yrs) with no bed (or mattress)	14999.00<br>
Child Between (2 - 5 Yrs) with seat in Vehicle	5999.00<br>
Child Between (2 - 5 Yrs) Without Seat in Vehicle	599.00<br>
On Single Occupancy	40999.00</div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Super Saver Char Dham Yatra 12 Days / 11 Nights 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="60046"/>
						</form>
						</div>
						
						";i:1;s:93:"Book Super Saver Char Dham Yatra 12 Days / 11 Nights Tour - 11 Nights / 12 Days Tour Packages";i:2;s:189:"book super saver char dham yatra 12 days / 11 nights tour - 11 nights / 12 days tour packages, religious & pilgrimage tour packages, haridwar, chamoli, rudraprayag, uttarkashi tour packages";i:3;s:250:"Book Super Saver Char Dham Yatra 12 Days / 11 Nights Tour - 11 Nights / 12 Days tour packages from Grand India Tours & Travels - Get attractive 11 Nights / 12 Days Religious & Pilgrimage  tour packages for  Haridwar, Chamoli, Rudraprayag, Uttarkashi.";i:4;s:2078:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Haridwar, Chamoli, Rudraprayag, Uttarkashi"        
		                 },
		      "description": "* Ex - Delhi

Haridwar, Barkot, Uttarkashi, Guptkashi, Kedarnath, Rudraprayag & Badrinath

One of the most important Hindu pilgrimages, the Char Dham Yatra, is located in the Garhwal region of the state of Uttarakhand. The pilgrimage takes devotees to four sites, Yamunotri, Gangotri, Kedarnath and Badrinath that are revered by the Hindus and sacred according to the Hindu religion. Each temple is representative of one of the Hindu gods - Kedarnath is home to Lord Shiva, Badrinath is home to Lord Vishnu, Yamunotri represent goddess of Shakti Yamuna, and Gangotri represent goddess of Shakti Ganga. The Yatra starts in a west to east direction, from Yamunotri, then proceeding to Gangotri and finally to Kedarnath and Badrinath. The great Hindu philosopher and reformer Adi Shankaracharya initiated the Char Dham yatra in an attempt to revive the Hindu religion during the 8th century.

HIGHLIGHTS-
Witness the Ganga Aarti at Har-Ki-Pauri.
Yamunotri Darshan.
Visit Kashi Vishwanath temple.
Day excursion to Gangotri.
Visit Kedarnath Temple.
Visit to Badrinath.Please contact our sales staff to give you best flight deals.
The hotel confirmed will be as per the brochure or an alternate hotel of similar category.
Do carry comfortable walking shoes.
All the prices are for Indian Nationals only, unless specified.
All sightseeing is subject to weather, political conditions in the destination.
It is mandatory to carry a valid photo identity card (Passport / Driving License / Voter ID card).
'PL' denotes Packed Lunch.
'L-LR' denotes Lunch at Local Restaurant.
'EL' denotes en route Lunch.",
		      "name": "Super Saver Char Dham Yatra 12 Days / 11 Nights Tour",
		      "telephone": "+91-9415285186"
		    }
		    </script>
			";i:5;N;}