a:6:{i:0;s:10195:"				<div class="h1"><h1>Dubai Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.oppexholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.oppexholidays.com/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">
						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.oppexholidays.com/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="15656"/>
						</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_2/37817/24697.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/24697.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> Mumbai - Dubai (Dhow Cruise)
								</p>
								<p class="aj">Dubai Arrival. Welcome To Dubai. You Will Be Transferred From The Airport To Your Hotel (Transfers On Seat In Coach Basis). The Rest Of The Day Is Yours To Relax, Explore The City Or Go Shopping. Dubai Is An Arab City With A Highly International And Cosmopolitan Look And Feel.<br />
Evening Proceeds For Dhow Cruise (2000 Hrs Until 2230 Hrs). Cruising Down Dubai Creek Is A Novel Experience, One Which You Cannot Miss When In Dubai. Imagine Yourself On Having Dinner On A Dhow Cruise With The Fascinating Lights Of Dubai Creek With Music And Belly Dancing With A Sip Of Your Favorite Drink And BBQ Buffet Dinner.  Romance For Never So Easy To Find...Cruising Down Dubai Creek Is A Novel Experience, Dinner On A Dhow Cruise With The Fascinating Lights Of Dubai Creek With Music And Belly Dancing With A Sip Of Your Favorite Drink And BBQ Buffet Dinner . Back To Hotel & Overnight Stay.</p>					
									<p><b>Meals : </b> Lunch, 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 :  (City tour + Desert Safari)
								</p>
								<p class="aj">Breakfast At The Hotel.<br />
After Breakfast Proceed To 09.00 Am For Half-Day Sightseeing Tour Of The City To Sample The Historic Sites And Vibrant Cosmopolitan Life Of Dubai. The Tour Starts With A Photo-Stop At The Famous Landmark Of Dubai, Burj Al Arab. Proceed To Jumeirah, The Picturesque Palace And Residential Area Of Dubai, Also Home To The Famous Jumeirah Mosque. The Tour Continues To Al Bastakiya, The Old Part Of Dubai, To Reach The Museum Located In Al Fahidi Fort.<br />
Late Afternoon At 03.30 Pm We Will Begin Our Amazing Adventure With An Exciting Drive Over The Dunes. This Tour Departs In The Afternoon Across The Desert With An Adventurous Dune Bashing With Photo-Stops During An Exciting Dune Drive And Visit The Camel Farm. The Drive Continues Across The Desert. Watch The Beautiful Sunset In The Desert. Reach Our Campsite, Where You Have The Opportunity To Do Camel Riding, Sand Boarding And Try Out A Henna Design On Hands Or Feet. Try Out Some Hot Snacks Served With Tea Or Arabic Coffee Along With An Amazing Tanoura Dance Performance. After Working Up An Appetite Enjoy A Delicious Barbecue Dinner And A Shisha (The Famous Arabic Water Pipe). Before Returning, Watch Our Belly Dancer Performing Her Show Around The Campfire By Starlight. Overnight Stay.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, 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> :  (Snow Park + Burj Khalifa)
								</p>
								<p class="aj">Breakfast At The Hotel. <br />
After Breakfast  Our Representative Will Escort You To Snow Park. Ski Dubai Has The World's Largest Indoor Snow Park, An Amazing 3000 Square Meters Covered With Snow. In View Of The Mall, The Snow Park Offers Tobogganing Hills, A Bobsled Ride, Tubing And A Snow Cavern Filled With Interactive Experiences And Amazing Sights And Sounds. It Also Has A Large Observation Tower, Offering A View Over Ski Dubai's Main Slope. Children And Parents Alike Can Enjoy Building A Snowman And Playing On The Hills.<br />
Burj Khalifa:<br />
Our Representative Will Escort You To Visit The Tallest Tower In The World. An Interactive Feature 'Burj Around The World' Allows Visitors To View Burj Khalifa On The Skyline Of Other Famous Cities While Two Multimedia Presentations, 'Burj Khalifa Among The Greats' And 'Tallest Among The Tall', Will Feature Other Iconic Tall Buildings From Around The World. The Ascent To The 124Th Floor Is By A Double-Deck Elevator, Each Deck Carrying Up To 14 People And Travelling At An Amazing 10 Meters Per Second Directly To Level 124. In Less Than 60 Seconds, The Elevator Reaches The Observation Deck, The World's Only Public Observation Deck With An Outdoor Terrace At This Height. Overnight At Hotel.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, 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">After Breakfast, Day Free For Leisure, Lunch & Dinner In Restaurant. Overnight At Hotel. </p>					
									<p><b>Meals : </b> Breakfast, Lunch, 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> Dubai -  Mumbai
								</p>
								<p class="aj">After Breakfast At The Hotel. Check Out From Your Hotel And Transfer To The Airport To Board  The Flight For India. Arrive India With Happy Memories.</p>					
									<p><b>Meals : </b> Breakfast, Lunch</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>Transfers</li>
																		<li>Entry Tickets</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.oppexholidays.com/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="15656"/>
						</form>
						</div>
						
						";i:1;s:49:"Book Dubai Tour - 4 Nights / 5 Days Tour Packages";i:2;s:103:"book dubai tour - 4 nights / 5 days tour packages, forts and palaces tour packages, dubai tour packages";i:3;s:194:"Book Dubai Tour - 4 Nights / 5 Days tour packages from Oppex Travels & Tours ( a Division of Oppex Freight Systems - Get attractive 4 Nights / 5 Days Forts and Palaces  tour packages for  Dubai.";i:4;s:387:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai"        
		                 },
		      "description": "",
		      "name": "Dubai Tour",
		      "telephone": "+91-9821321975"
		    }
		    </script>
			";i:5;N;}