a:6:{i:0;s:18258:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Hyderabad 2 Star Packages For 3 Days</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.enjoyhappyholidays.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.enjoyhappyholidays.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Hyderabad 2 Star Packages For 3 Days</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						2 Nights / 3 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Hyderabad</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 17613 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.enjoyhappyholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Hyderabad 2 Star Packages for 3 Days - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="188673"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_20/597001/295748.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/597001/295748.jpg"  width="150" height="99"    alt="Hyderabad 2 Star Packages for 3 Days" title="Hyderabad 2 Star Packages for 3 Days" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="headHr">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Hyderabad
										</p>
										<p class="aj">Pick up from Railway station / Airport transfer to hotel. On arrival check in the Hotel. After fresh up proceed for local sightseeing including<br />
Birla Mandir - Necklace Road - NTR Garden - Snow world - Lumbini park Laser Show, Boating at Hussain Sagar - Overnight 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> Hyderabad
										</p>
										<p class="aj">After breakfast start for Ramoji film city(by Own).If time permits shopping at Abids (Karachi Biscuits and Pearls) and overnight 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 3:</b> Departure
										</p>
										<p class="aj">After breakfast drive will take you Hyderabad sightseeing of rest of Hyderabad including Salarjang museum, Charminar. ( Shopping paradise for Laad Bangles), Mecca Masjid, Chowmahalla palace, Later in the evening drop at Hyderabad Railway station / Airport transfer.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																				<li>Stay on Twin Sharing in AC Room</li><li>
With Breakfast</li><li>
Airport / Railway transfers & Local Sightseeing for 3 days 100 km 10 Hrs as per itinerary</li><li>
(2-3 Pax Indigo vehicle 4-6 pax Innova vehicle)</li><li>
All Hotel Taxes (GST EXTRA)</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Air fare .</li><li>
Any meals other then those specified in Cost Includes.</li><li>
Expenses of personal nature such as tips, telephone calls, laundry, liquor etc</li><li>
Any other item not specified in Inclusions.</li><li>
5.0 % Government service tax.</li><li>
Entry Fee charges Will Be Extra appx Rs.2300/- per person</li><li>
Details of Entry fee icket charges below per adult</li><li>
Ramoji Entry Ticket -1250</li><li>
Lunch at Dilse in Ramoji-260</li><li>
Snow World -450</li><li>
Wonder La Weekday- 960</li><li>
Wonder La Weekend -1216</li><li>
Salarjung-30</li><li>
Chowmala -50</li><li>
NTR Garden-30</li><li>
Lumbini -20</li><li>
Laser Show-60</li><li>
Boating-65</li><li>
Zoo Park-30</li><li>
Sudha Car-50</li><li>
Golkonda-15</li><li>
Places covered (Ramoji Film City with Lunch , Snow World, Salarjung Museum, Chowmala Palace, Charminar, Lumbini Park with Laser Show, NTR Garden, Boat Cruise at Lumbini Park, Zoo Park, Sudha Car Museum)</li><li>
Guide & Any Sports Activities Charges.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Please note Cancellation / Amendment request needs to reach us in writing. Any amendment received after booking will be treated as cancellation. The Cancellation policy is as follows:</li><li>
Cancellation Charges per person</li><li>
Up to 30 days prior to date of departure -Initial deposit amount 25% of the tour cost (Non Refundable) per person</li><li>
Between 22 days to 29 days prior to departure - 50% of tour cost ( We need 50% payment as well)</li><li>
Between 16 days to 21 days prior to departure - 75% of tour cost</li><li>
Less than 15 days prior to departure - 100% of tour cost</li><li>
This policy may vary during Apr, May and Jun months, Diwali / Dussehra and New Year period and Long Weekends will go up to 100% cancellation - After confirmation.</li><li>
Bank transaction charges apply on credit card/net banking refunds.</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>17613</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 							<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Package valid only for Indian nationals.</li><li>
Air tickets and hotels are subject to availability.</li><li>
It is mandatory for guests to present valid photo identification at the time of check-in.</li><li>
The identification proofs accepted are Driving License, Voters Card, Passport, Ration Card. Without valid ID the guest will not be allowed to check in. Note- PAN Cards will not be accepted as a valid ID card.</li><li>
All transfers and sightseeing are as per the Itinerary/package and in case of Air Conditioned vehicles, It</li><li>
will be switched off in the hills.</li><li>
The inclusion of extra bed with a booking is facilitated with a folding cot or a mattress as an extra bed.</li><li>
Early check-in or late check-out is subject to availability and may be chargeable by the hotel. The standard check-in time is 1300hrs and the standard check-out time is 1000hrs.</li><li>
Any kind of personal expenses (Laundry, room service etc..) or optional tours/ extra meals are not</li><li>
inclusive in the package cost.</li><li>
The hotel reserves the right of admission. Accommodation can be denied to guests posing as a couple if suitable proof of identification is not presented at check-in. will not be responsible for any check- in denied by the hotel due to the aforesaid reason.</li><li>
In case of non-availability of above mentioned hotels similar category hotel will be provided.</li><li>
Flight Raja Travels Pvt. Ltd. reserves the right to change/modify or terminate the offer any time at its own discretion and without any prior notice.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.enjoyhappyholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Hyderabad 2 Star Packages for 3 Days - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="188673"/>
						</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.enjoyhappyholidays.in/dwarka-tour-packages.htm" title="Dwarka Tour Packages">Dwarka</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.in/hyderabad-tour-packages.htm" title="Hyderabad Tour Packages">Hyderabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.in/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.in/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.in/jamnagar-tour-packages.htm" title="Jamnagar Tour Packages">Jamnagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.in/kathmandu-tour-packages.htm" title="Kathmandu Tour Packages">Kathmandu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.in/ooty-tour-packages.htm" title="Ooty Tour Packages">Ooty</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.in/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.in/bangalore-tour-packages.htm" title="Bangalore Tour Packages">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.in/puri-tour-packages.htm" title="Puri Tour Packages">Puri</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.enjoyhappyholidays.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.enjoyhappyholidays.in/junagadh-tour-packages.htm" title="Junagadh Tour Packages">Junagadh</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.enjoyhappyholidays.in/pokhara-tour-packages.htm" title="Pokhara Tour Packages">Pokhara</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.enjoyhappyholidays.in/ahmedabad-tour-packages.htm" title="Ahmedabad Tour Packages">Ahmedabad</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.enjoyhappyholidays.in/somnath-tour-packages.htm" title="Somnath Tour Packages">Somnath</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.enjoyhappyholidays.in/mysore-tour-packages.htm" title="Mysore Tour Packages">Mysore</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.enjoyhappyholidays.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.in/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.enjoyhappyholidays.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.enjoyhappyholidays.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.enjoyhappyholidays.in/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.enjoyhappyholidays.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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:75:"Book Hyderabad 2 Star Packages for 3 Days - 2 Nights / 3 Days Tour Packages";i:2;s:125:"book hyderabad 2 star packages for 3 days - 2 nights / 3 days tour packages, adventure tour packages, hyderabad tour packages";i:3;s:177:"Book Hyderabad 2 Star Packages for 3 Days - 2 Nights / 3 Days tour packages from Enjoy Happy Holidays - Get attractive 2 Nights / 3 Days Adventure  tour packages for  Hyderabad.";i:4;s:417:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Hyderabad"        
		                 },
		      "description": "",
		      "name": "Hyderabad 2 Star Packages for 3 Days",
		      "telephone": "+91-9775769250"
		    }
		    </script>
			";i:5;N;}