a:6:{i:0;s:22728:"				<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="h1"><h1>Great Dubai Experiences at Nihal Hotel, Deira Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.phoenixtandt.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.phoenixtandt.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Great Dubai Experiences at Nihal Hotel, Deira Tour</p> 
									
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Dubai</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.phoenixtandt.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Great Dubai Experiences at Nihal Hotel, Deira Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="146713"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/510229/227944.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_18/510229/227944.jpg"  width="150" height="112"    alt="Great Dubai Experiences at Nihal Hotel, Deira Tour" title="Great Dubai Experiences at Nihal Hotel, Deira Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Dubai conjures up images of skyscrapers, delicious cuisine, desert adventures and so much more. Explore the cosmopolitan delights of Dubai while staying at the Nihal Hotel. Located in the bustling city centre the hotel offers a wide range of exclusive services for its guests. Visit the famed shopping malls of Dubai or relax at the outdoor swimming pool. Rejuvenate yourself at the health spa or try out the delicious fares at the multi-cuisine restaurant.Airfare<br />
<br />
Any Service not mentioned in the Inclusions<br />
<br />
Travel Insurance<br />
<br />
Visa Charges<br />
<br />
Hotel Surcharge (if Any)<br />
<br />
Tourism Dirham (Hotel tax) to be paid by the guest directly at hotel at the time of Checkout								</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> Arrive Dubai
										</p>
										<p class="aj">Welcome to the city of glitz, Dubai! On arrival, clear customs and immigration, collect your baggage and exit the airport. Our tour operator will meet you there for your transfer to the hotel. After check in, you can relax in your room for a while and remove jet lag. In the evening, you can go for a self exploration of the glistening city. Just a stroll would give you a good experience of flamboyance of the city. Indulge in some local Arabic cuisine on your way back to the hotel.<br />
<br />
Stay overnight at hotel in Dubai.</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> Half Day City Tour + Desert Safari
										</p>
										<p class="aj">This morning, after having breakfast at the hotel, we proceed for a half day city tour of Dubai. The city is a perfect blend of vibrant cosmopolitan life and age old culture and heritage. We first visit the most famous landmark of Dubai, Burj Al Arab Hotel. Take loads of pictured from different angles in-front of this world famous luxury hotel. We’ll also visit Jumeirah, the spectacular palace of Dubai where we will visit the renowned Jumeirah Mosque. We then go to see Dubai’s age old culture at Al Fahidi Fort, home to Dubai’s famous museum. There are several other attractions also that we would witness while on the tour.<br />
<br />
Evening is for the exciting Desert Safari, the biggest attraction of Dubai. Get aboard an exciting dune drive across the desert. Witness the beautiful sunset over sand dunes, enjoy camel ride and sand boarding. Camel ride in the desert is not that easy and it will make you hungry too! So then we enjoy delicious barbecue dinner and shisha (the famous Arabic water pipe). Relax and enjoy the amazing belly dance show by the campfire. Return back to hotel after an awesome day.<br />
<br />
Stay overnight at hotel in Dubai.</p>					
											<p><b>Meals : </b> Breakfast, 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> Leisure Time - Dhow Cruise in Evening
										</p>
										<p class="aj">Laze off in your bed as you have a relaxed morning today. Freshen up and enjoy the breakfast. Day is free for your own leisure. You can opt for some tour or you can go shopping. Dubai is famous for its extensive-n-expensive malls with all the latest fashion, designs and technology, teeming with top brands and addictive designer boutiques. You could also opt to go to the traditional markets called souks. It will be a nice experience altogether in the traditional lanes of trade.<br />
<br />
Evening is going to be luxuriously romantic on a Dhow Cruise. It is a traditional wooden boat that glides along the Dubai creek under starlit sky while a sumptuous dinner is served to you in true Arabic hospitality. Savour the delicacies and spend some cosy moments with your partner. Return to hotel afterwards.<br />
<br />
Stay overnight at the hotel.</p>					
											<p><b>Meals : </b> Breakfast, 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> Day Free for Leisure/shopping/optional Tour
										</p>
										<p class="aj">After all it’s a holiday and it should go in your own way with the flow of your mood right? So, enjoy your breakfast all relaxed in your hotel. The whole day is at your own disposal to spend it your way. You can select an optional tour from different options provided by us like going for an early morning Hot Air Balloon ride or spending a thrill filled day at Ferrari World or enjoy splashes at Yas Water World! Or maybe you are not yet satiated of the thirst of shopping? How about a relaxed day at Jumeirah Beach? Any way, spend it your way. Return to hotel by night.<br />
<br />
Stay overnight at hotel in Dubai.</p>					
											<p><b>Meals : </b> Breakfast</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> Departure
										</p>
										<p class="aj">After having a fill at the breakfast, pack your bags and check out from the hotel. Bid byes to the flamboyant city. Transfer to the airport for your return flight.<br />
 <br />
Tentative Itinerary<br />
Note: Above Itinerary is just indicative. Do not consider it as a Final Schedule. Date & Time of Tours can be changed by Local Agent / Tour Operator.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>4 Nights accommodation in Standard Room at Nihal Hotel (on twin sharing basis)</li><li>
4 Buffet Breakfast at Hotel</li><li>
Return Airport Transfers</li><li>
Half day Dubai City Tour</li><li>
Dhow Cruise (with Dinner)</li><li>
Dessert Safari (with Dinner)</li><li>
All tours & transfers on Seat In Coach (Shared) basis</li><li>
All Hotel taxes</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Airfare</li><li>
Any Service not mentioned in the Inclusions</li><li>
Travel Insurance</li><li>
Visa Charges</li><li>
Hotel Surcharge (if Any)</li><li>
Tourism Dirham (Hotel tax) to be paid by the guest directly at hotel at the time of Checkout</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
												
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* 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.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.phoenixtandt.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Great Dubai Experiences at Nihal Hotel, Deira 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="146713"/>
						</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.phoenixtandt.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-dubai.htm" title="Packages in Dubai">Dubai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-namchi.htm" title="Packages in Namchi">Namchi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-tashkent-travel.htm" title="Packages in Tashkent">Tashkent</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-pokhara.htm" title="Packages in Pokhara">Pokhara</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-moscow.htm" title="Packages in Moscow">Moscow</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(1)</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.phoenixtandt.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/valley-holidays-catid.htm" title="Valley Packages">Valley</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.phoenixtandt.com/luxury-holidays-catid.htm" title="Luxury Packages">Luxury</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.phoenixtandt.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</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>
				</div>
				
								
				</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:90:"Book Great Dubai Experiences at Nihal Hotel, Deira Tour - 4 Nights / 5 Days Tour Packages";i:2;s:136:"book great dubai experiences at nihal hotel, deira tour - 4 nights / 5 days tour packages, adventure tour packages, dubai tour packages";i:3;s:194:"Book Great Dubai Experiences at Nihal Hotel, Deira Tour - 4 Nights / 5 Days tour packages from Phoenix Travel and Tourism - Get attractive 4 Nights / 5 Days Adventure  tour packages for  Dubai.";i:4;s:1099:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai"        
		                 },
		      "description": "Dubai conjures up images of skyscrapers, delicious cuisine, desert adventures and so much more. Explore the cosmopolitan delights of Dubai while staying at the Nihal Hotel. Located in the bustling city centre the hotel offers a wide range of exclusive services for its guests. Visit the famed shopping malls of Dubai or relax at the outdoor swimming pool. Rejuvenate yourself at the health spa or try out the delicious fares at the multi-cuisine restaurant.Airfare

Any Service not mentioned in the Inclusions

Travel Insurance

Visa Charges

Hotel Surcharge (if Any)

Tourism Dirham (Hotel tax) to be paid by the guest directly at hotel at the time of Checkout",
		      "name": "Great Dubai Experiences at Nihal Hotel, Deira Tour",
		      "telephone": "+91-8192997664"
		    }
		    </script>
			";i:5;N;}