a:6:{i:0;s:32015:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Perfect Honeymoon Himachal Pradesh Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.aspiretrips.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.aspiretrips.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Perfect Honeymoon Himachal Pradesh Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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> Manali, Amritsar</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 40200 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.aspiretrips.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Perfect Honeymoon Himachal Pradesh Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="193771"/>
						</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_23/674426/306380.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/306380.jpg"  width="150" height="102"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></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_23/674426/307332.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307332.jpg"  width="150" height="101"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></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_23/674426/307333.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307333.jpg"  width="150" height="112"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></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_23/674426/307334.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307334.jpg"  width="150" height="99"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></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_23/674426/307335.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307335.jpg"  width="150" height="93"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></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_23/674426/307336.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307336.jpg"  width="150" height="89"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></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_23/674426/307337.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307337.jpg"  width="150" height="100"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></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_23/674426/307338.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307338.jpg"  width="150" height="84"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></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="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								The Golden Temple Amritsar India (Sri Harmandir Sahib Amritsar) has a unique Sikh architecture. Built at a level lower than the surrounding land level, The Gurudwara teaches the lesson of equalitarianism and humility. The four entrances of this holy shrine from all four directions, signify that people belonging to every walk of life are equally<br />
<br />
The Wagah-Attari border ceremony happens at the border gate, two hours before sunset each day.The flag ceremony is conducted by the Pakistan Rangers and Indian Border Security Force (BSF), similar to the retreat ceremonies at Ganda Singh Wala/Hussainiwala border crossing and Mahavir/Sadqi International Parade Ground border crossing. A marching ceremony, known as the "Silly Walk ceremony", is conducted each evening along with the flag ceremony. The ceremony started in 1986 as an agreement of peace, although there was not a conflict at that time. Other Middle Eastern nations have adapted similar ceremonies in recent years.								</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> Departure
										</p>
										<p class="aj">Report at Ajmer Junction sharp 5:30 PM our team Member will Assist you there and Handover Tickets to you and he will be with you till your train leaves the junction. Train Will leave the junction at sharp 5:55 PM. Over night Journey in Train(AC).</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_23/674426/307332.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307332.jpg"  width="150" height="101"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></a></p></div></li>
											</ul>
											</div>
											</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> Arrival in Amritsar
										</p>
										<p class="aj">Upon your arrival in Amritsar in morning 10:45 AM, you will meet our representative/driver at the Junction who will take you to our booked hotel(3 star) and then after some rest in hotel our driver will drive you to wagah attari border.<br />
enjoy full day excursion to the Wagah …the international border of India and Pakistan. Located at a distance of just 28 km from the main city of Amritsar, it is easily accessible by good motorable roads. Often called the “Berlin wall of Asia”, Wagah is a ceremonial border where each evening there is a retreat ceremony called 'lowering of the flags', which has been held since 1959. Hundreds of tourists flock to see this majestic changing of guards, accompanied by the hoisting and retreat of the respective national flags. At this time, there is an energetic parade by the Border Security Force (B.S.F) of India and the Pakistan Rangers soldiers. Troops of each country, in their colorful turbans, march amidst the rising nationalistic feeling in the 'Beating the Retreat’ ceremony. Border officials from the two countries sometimes walk over to the offices on the other side for day-to-day affairs. The happenings at this border post have been a barometer of the India-Pakistan relations over the years. Return to hotel for overnight stay and Dinner.</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_23/674426/307333.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307333.jpg"  width="150" height="112"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></a></p></div></li>
											</ul>
											</div>
											</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> Visit the Golden Temple
										</p>
										<p class="aj">Morning, visit the Golden Temple After Breakfast… the most exalted of all Sikh shrines, drawing pilgrims from near and far for centuries. For the Sikh community the Harmandir Sahib Gurdwara Golden Temple is the final spiritual "vision," journey's end or beginning. The Amrit Sarovar (pool of nectar), or the holy tank that encircles the Darbar Sahib, has given Amritsar its name. you can have your lunch in gurudwara langar. Then you will visit the jallianwala bagh which is located exactly outside the gurudwara. Later, you will be transferred to Amritsar Hasanpura chock by our cab driver from where you will get AC deluxe Bus after Dinner you will be served with pack dinner as bus is early at 6PM. Overnight journey in Comfortable AC luxury Bus.</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_23/674426/307334.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307334.jpg"  width="150" height="99"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></a></p></div></li>
											</ul>
											</div>
											</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
										</p>
										<p class="aj">Early Morning 6:00AM you will reach Manali our Driver will take you to Our hotel from bus stand. At the top of manali our hotel (3 star) is situated away from the crowd, you can watch the whole manali, mountains covered with snow, flowing river from our balcony. Check in and after some rest go for breakfast in our hotel restro and enjoy some great meals over there. In noon our driver will take you to Local sightseeing keep your luggage in room, driver will take you Hidimba devi temple visit the temple then visit ghatorgaj temple and manu temple, enjoy some small activities over there like archery and other small games then visit the great MALL road of manali and enjoy the market you can do shopping over there. Then in night back to hotel our team will decorate your room with roses as you are our special guest HONEYMOON COUPLE and a honeymoon cake will be served by our team for the newly married loving couple then after cake cutting ceremony a special candle light dinner will be arranged for our lovely couple in balcony where you can have your dinner in candle lights. Overnight stay in hotel.</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_23/674426/307335.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307335.jpg"  width="150" height="93"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></a></p></div></li>
											</ul>
											</div>
											</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> Solang valley
										</p>
										<p class="aj">Rise up to the silence of this sweet morning with morning tea, take your breakfast and be ready for the very adventerous day our driver will drive you to solang valley where you can do adventure activities like snow surfing, paragliding and etcs (chargeable). Then driver will take you to vashist rishi temple where you can take hot spring bath and will have a very small trek to jogini waterfalls then back to hotel, dinner and overnight stay in hotel</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_23/674426/307336.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307336.jpg"  width="150" height="89"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></a></p></div></li>
											</ul>
											</div>
											</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
										</p>
										<p class="aj">wake up to the sweet morning served with a kadak tea as a heavy 5 days loaded trip this is a relaxing day for uh guys so that you can give some time to eachother , take your breakfast and checkout from hotel at 4:00 PM our driver will transfer you to VOLVO bus stand manali from where your journey for delhi will be started in AC luxury bus at 5:00PM. Overnight travel in bus.</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_23/674426/307337.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307337.jpg"  width="150" height="100"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></a></p></div></li>
											</ul>
											</div>
											</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> Departure
										</p>
										<p class="aj">early morning 8:00 AM you will reach Delhi and from there our taxi car will take you to Jaipur. The trip ends here.</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_23/674426/307338.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/674426/307338.jpg"  width="150" height="84"    alt="Perfect Honeymoon Himachal Pradesh Tour" title="Perfect Honeymoon Himachal Pradesh Tour" /></a></p></div></li>
											</ul>
											</div>
											</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>Night Accommodation in Amritsar</li><li>
Night’s Accommodation in Manali</li><li>
Daily Buffet Breakfast & Dinner</li><li>
Train Fares and Taxi Fares</li><li>
Manali City Tour</li><li>
Flower Bed Decoration with Honeymoon </li><li>
Cake and sweet Candle light dinner in </li><li>
Manali</li><li>
3* Accommodation</li><li>
A/C medium vehicle for all transfers and </li><li>
sightseeing exactly as per the itinerary.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Lunch</li><li>
Any kind of personal Expenses</li><li>
Food in Between Travelling</li><li>
Entry Fees to Any Monument</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>70% 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">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>40200</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 					
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</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.aspiretrips.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Perfect Honeymoon Himachal Pradesh Tour - 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="193771"/>
						</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.aspiretrips.in/ajmer-tour-packages.htm" title="Ajmer Tour Packages">Ajmer</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/pushkar-tour-packages.htm" title="Pushkar Tour Packages">Pushkar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/phuket-tour-packages.htm" title="Phuket Tour Packages">Phuket</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/nagaur-tour-packages.htm" title="Nagaur Tour Packages">Nagaur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/osian-tour-packages.htm" title="Osian Tour Packages">Osian</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/mandi-tour-packages.htm" title="Mandi Tour Packages">Mandi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/paro-tour-packages.htm" title="Paro Tour Packages">Paro</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.aspiretrips.in/jaipur-tour-packages.htm" title="Jaipur Tour Packages">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.aspiretrips.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</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.aspiretrips.in/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</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.aspiretrips.in/thimphu-tour-packages.htm" title="Thimphu Tour Packages">Thimphu</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.aspiretrips.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/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.aspiretrips.in/camel-safari-holidays-catid.htm" title="Camel Safari Packages">Camel Safari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.aspiretrips.in/valley-holidays-catid.htm" title="Valley Packages">Valley</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 Manali, Amritsar</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.aspiretrips.in/holiday-packages/manali-kasol.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_23/674426/307430.jpg"  alt="Manali Kasol" title="Manali Kasol"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.aspiretrips.in/holiday-packages/manali-kasol.htm" title="Manali Kasol"><h3>Manali Kasol</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> :  Manali, Mandi</p>
															<div class="mt10px small">
							<form name="pkg_194266" id="pkg_194266" method="post" action="http://www.aspiretrips.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.aspiretrips.in/holiday-packages/manali-kasol.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Manali Kasol - 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="194266"/>
							</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:78:"Book Perfect Honeymoon Himachal Pradesh Tour - 6 Nights / 7 Days Tour Packages";i:2;s:134:"book perfect honeymoon himachal pradesh tour - 6 nights / 7 days tour packages, heritage tour packages, manali, amritsar tour packages";i:3;s:178:"Book Perfect Honeymoon Himachal Pradesh Tour - 6 Nights / 7 Days tour packages from Aspire Trips - Get attractive 6 Nights / 7 Days Heritage  tour packages for  Manali, Amritsar.";i:4;s:1404:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Manali, Amritsar"        
		                 },
		      "description": "The Golden Temple Amritsar India (Sri Harmandir Sahib Amritsar) has a unique Sikh architecture. Built at a level lower than the surrounding land level, The Gurudwara teaches the lesson of equalitarianism and humility. The four entrances of this holy shrine from all four directions, signify that people belonging to every walk of life are equally

The Wagah-Attari border ceremony happens at the border gate, two hours before sunset each day.The flag ceremony is conducted by the Pakistan Rangers and Indian Border Security Force (BSF), similar to the retreat ceremonies at Ganda Singh Wala/Hussainiwala border crossing and Mahavir/Sadqi International Parade Ground border crossing. A marching ceremony, known as the "Silly Walk ceremony", is conducted each evening along with the flag ceremony. The ceremony started in 1986 as an agreement of peace, although there was not a conflict at that time. Other Middle Eastern nations have adapted similar ceremonies in recent years.",
		      "name": "Perfect Honeymoon Himachal Pradesh Tour",
		      "telephone": "91-7240253266"
		    }
		    </script>
			";i:5;N;}