a:6:{i:0;s:12778:"				<div class="h1"><h1>Dubai 3Nights / 4Days Return Airfare Ex - New Delhi Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.highspiritadventures.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.highspiritadventures.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Dubai 3Nights / 4Days Return Airfare Ex - New Delhi 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">
						3 Nights / 4 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.highspiritadventures.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dubai 3Nights / 4Days Return Airfare Ex - New Delhi 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="74613"/>
						</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/445618/133193.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/445618/133193.jpg"  width="150" height="150"    alt="Dubai 3Nights / 4Days Return Airfare Ex - New Delhi Tour" title="Dubai 3Nights / 4Days Return Airfare Ex - New Delhi Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					4.5% Govt service tax<br />
Desert Safari With BBQ Dinner & Belly Dance<br />
Dhow Cruise With Dinner<br />
Half Day Dubai City Tour<br />
Visa With Ok To Board<br />
Burj Khalifa - At The Top 124th Floor (Normal Timings)<br />
Airport Transfers Are On SIC Basis<br />
All Transfers And Sightseeings On SIC Basis<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 & welcome
								</p>
								<p class="aj">Dhow Cruise with Dinner<br />
3 star accomodation (Fortune Plaza Hotel or similar) with breakfast.<br />
Pickup From Hotel (19:30 Hrs) and Duration is (2 Hrs)<br />
The two-hour Dubai Dhow cruise that usually begins after sunset covers almost the entire of Dubai Creek. As you gaze at the splendid views of the Creek wherein the modern era’s classiness joins hands with the aura and charm of olden times, our traditional Arabian dhow cruise Dubai provides you with an as-never-before sightseeing experience while allowing you to savor a wide range of freshly prepared international gourmet specialties and enjoy a spectrum of onboard activities including live music performances and traditional Tanura dance shows.</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> Desert Safari With BBQ Dinner & Belly Dance - 2*
								</p>
								<p class="aj">3 star accomodation (Fortune Plaza Hotel or similar) with breakfast.<br />
<br />
Pick up (15:00 Hrs) from hotel lobby and drop off (21:30 Hrs) at hotel - Services from all major hotels in STANDARD VEHICLE. Duration 6 Hours<br />
<br />
The real highlight of the tour is an exciting, adrenaline-pumping 4x4 drive deep into the desert to explore the vast stretch of the golden dunes by plummeting low in the deep ditches and escalating high on the summit of the dunes. This is followed by a visit to our traditional Arabic Bedouin campsite, which enables you to capture the real essence and beauty of the desert, as you relish traditional Arabic coffee, smoke a flavored Shisha, and rivet in the mesmerizing belly dance movements and Tanura horse shows. A not to miss out is the enchanting desert sunset views that promote for an exceptional photographic experience. You will also get the opportunity to ride a camel, walk over desert sand, put on Arabic attire, adorn your hands with mind blowing henna designs, and take pictures of falcon sitting on your shoulder. To tantalize your taste buds, the tour includes a scrumptious dinner featuring international buffet with a choice of vegetarian and non-vegetarian dishes.<br />
Important Notes:<br />
Minimum 02 passengers required, No live entertainment and alcohol served during Ramadan.<br />
Price valid for pickup from Deira / Bur Dubai only<br />
Infants or child below 5 years are not allowed<br />
<br />
Half Day Dubai City Tour<br />
<br />
3 star accomodation (Fortune Plaza Hotel or similar) with breakfast.<br />
<br />
Pick Up from The Hotel (09:00 Hrs) and Duration (4 Hrs)<br />
<br />
For a peep into the glitzy side of Dubai, our itinerary further comprises a tour to such phenomenal attractions of the city as Burj Al Arab Hotel – the world’s only seven-star hotel that is especially noted for its distinctive silhouette resembling a billowing sail, the Palm Island – the crescent shaped man-made island, Atlantis Hotel and Burj Khalifa – the towering building that is one of its kind in the whole world. Equally noteworthy is Dubai’s scenic attractions, and a visit to well-maintained Jumeirah Beach will provide you with a unique opportunity to immerse in the city’s natural beauty. The journey ends with a drive through Sheik Zayed Road that has imposing skyscrapers lined on its either side and a shopping at one of the city’s prominent shopping malls. Whether you’re history buff, shopping freak or just here to have a glimpse of city’s significant tourist attractions, our city tour assures to cover all your unique requirements.</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> Burj Khalifa - At the Top 124th Floor (Normal Timings)
								</p>
								<p class="aj">3 star accomodation (Fortune Plaza Hotel or similar) with breakfast.<br />
<br />
No building in modern history has aroused so much curiosity and intrigue as has Burj Khalifa. Your At the Top, Burj Khalifa visit will answer all your questions. From your vantage point on level 124 of the world’s tallest building, you will experience first-hand this modern architectural and engineering marvel and know at last what it is like to see the world from such a lofty height. You’re At The Top,Burj Khalifa visit begins in the reception area on the lower ground level of The Dubai Mall. Here and throughout your journey, you will be entertained and informed by a multi-media presentation that chronicles Dubai’s exotic history and the fascinating story of Burj Khalifa. Leave the reception area aboard the 65-metre-long travelator on a trip that transports you through time, from the earliest days of Dubai to the present. Pause briefly at a unique viewing point for your first close-up view of the soaring Burj Khalifa, seen through a skylight framing its awe-inspiring height. Begin your vertical ascent to the observation deck in a high-speed elevator, travelling at 10 meters per second. As the doors open, floor-to-ceiling glass walls provide a breath-taking unobstructed 360-degree view of the city,desert and ocean. By night, sparkling lights and stars compete for your attention. Special telescopes provide virtual time-travel visions of the scenes beyond and below. You’ll see close-up real-time views as well as the past and the future, by day and by night. You can also walk the entire perimeter for the most comprehensive views. If you wish, adventure outside onto the open-air terrace to enjoy another perspective of the sweeping views below. You can even shop At The Top, Burj Khalifa and take home a truly unique souvenir of your visit. The At The Top, Burj Khalifa tour typically last 1 hour. However, you can linger as long as you like before making the return journey to the base of Burj Khalifa. You will be taking with you a fuller appreciation of this architectural wonder and a deeper understanding of Dubai’s remarkable vision.</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> Day at leisure
								</p>
								<p class="aj">You have a free day today. After breakfast, you are free to visit places of your choice by yourself to make your trip memorable. While you are finalizing your travel plan, we would be happy to suggest the places you should visit on this day. Although you have an option to book it through us or visit these place by yourself.<br />
<br />
Departure with sweet memories.<br />
This is your last day of the trip. After breakfast, check out from the hotel as per the timings mentioned in the voucher. We suggest that you should keep this day light and check your flight timings before hand. You will be transferred to airport from the pick up location as mentioned in the voucher (If Applicable).</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>Transport</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.highspiritadventures.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dubai 3Nights / 4Days Return Airfare Ex - New Delhi 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="74613"/>
						</form>
						</div>
						
						";i:1;s:95:"Book Dubai 3Nights / 4Days Return Airfare Ex - New Delhi Tour - 3 Nights / 4 Days Tour Packages";i:2;s:149:"book dubai 3nights / 4days return airfare ex - new delhi tour - 3 nights / 4 days tour packages, forts and palaces tour packages, dubai tour packages";i:3;s:188:"High Spirit Adventures offers Dubai 3Nights / 4Days Return Airfare Ex - New Delhi Tour - 3 Nights / 4 Days tour package, budget Forts and Palaces tour packages for Dubai at exciting price.";i:4;s:710:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai"        
		                 },
		      "description": "4.5% Govt service tax
Desert Safari With BBQ Dinner & Belly Dance
Dhow Cruise With Dinner
Half Day Dubai City Tour
Visa With Ok To Board
Burj Khalifa - At The Top 124th Floor (Normal Timings)
Airport Transfers Are On SIC Basis
All Transfers And Sightseeings On SIC Basis",
		      "name": "Dubai 3Nights / 4Days Return Airfare Ex - New Delhi Tour",
		      "telephone": "+91-8629029169"
		    }
		    </script>
			";i:5;N;}