a:6:{i:0;s:12263:"				<div class="h1"><h1>Dubai Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.visiontourandtravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.visiontourandtravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Dubai Tour</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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Dubai, Abu Dhabi</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.visiontourandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dubai 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="74479"/>
						</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_16/450636/132970.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/450636/132970.jpg"  width="150" height="150"    alt="Dubai Tour" title="Dubai Tour" /></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> Welcome to Dubai
								</p>
								<p class="aj">Enjoy Dhow Cruise with dinner International Buffet Dubai Creek Airport Transfer<br />
Once you arrive, a representative will escort you at the airport and drop you at your hotel. Check into the hotel and take some rest. Later in the evening, sail through the city’s waterways on a traditional Dhow Cruise and enjoy a tasty buffet dinner in a royal setting. Transfer back to the hotel and sleep for the night.<br />
<br />
Ride on a Dhow Cruise sailing over the Dubai Creek<br />
An aerial view of the gorgeous Dubai Creek in Dubai<br />
Enjoy a flavorous international buffet meal</p>					
									<p><b>Meals : </b> 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> Burj Khalifa
								</p>
								<p class="aj">Revel in a half-day Dubai city tour and visit the Burj Khalifa<br />
Dubai Sightseeing Burj Khalifa Jumeirah Beach Palm Island<br />
Other Benefits (On Arrival)<br />
Sightseeing<br />
Transfers<br />
Post a hearty breakfast, set out for a joyful half-day Dubai city tour. Lose yourself in the exotic Middle Eastern experience. Visit the enlightening Dubai Museum, the Jumeirah Mosque, the glamorous Burj Al Arab Hotel, the luxurious Atlantis Hotel, the crescent-shaped Palm Island, and the Jumeirah Beach.<br />
<br />
Shop at the city’s renowned shopping malls. Later in the evening, watch the stunning Dubai landscape from Burj Khalifa’s observation deck. End day two of your Dubai holiday with some sound sleep at your hotel.<br />
<br />
Optional: Request for premium slots at Burj Khalifa while customizing your Dubai holiday package (charges extra).<br />
<br />
Visit to the world famous Burj Al Arab Hotel on your Dubai retreat<br />
Visit the glorious Palm Island and Atlantis Hotel perched on it<br />
Spend some lazy moments at the Jumeirah Beach</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> Dolphinarium Desert Safari
								</p>
								<p class="aj">Visit the Dolphinarium and enjoy Desert Safari tour<br />
Dolphinarium Desert Safari Barbecue Dinner<br />
Other Benefits (On Arrival)<br />
Transfers<br />
After a tempting breakfast at the hotel, proceed for the Dolphinarium. Indulge in poolside and underwater interactions with dolphins until noon.<br />
<br />
Later, set off for an adventurous Desert Safari tour. Enjoy desert activities like dune bashing and off roading, witness some attractive cultural performances, and a grand spread of barbecue dinner. Get to your hotel and retire for the night.<br />
<br />
Tip: Let your kids try thrilling activities like camel riding, sand boarding, jeep racing, and quad biking (charges extra).<br />
<br />
Relish a delish barbecue dinner laid out on the cool, velvety sands<br />
Interact with cuddlesome dolphins at the Dolphinarium<br />
Engage in Dune Bashing during your Desert Safari tour</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> Abu Dhabi
								</p>
								<p class="aj">Relish a city tour of Abu Dhabi & visit the Ferrari World theme park<br />
Abu Dhabi Ferrari World<br />
Other Benefits (On Arrival)<br />
Sightseeing<br />
Transfers<br />
Have a filling early morning breakfast and embark on a full-day Abu Dhabi city tour. Explore Abu Dhabi’s ancient as well as modern arenas.<br />
<br />
Later, proceed to the Ferrari World theme park. Try your hand at the most challenging F1 courses and enjoy the engaging rides. Post dinner, transfer back to the hotel in Dubai & retire for the night, ending the fourth day of your scintillating Dubai vacation.<br />
<br />
Wander through the magical interiors of the Sheik Zayed Mosque<br />
Enjoy exhilarating rides at Ferrari World<br />
Test your behind the wheel skills at Ferrari World</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> Abu Dhabi
								</p>
								<p class="aj">Visit the Aquaventure Water park & the Lost Chambers<br />
Water Rides Unlimited Fun<br />
Other Benefits (On Arrival)<br />
Transfers<br />
Post a yummy breakfast, you’ll be taken to Aquaventure and the Lost Chambers at Atlantis The Palm. Enjoy the thrilling water rides throughout the day and explore the vibrant marine life. Return to your hotel and have a sound sleep.<br />
<br />
Engage in a number of joyful rides at Aquaventure Water park<br />
Indulge in a number of fun rides at Aquaventure Water park in Dubai<br />
Observe the incredible marine life at Lost Chambers in Dubai</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 6:</b> Abu Dhabi
								</p>
								<p class="aj">Have fun at the Dubai Aquarium & Underwater Zoo<br />
Family time Leisure Day Shopping<br />
Other Benefits (On Arrival)<br />
Transfers<br />
After a hearty breakfast, get to Dubai Aquarium housed in the Dubai Mall. Let your kids have fun at one of the world’s largest suspended aquariums while watching sharks, rays, and snakes at a close range.<br />
<br />
Spend the rest of the day leisurely, do shopping at Dubai Mall and other places, and check out the happening realms of Dubai. Return to your hotel and call off day six of your enticing Dubai trip.<br />
<br />
Visit the fascinating Dubai Museum<br />
Watch the colourful marine life at the Dubai Museum<br />
Discover the vibrant underwater life at Dubai Museum</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 7:</b> Departure
								</p>
								<p class="aj">Departure from Dubai<br />
Leisure Day Trip ends<br />
Other Benefits (On Arrival)<br />
Breakfast<br />
Airport Transfer<br />
Enjoy a flavoursome breakfast at the hotel and spend the day leisurely. Shop for local Middle Eastern souvenirs, explore the remaining arenas of the city. Get transferred to the airport to board an evening flight back home with everlasting memories of your Dubai holiday.<br />
<br />
Buy chocolates made out of camel milk on your Dubai family retreat<br />
Buy gold from Dubai's highly recommended Gold Souks<br />
Buy spices from Dubai's highly recommended Spice Souks<br />
Hotels<br />
Expand All Collapse All<br />
Note: Our agents will provide you these or similar hotels depending on availability</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>
																		<li>Transfers</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.visiontourandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dubai 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="74479"/>
						</form>
						</div>
						
						";i:1;s:49:"Book Dubai Tour - 6 Nights / 7 Days Tour Packages";i:2;s:114:"book dubai tour - 6 nights / 7 days tour packages, forts and palaces tour packages, dubai, abu dhabi tour packages";i:3;s:167:"Book Dubai Tour - 6 Nights / 7 Days tour packages from Vision Tour & Travels - Get attractive 6 Nights / 7 Days Forts and Palaces  tour packages for  Dubai, Abu Dhabi.";i:4;s:408:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai, Abu Dhabi"        
		                 },
		      "description": "",
		      "name": "Dubai Tour",
		      "telephone": "91-9987181732/8684821464"
		    }
		    </script>
			";i:5;N;}