a:6:{i:0;s:22293:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>BEAUTIFUL HEAVENS HIMACHAL TOUR BY AC VOLVO FOR 06 NIGHTS 07 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 AC VOLVO FOR 06 NIGHTS 07 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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Manali, Shimla</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 13000 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 AC VOLVO FOR 06 NIGHTS 07 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="188294"/>
						</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/294716.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/595520/294716.jpg"  width="150" height="99"    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" /></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 (388 km 8/9 hours By Volvo)
										</p>
										<p class="aj">Arrival at Delhi by Evening Come to the Boarding Point at 9:30 P.M.(Majnu Ka Tila Delhi), Bus Start The 10:00 P.M. Overnight Journey In Volvo Bus From Delhi To Shimla By Road.<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 Local Sight Seeing (By cab)
										</p>
										<p class="aj">Arrival At Shimla meet our representative Get welcome and  visiting.“The Mall & THE RIDGE” This large open space in the heart of town presents excellent views of the mountain ranges. Shimla's landmarks - the neo- gothic structure of Christ Church and the neo - Tudor library building - are worth seeing. 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.</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 Kufri Sightseeing Shimla (By  cab)
										</p>
										<p class="aj">Today morning after breakfast at proceed towards 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 After That Drive To Kufri.. enjoy Horse riding,yak riding (By Own) Visit Zoo,Adventure Resort,Green Valley Later in the Evening return to Shimla. Overnight stay at the 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> Shimla-Kullu Valley -Sightseeing - Manali (By  cab 270 Kms)
										</p>
										<p class="aj">After Breakfast, Check out  Hotel and Depart to Shimla By Cab / via Mandi,on arrival Manali Check in hotel. on the way Kullu valley,Sunder Naggar, Pandoh Dam,Mini Vaishno Devi Temple,Kullu Shawl Factory sight seeing. And Overnight stay at Manali.<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 local Sight-seeing(By cab) -
										</p>
										<p class="aj">The Morning, After Breakfast 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.<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 6:</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.Overnight stay in Hotel.Rohtang Pass will be closed on tuesday,Rohtang pass will be due to Snow fall.<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 7:</b> Manali –Delhi ( By Volvo 570 Kms )
										</p>
										<p class="aj">After Breakfast, 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 Private Bus Stand Manali, Back To Delhi.You reach Delhi next Morning.<br />
 </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-Shimla and Manali- Delhi. </li><li>
Separate cab for  Sight-seeing of Manali & Kullu Valley Solang Valley ,shimla,Kufri.</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 AC VOLVO FOR 06 NIGHTS 07 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="188294"/>
						</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, 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-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-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:104:"Book BEAUTIFUL HEAVENS HIMACHAL TOUR BY AC VOLVO FOR 06 NIGHTS 07 DAYS - 6 Nights / 7 Days Tour Packages";i:2;s:173:"book beautiful heavens himachal tour by ac volvo for 06 nights 07 days - 6 nights / 7 days tour packages, hill station tour packages, new delhi, manali, shimla tour packages";i:3;s:200:"Sdb Travel offers BEAUTIFUL HEAVENS HIMACHAL TOUR BY AC VOLVO FOR 06 NIGHTS 07 DAYS - 6 Nights / 7 Days tour package, budget Hill Station tour packages for New Delhi, Manali, Shimla at exciting price.";i:4;s:462:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Manali, Shimla"        
		                 },
		      "description": "",
		      "name": "BEAUTIFUL HEAVENS HIMACHAL TOUR BY AC VOLVO FOR 06 NIGHTS 07 DAYS",
		      "telephone": "+91-7003801022"
		    }
		    </script>
			";i:5;N;}