a:6:{i:0;s:45347:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>My Dubai 3 Nights Family Special Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.krishnaairtravel.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.krishnaairtravel.in/golden-triangle-tours.htm" title="Golden Triangle Tours">Golden Triangle Tours</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> My Dubai 3 Nights Family Special Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10353.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10353.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10353.jpg"  alt="My Dubai 3 Nights Family Special Tour" title="My Dubai 3 Nights Family Special Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10352.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10352.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10352.jpg"  alt="My Dubai 3 Nights Family Special Tour" title="My Dubai 3 Nights Family Special Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10354.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10354.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10354.jpg"  alt="My Dubai 3 Nights Family Special Tour" title="My Dubai 3 Nights Family Special Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10355.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10355.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10355.jpg"  alt="My Dubai 3 Nights Family Special Tour" title="My Dubai 3 Nights Family Special Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10356.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10356.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10356.jpg"  alt="My Dubai 3 Nights Family Special Tour" title="My Dubai 3 Nights Family Special Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10357.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10357.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10357.jpg"  alt="My Dubai 3 Nights Family Special Tour" title="My Dubai 3 Nights Family Special Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10358.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10358.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10358.jpg"  alt="My Dubai 3 Nights Family Special Tour" title="My Dubai 3 Nights Family Special Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10359.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10359.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10359.jpg"  alt="My Dubai 3 Nights Family Special Tour" title="My Dubai 3 Nights Family Special Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
							
							<ul class="lsn" id="bxslider-pager"><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10353.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10352.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10354.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10355.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10356.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10357.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10358.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10359.jpg"></a></li></ul>					
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">My Dubai 3 Nights Family Special Tour</p>
					
											<p class="mb5px"><b>Tour Code :</b> Family Special</p>
												<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Dubai</p>
												<p class="mb5px"><b>Attractions :</b> Burj Al Arab</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="My Dubai 3 Nights Family Special Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="9895"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">3 Night Dubai<br />
Dubai<br />
The glamorous shining star of the middle-eastern desert, Dubai speaks of the good life. But recently, it's been in the news more for building glitzy towers - like the Burj, and islands - like the Palm Jumeirah and the World (under construction) than the things it was previously known for - oil and Dubai shopping festival, better known as the DSF.<br />
<br />
For being a nation that used to earn a major part of its revenue selling crude oil to becoming a nation that made use of its capabilities and resources to bring the world together to its doors with full wallets and topped up credit cards only to make it spend in a hurry, Dubai has come a long way.<br />
'Dream of something and we'll make it come true' is the attitude that the leader of this glamorous metropolis, Sheikh Muhammad lives by but beneath the garb of all the glitter & glam, there's a Dubai which takes pride in its traditional values while respecting traditions which foreign visitor bring along. They sing, dance, fast in the month of Ramadan and urge everyone to maintain the sanctity of the Emirate. The nation lives as a closely knit group and urges visitors to do the same. Welcome to Dubai!<br />
<br />
Places to See<br />
Du The modern Dubai speaks loudly of the Arab world's richnessbai, by the looks of it, is sure an ultra-modern metropolis but there is a side to Dubai that somehow got lost beneath the garb of glittering shopping festivals and skyscrapers. A look inside the Dubai museum will take you back in time to a more traditional Dubai with reed houses and artifacts. The new underground section makes use of the latest technology to showcase Dubai's history. Jumeirah Mosque is open to tourists all year long. Guided tours commence every week on Thursdays followed by a question & answer session., grandeur and uninhibited flights for fantasies. And they believe in giving them a real shape. Take for example, the Burj Khalifa. Standing tall at 828 meters, the sky-piercing Burge is the tallest standing structure in the world. The second tallest, Tapei 101, is short by a length of 300 meters. We recommend climbing up to the 124th floor on the observation deck for an uninterrupted view of the city's skyline and beyond.<br />
<br />
Being rich and famous might not be sufficient to get an entry into the Burge Arab as and when you please. Staying at the hotel will require you to make reservations at least a month in advance. However, a few days of advance notice would suffice, in case it's a dinner night with family and friends is what that you looking for. The Dubai Marina, with its malls, shopping centers, coffee shops and restaurants is a great place to be. It also includes a beautiful beach and two beautiful walkways, The Marina Walk and the Walk.<br />
<br />
The Palm Islands are the newest in the list of attractions that Dubai has to offer. No, they did not find some landmasses off the coast and developed them up. The islands are man made and offer tourists, a host of thing to indulge in. From up-market shopping malls to hotels to luxury beach resorts - they have it all. Just another example of Dubai's uninhibited flights of fantasies put perfectly in perspective.<br />
<br />
Places to Eat<br />
Dubai is a non-vegetarian's paradise. All small and big restaurants, even wayside eateries, except the ones specializing in other cuisines will without a doubt, serve Shawarma. And it comes really cheap. Falafil is another local food item to keep a lookout for.<br />
<br />
The metropolis of Dubai is developed around the tastes and likes of tourists. Besides American fast food chains (most of them are doing business in Dubai), you'll be able to find food from every cuisine around the world here, all and everything to fit your budget.<br />
<br />
Indian and Pakistani food can be best enjoyed at eateries like the Ravi and the Karachi Darbar, which is actually a chain of restaurants you'll find all over the city.<br />
<br />
The Legend Steak House comes as a part of the Dubai Creek Golf Club and is pretty decently priced for the view and the ambience it offers. The award-winning JW steakhouse and the Shang Palace are two of the most notable restaurants in the city. However upscale they may be, the food here is exceptional.<br />
<br />
Some other great restaurant to dine at include Al Dawaar, a multi-cuisine revolving restaurant, Pars Iranian Kitchen, an open air revolving restaurant serving fine Iranian delicacies in traditional machans and Karam Beirut, one of the best Lebanese eateries in the city.<br />
<br />
Things to Do<br />
White sandy beaches, desert safaris, dune bashing, skiing (we aren't kidding!), air balloon rides, and excursions to surprising places; there is a lot to Dubai. Let's elaborate:<br />
<br />
Turquoise waters, beautiful sandy beaches and water that is surprisingly warmer than what you might have expected, the Dubai beaches are a great place to lounge in the sun and enjoy. However, the water is a bit too salty. You'll need to take good care of your skin. For those who are unaware of the fun of Dune Bashing, get ready for a roller coaster ride in SUVs over the sand dunes for an exhilarating experience. What's more, after the bashing, you'll be treated to a lavish dinner complete with dance and music. Skiing in Dubai? This is another flight of fantasy carefully brought to reality. The Ski-Dubai located inside one of the new malls in the metropolis makes use of almost 60,000 tons of snow to offer a pretty real skiing and snow-boarding experience. Flying over sand dunes in a hot air balloon is nothing less than an Egyptian fairy tale. Make it come true in Dubai! Dawn may be a great time but sunsets are better for sure.<br />
<br />
When it comes to the number of people visiting Dubai for the sole aim of shopping, Dubai rings top slots in every list. It's a wonder that an economy that's built on the revenues generated by selling crude oil has turned in one that generates most of its revenues through providing new possibilities of shopping, organizing Sports events and other financial activities. The Dubai Shopping Festival has more than a decade of success to its credit and rakes in huge revenues for the city. The festival commences every year in the first quarter. Inaugurated in 2004, The Dubai International Film Festival is now running successfully into its 7th year. The festival has come up as one of the most important in Asia and the middle-east. It features films from the Gulf, Arab, Asia, Africa and France. Thanks to the Dubai Jazz Festival and Dubai Desert Rock Festival, the music scene in Dubai has finally come of Age. This year's lineup at the Jazz festival included greats like Flipside, Blue Light Band and Afif Brothers whereas the Desert Rock Festival' in 2009 - saw bands like Motorhead, Arch Rival, Opeth and Nerve Cell.<br />
<br />
Dubai's nightlife, contrary to what it may seem, is far from being cold. A number of upscale hotels have bars and night clubs frequented by world class musicians and A-listers from across the globe. Adhering to the 'rules of alcohol' is a must, however. These include not drinking in public places, avoiding drunken driving (penalty include a month's jail sentence along with a fine) and carrying a valid identification to watering holes at all times, especially if you look younger than a 21 year old. Popular taverns include: The Roof Top Bar at Hilton Dubai Creek, which offers wonderful views of the city; 360°, a popular open air bar inside the Jumeirah beach hotel complex offering wonderful views of the Burj and Rock Bottom, a restaurant cum night club featuring rock bands, DJ's and offering what you call, an all in all great night scene. The Buddha bar is where you might see a celebrity or two sitting and enjoying a drink. The bar opens after sundown. You might need to make dinner reservations to get inside. Otherwise standing outside in lines is almost inevitable.<br />
<br />
So, tell us what you fix is? - an attitude Dubai and its surrounding areas live by when it comes to giving travelers a great time. From cultural excursions to shopping sprees to laidback undisturbed moments with your loved ones - you name it, they have it! Dubai glitters of affluence. There's a Dubai that most visitors miss out on while swiping credit cards at the DSF, a Dubai you can't take home. The Bedouin Villages in the suburban areas makes for a perfect example. Take a guide tour to be witness to a small but significant part of Arab history. Besides, it's a great way to spend a day away from the hustle bustle. There is one animal that the people of Dubai couldn't have survived without in earlier times. Be it a camel race or a simple camel back tour, an experience of being with this animal rightfully hailed as the 'ship of the desert' is a must.<br />
<br />
Shopping Where to go? What to buy? Options are many and are all of them are available at competitive prices. However, the good old duty free days are gone, courtesy the appreciating exchange rates of Dhiram and too many shoppers to stoop down prices for.<br />
<br />
Gold jewelry and items make for a great purchase. The prices may not be any less than other shopper-friendly destinations but the wide range of selection perfectly makes up for that. It's the same with textile products but it's electronic products and accessories where the real bargain lies.<br />
<br />
Haggling in souks is a nice way to try your luck. The best prices are, at times, way lower than the ones quoted on the stickies. In addition to these, the shops outside the Satva Mosque are well-known for the textiles. Bargain for the best price.<br />
<br />
For Gold, the Gold Souk Market is the place to be. It would be great if you go there with the full knowledge of the prevailing gold prices. We recommend you take along someone skilled in the art of bargaining. You might be surprised with your luck. Like the Gold Souk Market, the Spice Souk Market is as ancient as the city of Dubai. Go there but for the experience of shopping as better prices and a much cooler air-conditioned shopping experience is available at Carrefour.<br />
<br />
Then there are the malls, Dubai is full of them! Some notable ones include The Dubai Marina Mall, Diera City Mall, Wafi Mall, Souk Madinat Jumeirah and Mall of The Emirates.11-0330-04</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Arrival in Dubai										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Welcome to the delightful city of Dubai - a land of surprises surrounded by mysterious deserts and sand dunes, a complete destination in itself. Upon arrival, meet our representative outside the airport, who shall guide you to your coach. Enjoy a comfortable drive to your hotel. After checking-in, spend a comfortable overnight stay at your hotel.																											   
												<div class="mt10px">
												
																	
													<p>Meals : NA</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Day at Leisure										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Escalate your experience from good to great by buying our value pack, so that post breakfast, you can embark on an exciting half-day city tour of Dubai where you will visit landmarks like Burj Al Arab, Jumeirah Mosque, Dubai Museum, ending it with shopping at Gold Souq. Also, later in the day, you'll get picked up from your hotel for a scintillating desert safari. Enjoy dinner after the safari and return to your hotel for a comfortable overnight stay.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Day at Leisure										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, you'll have the morning free at your leisure. To add some spice, we recommend you to buy our value pack, and then get picked up from your hotel in the evening for Dhow Cruise where you can enjoy international cuisine. Return to your hotel for a comfortable overnight stay.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Day at Leisure										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast, you can enjoy your day at leisure. Dubai is a city of superlatives - its has the largest mall, the largest building, the largest fountain and the largest theme park. You can indulge in a spa or shop at the Souk. After a great shopping experience, return to your hotel at night and retire for a comfortable sleep.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Flights</li>
																						<li>Sightseeing</li>
																						<li>Transfers</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">Tour Departure Details</p>
    	<div class="otherDetails aj">Departure From :- New Delhi Travel By : Flight.</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Months</td>
				<td class="headHr p5px b">Dates</td>
			</tr>
			<tr>
				<td class="data p5px">Mar, 2013:</td>
				<td class="data p5px">11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 31</td>
			</tr>
			<tr>
				<td class="data p5px">Apr, 2013:</td>
				<td class="data p5px">1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Package categories: ABC Arabian Suites:</p>
    	<div class="otherDetails aj">Departure From :- New Delhi Travel By : Flight</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Twin Sharing</td>
				<td class="headHr p5px b">Rs. 30,999</td>
			</tr>
			<tr>
				<td class="data p5px">Single Occupancy</td>
				<td class="data p5px">Rs. 38,999</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Adult</td>
				<td class="data p5px">Rs. 29,999</td>
			</tr>
			<tr>
				<td class="data p5px">Child with Bed</td>
				<td class="data p5px">Rs. 28,999</td>
			</tr>
			<tr>
				<td class="data p5px">Child without Bed</td>
				<td class="data p5px">Rs. 25,999</td>
			</tr>
			<tr>
				<td class="data p5px">Infant</td>
				<td class="data p5px">Rs. 14,999</td>
			</tr>
		</table></div><br>								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p>Above rates are valid on a minimum of 2 adults travelling together Adhering to the new Service Tax rules effective 1st July 2012, we shall charge an additional cost of 3.09 % on all international holiday packages sold 1st July 2012 onwards Visa fee is included in the tour price Hotel rates are not valid during trade fairs, exhibitions and special events. A surcharge will be levied Airline seats and hotel rooms are subject to availability at the time of booking Rates are subject to change in case of any changes in airport taxes, hotel rates, rate of exchange (ROE), transport rates, government taxes or entrance fees Any meals and services unless mentioned in the itinerary are not included The above prices are calculated based on the lowest available airfare. Prices are subject to change due to non-availability of seats in the required class at the time of booking The ROE taken for computing the above price is Rs. 56 to USD 1. In the event of an increase in the ROE, the prices defined may change In case of unavailability in the mentioned hotels, alternate accommodation will be arranged in a similar category hotel A surcharge of INR 1500 per person applicable for all Friday Departures Peak Season Surcharges not included in package cost.								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="My Dubai 3 Nights Family Special 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="9895"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-ooty.htm" title="Packages in Ooty">Ooty</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-hong-kong.htm" title="Packages in Hong Kong">Hong Kong</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-kodaikanal.htm" title="Packages in Kodaikanal">Kodaikanal</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-macau.htm" title="Packages in Macau">Macau</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-male.htm" title="Packages in Male">Male</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-mysore.htm" title="Packages in Mysore">Mysore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-dubai.htm" title="Packages in Dubai">Dubai</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-kumarakom.htm" title="Packages in Kumarakom">Kumarakom</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(24)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(32)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(2)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Dubai</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.krishnaairtravel.in/tour-packages/dubai-mauritius-special-2013-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/12527.jpg"  alt="Dubai - Mauritius Special 2013 Tour" title="Dubai - Mauritius Special 2013 Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.krishnaairtravel.in/tour-packages/dubai-mauritius-special-2013-tour1.htm" title="Dubai - Mauritius Special 2013 Tour"><h3>Dubai - Mauritius Special 2013 Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dubai, Port Louis</p>
															<div class="mt10px small">
							<form name="pkg_10975" id="pkg_10975" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.krishnaairtravel.in/tour-packages/dubai-mauritius-special-2013-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dubai - Mauritius Special 2013 Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="10975"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.krishnaairtravel.in/tour-packages/dubai-shopping-festival-tour4-nights-fully-loaded-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/34064.jpg"  alt="Dubai Shopping Festival Tour - 4 Nights Fully Loaded Tour" title="Dubai Shopping Festival Tour - 4 Nights Fully Loaded Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.krishnaairtravel.in/tour-packages/dubai-shopping-festival-tour4-nights-fully-loaded-tour.htm" title="Dubai Shopping Festival Tour - 4 Nights Fully Loaded Tour"><h3>Dubai Shopping Festival Tour - 4 Nights Fu..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 43000</b> <b class="xsmall alpha50"></b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dubai</p>
															<div class="mt10px small">
							<form name="pkg_19339" id="pkg_19339" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.krishnaairtravel.in/tour-packages/dubai-shopping-festival-tour4-nights-fully-loaded-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dubai Shopping Festival Tour - 4 Nights Fully Loaded Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="19339"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:76:"Book My Dubai 3 Nights Family Special Tour - 3 Nights / 4 Days Tour Packages";i:2;s:130:"book my dubai 3 nights family special tour - 3 nights / 4 days tour packages, forts and palaces tour packages, dubai tour packages";i:3;s:165:"Krishna Air Travel offers My Dubai 3 Nights Family Special Tour - 3 Nights / 4 Days tour package, budget Forts and Palaces tour packages for Dubai at exciting price.";i:4;s:10556:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai"        
		                 },
		      "description": "3 Night Dubai
Dubai
The glamorous shining star of the middle-eastern desert, Dubai speaks of the good life. But recently, it's been in the news more for building glitzy towers - like the Burj, and islands - like the Palm Jumeirah and the World (under construction) than the things it was previously known for - oil and Dubai shopping festival, better known as the DSF.

For being a nation that used to earn a major part of its revenue selling crude oil to becoming a nation that made use of its capabilities and resources to bring the world together to its doors with full wallets and topped up credit cards only to make it spend in a hurry, Dubai has come a long way.
'Dream of something and we'll make it come true' is the attitude that the leader of this glamorous metropolis, Sheikh Muhammad lives by but beneath the garb of all the glitter & glam, there's a Dubai which takes pride in its traditional values while respecting traditions which foreign visitor bring along. They sing, dance, fast in the month of Ramadan and urge everyone to maintain the sanctity of the Emirate. The nation lives as a closely knit group and urges visitors to do the same. Welcome to Dubai!

Places to See
Du The modern Dubai speaks loudly of the Arab world's richnessbai, by the looks of it, is sure an ultra-modern metropolis but there is a side to Dubai that somehow got lost beneath the garb of glittering shopping festivals and skyscrapers. A look inside the Dubai museum will take you back in time to a more traditional Dubai with reed houses and artifacts. The new underground section makes use of the latest technology to showcase Dubai's history. Jumeirah Mosque is open to tourists all year long. Guided tours commence every week on Thursdays followed by a question & answer session., grandeur and uninhibited flights for fantasies. And they believe in giving them a real shape. Take for example, the Burj Khalifa. Standing tall at 828 meters, the sky-piercing Burge is the tallest standing structure in the world. The second tallest, Tapei 101, is short by a length of 300 meters. We recommend climbing up to the 124th floor on the observation deck for an uninterrupted view of the city's skyline and beyond.

Being rich and famous might not be sufficient to get an entry into the Burge Arab as and when you please. Staying at the hotel will require you to make reservations at least a month in advance. However, a few days of advance notice would suffice, in case it's a dinner night with family and friends is what that you looking for. The Dubai Marina, with its malls, shopping centers, coffee shops and restaurants is a great place to be. It also includes a beautiful beach and two beautiful walkways, The Marina Walk and the Walk.

The Palm Islands are the newest in the list of attractions that Dubai has to offer. No, they did not find some landmasses off the coast and developed them up. The islands are man made and offer tourists, a host of thing to indulge in. From up-market shopping malls to hotels to luxury beach resorts - they have it all. Just another example of Dubai's uninhibited flights of fantasies put perfectly in perspective.

Places to Eat
Dubai is a non-vegetarian's paradise. All small and big restaurants, even wayside eateries, except the ones specializing in other cuisines will without a doubt, serve Shawarma. And it comes really cheap. Falafil is another local food item to keep a lookout for.

The metropolis of Dubai is developed around the tastes and likes of tourists. Besides American fast food chains (most of them are doing business in Dubai), you'll be able to find food from every cuisine around the world here, all and everything to fit your budget.

Indian and Pakistani food can be best enjoyed at eateries like the Ravi and the Karachi Darbar, which is actually a chain of restaurants you'll find all over the city.

The Legend Steak House comes as a part of the Dubai Creek Golf Club and is pretty decently priced for the view and the ambience it offers. The award-winning JW steakhouse and the Shang Palace are two of the most notable restaurants in the city. However upscale they may be, the food here is exceptional.

Some other great restaurant to dine at include Al Dawaar, a multi-cuisine revolving restaurant, Pars Iranian Kitchen, an open air revolving restaurant serving fine Iranian delicacies in traditional machans and Karam Beirut, one of the best Lebanese eateries in the city.

Things to Do
White sandy beaches, desert safaris, dune bashing, skiing (we aren't kidding!), air balloon rides, and excursions to surprising places; there is a lot to Dubai. Let's elaborate:

Turquoise waters, beautiful sandy beaches and water that is surprisingly warmer than what you might have expected, the Dubai beaches are a great place to lounge in the sun and enjoy. However, the water is a bit too salty. You'll need to take good care of your skin. For those who are unaware of the fun of Dune Bashing, get ready for a roller coaster ride in SUVs over the sand dunes for an exhilarating experience. What's more, after the bashing, you'll be treated to a lavish dinner complete with dance and music. Skiing in Dubai? This is another flight of fantasy carefully brought to reality. The Ski-Dubai located inside one of the new malls in the metropolis makes use of almost 60,000 tons of snow to offer a pretty real skiing and snow-boarding experience. Flying over sand dunes in a hot air balloon is nothing less than an Egyptian fairy tale. Make it come true in Dubai! Dawn may be a great time but sunsets are better for sure.

When it comes to the number of people visiting Dubai for the sole aim of shopping, Dubai rings top slots in every list. It's a wonder that an economy that's built on the revenues generated by selling crude oil has turned in one that generates most of its revenues through providing new possibilities of shopping, organizing Sports events and other financial activities. The Dubai Shopping Festival has more than a decade of success to its credit and rakes in huge revenues for the city. The festival commences every year in the first quarter. Inaugurated in 2004, The Dubai International Film Festival is now running successfully into its 7th year. The festival has come up as one of the most important in Asia and the middle-east. It features films from the Gulf, Arab, Asia, Africa and France. Thanks to the Dubai Jazz Festival and Dubai Desert Rock Festival, the music scene in Dubai has finally come of Age. This year's lineup at the Jazz festival included greats like Flipside, Blue Light Band and Afif Brothers whereas the Desert Rock Festival' in 2009 - saw bands like Motorhead, Arch Rival, Opeth and Nerve Cell.

Dubai's nightlife, contrary to what it may seem, is far from being cold. A number of upscale hotels have bars and night clubs frequented by world class musicians and A-listers from across the globe. Adhering to the 'rules of alcohol' is a must, however. These include not drinking in public places, avoiding drunken driving (penalty include a month's jail sentence along with a fine) and carrying a valid identification to watering holes at all times, especially if you look younger than a 21 year old. Popular taverns include: The Roof Top Bar at Hilton Dubai Creek, which offers wonderful views of the city; 360°, a popular open air bar inside the Jumeirah beach hotel complex offering wonderful views of the Burj and Rock Bottom, a restaurant cum night club featuring rock bands, DJ's and offering what you call, an all in all great night scene. The Buddha bar is where you might see a celebrity or two sitting and enjoying a drink. The bar opens after sundown. You might need to make dinner reservations to get inside. Otherwise standing outside in lines is almost inevitable.

So, tell us what you fix is? - an attitude Dubai and its surrounding areas live by when it comes to giving travelers a great time. From cultural excursions to shopping sprees to laidback undisturbed moments with your loved ones - you name it, they have it! Dubai glitters of affluence. There's a Dubai that most visitors miss out on while swiping credit cards at the DSF, a Dubai you can't take home. The Bedouin Villages in the suburban areas makes for a perfect example. Take a guide tour to be witness to a small but significant part of Arab history. Besides, it's a great way to spend a day away from the hustle bustle. There is one animal that the people of Dubai couldn't have survived without in earlier times. Be it a camel race or a simple camel back tour, an experience of being with this animal rightfully hailed as the 'ship of the desert' is a must.

Shopping Where to go? What to buy? Options are many and are all of them are available at competitive prices. However, the good old duty free days are gone, courtesy the appreciating exchange rates of Dhiram and too many shoppers to stoop down prices for.

Gold jewelry and items make for a great purchase. The prices may not be any less than other shopper-friendly destinations but the wide range of selection perfectly makes up for that. It's the same with textile products but it's electronic products and accessories where the real bargain lies.

Haggling in souks is a nice way to try your luck. The best prices are, at times, way lower than the ones quoted on the stickies. In addition to these, the shops outside the Satva Mosque are well-known for the textiles. Bargain for the best price.

For Gold, the Gold Souk Market is the place to be. It would be great if you go there with the full knowledge of the prevailing gold prices. We recommend you take along someone skilled in the art of bargaining. You might be surprised with your luck. Like the Gold Souk Market, the Spice Souk Market is as ancient as the city of Dubai. Go there but for the experience of shopping as better prices and a much cooler air-conditioned shopping experience is available at Carrefour.

Then there are the malls, Dubai is full of them! Some notable ones include The Dubai Marina Mall, Diera City Mall, Wafi Mall, Souk Madinat Jumeirah and Mall of The Emirates.11-0330-04",
		      "name": "My Dubai 3 Nights Family Special Tour",
		      "telephone": "+91-9818070030"
		    }
		    </script>
			";i:5;N;}