a:6:{i:0;s:9568:"				<div class="h1"><h1>Dubai Luxury Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.bluedolphintravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.bluedolphintravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Dubai Luxury 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">
						5 Nights / 6 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.bluedolphintravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dubai Luxury 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="65666"/>
						</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_15/428110/120931.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/428110/120931.jpg"  width="150" height="150"    alt="Dubai Luxury Package" title="Dubai Luxury 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> Arrival In Dubai
								</p>
								<p class="aj">Welcome to Dubai!! After arrival, you are met and transferred to the hotel. Arrive at the hotel, check in and relax. Rest of the time free for leisure, Stay overnight at the 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> Dubai City Tour+Dhow Cruise
								</p>
								<p class="aj">Breakfast at the hotel. After breakfast proceed for the Dubai city tour which includes visit to Palm Island, Marina of Jumeraih, Mall of Emirates, Burj Dubai, Emirates tower, Rulers palace, Sheikh Zayed road, Zabeel palace, Jumeraih mosque and beach, Al Fahidi street, Dubai skyline, Dubai Museum, Ski Dubai. Also visit the Old city, Bastakia, - the Wind towers, Spice souk, Gold Souk. Rest of the day free at leisure on your own. Later in the evening join traditional Arabian dhow for an evening cruise on the Creek. Enjoy a sumptuous feast of Arabic and International cuisine. Stay overnight at the 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> Desert Safari
								</p>
								<p class="aj">After Breakfast, Enjoy City By Your Own. See The Creek, The Souks And Traditional Markets, In The Evening, Enjoy The Desert Safari Tour Which Includes An Exciting Safari By A Four Wheel Drive Over Desert Dunes, A Scintillating Belly Dance Performance And A Delicious Bbq Dinner. Overnight In Dubai<br />
<br />
After Noon Desert Safari.<br />
<br />
Pick Up / Drop Of Location : Hotel Lobby<br />
Pick Up & Drop By 4×4 Land Cruiser, 45 Minutes Dune Bashing, Unlimited Water & Soft Drinks, Sheesha, Hena Painting, Camel Ride For Photo Shoot, Tanura Dance, Belly Dance And Barbeque Dinner.Over Night 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 4:</b> Abu Dhabi City Tour
								</p>
								<p class="aj">Breakfast a t hotel, - Abu Dhabi City Sightseeing Tour.<br />
<br />
The Abu Dhabi City Tour–Abu Dhabi Literally Means Father Of The Gazelle<br />
<br />
The Abu Dhabi City Tour Takes You Around The Capital City Of The United Arab Emirates (Uae), Which Is Located On An Island Connected To The Mainland By Three Bridges. In The Capital, You Will Find It Filled With Skyscrapers, Even With All Of The Modern Developments In The City, Tourists Will Still Find A Lot Of Fascinating Unique And Peculiar Heritage Attractions.This Tour Will Bring You Closer To The Traditional Markets Where You Have The Chance To Taste And Buy Dates, See The Fishermen And Their Catch Of The Day. We Will Take A Walk Along The Corniche Promenade, With Almost 8 Km, The Longest In The U.A.E. The Photographer Within You Could Picture A Lot Of Memorable Moments.<br />
<br />
Places To Visit :Grand Mosque, Heritage Village, Iranian Market, Dates Market, Fishing Harbour, Yas Island Sadiyaat Island (Drive Pass Only)<br />
<br />
After Transfer To Ferrari World Enjoy Rides ,Evening return ,Over Night 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 5:</b> Dubai - Leisure
								</p>
								<p class="aj">After Breakfast the day at leisure you will free for own activities Or you can add Optional tour by own cost.Over Night 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 6:</b> Departure
								</p>
								<p class="aj">Wake up to a lazy breakfast this morning.<br />
<br />
Good Times Need Never End! As You Get Ready For The Airport And Your Flight Back Home, All Passengers From All Hub Will Be Driven Down To Dubai International Airport To Board The Flight. Relive The High Points Of Dubai 'Tour. We Are Confident You Will Join Us Again, Sometime Soon.<br />
( Breakfast, At The Hotel ).</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.bluedolphintravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dubai Luxury 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="65666"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Dubai Luxury Package - 5 Nights / 6 Days Tour Packages";i:2;s:113:"book dubai luxury package - 5 nights / 6 days tour packages, forts and palaces tour packages, dubai tour packages";i:3;s:150:"Blue Dolphin Travels offers Dubai Luxury Package - 5 Nights / 6 Days tour package, budget Forts and Palaces tour packages for Dubai at exciting price.";i:4;s:397:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai"        
		                 },
		      "description": "",
		      "name": "Dubai Luxury Package",
		      "telephone": "+91-9558888723"
		    }
		    </script>
			";i:5;N;}