a:6:{i:0;s:9366:"				<div class="h1"><h1>Delightful Dubai Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.rajastravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.rajastravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Delightful 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">
						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.rajastravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delightful 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="79279"/>
						</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_13/370602/139600.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/370602/139600.jpg"  width="150" height="150"    alt="Delightful Dubai Tour" title="Delightful 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> Dubai
								</p>
								<p class="aj">After arriving at the Dubai airport, meet our representative outside the baggage hall who’ll escort you to one of our listed hotels. En-route to the hotel enjoy a sumptuous breakfast at one of the city’s restaurants. After breakfast resume drive to one of our listed hotels. Check-in at the hotel to rest and relax in the cozy comforts of your hotel room. The rest of the day is spent at leisure. In the evening you may take a leisurely walk to explore Dubai, a shopper’s paradise. Later return to the hotel to enjoy a lavish dinner and a comfortable overnight stay.</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">Next morning post breakfast, embark on a city tour of Dubai. The tour starts with a visit to the heart of the old city. In the old Dubai lies Al Khor, the creek a wide saltwater inlet which further divides into two main city center districts. Enjoy the visit to Al Khor where you get a chance to see the traditional Abra-the water taxi. These water taxis, make for one of the most inexpensive and authentic experiences available in the Emirates. Later in the day take out time to explore the world popular Spice Souk and Gold Souk of Dubai.<br />
<br />
In the afternoon drive past the Jumeirah Beach and stop at the Burj Al Arab, the tallest standing hotels of the world to take out some fabulous photo shots. Later in the day set off to visit the Dubai Palm Island, the man made wonder and also stop outside the Atlantis hotel. After the visit to the man-made island drive down the famous Sheikh Zayed road which is famed to be one of the busiest roads of Dubai for enjoying the views of Dubai Marina. In the evening you are free to explore Dubai the tourist paradise which offers great shopping extravagance, fine dining restaurants and an array of high-end hotels. Later move out for a Dhow Dinner cruise excursion which allows you to enjoy sightseeing along the famous Dubai creek offering dazzling views of this amazing city. Enjoy dinner and overnight stay on the cruise.</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">On the 3rd day of the tour post breakfast, leave to enjoy a shopping at the world famous Meena Bazaar. In the afternoon set off for a Desert safari tour where the skilled driver takes the travelers for a thrilling roller coaster ride of the golden sand dunes. This is followed by paying a visit to the vantage point from where one can witness a beautiful sunset. Experience a true feel of the Arabian nights while halting at the desert camps where sumptuous dinner is coupled with a traditional belly dance and music performance. Enjoy the delicious dinner at the desert camps. Later return to the hotel for a comfortable overnight stay.</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">On the following day after enjoying an American breakfast, the day is free for leisure activities. You may explore even proceed to explore Abu Dhabi, the capital of United Arab Emirates. The prime attractions to visit in Abu Dhabi include Sheikh Zayed Grand Mosque, Al Ain Oasis, Abu Dhabi Corniche, Arabian Wildlife Park and so on. Later in the day return to the hotel for enjoying a lavish dinner and a comfortable overnight stay.</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> Dubai
								</p>
								<p class="aj">After enjoying a sumptuous breakfast, the morning is free for leisure activities. Later in the day get transferred to the airport to board a flight for onward journey.</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.rajastravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delightful 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="79279"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Delightful Dubai Tour - 4 Nights / 5 Days Tour Packages";i:2;s:114:"book delightful dubai tour - 4 nights / 5 days tour packages, forts and palaces tour packages, dubai tour packages";i:3;s:144:"RAJAS TRAVELS offers Delightful Dubai Tour - 4 Nights / 5 Days tour package, budget Forts and Palaces tour packages for Dubai at exciting price.";i:4;s:398:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai"        
		                 },
		      "description": "",
		      "name": "Delightful Dubai Tour",
		      "telephone": "+91-9820123553"
		    }
		    </script>
			";i:5;N;}