a:6:{i:0;s:9462:"				<div class="h1"><h1>Pleasant Zuluk 4Nights 5Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.safarsarathi.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.safarsarathi.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Pleasant Zuluk 4Nights 5Days 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">Tour Code </td>
						<td class="p5px pl0px vat">SS_0017</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">Darjeeling</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.safarsarathi.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Pleasant Zuluk 4Nights 5Days 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="62219"/>
						</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/281904/116139.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/281904/116139.jpg"  width="150" height="150"    alt="Zuluk Village" title="Zuluk Village" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					NJP to Sillerygaon (New Darjeeling), Sillery Gaon(New Darjeeling) to Zuluk, Zuluk. To Kupuk and back to Zuluk, Zuluk to Reshikhola, Reshikhola to NJP.Air Fare/Train fare.<br />
Personal Expenses such as Laundry, telephone calls, tips & gratuity. Mineral/soft/hard drinks<br />
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.<br />
Camera fees, Guide / tour escort charges & Entrance Fees.<br />
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances, etc (to be borne by the client, which is directly payable on the spot).<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> NJP - Sillerygaon (New Darjeeling)
								</p>
								<p class="aj">Pickup at NJP early in the morning and transfer to Sillerygaon, a distance covered in about 3.5 to 4 hrs.<br />
Situated at an altitude of 6,000 ft, Sillerygaon is a village of not more than 24 families and that too in the middle of a jungle. This place is being proclaimed as the New Darjeeling because of its beautiful view of the Kanchendzonga. Its serene atmosphere is an invitation to run away from the hum and din of the city.<br />
Rest of the day is at leisure. Overnight at Sillery gaon</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> Sillery Gaon(New Darjeeling) - Zuluk
								</p>
								<p class="aj">After breakfast, leave for Zuluk. On the way cross Rongli, Lingtham,  Padamchin and reach Zuluk. Put up at Zuluk Lodge. Enjoy the sunset from Balasura Point. Overnight at Zuluk.</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> Zuluk. To Kupuk and back to Zuluk.
								</p>
								<p class="aj">Follow the Silk Route Trail and enjoy the beauty of Thambi View point, Laxmi Chowk, Gnathang Valley, Tukla Kalapokhari, Tukla Baba Mandir, Tukla valley, Jepepla Pass View and reach Kupup. Don’t miss the Hathi Pokhari Lake. At Kupup, see the World’s highest Golf course, the Yak Golf Course at 13025 ft (Guinness Book Of World Records acclaimed), the Ice Hockey ground. After having breakfast at Kupup (Maggi soup style), return to Zuluk by late afternoon. Overnight at Zuluk.</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> Zuluk to Reshikhola
								</p>
								<p class="aj">Watch the sunrise from the Sunrise point and after breakfast, leave for Reshikhola, a distance covered in about 3.5 to 4 hrs. Walk across the bamboo bridge to reach your cottage. Enjoy this lovely picnic spot on the bank of the Reshikhola. Walk up the Parvateshwar Shivalaya Mandir (visible from the cottage on top of a small cliff and involves climbing about 200 stairs). Rest of the day at leisure to enjoy on your own. Enjoy Bonfire in the evening (Optional)<br />
Rest of the day is at leisure to enjoy on your own. Enjoy Bonfire in the evening (Optional)</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> Reshikhola to NJP
								</p>
								<p class="aj">Checkout at 10:00 a.m after breakfast, check out and drive to NJP station / IXB airport to catch your Train / Flight for onward journey. Tour ends with Sweet memories.</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>Air Fare/Train fare.</li><li>
Personal Expenses such as Laundry, telephone calls, tips & gratuity. Mineral/soft/hard drinks</li><li>
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.</li><li>
Camera fees, Guide / tour escort charges & Entrance Fees.</li><li>
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances, etc (to be borne by the client, which is directly payable on the spot).</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.safarsarathi.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Pleasant Zuluk 4Nights 5Days 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="62219"/>
						</form>
						</div>
						
						";i:1;s:72:"Book Pleasant Zuluk 4Nights 5Days Tour - 4 Nights / 5 Days Tour Packages";i:2;s:120:"book pleasant zuluk 4nights 5days tour - 4 nights / 5 days tour packages, valley tour packages, darjeeling tour packages";i:3;s:173:"Book Pleasant Zuluk 4Nights 5Days Tour - 4 Nights / 5 Days tour packages from Safar Sarathi Travels - Get attractive 4 Nights / 5 Days Valley  tour packages for  Darjeeling.";i:4;s:1002:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Darjeeling"        
		                 },
		      "description": "NJP to Sillerygaon (New Darjeeling), Sillery Gaon(New Darjeeling) to Zuluk, Zuluk. To Kupuk and back to Zuluk, Zuluk to Reshikhola, Reshikhola to NJP.Air Fare/Train fare.
Personal Expenses such as Laundry, telephone calls, tips & gratuity. Mineral/soft/hard drinks
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.
Camera fees, Guide / tour escort charges & Entrance Fees.
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances, etc (to be borne by the client, which is directly payable on the spot).",
		      "name": "Pleasant Zuluk 4Nights 5Days Tour",
		      "telephone": "+91-9433792786"
		    }
		    </script>
			";i:5;N;}