a:6:{i:0;s:21480:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 DAYS</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.sdbtravel.co.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.sdbtravel.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 DAYS</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Kullu, Manali, Shimla</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 18000 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sdbtravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 DAYS - 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="188293"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_20/595520/294715.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/595520/294715.jpg"  width="150" height="102"    alt="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 DAYS" title="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 DAYS" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><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> Delhi – Shimla (370 Kms 9/10 Hrs)
										</p>
										<p class="aj">On Arrival at Delhi Airport our representative will receive you .Drive to Shimla. Till you will reach Shimla then check in at hotel after fresh up and Overnight stay at hotel in Shimla.<br />
 <br />
About Shimla<br />
The British Empire may have ceased to exist, but its echo lingers on in Shimla (2205m). As the Summer Capital of the British in India, Shimla was the country's focus for the better part of every year and now, is the state capital of Himachal Pradesh. Today, it has well developed facilities, easy accessibility and numerous attractions making it one of India's most popular hill destinations. Situated in the lower ranges of the Himalayan Mountains, it is surrounded by pine deodar, oak and rhododendron forests. Towards the north lie the snow-covered high-ranges, while the valleys breathe whispering streams and swaying fields. Within the town are host of splendid colonial edifices, quaint cottages and charming walks. Shimla offers a variety of shopping, sport and entertainment activities.<br />
 </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> Shimla Kufri Sightseeing Shimla(By Cab )
										</p>
										<p class="aj">Today Morning after break fast and excursion visiting to KUFRI India's one of the best holiday paradise Kufri in Shimla is beautifully tucked on an altitude of 2,622 meter,. JAKHOO TEMPLE At 2455m, this is the town's highest peak and a famous point for Shimla's famous views. The summit is crowned with a temple dedicated to Lord Hanuman. oad,Church,Kali Badi temple,scandle point Mall Road Overnight stay at hotel in Shimla.<br />
 </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> Shimla -Manali- Via Kullu Valley (By cab ) 
										</p>
										<p class="aj">After breakfast check out form the hotel and drive to Manali via sight seeing of Sunder nagar Lake, Pandoh dam, Vaishno Devi Temple, Kullu Valley sight seeing (River rafting By own),  and overnight stay at hotel in Manali.</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> Manali Local Sightseeing & Jogini Water Fall (By Cab) 
										</p>
										<p class="aj">After breakfast visit “Hadimba temple”. It was built in 1553 with a superbly crafted four tiered pagoda roof; it is famous for its exquisitely carved doorway. “club house” The Club House with its comprehensive facilities that include a roller skating rink, an auditorium, billiards rooms, a library, a bar and restaurant makes wonderful outing for the day.” Tibetan Monastery, Van Vihar, and “Vashisth” Well known for its hot springs. There are old temples dedicated to the sage Vashisth and to Lord Rama. Overnight stay in Hotel.</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> Manali - Solang Valley –Manali (By Cab)
										</p>
										<p class="aj">Rohtang Pass - it will depend on the availability of the permit  & Pay on the spot according Union rate "The Solang Valley undoubtedly one of the most spectacular and impressive valleys of Himachal Pradesh. 9 km away from Manali is Solang Valley. Solang Valley is 8-10 km as the crow flies from Beas Kund which is the source of river Beas and it is at this spot Manarani Ved Vyas wrote the famous epic Mahabharata. It is said Solang valley was the route taken by Pandavas to Heaven. At the Solang valley an ice Shivling is formed during winters which is said to be taller than the Shivling formed at Amarnath.Besides being a picture postcard perfect Solang Valley is the place where the slopes are ideal for paragliding and skiing.Best adventure routes and treks start from this area. Rohtang pass will be closed on Tuesday.Rohtang pass will be closed due Snowfall.Overnight stay in Hotel.<br />
Kindly Note: National Green Tribunal is allowing only limited vehicle to Rohtang pass per day. So Rohtang Pass by Own Cost if Available Permit - Pay on the spot according Union rate.</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 6:</b> Manali –Delhi (570 kms 13/14 Hrs  By Cab )
										</p>
										<p class="aj">After Breakfast, Check Out From the hotel and drive to Delhi  till evening reach Delhi and drop at Airport and catch your train/flight to onward your journey.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																				<li>Comprehensive Package for 2 Adults in 01 Room For 5 Nights.</li><li>
MAP Meal Plan –Every morning tea, 5  Breakfasts and 5  Dinners Vegetarian Meal only (Non  Vegetarian Meal directly payable at hotel)</li><li>
2 Ac Volvo seats from Delhi-Manali and Manali- Delhi. </li><li>
Separate cab for  Sight-seeing of Manali & Kullu Valley, Solang Valley. </li><li>
Inclusive  the Taxes (Parking, Toll Tax, Luxury Tax,, Green Tax,Fuel Exp. and Driver Exp.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>5%  Goods & Service Tax .</li><li>
AC will not work in hill area/Monument entrance fee / Camera fees.</li><li>
Any personal expensive – laundry, shopping, tip etc.</li><li>
Rohtang pass depend on token,entry fee not include order by (NGT).</li><li>
Air fare / Train do.</li><li>
Any adventure activity skiing ,paragliding ,River Rafting etc</li><li>
Meal other than specified.</li><li>
Heater charges will be extra.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount</li><li>
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sdbtravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 DAYS - 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="188293"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sdbtravel.co.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sdbtravel.co.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sdbtravel.co.in/kullu-tour-packages.htm" title="Kullu Tour Packages">Kullu</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sdbtravel.co.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(2)</b></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sdbtravel.co.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sdbtravel.co.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.sdbtravel.co.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for New Delhi, Kullu, Manali, Shimla</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.sdbtravel.co.in/holiday-packages/beautiful-heavens-himachal-tourbyac-volvo-for06-nights07-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/595520/294716.jpg"  alt="BEAUTIFUL HEAVENS HIMACHAL TOUR BY AC VOLVO FOR 06 NIGHTS 07 DAYS" title="BEAUTIFUL HEAVENS HIMACHAL TOUR BY AC VOLVO FOR 06 NIGHTS 07 DAYS"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.sdbtravel.co.in/holiday-packages/beautiful-heavens-himachal-tourbyac-volvo-for06-nights07-days.htm" title="BEAUTIFUL HEAVENS HIMACHAL TOUR BY AC VOLVO FOR 06 NIGHTS 07 DAYS"><h3>Beautiful Heavens Himachal Tour By Ac Volv..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Manali, Shimla</p>
															<div class="mt10px small">
							<form name="pkg_188294" id="pkg_188294" method="post" action="http://www.sdbtravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.sdbtravel.co.in/holiday-packages/beautiful-heavens-himachal-tourbyac-volvo-for06-nights07-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="BEAUTIFUL HEAVENS HIMACHAL TOUR BY AC VOLVO FOR 06 NIGHTS 07 DAYS - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188294"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.sdbtravel.co.in/holiday-packages/beautiful-heavens-himachal-tourby-cab.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/595520/294726.jpg"  alt="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB" title="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.sdbtravel.co.in/holiday-packages/beautiful-heavens-himachal-tourby-cab.htm" title="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB"><h3>Beautiful Heavens Himachal Tour By Cab</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Kullu, Manali</p>
															<div class="mt10px small">
							<form name="pkg_188296" id="pkg_188296" method="post" action="http://www.sdbtravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.sdbtravel.co.in/holiday-packages/beautiful-heavens-himachal-tourby-cab.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188296"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.sdbtravel.co.in/holiday-packages/beautiful-heavens-himachal-tourby-cab-for04-nights05-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/595520/294714.jpg"  alt="Beautiful Heavens Himachal Tour By Cab for 04 Nights 05 Days" title="Beautiful Heavens Himachal Tour By Cab for 04 Nights 05 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.sdbtravel.co.in/holiday-packages/beautiful-heavens-himachal-tourby-cab-for04-nights05-days.htm" title="Beautiful Heavens Himachal Tour By Cab for 04 Nights 05 Days"><h3>Beautiful Heavens Himachal Tour By Cab For..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Kullu, Manali</p>
															<div class="mt10px small">
							<form name="pkg_188292" id="pkg_188292" method="post" action="http://www.sdbtravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.sdbtravel.co.in/holiday-packages/beautiful-heavens-himachal-tourby-cab-for04-nights05-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Beautiful Heavens Himachal Tour By Cab for 04 Nights 05 Days - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188292"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:99:"Book BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 DAYS - 5 Nights / 6 Days Tour Packages";i:2;s:175:"book beautiful heavens himachal tour by cab for 05 nights 06 days - 5 nights / 6 days tour packages, hill station tour packages, new delhi, kullu, manali, shimla tour packages";i:3;s:202:"Sdb Travel offers BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 DAYS - 5 Nights / 6 Days tour package, budget Hill Station tour packages for New Delhi, Kullu, Manali, Shimla at exciting price.";i:4;s:464:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Kullu, Manali, Shimla"        
		                 },
		      "description": "",
		      "name": "BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 DAYS",
		      "telephone": "+91-7003801022"
		    }
		    </script>
			";i:5;N;}