a:6:{i:0;s:20782:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Beautiful Heavens Himachal Tour By Cab For 04 Nights 05 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 04 Nights 05 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> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Kullu, Manali</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 11500 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 04 Nights 05 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="188292"/>
						</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/294714.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/595520/294714.jpg"  width="150" height="104"    alt="Beautiful Heavens Himachal Tour By Cab for 04 Nights 05 Days" title="Beautiful Heavens Himachal Tour By Cab for 04 Nights 05 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 – Manali By Volvo ( 570 km 12/13 Hrs Overnight Journey ) 
										</p>
										<p class="aj">Arrival At Delhi By Afternoon, Come To The Boarding Point at RK Ashram Delhi  (Metro Station ) 5:00 P.M..Bus Start The 05:30 P.M. Overnight Journey by Volvo Bus Form Delhi To Manali By Road.</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> Manali local Sight-seeing (By Cab) -
										</p>
										<p class="aj">Arrive in Manali Check into hotel after fresh up Visit Local 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.Over Night At 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 3:</b> Manali – Kullu Valley Sight seeing  (By Cab 40 Kms)
										</p>
										<p class="aj">Morning after Break-fast Full day excursion visit to Kullu Shawl Factory, Kullu Valley,. Enjoy rafting (Own)  Vaishano Devi temple, full day sightseeing by Cab Evening Drive Back to Hotel and Overnight stay at 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 4:</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.<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 5:</b> Manali Naggar castle Sight-seeing  (By Cab) 
										</p>
										<p class="aj">Visit Local visit Jana Fall is a hidden gem in the Naggar region. Surrounded by deodar trees, pine trees, apple orchards and spectacular snow-covered mountain peaks, this fall is a charming picnic spot. The best views of waters disgorging from a towering height and striking a cluster of rocks below can be beheld from an old wooden bridge that overlooks this fall.. and  Naggar Castle(Situated on the left bank of river Beas at an altitude of 1851m, Naggar - an ancient town commands extensive views, especially to the North West of the valley.) and Roerich Art Gallery (Roerich Art Gallery is set amidst well-tended gardens and has the perfect setting for the display of art.In evening time back to hotel.    <br />
<br />
OR <br />
<br />
Manali – Delhi Drop  (By Volvo 570 Km 12/13 Hrs Overnight Journey)-Morning after Break-fast check out from the hotel and Come To The Boarding Point at 4:00 P.M. Catch The Bus In The evening At 04:30 P.M. From P</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 4 Nights.</li><li>
MAP Meal Plan –Every morning tea, 4  Breakfasts and 4  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 04 Nights 05 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="188292"/>
						</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</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-tourby-cab-for05-nights06-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/595520/294715.jpg"  alt="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 DAYS" title="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 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-for05-nights06-days.htm" title="BEAUTIFUL HEAVENS HIMACHAL TOUR BY CAB FOR 05 NIGHTS 06 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Kullu, Manali, Shimla</p>
															<div class="mt10px small">
							<form name="pkg_188293" id="pkg_188293" 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-for05-nights06-days.htm" title="View Details">View Details</a> 
							<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"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188293"/>
							</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-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>
															
						</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 04 Nights 05 Days - 4 Nights / 5 Days Tour Packages";i:2;s:167:"book beautiful heavens himachal tour by cab for 04 nights 05 days - 4 nights / 5 days tour packages, hill station tour packages, new delhi, kullu, manali tour packages";i:3;s:194:"Sdb Travel offers Beautiful Heavens Himachal Tour By Cab for 04 Nights 05 Days - 4 Nights / 5 Days tour package, budget Hill Station tour packages for New Delhi, Kullu, Manali at exciting price.";i:4;s:456:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Kullu, Manali"        
		                 },
		      "description": "",
		      "name": "Beautiful Heavens Himachal Tour By Cab for 04 Nights 05 Days",
		      "telephone": "+91-7003801022"
		    }
		    </script>
			";i:5;N;}