a:7:{i:0;s:7155:"				<div class="h1"><h1>Dubai Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.jagannathtourandtravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.jagannathtourandtravels.co.in/tour-packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Dubai Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_13/364974/169710.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/364974/169710.jpg"  height="150"  width="150"    alt="Dubai Tour" title="Dubai Tour" loading="lazy"></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Dubai</p>
												<p><b>Price :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.jagannathtourandtravels.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="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="101066"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Arrival
									</p>
									<div class="data p10px">On your arrival,pick up and transfer to your hotel. Check-in at the hotel. In the evening enjoy the very famous Dhow Cruise. visit to Dubai is incomplete without a cruise along the Dubai Creek in a traditional wooden Dhow. This unforgettable experience showcases the true spirit of Dubai intertwining tradition with the modern as the dhow gently slips along the Creek offering spectacular views of the present and the days gone by.The traditional dhow glides silently through the water and the tour offers an intriguingly different view of this beautifully lit city.This nostalgic journey lasts for about two hours.Enjoy a musical dinner on the dhow, post which you will be transferred back to your hotel for the night.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Dubai
									</p>
									<div class="data p10px">After breakfast proceed for a half day tour of the city. The tour takes you to the Bur Dubai Creek, Spice market. You can stop for a photo-Stop with the Burj al-Arab, the world's only 7 star hotel. From there you head off to the man made Palm Island and its crowning glory, the Atlantis Hotel,white Jumeirah Mosque. Please At the end of the tour return to the hotel. In the evening, we suggestyou to take optional tour of Shopping visit to Dubai Mall and Burj Khalifa. Dubai mall, is the largest in the world. Burj Khalifa, the world's tallest building pierces the sky at 828m (seven times the height of Big Ben) and opened on 4 January 2010, only six years after excavations began. The main attraction is the Observation Deck 'At the Top' on the 124th floor. Overnight stay at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Dubai
									</p>
									<div class="data p10px">After Breakfast, day free at leisure till afternoon. In the afternoon, you will be taken for Desert Safari. Your tour begins with an unforgettable roller coaster drive in the desert skimming over the magnificent Sand Dunes. Amidst all the fun and action stop for pictures while the tour heads towards Ali’s camel farm for a short visit. A traditional welcome awaits the guests with Arabic coffee, tea and dates while the charcoal fires and the traditional oven is lit in preparation for the evening dinner. Take some time out to relax in the Arabic tents furnished with carpets and pillows for your comfort or chill out by the campfire. Get a henna tattoo,experience an unforgettable camel ride, view the Tannoura dance show and an exotic belly performance under the campfire-so much and more. The evening ends with a delicious three course barbeque meal with a variety of meats and salads served beneath the starlit skies, accompanied by authentic Arabic music. After dinner drive back to the back to the city. Overnight stay at Hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Dubai
									</p>
									<div class="data p10px">Breakfast at the hotel. Day free at leisure. We recommend to take below optional full day tours : a) Abu Dhabi with Grand Mosque and Ferrari world b) Aquaventure & Lost Chamber c) Shopping visit to Mall of Emirates & Snow Park d) IMG worlds of adventure (inclusive of all 4 zones - Lost valley, Cartoon Network,IMG Boulevard & Marvel)</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Departure
									</p>
									<div class="data p10px">Breakfast at hotel. Day free at leisure. Check out at 12 noon. Evening transfer to airport for flight back to home.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
													<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																	</ul>
							<br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:49:"Book Dubai Tour - 4 Nights / 5 Days Tour Packages";i:2;s:94:"book dubai tour - 4 nights / 5 days tour packages, heritage tour packages, dubai tour packages";i:3;s:137:"Jagannath Tour And Travels offers Dubai Tour - 4 Nights / 5 Days tour package, budget Heritage tour packages for Dubai at exciting price.";i:4;s:373:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai"        
		                 },
		      "description": "",
		      "name": "Dubai Tour",
		      "telephone": "+91-7980145382"
		    }
		    </script>
			";i:5;N;i:6;N;}