a:6:{i:0;s:19519:"				<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-->				
									<div class="h1"><h1>Chardham Yatra by Helicopter Tour 4 Nights / 5 Days</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.omsaitourandtravel.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.omsaitourandtravel.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Chardham Yatra by Helicopter Tour 4 Nights / 5 Days</p> 
									
						<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> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Uttarkashi, Bharmour</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="https://www.omsaitourandtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chardham Yatra by Helicopter Tour 4 Nights / 5 Days - 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="198787"/>
						</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_28/834276/319259.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_28/834276/319259.jpg"  height="150"  width="150"    alt="Chardham Yatra by Helicopter Tour 4 Nights / 5 Days" title="Chardham Yatra by Helicopter Tour 4 Nights / 5 Days" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								CHARDHAM YATRA IN 4 NIGHTS/ 5 DAYS This is the most luxurious and comfortable package for Chardham Yatra by Helicopter in Uttarakhand.<br />
Chardham Yatra by helicopter in 4 Nights and 5 days gives you ample time to for Darshan, relax in the beautiful surrounding of snow clad Himalayan peaks and spend full day in darshan and local sightseeing with friends and family.<br />
Our Package includes<br />
Helicopter Trip from ex Dehradun Complementary stay, pickup and airport transfer for 1 Night in Haridwar / Dehradun,<br />
Hotel accommodation for 4 nights will all meals ( AP ) at each Dham<br />
Palki at Yamunotri All Local transport and sightseeing by Toyota Innova<br />
VIP Darshan at all four temples Maha Abhishek Puja at Badrinath Helicopter Tickets Any Meals Other Than Those Specified In ‘cost Includes’ Expenses of Personal Nature Such As Tips, Telephone Calls, Laundry, Etc.<br />
5 % Government Service Tax.<br />
Guide & Entrance Fees during Sightseeing.								</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> Dehradun - Yamunotri Departure Sahastradhara helipad, Dehradun
										</p>
										<p class="aj">Arrival Kharsali helipad, Yamunotri<br />
Passengers are requested to reach state government helipad on Sahastradhara Road, Dehradun which is the starting and ending point of this yatra. Vehicles are arranged for pick up. Our pilots and ground staff will brief the guest about the entire trip and do’s and don’ts. Breakfast will be arranged at Kharsali so passengers can leave their hotel early without taking breakfast. Upon arrival at Kharsali (The helipad for Yamunotri) passengers are welcomed by Heritage Aviation (HA), ground staff, who will unload your baggage and carry them to your hotel.<br />
Hotel to temple is a 6 KMS trek and return journey will take approx. 5 hour 30 min.<br />
The trek will be travel by Palki for all the guests. Generally passengers will reach hotel by lunch time which is arranged at hotel. Evening after some rest do visit to ancient Shani temple which is nearby.    <br />
Meals : Breakfast, Lunch & Dinner</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> Yamunotri - Gangotri
										</p>
										<p class="aj">Departure Yamunotri helipad<br />
AM Arrival Harsil Helipad<br />
Harsil is one of the most beautiful and picturesque valleys in Uttrakhand and also known as mini Switzerland. Gangotri temple is approx 22 KMS from Harsil helipad and drive by car is approx. 50 mins.<br />
Stay at Harsil is arranged at Himalayan Nature Resort which is around 2 KMS from helipad. Our ground staff will assist passengers with Darshan at Gangotri Dham.<br />
Meals : Breakfast, Lunch & Dinner</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> Gangotri - Kedarnath
										</p>
										<p class="aj">Departure Harsil helipad<br />
Arrival Kedarnath helipad<br />
Helipad is approx. 500 meters from temple and will take approx. 20 min walk. As Kedarnath doesn’t have night halt facility once the Darshan is completed return to helipad. Stay is arranged at Guptkashi / Sitapur.<br />
Passengers can visit ancient Triyuginarayan temple in the evening.<br />
Meals : Breakfast, Lunch & Dinner</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> Kedarnath - Badrinath
										</p>
										<p class="aj">Departure Kedarnath / Guptkashi helipad<br />
Arrival Badrinath helipad<br />
After arrival passengers can check in to Hotel Sarovar Portico which is close to temple. Our ground staff will assist passengers in Darshan at temple.A visit to Mana village is highly recommended as this is the last village before international border with china.<br />
The special Maha Abhishek Pooja is the highlight of this entire yatra. It starts at 430 AM sharp in the morning and last for 2 hours. We have arranged an opportunity for all our guest to sit inside the temple and cherishes the darshan of the Shringar of the deity from close quarters.<br />
Meals : Breakfast, Lunch & Dinner</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> Badrinath - Dehradun
										</p>
										<p class="aj">Departure Badrinath helipad<br />
Arrival Sahastradhara helipad, Dehradun This is the end of Char Dham Yatra.<br />
Meals : Breakfast, Lunch & Dinner</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>Hotel</li>
																				<li>EP (No Meal)</li><li>
	4 Star Hotel</li><li>
	Meals</li><li>
	Entry Tickets</li><li>
	Cab Transfer</li><li>
	Stay Included</li><li>
	Veg Meals</li><li>
	Pickup-Drop</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Helicopter Tickets</li><li>
	Any Meals Other Than Those Specified In ‘cost Includes’</li><li>
	Expenses of Personal Nature Such As Tips, Telephone Calls, Laundry, Etc.</li><li>
	5 % Government Service Tax.</li><li>
	Guide & Entrance Fees during Sightseeing.</li><li>
	Interstate Entry/Permit Charges.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>•	20% 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></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.omsaitourandtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chardham Yatra by Helicopter Tour 4 Nights / 5 Days - 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="198787"/>
						</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="https://www.omsaitourandtravel.com/rishikesh-tour-packages.htm" title="Rishikesh Tour Packages">Rishikesh</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/badrinath-tour-packages.htm" title="Badrinath Tour Packages">Badrinath</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/kedarnath-tour-packages.htm" title="Kedarnath Tour Packages">Kedarnath</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/nainital-tour-packages.htm" title="Nainital Tour Packages">Nainital</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/mukteshwar-tour-packages.htm" title="Mukteshwar Tour Packages">Mukteshwar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/devprayag-tour-packages.htm" title="Devprayag Tour Packages">Devprayag</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/gangotri-tour-packages.htm" title="Gangotri Tour Packages">Gangotri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.omsaitourandtravel.com/bharmour-tour-packages.htm" title="Bharmour Tour Packages">Bharmour</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.omsaitourandtravel.com/rudraprayag-tour-packages.htm" title="Rudraprayag Tour Packages">Rudraprayag</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.omsaitourandtravel.com/ranikhet-tour-packages.htm" title="Ranikhet Tour Packages">Ranikhet</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.omsaitourandtravel.com/mussoorie-tour-packages.htm" title="Mussoorie Tour Packages">Mussoorie</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.omsaitourandtravel.com/auli-tour-packages.htm" title="Auli Tour Packages">Auli</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.omsaitourandtravel.com/joshimath-tour-packages.htm" title="Joshimath Tour Packages">Joshimath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.omsaitourandtravel.com/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.omsaitourandtravel.com/barkot-tour-packages.htm" title="Barkot Tour Packages">Barkot</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.omsaitourandtravel.com/yamunotri-tour-packages.htm" title="Yamunotri Tour Packages">Yamunotri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.omsaitourandtravel.com/uttarkashi-tour-packages.htm" title="Uttarkashi Tour Packages">Uttarkashi</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="https://www.omsaitourandtravel.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/water-rafting-holidays-catid.htm" title="Water Rafting Packages">Water Rafting</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.omsaitourandtravel.com/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="https://www.omsaitourandtravel.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</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:90:"Book Chardham Yatra by Helicopter Tour 4 Nights / 5 Days - 4 Nights / 5 Days Tour Packages";i:2;s:150:"book chardham yatra by helicopter tour 4 nights / 5 days - 4 nights / 5 days tour packages, heritage tour packages, uttarkashi, bharmour tour packages";i:3;s:189:"Om Sai Tour and Tarvel offers Chardham Yatra by Helicopter Tour 4 Nights / 5 Days - 4 Nights / 5 Days tour package, budget Heritage tour packages for Uttarkashi, Bharmour at exciting price.";i:4;s:1379:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Uttarkashi, Bharmour"        
		                 },
		      "description": "CHARDHAM YATRA IN 4 NIGHTS/ 5 DAYS This is the most luxurious and comfortable package for Chardham Yatra by Helicopter in Uttarakhand.
Chardham Yatra by helicopter in 4 Nights and 5 days gives you ample time to for Darshan, relax in the beautiful surrounding of snow clad Himalayan peaks and spend full day in darshan and local sightseeing with friends and family.
Our Package includes
Helicopter Trip from ex Dehradun Complementary stay, pickup and airport transfer for 1 Night in Haridwar / Dehradun,
Hotel accommodation for 4 nights will all meals ( AP ) at each Dham
Palki at Yamunotri All Local transport and sightseeing by Toyota Innova
VIP Darshan at all four temples Maha Abhishek Puja at Badrinath Helicopter Tickets Any Meals Other Than Those Specified In ‘cost Includes’ Expenses of Personal Nature Such As Tips, Telephone Calls, Laundry, Etc.
5 % Government Service Tax.
Guide & Entrance Fees during Sightseeing.",
		      "name": "Chardham Yatra by Helicopter Tour 4 Nights / 5 Days",
		      "telephone": "+91-9634763570"
		    }
		    </script>
			";i:5;N;}