a:6:{i:0;s:11105:"				<div class="h1"><h1>Dazzling Dubai 4N/5D Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.emplanetourandtravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.emplanetourandtravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Dazzling Dubai 4N/5D 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">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Dubai</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.emplanetourandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dazzling Dubai 4N/5D 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="118120"/>
						</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_17/508950/191663.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/508950/191663.jpg"  width="150" height="150"    alt="Dazzling Dubai 4N/5D Package" title="Dazzling Dubai 4N/5D Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Arrive Dubai
								</p>
								<p class="aj">Welcome to Dubai, one of the most unique, and vibrant destinations in the world! In a single day, you can experience everything from rugged mountains and awe-inspiring sand dunes to sandy beaches and lush green parks, from dusty villages to luxurious residential districts and from ancient houses with wind towers to ultra-modern shopping malls.<br />
<br />
On arrival in Dubai, you will be met and transferred to your hotel. In the afternoon you will do the Desert Safari which is full of fun, adventure and exciting where you experience the thrill of a roller coaster ride on the sand dunes. We stop on the highest sand dune to view the beautiful sunset for some breath-taking photographs and refresh your selves with mineral water. We then continue our journey to our Bedouin Campsite located in the heart of the Desert, where soft drink, water, tea or coffee is available for you to choose from. Camel rides waits for you. Trial of local smoking called Shisha or Hubbly Bubbly on different flavours. While you relax and recline in the tents or tables with carpet and pillows a delicious BBQ is being prepared under the starlit sky. Adding to the atmosphere of the night, an enchanting belly dancer shows a fascinating dance to a rhythm of an Arabic music, thereafter BBQ buffet dinner will be served. Overnight stay in Dubai.</p>					
									<p><b>Meals : </b> Breakfast Dinner</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> Dubai
								</p>
								<p class="aj">Today post breakfast you will be taken on a tour to visit the Tropical Rainforest - Green Planet. Discover The Wonders of The Tropical Forest. The Green Planet is a bio-dome inviting visitors to explore our planet’s fascinating flora and fauna through an immersive expedition into the tropics. Designed as an enclosed ecosystem, The Green Planet recreates the enchanting world of the tropical forest with over 3,000 plants and animals and the world’s largest indoor man-made and life-sustaining tree. The educational and recreational facility is set to raise awareness for the delicate balance of nature and the preciousness of one of our world’s oldest living ecosystems, making it the ideal educational destination for the entire family.<br />
<br />
In the afternoon get ready to explore the city as you will be taken on a Day & Night City tour of Dubai. Highlights of the tour being Sheikh’s Palace, Palm Jumeirah / Atlantis Hotel, Kite Beach / Burj Al Arab Photo stop, One hour cruising in Marina, Dubai Museum (entrance fee included), Free time for shopping at Meena Bazaar (45 mins – 1 hr. approx.), Dinner at Indian Restaurant in Meena Bazaar. Overnight stay in Dubai.</p>					
									<p><b>Meals : </b> Breakfast Dinner</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> Dubai
								</p>
								<p class="aj">Today enjoy Ski Dubai located in the Mall of Emirates Discover which is the first & ultimate indoor ski resort in the Middle East! With an amazing mountain-themed wintery setting, enjoy skiing, snowboarding, tobogganing, or just playing in the snow. Plus you can now meet and play with Ski Dubai's newest residents; the Snow Penguins! Join us by rolling down in the Giant Ball run, jumping a 10ft. ramp; turning down the tube slides, sightseeing in the chairlift, or just relaxing over a hot chocolate at minus 4 degrees. Enjoy a voucher of fabulously fresh Italian gelato of highest quality at MOE. Overnight stay in Dubai.</p>					
									<p><b>Meals : </b> Breakfast Dinner</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> Dubai
								</p>
								<p class="aj">Today enjoy the newest attraction of Dubai - IMG Worlds of Adventure. IMG Worlds of Adventure is Dubai’s first mega themed entertainment destination promising visitors from around the world the excitement of four epic adventure zones in one location. Two of the four zones represent renowned global brands Cartoon Network and MARVEL, while IMG Boulevard and the Lost Valley – Dinosaur Adventure zones are original concepts created by the IMG Group. IMG Worlds of Adventure is the largest temperature controlled indoor themed entertainment destination in the world, covering an area in excess of 1.5 million square feet. With the capacity to welcome more than 20,000 guests a day, the destination is featuring a unique array of adrenaline-pumping roller coasters, thrill rides, and spine-tingling attractions based on popular Cartoon Network characters, iconic MARVEL Super Heroes and hair-raising dinosaurs. Additionally, the destination is the home to a number of world-firsts, a variety of themed retail stores, exclusive dining venues, and a 12-screen state-of-the-art cinema. Overnight stay in Dubai</p>					
									<p><b>Meals : </b> Breakfast Dinner</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> Departure From Dubai to India
								</p>
								<p class="aj">Wake up to a lazy breakfast this morning. Today enjoy the various amenities available at your hotel or catch up with some last minute shopping. Later it’s time for you to be transferred to the Airport in order for you to catch your flight back home or you could take any of the truly exciting optional add-ons that we have to offer you!!</p>
								</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>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.emplanetourandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dazzling Dubai 4N/5D 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="118120"/>
						</form>
						</div>
						
						";i:1;s:67:"Book Dazzling Dubai 4N/5D Package - 4 Nights / 5 Days Tour Packages";i:2;s:121:"book dazzling dubai 4n/5d package - 4 nights / 5 days tour packages, forts and palaces tour packages, dubai tour packages";i:3;s:178:"Book Dazzling Dubai 4N/5D Package - 4 Nights / 5 Days tour packages from Emplane Tours and Travels - Get attractive 4 Nights / 5 Days Forts and Palaces  tour packages for  Dubai.";i:4;s:405:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai"        
		                 },
		      "description": "",
		      "name": "Dazzling Dubai 4N/5D Package",
		      "telephone": "+91-8005957779"
		    }
		    </script>
			";i:5;N;}