a:6:{i:0;s:30297:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Badrinath Yatra From Haridwar</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.bholeyatra.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.bholeyatra.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Badrinath Yatra From 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> 
						2 Nights / 3 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Haridwar, Badrinath, Joshimath, Rudraprayag</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.bholeyatra.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Badrinath Yatra From 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="194057"/>
						</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_23/667967/307004.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/667967/307004.jpg"  height="150"  width="150"    alt="Badrinath Yatra From Haridwar" title="Badrinath Yatra From Haridwar" /></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>
													
								Badrinath Yatra from Haridwar - Find your divine peace and get yourself the treat your mind and soul with the peace that you have been willing to offer. With Bhole Shankar Teerth Yatra Co.’s Badrinath Yatra from Haridwar, now you can enjoy a detailed and perfect sacred tour of the beautiful holy places in Uttarakhand, Badrinath, Joshimath, Rudraprayag.<br />
<br />
The Ek Dham Yatra Package offered by Bhole Shankar Teerth Yatra Co. particularly includes a tour to the two most important shrines in Hinduism – Kedarnath and Badrinath. With the team, you will get 2 Night/ 3 Days Badrinath Yatra Package from Haridwar, where you will get a chance to explore the sacred places "Badrinath Yatra from Haridwar" and pay your homage to the gods.<br />
<br />
Our Badrinath Yatra Package start from Haridwar and then you will be taken to Joshimath. From Haridwar, your journey towards the Badrinath Yatra Tour Package from Haridwar begins. With Bhole Shankar Teerth Yatra Co., you will also be provided with a lot of other amenities during your trip to Badrinath Yatra from Haridwar. From transportation to accommodation and food – Bhole Shankar Teerth Yatra Co. provides it all.<br />
<br />
So, what are you waiting for? Book your Badrinath Yatra Package 2020 from Haridwar today.								</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 - Badrinath (160kms/7hr) Height: 3133 MTS.
										</p>
										<p class="aj">Meet our driver at Haridwar /station / hotel / home and drive to Badrinath. Check into the hotel arrival in Badrinath.<br />
<br />
Badrinath one of the 'Ancient 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 bath before entering the Badrinath temple.<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 2:</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 is one of the Panch Prayag (five confluences) of Alaknanda River. It is confluence of rivers Alaknanda and Mandakini. Kedarnath, a Hindu holy town is located 86 km from Rudraprayag.<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 3:</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. Drop 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>								<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 accommodation as per package same or similar hotels.</li><li>
Breakfast + Dinner.</li><li>
Transfers and sightseeing as prepackage car.</li><li>
All toll tax, parking, fuel and driver allowances.</li><li>
All applicable hotel and transport taxes.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>GST @5%</li><li>
Lunch does not include in Package.</li><li>
Anything not mentioned under ‘Package Inclusions’</li><li>
All personal expenses, optional tours and extra meals.</li><li>
Medical and travel insurance.</li><li>
Any kind of entry fees anywhere if not mentioned in including.</li><li>
Tips, travel insurance, medical insurance, laundry charges, liquors, mineral water, telephone charges.</li><li>
All items of personal nature.</li><li>
Porter, pony, horse, cable car, boat, train tickets, air tickets charges.</li><li>
VIP Darshan for Kedarnath Darshan.</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.bholeyatra.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Badrinath Yatra From 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="194057"/>
						</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.bholeyatra.com/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/badrinath-tour-packages.htm" title="Badrinath Tour Packages">Badrinath</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/kedarnath-tour-packages.htm" title="Kedarnath Tour Packages">Kedarnath</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/gangotri-tour-packages.htm" title="Gangotri Tour Packages">Gangotri</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/rudraprayag-tour-packages.htm" title="Rudraprayag Tour Packages">Rudraprayag</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/yamunotri-tour-packages.htm" title="Yamunotri Tour Packages">Yamunotri</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/uttarkashi-tour-packages.htm" title="Uttarkashi Tour Packages">Uttarkashi</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/barkot-tour-packages.htm" title="Barkot Tour Packages">Barkot</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/joshimath-tour-packages.htm" title="Joshimath Tour Packages">Joshimath</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bholeyatra.com/guptakashi-tour-packages.htm" title="Guptakashi Tour Packages">Guptakashi</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.bholeyatra.com/kathmandu-tour-packages.htm" title="Kathmandu Tour Packages">Kathmandu</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.bholeyatra.com/pokhara-tour-packages.htm" title="Pokhara Tour Packages">Pokhara</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.bholeyatra.com/lumbini-tour-packages.htm" title="Lumbini Tour Packages">Lumbini</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.bholeyatra.com/dehradun-tour-packages.htm" title="Dehradun Tour Packages">Dehradun</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.bholeyatra.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</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 Haridwar, Badrinath, Joshimath, Rudraprayag</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.bholeyatra.com/holiday-packages/chardham-fixed-departure.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_23/667967/306999.jpg"  height="100"  width="100"    alt="Chardham Fixed Departure Tour" title="Chardham Fixed Departure Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bholeyatra.com/holiday-packages/chardham-fixed-departure.htm" title="Chardham Fixed Departure Tour"><h3>Chardham Fixed Departure Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 19500</b> <b class="xsmall alpha50">Per Person</b></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_194052" id="pkg_194052" method="post" action="http://www.bholeyatra.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bholeyatra.com/holiday-packages/chardham-fixed-departure.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Chardham Fixed Departure 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="194052"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bholeyatra.com/holiday-packages/badrinath-kedarnath-yatra-from-haridwar.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_23/667967/307002.jpg"  height="100"  width="100"    alt="Badrinath Kedarnath Yatra From Haridwar" title="Badrinath Kedarnath Yatra From Haridwar"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bholeyatra.com/holiday-packages/badrinath-kedarnath-yatra-from-haridwar.htm" title="Badrinath Kedarnath Yatra From Haridwar"><h3>Badrinath Kedarnath Yatra From 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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Haridwar, Kedarnath, Badrinath, Joshimat..</p>
															<div class="mt10px small">
							<form name="pkg_194055" id="pkg_194055" method="post" action="http://www.bholeyatra.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bholeyatra.com/holiday-packages/badrinath-kedarnath-yatra-from-haridwar.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Badrinath Kedarnath Yatra From 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="194055"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bholeyatra.com/holiday-packages/yamunotri-gangotri-yatra-from-delhi.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_23/667967/307003.jpg"  height="100"  width="100"    alt="Yamunotri Gangotri Yatra From Delhi" title="Yamunotri Gangotri Yatra From Delhi"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bholeyatra.com/holiday-packages/yamunotri-gangotri-yatra-from-delhi.htm" title="Yamunotri Gangotri Yatra From Delhi"><h3>Yamunotri Gangotri Yatra From Delhi</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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Haridwar, Yamunotri, Gangotri..</p>
															<div class="mt10px small">
							<form name="pkg_194056" id="pkg_194056" method="post" action="http://www.bholeyatra.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bholeyatra.com/holiday-packages/yamunotri-gangotri-yatra-from-delhi.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Yamunotri Gangotri Yatra From Delhi - 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="194056"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bholeyatra.com/holiday-packages/kedarnath-yatra-from-delhi.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_23/667967/307006.jpg"  height="100"  width="100"    alt="Kedarnath Yatra From Delhi" title="Kedarnath Yatra From Delhi"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bholeyatra.com/holiday-packages/kedarnath-yatra-from-delhi.htm" title="Kedarnath Yatra From Delhi"><h3>Kedarnath Yatra From Delhi</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> :  New Delhi, Haridwar, Kedarnath, Guptakas..</p>
															<div class="mt10px small">
							<form name="pkg_194059" id="pkg_194059" method="post" action="http://www.bholeyatra.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bholeyatra.com/holiday-packages/kedarnath-yatra-from-delhi.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kedarnath Yatra From Delhi - 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="194059"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bholeyatra.com/holiday-packages/chardham-package-from-uttrakhand.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_23/667967/306997.jpg"  height="100"  width="100"    alt="Chardham Package from uttrakhand" title="Chardham Package from uttrakhand"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bholeyatra.com/holiday-packages/chardham-package-from-uttrakhand.htm" title="Chardham Package from uttrakhand"><h3>Chardham Package From Uttrakhand</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> :  New Delhi, Haridwar, Kedarnath, Badrinat..</p>
															<div class="mt10px small">
							<form name="pkg_194050" id="pkg_194050" method="post" action="http://www.bholeyatra.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bholeyatra.com/holiday-packages/chardham-package-from-uttrakhand.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Chardham Package from uttrakhand - 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="194050"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bholeyatra.com/holiday-packages/chardham-package-11days-10nights.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_23/667967/306996.jpg"  height="100"  width="100"    alt="Chardham Package (11Days-10Nights)" title="Chardham Package (11Days-10Nights)"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bholeyatra.com/holiday-packages/chardham-package-11days-10nights.htm" title="Chardham Package (11Days-10Nights)"><h3>Chardham Package (11days-10nights)</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> :  New Delhi, Haridwar, Kedarnath, Badrinat..</p>
															<div class="mt10px small">
							<form name="pkg_194049" id="pkg_194049" method="post" action="http://www.bholeyatra.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bholeyatra.com/holiday-packages/chardham-package-11days-10nights.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Chardham Package (11Days-10Nights) - 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="194049"/>
							</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:68:"Book Badrinath Yatra From Haridwar - 2 Nights / 3 Days Tour Packages";i:2;s:165:"book badrinath yatra from haridwar - 2 nights / 3 days tour packages, religious & pilgrimage tour packages, haridwar, badrinath, joshimath, rudraprayag tour packages";i:3;s:193:"Bhole Yatra offers Badrinath Yatra From Haridwar - 2 Nights / 3 Days tour package, budget Religious & Pilgrimage tour packages for Haridwar, Badrinath, Joshimath, Rudraprayag at exciting price.";i:4;s:1698:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Haridwar, Badrinath, Joshimath, Rudraprayag"        
		                 },
		      "description": "Badrinath Yatra from Haridwar - Find your divine peace and get yourself the treat your mind and soul with the peace that you have been willing to offer. With Bhole Shankar Teerth Yatra Co.’s Badrinath Yatra from Haridwar, now you can enjoy a detailed and perfect sacred tour of the beautiful holy places in Uttarakhand, Badrinath, Joshimath, Rudraprayag.

The Ek Dham Yatra Package offered by Bhole Shankar Teerth Yatra Co. particularly includes a tour to the two most important shrines in Hinduism – Kedarnath and Badrinath. With the team, you will get 2 Night/ 3 Days Badrinath Yatra Package from Haridwar, where you will get a chance to explore the sacred places "Badrinath Yatra from Haridwar" and pay your homage to the gods.

Our Badrinath Yatra Package start from Haridwar and then you will be taken to Joshimath. From Haridwar, your journey towards the Badrinath Yatra Tour Package from Haridwar begins. With Bhole Shankar Teerth Yatra Co., you will also be provided with a lot of other amenities during your trip to Badrinath Yatra from Haridwar. From transportation to accommodation and food – Bhole Shankar Teerth Yatra Co. provides it all.

So, what are you waiting for? Book your Badrinath Yatra Package 2020 from Haridwar today.",
		      "name": "Badrinath Yatra From Haridwar",
		      "telephone": "+91-9414401325"
		    }
		    </script>
			";i:5;N;}