a:6:{i:0;s:6730:"				<div class="h1"><h1>1 Night Adventure Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.rapidactionexpedition.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.rapidactionexpedition.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>1 Night Adventure 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">
						1 Day 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Rishikesh</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.rapidactionexpedition.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="1 Night Adventure 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="93939"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<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_15/446641/160482.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/446641/160482.jpg"  height="150"  width="150"    alt="1 Night Adventure Package" title="1 Night Adventure Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Accommodation for 1 night in Camps<br />
3 Buffet meals – 1 Breakfast, 1 Lunch, 1 Dinner  - Veg/Non-Veg )AM PM Tea with cookies.<br />
Daily evening bonfire with Veg Snacks, (Bonfire depends on weather conditions).<br />
1 Rafting of 16 kms /12Kms / 10 Kms (Depending on water level) (To from Camp transport to be paid by client)<br />
Bodysurfing, Swimming, Cliff Jumping activities (while Rafting).<br />
In-house Activities - Volleyball, Cricket, Badminton, Bonfire.<br />
Outdoor Activities - Rafting, Body surfing, Cliff jumping, Swimming, Nature walk, Splash in River Heul.<br />
Adventure Activities – Trek to Waterfall, Rock Climbing, Rappelling, Climbing, (Any 2 in 1 Night | Any 3 in 2 Nights Package).<br />
(Note – Package does not include any kind of Transport)<br />
Food We Serve:<br />
WELCOME DRINK<br />
Tea, Coffee, <br />
MORNING/EVENING TEA<br />
Tea and coffee with biskets<br />
LUNCH (VEG)<br />
mix-Veg , Rajma, Seasonal Veg, Raita, Chapati, Rice, Salad,, Pickle<br />
BREAKFAST<br />
Aaloo Parantha / Poori Sabji, Bread Toast / , Omelet / Egg Bhurji, Curd, Pickle, Butter, Jam, Tea & Coffee<br />
BONFIRE SNACKS<br />
Mix Veg Pakode, Peanut Chat / , Papad, Salad<br />
DINNER (VEG + NON VEG)<br />
Chicken dish, Paneer Dish, Dal, Chapati, Rice (JEERA), Sweet Dish (Sewain / Kheer), Mix Salad,  Pickle<br />
Carry List:<br />
Personal Toilet accessories, cooman towels, soap etc.<br />
Sufficient clothing: T-shirts, Shorts for rafting. Warm Clothing for the evenings. Hats, Goggles, Sunscreen lotions, etc.<br />
Personal Medicine<br />
Camera, Binoculars, Flash Light, and spare batteries<br />
Floaters / Sandals (Footwear with a Ankle strap - for Rafting)<br />
Guests are requested to carry along their proof of identification and produce it whenever required<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>
												</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p style="line-height: 100%; margin-top: 0.1in; margin-bottom: 0.1in;"><strong>Terms &amp; Conditions:</strong>

<p style="line-height: 100%; margin-bottom: 0.1in;"><font color="#838282"><font face="Arial, serif"><font style="font-size: 10pt;">The primary guest must be at least 18 years of age to check in the resort. It is mandatory for guests to present valid photo identification upon check in.</font></font></font>

<p style="line-height: 100%; margin-bottom: 0.1in;"><font color="#838282"><font face="Arial, serif"><font style="font-size: 10pt;">The standard check-in time is 12:00 noon and check-out time is 10:00 morning. Early check-in and late check-outs are on request and subject to availability.</font></font></font>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.rapidactionexpedition.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="1 Night Adventure 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="93939"/>
						</form>
						</div>
						
						";i:1;s:53:"Book 1 Night Adventure Package - 1 Days Tour Packages";i:2;s:119:"book 1 night adventure package - 1 days tour packages, water sports and activity tour packages, rishikesh tour packages";i:3;s:159:"Rapid Action Expedition offers 1 Night Adventure Package - 1 Days tour package, budget Water Sports and Activity tour packages for Rishikesh at exciting price.";i:4;s:2064:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Rishikesh"        
		                 },
		      "description": "Accommodation for 1 night in Camps
3 Buffet meals – 1 Breakfast, 1 Lunch, 1 Dinner  - Veg/Non-Veg )AM PM Tea with cookies.
Daily evening bonfire with Veg Snacks, (Bonfire depends on weather conditions).
1 Rafting of 16 kms /12Kms / 10 Kms (Depending on water level) (To from Camp transport to be paid by client)
Bodysurfing, Swimming, Cliff Jumping activities (while Rafting).
In-house Activities - Volleyball, Cricket, Badminton, Bonfire.
Outdoor Activities - Rafting, Body surfing, Cliff jumping, Swimming, Nature walk, Splash in River Heul.
Adventure Activities – Trek to Waterfall, Rock Climbing, Rappelling, Climbing, (Any 2 in 1 Night | Any 3 in 2 Nights Package).
(Note – Package does not include any kind of Transport)
Food We Serve:
WELCOME DRINK
Tea, Coffee, 
MORNING/EVENING TEA
Tea and coffee with biskets
LUNCH (VEG)
mix-Veg , Rajma, Seasonal Veg, Raita, Chapati, Rice, Salad,, Pickle
BREAKFAST
Aaloo Parantha / Poori Sabji, Bread Toast / , Omelet / Egg Bhurji, Curd, Pickle, Butter, Jam, Tea & Coffee
BONFIRE SNACKS
Mix Veg Pakode, Peanut Chat / , Papad, Salad
DINNER (VEG + NON VEG)
Chicken dish, Paneer Dish, Dal, Chapati, Rice (JEERA), Sweet Dish (Sewain / Kheer), Mix Salad,  Pickle
Carry List:
Personal Toilet accessories, cooman towels, soap etc.
Sufficient clothing: T-shirts, Shorts for rafting. Warm Clothing for the evenings. Hats, Goggles, Sunscreen lotions, etc.
Personal Medicine
Camera, Binoculars, Flash Light, and spare batteries
Floaters / Sandals (Footwear with a Ankle strap - for Rafting)
Guests are requested to carry along their proof of identification and produce it whenever required",
		      "name": "1 Night Adventure Package",
		      "telephone": "+91-9411191687"
		    }
		    </script>
			";i:5;N;}