a:6:{i:0;s:9564:"				<div class="h1"><h1>Pokhara-Kathmandu with Manokamna by Car</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.dolphinholiday.in/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Pokhara-Kathmandu with Manokamna by Car</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">Tour Code </td>
						<td class="p5px pl0px vat">MHP23</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Gorakhpur, Pokhara</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.dolphinholiday.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Pokhara-Kathmandu with Manokamna by Car - 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="20877"/>
						</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_10/272048/38386.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/272048/38386.jpg"  width="150" height="150"    alt="Pokhara-Kathmandu with Manokamna by Car" title="Pokhara-Kathmandu with Manokamna by Car" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Any food as Per Plan.<br />
Manokamna Cable Car Tickets. Rs INR-300.00<br />
Sight seen Place Entry Fees.INR-250.00<br />
Camera entry fee.<br />
Border Clarence Charges if Purchase by yourself for Custom Charges.  <br />
Cold Drink/Tea/Coffee/Cookies/Mineral water/Laundry Charges.<br />
Booting Charges at Bharhi Temple on Fewa Lake.<br />
Mauntion Flight /Paragliding Charges.<br />
Sun set Tour for Nagarkot/Sarngkot.<br />
Driver Food Charges Rs.200/-INR Per Days.<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> Gorakhpur-Pokhara
								</p>
								<p class="aj">Departure from Gorakhpur to Pokhara via Lumbini Visit 06:00 am (380 Km 8:00 Hrs Drive) Reaching At Pokhara 14:00 Hrs Checking the Hotel and Over Night 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 2:</b> Pokhara Sight Seen
								</p>
								<p class="aj">Departure to Pokhara Sight Seen Place Of Visit- Fewa Lake-Vindhyawasini Temple-Seti River-Mahendra Cave-Devi's Fall-Gupteshwari Cave-Buddha Museum-Barahi Temple Over Night at Pokhara.</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> Pokhara-Manokamna-Kathmandu
								</p>
								<p class="aj">Departure 07:00am From Pokhara to Manokamna Ropeway Platform and visit to Manokamna Temple till 12:00Hrs and Drive to Kathmandu (225 Km 06Hrs Drive) Over Night 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 4:</b> Kathmandu Sight Seen
								</p>
								<p class="aj">Departure after Breakfast 08:00am to Kathmandu City Sight Seen Place Of Visit- Pashupati Nath Temple-Bhadrakali Temple-Buddha Stupa-Budhdha Neelkantha-Swayambhunath-Hanuman Dhoka-Rani Pokhari-New Road-Royal Palace-Balaju Water Park Over Night 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 5:</b> Kathmandu-Gorakhpur
								</p>
								<p class="aj">Departure after Breakfast 07:00am Kathmandu to Gorakhpur (396 Km 08 Hrs Drive) and Drop to Railway Station Or Airport.</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>Transport</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any food as Per Plan.</li><li>
Manokamna Cable Car Tickets. Rs INR-300.00</li><li>
Sight seen Place Entry Fees.INR-250.00</li><li>
Camera entry fee.</li><li>
Border Clarence Charges if Purchase by yourself for Custom Charges.  </li><li>
Cold Drink/Tea/Coffee/Cookies/Mineral water/Laundry Charges.</li><li>
Booting Charges at Bharhi Temple on Fewa Lake.</li><li>
Mauntion Flight /Paragliding Charges.</li><li>
Sun set Tour for Nagarkot/Sarngkot.</li><li>
Driver Food Charges Rs.200/-INR Per Days.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<b>Important Note :</b><br>
Any bookings given over phone our staff or management is not responsible for any issuance with wrong details as there can be misunderstanding while taking your booking over phone and that can lead to wrong ticket issuance/reissue/cancellation, so we request you to send us email for any issuance/reissue & cancellation.
Package Valid Till March 2014 Minimum 04-10 Passenger Required Please Don’t Carry The 1000/500 Indian Currency In Nepal Is Punishable.
Package Rate are note Valid 21 Dec 2013 to 07 Jan 2014 only Deluxe package.						
    	<p class="h dif xlarge b mb5px">Rate Per Person</p>
    	<div class="otherDetails aj">Rate :- INR 6499/-Per Person A/C Package/ INR 6999/-Per Person A/C Package(Only Economy/Standard Package Room and Transport A/c)<br>
Note: - Child Discount less than 12 Years 30% with Parent Sharing Bed.<br>
Package Terms: - Rate Valid Minimum 04 Person on Flowing Tour. on twin/Triple Bed </div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Package</td>
				<td class="data p5px">Economy Package</td>
				<td class="data p5px">Standard Package</td>
				<td class="data p5px">Deluxe Package</td>
				<td class="data p5px">Super Deluxe Package</td>
			</tr>
			<tr>
				<td class="data p5px">Rate</td>
				<td class="data p5px">INR 5499/-</td>
				<td class="data p5px">INR 5999/-</td>
				<td class="data p5px">INR 7499/-</td>
				<td class="data p5px">INR 10499/-</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.dolphinholiday.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Pokhara-Kathmandu with Manokamna by Car - 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="20877"/>
						</form>
						</div>
						
						";i:1;s:78:"Book Pokhara-Kathmandu with Manokamna by Car - 4 Nights / 5 Days Tour Packages";i:2;s:142:"book pokhara-kathmandu with manokamna by car - 4 nights / 5 days tour packages, lakes & rivers tour packages, gorakhpur, pokhara tour packages";i:3;s:196:"Book Pokhara-Kathmandu with Manokamna by Car - 4 Nights / 5 Days tour packages from Dolphin Tour & Travels - Get attractive 4 Nights / 5 Days Lakes & Rivers  tour packages for  Gorakhpur, Pokhara.";i:4;s:853:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gorakhpur, Pokhara"        
		                 },
		      "description": "Any food as Per Plan.
Manokamna Cable Car Tickets. Rs INR-300.00
Sight seen Place Entry Fees.INR-250.00
Camera entry fee.
Border Clarence Charges if Purchase by yourself for Custom Charges.  
Cold Drink/Tea/Coffee/Cookies/Mineral water/Laundry Charges.
Booting Charges at Bharhi Temple on Fewa Lake.
Mauntion Flight /Paragliding Charges.
Sun set Tour for Nagarkot/Sarngkot.
Driver Food Charges Rs.200/-INR Per Days.",
		      "name": "Pokhara-Kathmandu with Manokamna by Car",
		      "telephone": "+91-9415641802"
		    }
		    </script>
			";i:5;N;}