a:6:{i:0;s:17690:"				<div class="h1"><h1>Darjeeling Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.journey99.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.journey99.com/packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Darjeeling 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">Darjeeling</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 12750 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.journey99.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Darjeeling 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="183407"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_12/354567/279523.jpeg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279523.jpeg"  width="150" height="99"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
																		<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_12/354567/279522.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279522.jpg"  width="150" height="100"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
																		<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_12/354567/279524.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279524.jpg"  width="150" height="112"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
																		<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_12/354567/279525.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279525.jpg"  width="150" height="88"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
																		<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_12/354567/279526.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279526.jpg"  width="150" height="100"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
																		<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_12/354567/279527.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279527.jpg"  width="150" height="78"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
																		<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_12/354567/279529.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279529.jpg"  width="150" height="150"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
																		<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_12/354567/279531.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279531.jpg"  width="150" height="150"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Payment Policy ( Advance Booking Fee )   <br />
<br />
45 or more days before departure         :  30%  of total Invoice amount. <br />
45-30 days before departure                 :  50%  of total Invoice amount. <br />
30-20 days before departure                 :  75%  of total Invoice amount. <br />
Less than 20 days before departure      : 100% of total Invoice amount. <br />
Important: The booking liable to be cancelled if 100% payment is not received less than 20 days before date of departure.   <br />
<br />
NOTE: Rates applicable for Indian Nationals only. 1.     <br />
<br />
No Room Reservations made until Final Confirmation along with Advance received.<br />
1.	Rooms & Rates subject to availability on specific time Period.<br />
2.	Bed type subject to availability.<br />
3.	Pvt Transfers are Point to Point only.<br />
4.	For Any deviations, delay or extra transfers, added charges will be applied for transport. The extra amount will be informed to the guests by the driver / escort and the amount has to be settled immediately.<br />
5.	Pick Up and Return time will be advised to the guests upon arrival.<br />
6.	Please let the guests know that once the timing has been informed to them, it has to be strictly adhered.<br />
7.	If Flight Cancel / Delay , Company is not Liable to be….<br />
8.	No Refund / Cancellation accepted on Final Confirmation made.<br />
9.	Quality & Quantity will assured service level.<br />
10.	95 % will assure Guest Satisfaction<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> Arrival and Transfer to Darjeeling
								</p>
								<p class="aj">Meet Our  Representative Who Will Be There to Assist You While You Take a Transfer to Darjeeling from New Jalpaiguri Railway Station (70.3 Km) / Bagdogra Airport (65.3 Km) / Tenzing Norgay Bus Stand (61.9 Km).<br />
<br />
a Serene Hill Station Set At An Elevation of 2050 Meter, Darjeeling Opens Arms to Tourists from all Over the World to Explore Its Untouched Beauty. the Weather of the Hill Town is So Alluring that Nothing in the World Can Make You Leave It. Take a Toy Train Ride (unesco World Heritage Site), have a Look At the Beautiful Tea Plantations While Crossing the Valleys, Enjoy a Stroll Around the Mall Road, Enjoy the Breathtaking Views of the Kanchenjunga Peak from the Tiger Hill and Sip in a Cup of the Best Tea in the World.<br />
<br />
on Reaching Darjeeling, Check-in to the Hotel. in the Evening, Go Out for a Stroll Around the Mall or Local Shopping Center of Darjeeling. have a Comfortable Overnight Stay At Darjeeling.</p>
								</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 <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/354567/279525.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279525.jpg"  width="150" height="88"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
									</ul>
									</div>
									</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> Darjeeling Local Sight Seeing (full Day)
								</p>
								<p class="aj">This Morning, Wake Up Early and Then Leave for Tiger Hill. Get Ready to Experience a Sunrise like Never Before. Tiger Hill is Considered the Best Place to Enjoy a Sunrise in Darjeeling. this is Because the Hill is Located At An Elevation of 7,407 Meter Feet Above Sea Level and It Offers Great View of the Himalayan Range During Sunrise. Let the Shining Rays of the Sun and Soothing Ambience of the Hill Make You Forget all Concerns of the World.<br />
<br />
while Going Back to Darjeeling, Visit Major Tourist Attractions like Ghoom Monastery, War Memorial and Batasia Loop.<br />
<br />
batasia Loop is the Place Through Which the Toy Train Passes in a Loop like Pattern. It is a Great Location to Enjoy a 360 Degree View of Darjeeling’s Picture Perfect Landscape. At the Center of the Batasia Loop Garden, There is War Memorial, Which Was Built to Honor the Gorkha Soldiers Who Lost Their Lives in Different Operations and Wars After India’s Independence.<br />
<br />
built Back in the Year 1875, Ghoom Monastery Holds Immense Importance as It is Dedicated to Maitreya Buddha, Who is Believed to Be ‘the Buddha to Come’. the Monastery Preserves Some Rare, Handwritten Buddhist Manuscripts.<br />
<br />
enjoy Your Breakfast At the Hotel and Then Leave for Your Next Round of Sightseeing.<br />
<br />
visit One of the Most Popular Attractions of Darjeeling, Peace Pagoda. Peace Pagoda Was Purposely Built in Order to Bring Peace and Prosperity in the World. It Displays Four Different Avatars of Buddha and is Open to People of all Races and Creeds. Don’t Miss Taking a Cable Car Ride Which Offers Breathtaking Views of the Himalayas. Walk Through the Beautiful Tea Estates and Pick Up the Best Tea in the World for Yourself.<br />
<br />
also, Visit other Attractions of Darjeeling such as Padmaja Naidu Zoological Park, Himalayan Mountaineering Institute (closed On Thursday), Tensing and Gumpo Rock, Tibetan Refugee Self Help Center (closed On Sunday) and Natural History Museum (sunday Closed).<br />
<br />
later, Return to the Hotel and Take Some Rest. Go for a Walk Around the Local Market Area in the Evening. Enjoy a Comfortable Overnight Stay At Darjeeling.</p>
								</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 <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/354567/279526.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279526.jpg"  width="150" height="100"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
									</ul>
									</div>
									</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> Excursion to Mirik (full Day)
								</p>
								<p class="aj">After Having Your Breakfast, Start Driving Towards Mirik. as You Drive Through Picturesque Valleys and Lush Green Meadows, Experience the Soft Breeze Caressing Your Face and Tranquility Calling You Closer. Mirik is One of the Most Serene Tourist Attractions of Darjeeling.<br />
<br />
relax By the Beautiful Sumendu Lake and Let the Pleasing Weather and Breathtaking Views Leave You Mesmerized. Enjoy Activities like Boating, Horse Ride and Canoeing At Mirik. Mirik is a Great Location for Trekkers as It Offers a Number of Trails from Where Tourists Can Enjoy the View of Thick and Beautiful Forests. Walk Through the Tea Gardens and Enjoy the Sight of Himalayan Range, Orange Orchards and Cardamom Groves.<br />
<br />
on Your Way Back to Darjeeling, Visit Pashupati Market and Shop for Imported Clothes and Cosmetics from Thailand. in the Evening, Go for a Stroll Around the Mall or the Local Market Area. Stay Overnight At Darjeeling.</p>
								</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 <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/354567/279527.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279527.jpg"  width="150" height="78"    alt="Darjeeling Tour" title="Darjeeling Tour" /></a></p></div></li>
									</ul>
									</div>
									</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> Departure Darjeeling to Siliguri
								</p>
								<p class="aj">Munch Some Breakfast and Then Leave for Siliguri / New Jalpaiguri Railway Station (70 Km) / Bagdogra Airport (69 Km) / Tenzing Norgay Bus Stand (62 Km). On Reaching, Leave for Your Onward Journey.</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>CP (Room + Breakfast)</li>
																		<li>Hotel</li>
																		<li>Sightseeing</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Stay Included</li>
																		<li>Pickup-Drop</li>
																<li>•	04 Nights Accommodation</li><li>
•	01 Bottle Complimentary mineral water.</li><li>
•	Complimentary Gift & Sweets for Child on Board ( Below 05 Years )</li><li>
•	Friends of the Day</li><li>
•	All tours & transfers on Private basis.</li><li>
•	Rate Offered on Per Heads</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>•   Peak Period / Convention Period Surcharge, if any</li><li>
•  Entry Fee , Camera Charges & Porter Charges.</li><li>
•  Mineral Water / Alcoholic Drink During the Tour.</li><li>
•  Room Heater Supplementary Cost as per the Hotel Norms.</li><li>
•  Personal Expenses, local or trunk calls, luggage tips and Porter age</li><li>
•  Bank Remittance Charges</li><li>
•  Rate Not Include Tax (Extra on total Invoice amount ).</li><li>
•  Those not mentioned in Price Includes</li><li>
•  Child Accommodation as per Child Policy.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* 20% Advance Percentage of total booking amount
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount.
* Retention Amount varies as per the number of days left before your package start date.
* Refund will be made within 15 working days from the date of receipt of the cancellation.~^#^~Documents Required For Other than INDIAN CITIZEN.   
ADULT - PASSPORT + PASSPORT SIZE PHOTO (02 Nos). 
CHILD -  PASSPORT + PASSPORT SIZE PHOTO (02 Nos).												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.journey99.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Darjeeling 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="183407"/>
						</form>
						</div>
						
						";i:1;s:54:"Book Darjeeling Tour - 3 Nights / 4 Days Tour Packages";i:2;s:108:"book darjeeling tour - 3 nights / 4 days tour packages, hill station tour packages, darjeeling tour packages";i:3;s:166:"Journey 99 ( a Unit of Dynamic Holidays ) offers Darjeeling Tour - 3 Nights / 4 Days tour package, budget Hill Station tour packages for Darjeeling at exciting price.";i:4;s:1781:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Darjeeling"        
		                 },
		      "description": "Payment Policy ( Advance Booking Fee )   

45 or more days before departure         :  30%  of total Invoice amount. 
45-30 days before departure                 :  50%  of total Invoice amount. 
30-20 days before departure                 :  75%  of total Invoice amount. 
Less than 20 days before departure      : 100% of total Invoice amount. 
Important: The booking liable to be cancelled if 100% payment is not received less than 20 days before date of departure.   

NOTE: Rates applicable for Indian Nationals only. 1.     

No Room Reservations made until Final Confirmation along with Advance received.
1.	Rooms & Rates subject to availability on specific time Period.
2.	Bed type subject to availability.
3.	Pvt Transfers are Point to Point only.
4.	For Any deviations, delay or extra transfers, added charges will be applied for transport. The extra amount will be informed to the guests by the driver / escort and the amount has to be settled immediately.
5.	Pick Up and Return time will be advised to the guests upon arrival.
6.	Please let the guests know that once the timing has been informed to them, it has to be strictly adhered.
7.	If Flight Cancel / Delay , Company is not Liable to be….
8.	No Refund / Cancellation accepted on Final Confirmation made.
9.	Quality & Quantity will assured service level.
10.	95 % will assure Guest Satisfaction",
		      "name": "Darjeeling Tour",
		      "telephone": "+91-9647433338"
		    }
		    </script>
			";i:5;N;}