a:6:{i:0;s:31565:"				<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-->				
									<div class="h1"><h1>Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.arihanttravellam.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.arihanttravellam.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]</p> 
									
						<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> Chandigarh City, New Delhi, Kullu, Manali, Shimla</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.arihanttravellam.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh] - 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="49754"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px 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 w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_13/379830/97246.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/97246.jpg"  width="150" height="150"    alt="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" title="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" /></a></p></div></li>
																		<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_13/379830/97245.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/97245.jpg"  width="150" height="150"    alt="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" title="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" /></a></p></div></li>
																		<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_13/379830/97248.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/97248.jpg"  width="150" height="150"    alt="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" title="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" /></a></p></div></li>
																		<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_13/379830/97250.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/97250.jpg"  width="150" height="150"    alt="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" title="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" /></a></p></div></li>
																		<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_13/379830/97251.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/97251.jpg"  width="150" height="150"    alt="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" title="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" /></a></p></div></li>
																		<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_13/379830/97252.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/97252.jpg"  width="150" height="150"    alt="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" title="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" /></a></p></div></li>
																		<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_13/379830/97253.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/97253.jpg"  width="150" height="150"    alt="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" title="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" /></a></p></div></li>
																		<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_13/379830/97254.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/97254.jpg"  width="150" height="150"    alt="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" title="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								HIMACHAL DELIGHT 1<br />
<br />
Is the package in which you will cover all most all the beauty of  Himachal, here you will get so much enough time to create all the memorable moments and also get enough time for relaxation.<br />
<br />
In this package you will be able to cover all the beautiful place of Himachal like, Delhi/Chandigarh - Shimla - Kullu - Manali, after cover all this place you will  definitely find the most memorable days of your life,<br />
<br />
Here we will design  & operate your package in such a way that you will complete your journey very comfortably, at the time of your arrival our expert will be there to pick you,<br />
<br />
Here you will get a private vehicle to cover all the things,  which is in very good condition and also with well known driver who help you to cover all the things.<br />
<br />
Apart from this you will get accommodation facility at all the place. a very well luxurious hotel will be provided to you as per your budget in which you will find good comfort,  also with very good quality food and very well mannered staff.<br />
<br />
Also the one more beauty of this package is that we can customize this package as per your budget, your time and as per your requirement. <br />
<br />
Just contact us once for more details & if any query.								</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/Chandigarh
										</p>
										<p class="aj">As per your scheduled of arrival at Delhi/Chandigarh, our expert executive will be there to pick you,<br />
<br />
then go to hotwl and relax and refresh your self, and then after just enjoy the local sightseeing, also go for shopping in local market and enjoy shopping for your loved once and family and enjoy all the moments.<br />
<br />
then come to hotel and stay 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 2:</b> Delhi/Chandigarh To Shimla
										</p>
										<p class="aj">After break fast check out from the hotel and proceed towards the most beautiful hill station shimla,<br />
a mesmerising destination. Snow-covered peaks, coniferous forests, streams, orchids and well-defined landscape in Shimla will make you admire the pristine beauty of nature. Blessed with natural glory, Shimla is also known for its colonial charm. The architecture, buildings and streets in this hill station remind of the era of British rule in India. During the British regime, Shimla was called as the Summer Capital of India.<br />
<br />
Check-in at the hotel and relax. Spend the evening at leisure and enjoy a comfortable overnight stay.</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 Trip)
										</p>
										<p class="aj">In the morning, enjoy your break fast and then go on a trip to Kufri. Famous for adventurous sports like skiing, trekking, hiking and mule-riding, Kufri is a beautiful hill station. You will be delighted to participate in the sports held at Kufri. You can also visit Mahasu Peak, the highest point at Kufri and take a spectacular view of natural surroundings. You can go there by hiking or mule-riding.<br />
<br />
At Kufri, you may also visit The Himalayan National Park where you can see numerous species of endangered birds and animals like musk deer, goral, snow leopards etc.<br />
<br />
After enjoying your time at Kufri, return to the hotel and take a nap. In the evening, go for a walk on the famous Mall Road and enjoy the pleasant weather. Enjoy a cosy 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 To Kullu
										</p>
										<p class="aj">After break fast check out from the hotel and drive towards another beauty hill station Kullu,<br />
<br />
chech in to hotel, relax and fresh and then go out to enjoy beauty of  Kullu, you can visit so many tourist place in kullu like Tirthan Valley,<br />
Great Himalayan National Park, Kheer Ganga, Hot Springs at Manikaran, other lots of temple like bijli mahadev, Vaishno Devi etc.. also visit local market and enjoy shopping there. over night 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 5:</b> Kullu To Manali
										</p>
										<p class="aj">After break fast check out from the hotel and go ahead towards another beautiful hill station Manali. after reached at manali checked in and just relax and refresh and then go ahed for Sightseeing  of manali,<br />
<br />
Many of the interesting places to visit in this destination include Mall Road, Manali Sanctuary, Hadimba Devi Temple, Tibetan Monastery and Solang Valley. Surrounded by greenery from all sides, Hadimba Temple's three roof structure is widely appreciated.<br />
<br />
Visit famous monasteries in Manali and get an insight into the Buddhist culture. Also, you can buy some handicrafts and goodies for your loved ones from various shops dotted all across the hill station.<br />
<br />
After exploring this hill station, retire to the hotel and stay overnight.</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> Rohtang Pass Trip (On Direct Payment)
										</p>
										<p class="aj">Enjoy a beautiful morning in the lap of the nature and get ready to move towards Rohtang Pass. Owing to its picturesque surroundings, this pass serves as an ideal picnic spot for tourists and people from nearby areas. Surrounded by soaring snow-capped mountains, this pass is about 51 km away from Manali and remains remains open June to October. the rest of the year, it remains closed due to heavy snowfall.<br />
<br />
Situated at a height of 3978 m above sea level, it is considered as one of the highest motorable roads in the world. This glacial paradise is frequented by hordes of travellers from across the globe every year. If you are an adventure seeker, then you can indulge in different snow activities, such as paragliding, skiing and mountain biking over here. Otherwise, you can choose to enjoy the stunning views of the snow-clad peaks, glaciers and scenic vistas of this pass.<br />
<br />
Thereafter, return to the Manali in the evening and visit the Mall Road, which is lined with several shops, offering items like traditional handicrafts, woollen wear and other local items. In this market, you can also shop for souvenirs for your loved ones.<br />
<br />
This pass forms the major connectivity between the Kullu valley and Lahaul and Spiti Valleys of Himachal Pradesh. Sparkling glaciers, snow-capped mountains and pollution free environment makes the entire ambience romantic.<br />
<br />
After admiring the beauty of the nature, return to the hotel and freshen up. Later, go for a walk in the Mall Road, which is the hub of activity. Adore the beauty of the colonial architecture or buy some goodies for your loved ones. You can also savour local delicacies and sip in hot drinks while enjoying a stroll.<br />
<br />
Retire to the hotel for an overnight stay.</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 To Chandigarh/Delhi
										</p>
										<p class="aj">After break fast check out from the hotel go back to your return journey as per your schedule either Chandigarh or Delhi airport or railway station. and make safe and happy journey towards your sweet home.</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>Hotel</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 * 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. * 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.arihanttravellam.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh] - 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="49754"/>
						</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.arihanttravellam.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-mount-abu.htm" title="Packages in Mount Abu">Mount Abu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-kanyakumari.htm" title="Packages in Kanyakumari">Kanyakumari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-chittorgarh.htm" title="Packages in Chittorgarh">Chittorgarh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-ajmer.htm" title="Packages in Ajmer">Ajmer</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-bikaner.htm" title="Packages in Bikaner">Bikaner</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.arihanttravellam.com/packages-in-amritsar.htm" title="Packages in Amritsar">Amritsar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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.arihanttravellam.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(2)</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 Chandigarh City, 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.arihanttravellam.com/tour-packages/himachal-incredible-shimla-kullu-manali-dharamshala-delhousie-delhi1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/379830/97224.jpg"  alt="Himachal - Incredible [Shimla-Kullu-Manali-Dharamshala-Delhousie-Delhi/Chandigarh/Amritsar]" title="Himachal - Incredible [Shimla-Kullu-Manali-Dharamshala-Delhousie-Delhi/Chandigarh/Amritsar]"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.arihanttravellam.com/tour-packages/himachal-incredible-shimla-kullu-manali-dharamshala-delhousie-delhi1.htm" title="Himachal - Incredible [Shimla-Kullu-Manali-Dharamshala-Delhousie-Delhi/Chandigarh/Amritsar]"><h3>Himachal - Incredible [shimla-kullu-manali..</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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kullu, Manali, Shimla, Dharamshala</p>
															<div class="mt10px small">
							<form name="pkg_49747" id="pkg_49747" method="post" action="http://www.arihanttravellam.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.arihanttravellam.com/tour-packages/himachal-incredible-shimla-kullu-manali-dharamshala-delhousie-delhi1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Himachal - Incredible [Shimla-Kullu-Manali-Dharamshala-Delhousie-Delhi/Chandigarh/Amritsar] - 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="49747"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.arihanttravellam.com/tour-packages/himachal-delight2-dharamshala-delhousie-delhi-chandigarh-amritsar-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/379830/97270.jpg"  alt="Himachal Delight 2 [Dharamshala-Delhousie-Delhi/Chandigarh/Amritsar] Tour" title="Himachal Delight 2 [Dharamshala-Delhousie-Delhi/Chandigarh/Amritsar] Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.arihanttravellam.com/tour-packages/himachal-delight2-dharamshala-delhousie-delhi-chandigarh-amritsar-tour.htm" title="Himachal Delight 2 [Dharamshala-Delhousie-Delhi/Chandigarh/Amritsar] Tour"><h3>Himachal Delight 2 [dharamshala-delhousie-..</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> :  Chandigarh City, New Delhi, Dharamshala,..</p>
															<div class="mt10px small">
							<form name="pkg_49757" id="pkg_49757" method="post" action="http://www.arihanttravellam.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.arihanttravellam.com/tour-packages/himachal-delight2-dharamshala-delhousie-delhi-chandigarh-amritsar-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Himachal Delight 2 [Dharamshala-Delhousie-Delhi/Chandigarh/Amritsar] Tour - 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="49757"/>
							</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:96:"Book Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh] - 6 Nights / 7 Days Tour Packages";i:2;s:191:"book himachal delight 1 [shimla-kullu-manali-delhi/chandigarh] - 6 nights / 7 days tour packages, lakes & rivers tour packages, chandigarh city, new delhi, kullu, manali, shimla tour packages";i:3;s:225:"Arihant Travellam offers Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh] - 6 Nights / 7 Days tour package, budget Lakes & Rivers tour packages for Chandigarh City, New Delhi, Kullu, Manali, Shimla at exciting price.";i:4;s:1705:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chandigarh City, New Delhi, Kullu, Manali, Shimla"        
		                 },
		      "description": "HIMACHAL DELIGHT 1

Is the package in which you will cover all most all the beauty of  Himachal, here you will get so much enough time to create all the memorable moments and also get enough time for relaxation.

In this package you will be able to cover all the beautiful place of Himachal like, Delhi/Chandigarh - Shimla - Kullu - Manali, after cover all this place you will  definitely find the most memorable days of your life,

Here we will design  & operate your package in such a way that you will complete your journey very comfortably, at the time of your arrival our expert will be there to pick you,

Here you will get a private vehicle to cover all the things,  which is in very good condition and also with well known driver who help you to cover all the things.

Apart from this you will get accommodation facility at all the place. a very well luxurious hotel will be provided to you as per your budget in which you will find good comfort,  also with very good quality food and very well mannered staff.

Also the one more beauty of this package is that we can customize this package as per your budget, your time and as per your requirement. 

Just contact us once for more details & if any query.",
		      "name": "Himachal Delight 1 [Shimla-Kullu-Manali-Delhi/Chandigarh]",
		      "telephone": "+91-9033481665"
		    }
		    </script>
			";i:5;N;}