a:6:{i:0;s:15543:"				<div class="h1"><h1>Leisure Fantasy Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.grandindiatrip.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Leisure Fantasy Package</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						3 Nights / 4 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Manali</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 18999 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Leisure Fantasy Package - 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="82418"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px 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 w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/257644/145814.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/145814.jpg"  width="150" height="150"    alt="Leisure Fantasy Package" title="Leisure Fantasy Package" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/257644/145815.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/145815.jpg"  width="150" height="150"    alt="Leisure Fantasy Package" title="Leisure Fantasy Package" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/257644/145816.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/145816.jpg"  width="150" height="150"    alt="Leisure Fantasy Package" title="Leisure Fantasy Package" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/257644/145817.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/145817.jpg"  width="150" height="150"    alt="Leisure Fantasy Package" title="Leisure Fantasy Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Leisure Fantasy Package<br />
3 nights & 4 days package on MAP (Room with breakfast & choice of lunch or dinner) for a couple. Children being charged as per child policy.<br />
Welcome drink (non Alcoholic) on arrival<br />
Accommodation on twin sharing basis<br />
Fruit basket on arrival day<br />
Elaborate Buffet Breakfast and Dinner<br />
Unlimited replenishment for tea/ coffee maker throughout the stay<br />
Evening Cookies Platter on arrival day<br />
25% discount on SPA Treatments<br />
Unlimited use of Gym during the stay (Dry area only)<br />
Coupons worth Rs. 300/- complimentary for use at the Video Parlour<br />
Complimentary use of wifi<br />
Two mineral water bottles complimentary every day<br />
Free boarding and lodging for the accompanying driver<br />
All packages are extendable on pro-rata basis subject to availability<br />
Taxes extra @ 18.70%<br />
Junior Suite & Suite<br />
Package Contents - Welcome drink (non Alcoholic) on arrival<br />
Accommodation for a family of four 02 Adults & 02 Small children in Junior Suite & 04 Adults in Suite with a magnificent view of River Beas & Mountains. Suite Rooms are and Junior Suite rooms are tastefully furnished with double bed on both levels with two separate attached bathrooms and LCD<br />
Fruit basket on arrival day<br />
Elaborate Buffet Breakfast and Dinner<br />
Unlimited replenishment for tea/ coffee maker throughout the stay<br />
Evening Cookies Platter on arrival day<br />
25% discount on SPA Treatments<br />
Unlimited use of Gym during the stay (Dry area only)<br />
Coupons worth Rs. 300/- complimentary for use at the Video Parlour<br />
Complimentary use of wifi<br />
Two mineral water bottles complimentary every day<br />
Free boarding and lodging for the accompanying driver<br />
All packages are extendable on pro-rata basis subject to availability<br />
Taxes extra 18.70%Anything not included in Inclusion.16-0410-07<br />							<div class="headHr">
				            <p class="p7px b pl10px xlarge">Hotel Detail : </p>
				            </div>
															<div class="data lh13em p20px aj mb7px">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px"><p class="fr lh0">
								
																	<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																	
								</p>
								<div class="mb5px">
								<h2 class="dif b xxlarge">Manali Inn</h2>
								</div>
								<p class="cb"></p>
								<p><b>Address :</b> Manali, Himachal Pradesh, India</p>
								<p><b>Facility :</b> </p>
								<div class="mt7px">About the Hotel

The magic of the Manali Inn Hotel is in its serene location, luxurious amenities and warm hospitality. Indulge in the discovery of the mystic beauty of the Himalayas; where the bright golden light of the sun scatters over snow covered mountains in the morning, the sounds of the river Beas gushing downstream and chirping birds calms you during the day, and the bright light of the moon reflects off the white snow at night.

Romance abounds in centrally air conditioned rooms operated through VRF technology to maintain the temperature as per your choice, with pine wood finish, selective brassware and custom made furniture. Our culinary team offers delectable food with a vibrant blend of fresh ingredients and Indian spices. Ayurvedic massage and spa treatments that include Jacuzzi, steam and sauna takes your senses on an unforgettable journey. Our fitness centre provides equipment for every style of exercise. The video game parlor keeps your kid and the kid in you captive when at leisure. And if that's not enough, the Saqi Bar in Club Jhoom serves wide range of liquor in the backdrop of pulsating lights and music, so you can dance and lose yourself in the moment.


Our amenities and services

We seek your comfort and to ensure a seamless vacation, we offer a wide range of amenities and services. This includes a secure and large parking space for buses and other vehicles, travel desk facilities and power backup. We accept all major credit cards. Our room amenities and services include LCD, tea and coffee maker, wake up call, doctor on call, hair dryer on demand, security vault, hot and cold running water and telephone.

Rating	4 Star
Address	Rangree, Manali  175131
Accessibility	Bhuntar Airport :  43 KM
Manali Bus Stand : 1.5 KM
Locational Advantage	Situated on National Highway21, facing river Beas.</div>
								</td>
								
																	<td class="p10px vat imgWidth150 w150px lh0">
									<div class="demo-wrap">
									<ul class="lsn m0px p0px" id="detailslider2">
																					<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage2" href="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_9/257644/14213.jpg"><img src="https://ttw.wlimg.com/hotel-package-images/photo-small/dir_9/257644/14213.jpg"  width="150" height="150"    alt="Leisure Fantasy Package" title="Leisure Fantasy Package" class="bdr"  /></a></p></div></li>
																								<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage2" href="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_9/257644/14214.jpg"><img src="https://ttw.wlimg.com/hotel-package-images/photo-small/dir_9/257644/14214.jpg"  width="150" height="150"    alt="Leisure Fantasy Package" title="Leisure Fantasy Package" class="bdr"  /></a></p></div></li>
																								<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage2" href="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_9/257644/14215.jpg"><img src="https://ttw.wlimg.com/hotel-package-images/photo-small/dir_9/257644/14215.jpg"  width="150" height="150"    alt="Leisure Fantasy Package" title="Leisure Fantasy Package" class="bdr"  /></a></p></div></li>
																								<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage2" href="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_9/257644/14216.jpg"><img src="https://ttw.wlimg.com/hotel-package-images/photo-small/dir_9/257644/14216.jpg"  width="150" height="150"    alt="Leisure Fantasy Package" title="Leisure Fantasy Package" class="bdr"  /></a></p></div></li>
																					</ul>
									</div>
									</td>
																	
								</tr>
								</table>
								</div>
															<br />
													 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Stay Included</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Anything not included in Inclusion.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>All packages are extendable on pro-rata basis as quoted at the time of Reservation only or subject to availability</li>
	<li>No refund for short stay and un-availed facilities</li>
	<li>The management reserves the right to alter or withdraw in part or cancel the facilities provided under this package without prior notice</li>
	<li>Taxes extra @ 18.70%</li>
</ul>


25% cancellation fee if cancelled before 15 days prior to check in 50% cancellation fee if cancelled before 10 days prior to check in 75% cancellation fee if cancelled before 07 days prior to check in 100% cancellation fee if cancelled lesser than 07 days of check in Check In Time: 1200hrs Check Out Time: 1000hrs<br />
Children between 0 to 5 years-complimentary Children between 5-18 years will be charged as mentioned above per child per night with an extra bed sharing parent&#39;s room inclusive of package meals &amp; taxes						
    	<p class="h dif xlarge b mb5px">Leisure Fantasy Package</p>
    	<div class="otherDetails aj">20th Dec  - 6th Jan<br>
16th Apr - 10th Jul	11th Jul  - 19th Dec  <br>
7th Jan  - 15th Apr</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">ROOMS</td>
				<td class="headHr p5px b">PERSONS</td>
				<td class="headHr p5px b">HIGH SEASON</td>
				<td class="headHr p5px b">LOW SEASON</td>
			</tr>
			<tr>
				<td class="data p5px">CLASSIC</td>
				<td class="data p5px">02 Adults</td>
				<td class="data p5px">Rs.18,999</td>
				<td class="data p5px">Rs.13,500</td>
			</tr>
			<tr>
				<td class="data p5px">SUPERIOR</td>
				<td class="data p5px">02 Adults</td>
				<td class="data p5px">Rs.20,999</td>
				<td class="data p5px">Rs.14,999</td>
			</tr>
			<tr>
				<td class="data p5px">PREMIUM</td>
				<td class="data p5px">02 Adults</td>
				<td class="data p5px">Rs.22,999</td>
				<td class="data p5px">Rs.17,499</td>
			</tr>
			<tr>
				<td class="data p5px">JUNIOR SUITE</td>
				<td class="data p5px">2 Adults + 2 Children</td>
				<td class="data p5px">Rs.35,999</td>
				<td class="data p5px">Rs.26,999</td>
			</tr>
			<tr>
				<td class="data p5px">SUITE</td>
				<td class="data p5px">04 Adults</td>
				<td class="data p5px">Rs.39,899</td>
				<td class="data p5px">Rs.29,999</td>
			</tr>
			<tr>
				<td class="data p5px"></td>
				<td class="data p5px">CHILDREN (5-18 YRS)</td>
				<td class="data p5px">Rs.1,950/- per day</td>
				<td class="data p5px">Rs.1,650/- per day</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Leisure Fantasy Package - 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="82418"/>
						</form>
						</div>
						
						";i:1;s:62:"Book Leisure Fantasy Package - 3 Nights / 4 Days Tour Packages";i:2;s:112:"book leisure fantasy package - 3 nights / 4 days tour packages, hill station tour packages, manali tour packages";i:3;s:0:"";i:4;s:2175:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Manali"        
		                 },
		      "description": "Leisure Fantasy Package
3 nights & 4 days package on MAP (Room with breakfast & choice of lunch or dinner) for a couple. Children being charged as per child policy.
Welcome drink (non Alcoholic) on arrival
Accommodation on twin sharing basis
Fruit basket on arrival day
Elaborate Buffet Breakfast and Dinner
Unlimited replenishment for tea/ coffee maker throughout the stay
Evening Cookies Platter on arrival day
25% discount on SPA Treatments
Unlimited use of Gym during the stay (Dry area only)
Coupons worth Rs. 300/- complimentary for use at the Video Parlour
Complimentary use of wifi
Two mineral water bottles complimentary every day
Free boarding and lodging for the accompanying driver
All packages are extendable on pro-rata basis subject to availability
Taxes extra @ 18.70%
Junior Suite & Suite
Package Contents - Welcome drink (non Alcoholic) on arrival
Accommodation for a family of four 02 Adults & 02 Small children in Junior Suite & 04 Adults in Suite with a magnificent view of River Beas & Mountains. Suite Rooms are and Junior Suite rooms are tastefully furnished with double bed on both levels with two separate attached bathrooms and LCD
Fruit basket on arrival day
Elaborate Buffet Breakfast and Dinner
Unlimited replenishment for tea/ coffee maker throughout the stay
Evening Cookies Platter on arrival day
25% discount on SPA Treatments
Unlimited use of Gym during the stay (Dry area only)
Coupons worth Rs. 300/- complimentary for use at the Video Parlour
Complimentary use of wifi
Two mineral water bottles complimentary every day
Free boarding and lodging for the accompanying driver
All packages are extendable on pro-rata basis subject to availability
Taxes extra 18.70%Anything not included in Inclusion.16-0410-07",
		      "name": "Leisure Fantasy Package",
		      "telephone": "+91-9415285186"
		    }
		    </script>
			";i:5;N;}