a:6:{i:0;s:11110:"				<div class="h1"><h1>Sikkim With 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>Sikkim With 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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Gangtok, Darjeeling</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 19000 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="Sikkim With 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="183418"/>
						</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/279560.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279560.jpg"  width="150" height="106"    alt="Sikkim With Darjeeling Tour" title="Sikkim With 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/279559.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279559.jpg"  width="150" height="100"    alt="Sikkim With Darjeeling Tour" title="Sikkim With 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/279561.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279561.jpg"  width="150" height="87"    alt="Sikkim With Darjeeling Tour" title="Sikkim With 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/279562.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279562.jpg"  width="150" height="150"    alt="Sikkim With Darjeeling Tour" title="Sikkim With 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/279564.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279564.jpg"  width="150" height="102"    alt="Sikkim With Darjeeling Tour" title="Sikkim With 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/279565.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279565.jpg"  width="150" height="112"    alt="Sikkim With Darjeeling Tour" title="Sikkim With 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> Guest will be received by our official at Bagdogra Airport (IXB) / New Jalpaiguri Railway Station (N
								</p>
								<p class="aj">It is approximately 130 kilometers 4 ½ - 5 hours drive – Gangtok is a perfect destination for tourist in search of enchantment, tranquility, trekking or any other adventure - Land of monastery, mystic rituals / festivals at an elevation of 1,437 meters / 4,715 feet is the most often visited spot of India for its rare Orchids and Butterflies - Check into Hotel - Sight Seeing to Rumtek Monastery (Optional)- Evening free to stroll to M.G. Marg or Local Market - It is advisable to have food in any of the restaurant in M G Road or vicinity - Over night stay at hotel in Gangtok (Rumtek Monastery -  Can be Covered )</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/279565.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/279565.jpg"  width="150" height="112"    alt="Sikkim With Darjeeling Tour" title="Sikkim With Darjeeling Tour" /></a></p></div></li>
									</ul>
									</div>
									</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>Airport Pickup-Drop</li>
																		<li>Pickup-Drop</li>
																<li>•	05 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~^#^~* 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.~^#^~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="Sikkim With 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="183418"/>
						</form>
						</div>
						
						";i:1;s:66:"Book Sikkim With Darjeeling Tour - 5 Nights / 6 Days Tour Packages";i:2;s:129:"book sikkim with darjeeling tour - 5 nights / 6 days tour packages, hill station tour packages, gangtok, darjeeling tour packages";i:3;s:202:"Book Sikkim With Darjeeling Tour - 5 Nights / 6 Days tour packages from Journey 99 ( a Unit of Dynamic Holidays ) - Get attractive 5 Nights / 6 Days Hill Station  tour packages for  Gangtok, Darjeeling.";i:4;s:1803:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, 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": "Sikkim With Darjeeling Tour",
		      "telephone": "+91-9647433338"
		    }
		    </script>
			";i:5;N;}