a:6:{i:0;s:6536:"				<div class="h1"><h1>Sikkim & Darjeeling Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.gomyjourney.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.gomyjourney.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Sikkim & Darjeeling Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/17434/4114.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/17434/4114.jpg"  width="150" height="150"    alt="Sikkim & Darjeeling Tour" title="Sikkim & Darjeeling Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Tour Code :</b> GIJ-34/2012-13</p>
												<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Gangtok, Darjeeling, Yumthang, Bagdogra</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.gomyjourney.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Sikkim & Darjeeling Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="7118"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Gangtok - Bagdogra Drop
									</p>
									<div class="data p10px">Meet and Greet on arrival at Bagdogra/Bhadrapur-Nepal-Transfer to Darjeeling, O/N Hotel.</div>					
										<p><b>Meals : </b> Dinner</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Darjeeling
									</p>
									<div class="data p10px">Early Morning Sunrise Tour to Tiger Hill at 4 am and on return visit Ghoom Monastery, Batasia Loop. Breakfast:Darjeeling Seven points sight seeing from 8.30 am to 12.30 am, includes-HMI, Himalayan Zoo, Tea Garden, Tibetan Refugee Centre. Return to Hotel, Lunch. Afternoon Free.</div>					
										<p><b>Meals : </b> Breakfast & Dinner</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Gangtok
									</p>
									<div class="data p10px">Departure for Gangtok via Peshok Tea Gardens. Drive 4-5 hrs-Check in the Designated hotel. O/N. Hotel.</div>					
										<p><b>Meals : </b> Breakfast & Dinner</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Changu
									</p>
									<div class="data p10px">Day return visit to the Mountain Lake at Indo-China Border at 12400ft, Changu Lake. O/N at Hotel.</div>					
										<p><b>Meals : </b> Breakfast & Dinner</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Yumthang
									</p>
									<div class="data p10px">Dep. for 1 night 2 days package tour to the Valley of Flowers at Yumthang, Halt O/N at Lachung. Package provides, all meals, accommodation on twin sharing, permits and sightseeings.</div>					
										<p><b>Meals : </b> Breakfast & Dinner</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Yumthang
									</p>
									<div class="data p10px">Dep. for Yumthang Flower Valley after breakfast, via Singhba Rhododendron Sanctuary, return by Lunchtime after also visiting Hot Springs and return drive to Gangtok. O/N.Halt.</div>					
										<p><b>Meals : </b> Breakfast & Dinner</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 7: Yumthang
									</p>
									<div class="data p10px">Cherry City Tour from 9 am to 1 pm. Places includes-World Famous RUMTEK Dharma Chakra Centre, Tibetology, Govt. Cottage Industries, International Flower Festival, Do-Drul Chorten, Hur Hure Dara. O/N.Hotel.</div>					
										<p><b>Meals : </b> Breakfast & Dinner</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 8: Bagdogra
									</p>
									<div class="data p10px">Return drive to Bagdogra/Bhadrapur. Trip Ends.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
													<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Sightseeing</li>
																	</ul>
							<br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:63:"Book Sikkim & Darjeeling Tour - 7 Nights / 8 Days Tour Packages";i:2;s:140:"book sikkim & darjeeling tour - 7 nights / 8 days tour packages, valley tour packages, gangtok, darjeeling, yumthang, bagdogra tour packages";i:3;s:178:"Go My Journey Pvt Ltd offers Sikkim & Darjeeling Tour - 7 Nights / 8 Days tour package, budget Valley tour packages for Gangtok, Darjeeling, Yumthang, Bagdogra at exciting price.";i:4;s:435:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Yumthang, Bagdogra"        
		                 },
		      "description": "",
		      "name": "Sikkim & Darjeeling Tour",
		      "telephone": "+91-9711877344"
		    }
		    </script>
			";i:5;N;}