a:6:{i:0;s:22083:"				<div class="h1"><h1>North Sikkim 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>North Sikkim 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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Gangtok, Lachung, Lachen</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 27000 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="North Sikkim 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="183496"/>
						</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/280057.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280057.jpg"  width="150" height="84"    alt="North Sikkim Tour" title="North Sikkim 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/280066.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280066.jpg"  width="150" height="99"    alt="North Sikkim Tour" title="North Sikkim 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/280065.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280065.jpg"  width="150" height="99"    alt="North Sikkim Tour" title="North Sikkim 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/280064.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280064.jpg"  width="150" height="94"    alt="North Sikkim Tour" title="North Sikkim 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/280063.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280063.jpg"  width="150" height="106"    alt="North Sikkim Tour" title="North Sikkim 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/280062.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280062.jpg"  width="150" height="100"    alt="North Sikkim Tour" title="North Sikkim 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/280061.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280061.jpg"  width="150" height="84"    alt="North Sikkim Tour" title="North Sikkim 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/280060.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280060.jpg"  width="150" height="94"    alt="North Sikkim Tour" title="North Sikkim 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/280059.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280059.jpg"  width="150" height="99"    alt="North Sikkim Tour" title="North Sikkim 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/280058.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280058.jpg"  width="150" height="99"    alt="North Sikkim Tour" title="North Sikkim 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/280067.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280067.jpg"  width="150" height="84"    alt="North Sikkim Tour" title="North Sikkim 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 At New Jalpaiguri Railway Station to Gangtok
								</p>
								<p class="aj">Arrival At Siliguri (njp) Railway Station Meet Our Representative, Who Will Assist You to Board Your Vehicle to Gangtok (5500 Ft /1677 Mts, 130 Kms / 04 to 05 Hrs) & Give You Briefing About Your Tour .after Leaving Siliguri We Drive Along the Nh 31a Through the Dense Forests Mahananda Wild Life Sanctuary, the Natural Play Ground of Wild Elephant, Tiger and Deer. Sevok Comes Next with Its Promises for the Gorgeous View of Tista River as It Comes Out from the Deep Gorge of the Himalayas and Spreads Itself in the Vast Plains On North Bengal. from Tista Bazaar Follows the Winding Roads and a Picturesque Drive Through Himalayan Hills to Gangtok , the Capital of Sikkim. Check Into Hotel and Get Refreshed for a Free Leisure Evening. Recommend to Roam in Mg Road Around the Mall to Enjoy the Typical Hill City Life of Gangtok and Enjoy a Comfortable Overnight Stay in Hotel.</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/280061.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280061.jpg"  width="150" height="84"    alt="North Sikkim Tour" title="North Sikkim 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> Gangtok Local Sightseeing
								</p>
								<p class="aj">After Our Breakfast We Will Proceed for Local Sightseeing in or Around Gangtok Including Tashi View Point, Ganesh Tok, Hanuman Tok. These Viewpoints Offering Panoramic View of Snow Capped Himalayan Peaks & Gangtok City. Proceed to Visit Rumtek Monastery/ Jhakri Falls , Institute of Tibetology to have a Glance of Tibetan Antics, Orchid House ( Collection of Himalayan Orchids), Enchay Monastery ,Dodurl Chorten Etc. in the Evening Visit to M G Marg, the Busy Market of Gangtok, for Shopping and Having Sikkimese Delicacy At the Local Restaurant.</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/280062.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280062.jpg"  width="150" height="100"    alt="North Sikkim Tour" title="North Sikkim 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 Tsomgo Lake & Baba Mandir
								</p>
								<p class="aj">After Breakfast Drive for a Memorable Excursion Tour to Tsomgo Lake (12,400 Ft. /39 Km), One of the Highest Altitudes Himalayan Lake. this Beautiful Oval Shape Lake Almost 1 Km Long with Its Average Depth 50 Ft is Situated in East Sikkim Himalaya. from Here We Will Drive Further 15 Km to Baba Mandir. One Can Further Drive to Nathula Pass (12,000ft.) Towards China Border Depending Upon the Accessibility of the Route. We Will Back to Gangtok By Late Afternoon. Evening is Free for Roaming Around M.g Marg, the Popular Shopping Area in Gangtok.</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/280063.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280063.jpg"  width="150" height="106"    alt="North Sikkim Tour" title="North Sikkim 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> Gangtok to Lachen (120 kms./5 hrs./ Alt.- 8,500 ft.)
								</p>
								<p class="aj">After An Early Breakfast We Will Proceed to Lachen. the Route Meanders Through Small Villages with Valleys upto Forest Grove of Kabi Langchuk. Shinghik Comes Next with Its Promises of One of the Most Glorious Views of Kunchanjungha. Situated At An Altitude of Over 4000ft Singhik Offers a Desired Break to the Travelers On the Way to Lachen . We Will have Our Lunch On the Way. Visit Chungthang- the Confluence of Lachen Chu and Lachun Chu (river) and Vimnala Falls Water Falls On Your Way to Lachen. Reach Lachung in the Late Afternoon. Lachen is also a Base for the Popular Green Lake Trek.</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/280064.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280064.jpg"  width="150" height="94"    alt="North Sikkim Tour" title="North Sikkim 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 5:</b> Excursion Gurudongmar and Lachen to Lachung (50 Km/ 2 Hrs)
								</p>
								<p class="aj">Early Morning Drive to Thangu Village (4100m / 13450ft), a Remote High Altitude Village of Tibetan Nomads and also Proceed Further to Chopta Valley (4000m / 13124ft) to Get Some Breath Taking View of Alpine Valley of Frozen Rivers. from Chopta Valley Drive for Another 30kms in 1.5hr to Gurudongmar Lake (5225m / 17143ft) Close to Tibet Border, the One of the Highest and Biggest Fresh Water Lakes in Sikkim and Back to Lachen for a Late Lunch.<br />
check Out from Lachen and Drive Further to Lachung Via Chungthang. En Route Visit Chungthang Confluence of Lachen Chu and Lachun Chu and Vimnala Water Falls. Check in At Hotel. Check in At Hotel and Enjoy a Comfortable Overnight Stay.<br />
lachung - Another Remote High Altitude Village of Tibetan and Bhutia People in North Sikkim with Towering Rocky Snow Peaks, Vibrant Rhododendron Valley, Lush Green Yak Pastures, Perennial Waterfalls, Hot Springs and the Base for Exploring Alpine Valley of Yumthang and Yumesamdong Close to the Tibetan Plateau.</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/280065.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280065.jpg"  width="150" height="99"    alt="North Sikkim Tour" title="North Sikkim 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 6:</b> Excursion to Yumthang - Gangtok (24 Km./ Alt.- 11,800ft.)
								</p>
								<p class="aj">Early Morning Drive to Yumthang Valley, An Alpine Flower Valley in North Sikkim. Enjoy the Scenic Landscape and Hot Spring and Drive Further for 30kms to Yumesamdong (4725m / 15503ft) or Zero Point Close to Tibet Border, One of the Highest Motorable Roads in Sikkimfull Day Excursion to Yumthang Valley. the Valley is Covered with Snow During January to March & with Rhododendrons During April & May. Enroute Visit Sulphur Hot Spring Having Medicinal Values. Lunch At Hotel in Lachung. After Lunch Visit Handicraft Centre & Lachung Monastery. Later Drive Back to Gangtok, in the Evening Arrive At Gangtok and Check Into the Hotel. Overnight At Hotel in Gangtok.</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/280066.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280066.jpg"  width="150" height="99"    alt="North Sikkim Tour" title="North Sikkim 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 7:</b> Gangtok to New Jalpaiguri Railway Station (135 km. / 4.30 hrs.)
								</p>
								<p class="aj">After Breakfast Drive Back to Siliguri (njp)/ Bagdogra (ixb) Via Same Route for Your Onward Journey with Happy Memories to Cherish.</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/280067.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/354567/280067.jpg"  width="150" height="84"    alt="North Sikkim Tour" title="North Sikkim 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>EP (No Meal)</li>
																		<li>Hotel</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Airport Pickup-Drop</li>
																<li>•	06 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.~^#^~												</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="North Sikkim 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="183496"/>
						</form>
						</div>
						
						";i:1;s:56:"Book North Sikkim Tour - 6 Nights / 7 Days Tour Packages";i:2;s:124:"book north sikkim tour - 6 nights / 7 days tour packages, hill station tour packages, gangtok, lachung, lachen tour packages";i:3;s:197:"Book North Sikkim Tour - 6 Nights / 7 Days tour packages from Journey 99 ( a Unit of Dynamic Holidays ) - Get attractive 6 Nights / 7 Days Hill Station  tour packages for  Gangtok, Lachung, Lachen.";i:4;s:1798:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Lachung, Lachen"        
		                 },
		      "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": "North Sikkim Tour",
		      "telephone": "+91-9647433338"
		    }
		    </script>
			";i:5;N;}