a:6:{i:0;s:13120:"				<div class="h1"><h1>Delhi - Mussoorie - Corbett - Nainital - Delhi 05 Night / 06 Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.getsholidayindiatour.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.getsholidayindiatour.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Delhi - Mussoorie - Corbett - Nainital - Delhi 05 Night / 06 Days 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">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Mussoorie, Nainital, Corbett</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.getsholidayindiatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delhi - Mussoorie - Corbett - Nainital - Delhi 05 Night / 06 Days 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="117881"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<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_17/507555/191264.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507555/191264.jpg"  width="150" height="150"    alt="Delhi - Mussoorie - Corbett - Nainital - Delhi 05 Night / 06 Days Tour" title="Delhi - Mussoorie - Corbett - Nainital - Delhi 05 Night / 06 Days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Rates per person on twin sharing in Indian Rupees based on base category room at all hotels. <br />
Transport using Indigo/Dezire for 02/03 pax; Innova for 04 Till 06 Pax only & instead of till 06 pax, rates shall be on request basis.<br />
Daily Breakfast & Dinner at respective Hotels/Resort included (Veg at religious destinations)<br />
Transport cost included with all toll tax, parking, interstate taxes, drivers allowance. <br />
Sightseeing as per the itineraries.<br />
Rates are valid Till March 2018.<br />
<br />
Note: The above mentioned rates are not valid during Christmas & New Year, Long Weekends, National holidays & festive period. All rates are subject to change without prior notice.GST @ 5% extra on total billing.<br />
Airfare/Transport is not on disposable basis.<br />
Jeep Safari, Boat rides, Pony rides, Cable Car rides, Train Fares, Air Fares, Personal expenses are not included.<br />
Meals except including in the costs, Boating, Ropeway etc during sightseeing are not included. <br />
AC would not run on Hill drives.<br />
Entrance fees to the places of interest to visit.<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 - Mussoorie (270 Kms)
								</p>
								<p class="aj">Arrive Delhi and drive to Mussoorie. Rising over the Doon valley in the state of Uttaranchal is the Queen of Hill Stations, Mussoorie. The misty mountains, old fashioned architecture, the profusion of flowers and streams in Mussoorie makes it an ideal place for romantic people.<br />
On arrival check in at hotel. Evening free to explore the town. Overnight at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> In Mussoorie
								</p>
								<p class="aj">Morning after breakfast at hotel proceed for a full day local tour of Mussoorie visit Gun Hill, Kempty Fall, Camel's Back Road, Nag Devta Temple, Mussoorie Lake, Van Chetna Kendra Jwalaji Temple (Benog Hill). Evening walk on mall road. Overnight at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Mussoorie - Corbett (250 Kms)
								</p>
								<p class="aj">Morning drive to Corbett Park, India's first and finest national park. The Corbett Park inhabits a wide variety of flora & fauna. Corbett is famous for its population of Tigers, Elephants and other wild animals. On arrival check in at hotel. Overnight at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Corbett - Nainital (68 Kms)
								</p>
								<p class="aj">Early morning depart for Jeep Safari at National Park (Your own cost) later back to hotel after breakfast check out and drive to Nainital. The attractive hill station of Uttaranchal, and the largest town of Kumaon. Located around a beautiful lake it is one of the most enchanting tourist destinations of India. On arrival check in at hotel. Afternoon depart for half day sightseeing visit Snow view point, Nanda Devi Temple, Thandi Sadak, Bhotia Market & Mall road. Overnight at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> : In Nainital
								</p>
								<p class="aj">Morning after breakfast proceed for lake tour visit Bhimtal, Naukuchiyatal, & Sattal. Evening back to hotel. Overnight at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Nainital - Delhi (300 Kms)
								</p>
								<p class="aj">Morning after breakfast at hotel check out hotel and drive to Delhi on arrival drop at Delhi airport to board the flight and return back home. <br />
Tour Conclude</p>
								</td>
								</tr>
								</table>					
								</div>						<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>Sightseeing</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>GST @ 5% extra on total billing.</li><li>
Airfare/Transport is not on disposable basis.</li><li>
Jeep Safari, Boat rides, Pony rides, Cable Car rides, Train Fares, Air Fares, Personal expenses are not included.</li><li>
Meals except including in the costs, Boating, Ropeway etc during sightseeing are not included. </li><li>
AC would not run on Hill drives.</li><li>
Entrance fees to the places of interest to visit.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>Prices valid for minimum 02 - 06 people traveling together in one vehicle.</li>
	<li>Check-in / check-out time at all the properties would at 12:00 hrs (noon)</li>
	<li>Early check at all the properties would be subject to the availability at that time.</li>
	<li>All the above mentioned rates are per person rates on twin/double sharing basis.</li>
	<li>Child cost is on the basis of sharing room and bed with their parents.</li>
	<li>The above rates are applicable for resident Indian citizens only.</li>
</ul>

<p>&nbsp;<br />
<strong>BOOKING PROCEDURE:-</strong>

<ul>
	<li>All booking request for the packages has to be sent to us only by writing e-mail at:</li>
	<li>Details required for Confirmation:</li>
	<li>Please provide the following details along with your booking request:</li>
	<li>a. Clients or Group Name.</li>
	<li>b. Total No of people along with adult sharing the rooms and child with or without bed.</li>
	<li>c. Gender, Age, Valid photo id proof with address of all travelling passengers</li>
	<li>d. Date of Arrival and Departure with flight details (if travelling via air).</li>
	<li>Reference No: As soon as we receive a booking request a file no. will be sent to you, please note the same for future correspondence.</li>
	<li>Re-Confirmation: All bookings should to be reconfirmed with us minimum 30 - 15 days prior to the date off arrival along with confirmed arrival details, failure on which will be considered as cancellation.</li>
	<li>Service Voucher: The client has to carry an &quot;Exchange Service Voucher&quot; issued by the &ldquo;Discover Ladakh Adventure Tours &amp; Travel&rdquo; which will be provided to to the guest at the time of booking confirmation.<br />
	&nbsp;</li>
</ul>

<p><strong>PAYMENTS:-</strong>

<ul>
	<li>On confirmation: 50% (advance ) to be deposited at the time of booking confirmation.</li>
	<li>Re-confirmation:&nbsp; 50 (2nd installment) should be deposited 30 - 15 days before tour starts.</li>
	<li>Payment Mode: Payments can be remitted through any of the following mode and is subject to realization:</li>
	<li>Demand Draft: In favor of &ldquo;Intense India Tours.&rdquo; payable at New Delhi</li>
	<li>At Par Cheque: Issue in the name of &ldquo;Intense India Tours.&rdquo; .</li>
	<li>Cash / Cheque Deposit in the following:</li>
</ul>


<strong>CANCELLTION POLICY:</strong>

<ul>
	<li>Cancellation request has to be sent to us by e-mail only.</li>
	<li>30 -15 Days prior to departure 25% of tour cost</li>
	<li>14 -07 Days prior to departure 50% of tour cost</li>
	<li>07- 03 Days prior to departure 75% of tour cost</li>
	<li>02 Days or No show - 100% of tour cost</li>
</ul>

<p>&nbsp;<br />
<strong>Note: </strong>Cancelation policy is subject to amend as per policy of hotel booked for your stay in Uttarakhand.

<p><strong>REFUND:-</strong>

<ul>
	<li>Refund will be paid to the source through which the guest is booked. Any refund will take at least 15 days to process &amp; will be sent to you by a/c payee cheque only.</li>
	<li>NO REFUND WILL BE MADE AGAINST ANY UN UTILIZED SERVICES, WHAT SO EVER MAY BE THE REASON</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.getsholidayindiatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delhi - Mussoorie - Corbett - Nainital - Delhi 05 Night / 06 Days 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="117881"/>
						</form>
						</div>
						
						";i:1;s:109:"Book Delhi - Mussoorie - Corbett - Nainital - Delhi 05 Night / 06 Days Tour - 5 Nights / 6 Days Tour Packages";i:2;s:186:"book delhi - mussoorie - corbett - nainital - delhi 05 night / 06 days tour - 5 nights / 6 days tour packages, valley tour packages, new delhi, mussoorie, nainital, corbett tour packages";i:3;s:241:"Book Delhi - Mussoorie - Corbett - Nainital - Delhi 05 Night / 06 Days Tour - 5 Nights / 6 Days tour packages from Gets Holiday India Tour - Get attractive 5 Nights / 6 Days Valley  tour packages for  New Delhi, Mussoorie, Nainital, Corbett.";i:4;s:1526:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Mussoorie, Nainital, Corbett"        
		                 },
		      "description": "Rates per person on twin sharing in Indian Rupees based on base category room at all hotels. 
Transport using Indigo/Dezire for 02/03 pax; Innova for 04 Till 06 Pax only & instead of till 06 pax, rates shall be on request basis.
Daily Breakfast & Dinner at respective Hotels/Resort included (Veg at religious destinations)
Transport cost included with all toll tax, parking, interstate taxes, drivers allowance. 
Sightseeing as per the itineraries.
Rates are valid Till March 2018.

Note: The above mentioned rates are not valid during Christmas & New Year, Long Weekends, National holidays & festive period. All rates are subject to change without prior notice.GST @ 5% extra on total billing.
Airfare/Transport is not on disposable basis.
Jeep Safari, Boat rides, Pony rides, Cable Car rides, Train Fares, Air Fares, Personal expenses are not included.
Meals except including in the costs, Boating, Ropeway etc during sightseeing are not included. 
AC would not run on Hill drives.
Entrance fees to the places of interest to visit.",
		      "name": "Delhi - Mussoorie - Corbett - Nainital - Delhi 05 Night / 06 Days Tour",
		      "telephone": "+91-8532003202"
		    }
		    </script>
			";i:5;N;}