a:6:{i:0;s:32334:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Chardham Yatra Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.caminotoursandtravels.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.caminotoursandtravels.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Chardham Yatra Package</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>Tour Code :</b> CTT-09</p>
												<p class="mb5px"><b>Duration :</b> 
						11 Nights / 12 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Chamoli, Rudraprayag, Uttarkashi</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.caminotoursandtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chardham Yatra Package - 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="13410"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px 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 w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/251987/24628.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/251987/24628.jpg"  height="150"  width="150"    alt="Chardham Yatra Package" title="Chardham Yatra Package" /></a></p></div></li>
																		<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_9/251987/24629.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/251987/24629.jpg"  height="150"  width="150"    alt="Chardham Yatra Package" title="Chardham Yatra Package" /></a></p></div></li>
																		<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_9/251987/24630.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/251987/24630.jpg"  height="150"  width="150"    alt="Chardham Yatra Package" title="Chardham Yatra Package" /></a></p></div></li>
																		<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_9/251987/24631.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/251987/24631.jpg"  height="150"  width="150"    alt="Chardham Yatra Package" title="Chardham Yatra Package" /></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>
													
								3.09% Govt. Service Tax, All Meals, Table drinks, laundry, porter, pony, tips, camera fee, ropeway charges, entrance charges, travel insurance, personal expenses of the clients or any other expenses incurred due to bad weather, road closure, landslides etc. and anything not specified in cost include.31-0730-06								</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 (230 kms/6-7hrs)
										</p>
										<p class="aj">Arrival Delhi Railway Station, Meet & Assist further drive to Haridwar. Later drive to Haridwar transfer to your Hotel. Visit Har-ki-Pauri for Ganga Aarti in evening. Back to your hotel, Night halt.<br />
Haridwar : Haridwar, lying at the feet of Shiva's hills, i.e., Shivaliks, in the Haridwar district of Uttaranchal Pradesh, is a doorway. Suryavanshi prince Bhagirath performed penance here to salvage the souls of his ancestors who had perished due to the curse of sage Kapila. The penance was answered and the river Ganga trickled forth forms Lord Shiva's locks and its bountiful water revived the sixty thousand sons of king Sagara. In the traditional of Bhagirath, devout Hindus stand in the sacred waters here, praying for salvation of their departed elder. It is doorway to the sources of the Ganga and the Yamuna, 3000 to 4500 meters up into the snowy ranges of the central Himalayas. The 'Aarti' worship of the Ganga after sunset and the floating 'dia' (lamp) is a moving ritual.</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 (220kms/7-8hr)
										</p>
										<p class="aj">Drive to Barkot via Dehradun & Mussoorie. Enroute visit Kempty Fall and others later drive straight to your Hotel for night halt.</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 & 6kms Trek (one side)}
										</p>
										<p class="aj">Drive to Jankichatti / Phoolchatti, trek start from here to Yamunotri (6kms). Either by walk or by horse or by Doli at own cost. Arr. Yamunotri, One can cook rice by packing it in a cloth and dipping it in the hot water of the hot kund. Pilgrims take this cooked rice home as "Prasad". Here near the temple "Pooja" can be offered to Divya Shila, After taking bath in Jamunabai Kund's warn water and having "Darshan" of pious "Yamunaji" returning to Jankichatti. Later drive back to Barkot. Overnight stay at Hotel.<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.<br />
<br />
Surya Kund: There are a Number of thermal springs in the vicinity of the temple, which flows into numerous pools. The most important of these is Surya Kund.<br />
<br />
Divya Shila: A rock pillar, worshipped before entering the Yamunotri Temple.</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)
										</p>
										<p class="aj">Drive to Uttarkashi via Barkot. Check in Hotel, Later visit Vishwanath Temple. Night Halt.<br />
<br />
Uttarkashi: Situated at the bank of river Bhagirathi. The temple of Lord Vishwanath is located here where a massive iron trident is erected. The other important temples situated here are Ekadash Rudra, Bhairav, Gyaneshwar and Goddess Kuteti Devi.</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/3hr each side)
										</p>
										<p class="aj">We proceed to Gangotri (3048 mts), enroute we enjoy picturesque Harsil village, Bhagirathi River and the most magnificent view of the Himalayas. After Gangotri Darshan we return to Uttarkashi. overnight stay at Uttarkashi.<br />
<br />
Gangotri Temple: The temple, constructed by the Gorkha General Amar Singh Thapa in the 18th Century, is situated on the right bank of Bhagirathi.<br />
<br />
Submerged Shivling: Submerged in the river, this natural rock Shivling is the place where, according to mythology Lord Shiva sat when he received the Ganga in his matted lock. It is visible in winter months when water level decreases.<br />
<br />
Kedar Ganga Sangam: Around 100 Yards from the Ganga Temple flows the river Kedar Ganga. Starting from the Kedar Valle, this river meets the Bhagirathi on its left bank.</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)
										</p>
										<p class="aj">Early morning, drive straight to Guptkashi. Check in Hotel, night halt.</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 (30kms by road & 14kms Trek)
										</p>
										<p class="aj">Morning drive to Gaurikund, Trek start from Gaurikund to Kedarnath (3584 mts) on foot or on by pony / Doli. Tour members should carry personal medicines, heavy woolen, toiletries and clothes for an overnight halt at Kedarnath. Check in Hotel. Later visit Kedarnath Temple. Night halt.<br />
<br />
Gaurikund: At a distance of 5kms from Sonprayag and at an altitude of 1982 meters., one can take bath in the hot water pond here and visit the Gauri Temple. This is the place where Goddess Parvathi meditated to attain Lord Shiva. It is the base for a trek to Kedarnath.<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, the protector and the destroyer. 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. The r! emaining portions of Lord Shiva appeared at four other places and are worshipped there as his manifestations. The arms appeared at Tungnath, the face at Rudranath, the belly at Madhmaheshwar and his locks (hair) with head at Kalpeshwar. Kedarnath and the four above-mentioned shrines are treated as Panch Kedar.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 8:</b> Kedarnath - Rudraprayag (14Kms Down Trek & 75kms/3hr by Road)
										</p>
										<p class="aj">Early morning, after Temple Darshan trek down to Gaurikund. Later, drive to Rudraprayag via Guptkashi. Check in Hotel at Rudraprayag. Night Halt. Rudraprayag: It is the confluence of river Mandakini and river Alaknanda.</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 - Badrinath (165kms/7hr)
										</p>
										<p class="aj">Drive to Badrinath via Joshimath. Check in Hotel. Later at evening visit Badrinath Temple for Aarti. Overnight stay.<br />
<br />
Badrinath one of the 'Four Dhams' is one of the most celebrated pilgrimage spots of the country and is situated at an elevation of 3,133 meters, guarded on either side by the two mountain ranges known as Nar & Narayan with the towering Neelkanth Peak providing a splendid backdrop. This revered spot was once carpeted with wild berries. Thus the place got the name "Badri van", meaning "forest of berries".<br />
<br />
Tapt Kund : Natural thermal springs on the bank of the river Alaknanda, where it is customary to bathe before entering the Badrinath temple.<br />
<br />
Narad Kund : A recess in the river, near Tapt Kund, forming a pool from where the Badrinath idol was recovered.<br />
<br />
Brahama Kapal : A flat platform on the bank of river Alaknanda. Hindus perform proppitiating rites for their deceased ancestors.<br />
<br />
Sheshnetra : 1.5kms. away is a boulder having an impression of the legendary serpent, better known as the Sheshnag's eye.<br />
<br />
Charanpaduka : 3kms. away is a beautiful meadow where the footprint of Lord Vishnu is seen on a boulder.<br />
<br />
Mata Murty Temple : Devoted to the mother of Sri Badrinathji. Other important temples include Sesh Netra Temple, Urvashi Temple and Charanpaduka.<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 />
Joshimath is situated on the slopes above the confluence of Alaknanda and Dhauliganga. Of the four 'Maths' established by Adi Shankaracharya, Joshimath is in the Badrinath to Joshimath and installed in the temple for people to worship. There are many temples in the township most important is the temple of Nir Singh in commotion of Lord Vishnu. The left arm of this deity is with time and the popular belief holds that the day the 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. Joshimath is connected by regular bus service to Rishikesh, Haridwar, Badrinath and many other centres in the region.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 10:</b> Badrinath - Rudraprayag (160kms/7hr)
										</p>
										<p class="aj"> Early morning, pilgrims after having a bath in the Taptkund have the Darshan of Badrivishal. Brahamakapal is significant for Pinddan Shraddh of ancestors (Pitrus). There are other interesting sight seeing spot like Mana, Vyas Gufa, Maatamoorti, Charanpaduka, Bhimkund and the "Mukh" of the Saraswati River. Just within the three kms of Badrinathjee. Later drive back to Joshimath. Check in Hotel. Overnight stay at Joshimath.<br />
<br />
Joshimath is situated on the slopes above the confluence of Alaknanda and Dhauliganga. Of the four 'Maths' established by Adi Shankaracharya, Joshimath is in the Badrinath to Joshimath and installed in the temple for people to worship. There are many temples in the township most important is the temple of Nir Singh in commotion of Lord Vishnu. The left arm of this deity is with time and the popular belief holds that the day the 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. Joshimath is connected by regular bus service to Rishikesh, Haridwar, Badrinath and many other centres in the region.</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> Rudraprayag - Rishikesh (140kms/4hr)
											</p>
											<p class="aj">Drive to Rishikesh, the 'place of sages' is a celebrated spiritual town on the bank of Ganga and is surrounded by Shivalik range of the Himalayas on three sides. It is said that when Raibhya Rishi did hard penances, God appeared by the name of " Hrishikesh " and this area hence firth came to be known as Rishikesh.<br />
<br />
Check in Hotel. Later visit Rishikesh Temples & Sight Seeing - Laxman Jhulla, Ram Jhulla, Triveni Ghat, Bharat Mandir, Shivananda Ashram, Parmarth Ashram.. Overnight stay.</p>
											</td>	
											</tr>
											</table>				
											</div>
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 12:</b> Rishikesh - Hardwar - Delhi (230kms/7hr)
											</p>
											<p class="aj">Drive back to Delhi. On Arr. Delhi, transfer to Railway Station / Airport. Tour Terminate. Tour ends with sweet memories.</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>Transport</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>3.09% Govt. Service Tax, All Meals, Table drinks, laundry, porter, pony, tips, camera fee, ropeway charges, entrance charges, travel insurance, personal expenses of the clients or any other expenses incurred due to bad weather, road closure, landslides etc. and anything not specified in cost include.</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 * 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. * 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.caminotoursandtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chardham Yatra Package - 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="13410"/>
						</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.caminotoursandtravels.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-nainital.htm" title="Packages in Nainital">Nainital</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-ahmedabad.htm" title="Packages in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-guwahati.htm" title="Packages in Guwahati">Guwahati</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-dwarka.htm" title="Packages in Dwarka">Dwarka</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-diu.htm" title="Packages in Diu">Diu</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.caminotoursandtravels.in/packages-in-bhopal.htm" title="Packages in Bhopal">Bhopal</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.caminotoursandtravels.in/packages-in-madurai.htm" title="Packages in Madurai">Madurai</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.caminotoursandtravels.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</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.caminotoursandtravels.in/packages-in-coimbatore.htm" title="Packages in Coimbatore">Coimbatore</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.caminotoursandtravels.in/packages-in-indore.htm" title="Packages in Indore">Indore</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.caminotoursandtravels.in/packages-in-ranikhet.htm" title="Packages in Ranikhet">Ranikhet</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.caminotoursandtravels.in/packages-in-agra.htm" title="Packages in Agra">Agra</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.caminotoursandtravels.in/packages-in-bhavnagar.htm" title="Packages in Bhavnagar">Bhavnagar</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.caminotoursandtravels.in/packages-in-ooty.htm" title="Packages in Ooty">Ooty</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.caminotoursandtravels.in/packages-in-ujjain.htm" title="Packages in Ujjain">Ujjain</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.caminotoursandtravels.in/packages-in-vadodara-baroda.htm" title="Packages in Vadodara (Baroda)">Vadodara (Baroda)</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.caminotoursandtravels.in/packages-in-gondal.htm" title="Packages in Gondal">Gondal</a> <b class="alpha50 bn small">(2)</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.caminotoursandtravels.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(24)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.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.caminotoursandtravels.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.caminotoursandtravels.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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:63:"Book Chardham Yatra Package - 11 Nights / 12 Days Tour Packages";i:2;s:149:"book chardham yatra package - 11 nights / 12 days tour packages, religious & pilgrimage tour packages, chamoli, rudraprayag, uttarkashi tour packages";i:3;s:188:"Camino Tours & Travels offers Chardham Yatra Package - 11 Nights / 12 Days tour package, budget Religious & Pilgrimage tour packages for Chamoli, Rudraprayag, Uttarkashi at exciting price.";i:4;s:737:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chamoli, Rudraprayag, Uttarkashi"        
		                 },
		      "description": "3.09% Govt. Service Tax, All Meals, Table drinks, laundry, porter, pony, tips, camera fee, ropeway charges, entrance charges, travel insurance, personal expenses of the clients or any other expenses incurred due to bad weather, road closure, landslides etc. and anything not specified in cost include.31-0730-06",
		      "name": "Chardham Yatra Package",
		      "telephone": "+91-9831953679"
		    }
		    </script>
			";i:5;N;}