a:6:{i:0;s:11683:"				<div class="h1"><h1>Delhi - Nainital - Ranikhet - Delhi 03 Night / 04 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 - Nainital - Ranikhet - Delhi 03 Night / 04 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">
						3 Nights / 4 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Nainital, Ranikhet</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 - Nainital - Ranikhet - Delhi 03 Night / 04 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="117878"/>
						</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/191262.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507555/191262.jpg"  width="150" height="150"    alt="Delhi - Nainital - Ranikhet - Delhi 03 Night / 04 Days Tour" title="Delhi - Nainital - Ranikhet - Delhi 03 Night / 04 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> Delhi- Nainital (298 Kms)
								</p>
								<p class="aj">Morning 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. Evening visit Nanda Devi Temple & 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 2:</b> In Nainital
								</p>
								<p class="aj">Morning after breakfast you will proceed for a local tour of Nainital visit Snow View, Naini Peak, Afternoon proceed for lake tour visit Bhimtal, Sattal & Naukuchiatal, Evening back to Nainital. Overnight at hotel 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> Nainital - Ranikhet - Nainital (120 Kms round trip)
								</p>
								<p class="aj">Morning after breakfast proceed for a day excursion to Ranikhet, Ranikhet is a small hill station set in the Kumaon hills. It offers the tourists a panoramic view of the mighty Himalayan peaks. In Ranikhet visit Chaubatia, Upat and Kalika Temple & Ranikhet Golf course. Evening return back to Nainital. Overnight at hotel 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> Nainital - Delhi (298 Kms)
								</p>
								<p class="aj">Morning after breakfast check out from the hotel and drive to Delhi on arrival drop at Delhi airport / railway station to board the flight/train for onwards journey. 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>
															</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><br />
1) All booking request for the packages has to be sent to us only by writing e-mail at<br />
2) Details required for Confirmation:<br />
Please provide the following details along with your booking request:<br />
a. Clients or Group Name.<br />
b. Total No of people along with adult sharing the rooms and child with or without bed.<br />
c. Gender, Age, Valid photo id proof with address of all travelling passengers<br />
d. Date of Arrival and Departure with flight details (if travelling via air).<br />
3) 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.<br />
4) 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.<br />
5) 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.

<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>a. Demand Draft: In favor of &ldquo;Intense India Tours.&rdquo; payable at New Delhi</li>
	<li>b. At Par Cheque: Issue in the name of &ldquo;Intense India Tours.&rdquo; .</li>
	<li>c. Cash / Cheque Deposit in the following:</li>
</ul>

<p><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 - Nainital - Ranikhet - Delhi 03 Night / 04 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="117878"/>
						</form>
						</div>
						
						";i:1;s:98:"Book Delhi - Nainital - Ranikhet - Delhi 03 Night / 04 Days Tour - 3 Nights / 4 Days Tour Packages";i:2;s:165:"book delhi - nainital - ranikhet - delhi 03 night / 04 days tour - 3 nights / 4 days tour packages, valley tour packages, new delhi, nainital, ranikhet tour packages";i:3;s:205:"Gets Holiday India Tour offers Delhi - Nainital - Ranikhet - Delhi 03 Night / 04 Days Tour - 3 Nights / 4 Days tour package, budget Valley tour packages for New Delhi, Nainital, Ranikhet at exciting price.";i:4;s:1505:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Nainital, Ranikhet"        
		                 },
		      "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 - Nainital - Ranikhet - Delhi 03 Night / 04 Days Tour",
		      "telephone": "+91-8532003202"
		    }
		    </script>
			";i:5;N;}