a:6:{i:0;s:27642:"				<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>Dubai 3 Star Package for 4 Days</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.maataratours.com/" title="Home">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b>Dubai 3 Star Package for 4 Days</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>Tour Code :</b> 75598</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>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.maataratours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dubai 3 Star Package for 4 Days - 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="110506"/>
						</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_17/497806/182197.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/497806/182197.jpg"  width="150" height="150"    alt="Dubai 3 Star Package for 4 Days" title="Dubai 3 Star Package for 4 Days" /></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>
													
								03 Nights Accommodation in mentioned hotel or similar subject to availability)<br />
Lavish Buffet Breakfast<br />
Meet & Assist at Dubai International Airport on Arrival<br />
Half Day Dubai City Tour By English Speaking Guide with transfers on Seat in Coach Basis<br />
Desert Safari with BBQ Dinner - 4x4 Land cruiser on Seat in Coach Basis<br />
Arabian Dhow Cruise & Dinner at Dubai Creek with transfers on Seat in Coach Basis<br />
Return Dubai International Airport to Hotel transfers on Seat in Coach<br />
<br />
Cancellation Policy<br />
If circumstances force you to cancel the Booking, the cancellation must be intimated to us in writing and the following cancellation charges will apply.<br />
30 Days prior to departure- 20% * This might vary depending on the time limit)<br />
Once booking is confirmed/ 29 Days To 16 Days - 50% of the Total cost<br />
15 Days to 08 Days - 75 % of the Total Cost<br />
7 Days or less/ No Show - 100% of the total cost<br />
Same cancellation policy will apply for postponements of bookings or in case of change of hotels during  the progress of tour.<br />
Cancellation charges may vary during festive/ peak / trade fares / F1 / Songkran / Chinese new year/ Christmas / new year / Diwali / Eid period.<br />
The above policy would not be applicable in case of promotional / non refundable rates<br />
The above policy would not be applicable for iconic hotels such as Marina Bay Sands, Burj Al Arab, Atlantis, Venetian, Genting etc.Airfare<br />
Government Service Tax of 5.0 %<br />
Dubai Visa<br />
Dubai Tourism Dirham between AED 10 to AED 20 per room per night<br />
Travel Insurance<br />
Guaranteed early check in or late check out. This is completely at the discretion of the hotel and we can only put in a request for the same.<br />
Any expenses of personal nature<br />
Tips and porterage<br />
Surcharges as applicable due to peak season, surcharge dates, trade fair dates, Christmas, New Year week.<br />
Meals other than that what is mentioned in your itinerary.<br />
Any services not mentioned in the inclusions list<br />
Drinks including Water during meals / sightseeing tours are not included								</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> Dubai Arrival
										</p>
										<p class="aj">On arrival at Dubai International Airport, complete your immigration procedure, collect your luggage and proceed to the arrival hall where you will me met by our local representative and transferred to your hotel. Check in and relax.<br />
Overnight 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> Dubai Half Day City Tour and Dhow Cruise with Dinner
										</p>
										<p class="aj">Breakfast at hotel. Later proceed for a half day tour of Dubai. The tour takes you to the Bur Dubai Creek, Spice market. You can halt for a photo-stop at the Burj al-Arab, the world's only 7 star hotel. From here you head off to the man made Palm Island and it's crowning glory, the Atlantis the Palm Hotel. The high point of the tour is definitely the spotlessly white Jumeirah Mosque. Please note that you should not wear shorts, back and arms should be covered and women need to cover their heads with a headscarf. In the evening, proceed for Dhow Cruise. Enjoy a 2 hour cruise with the best view in town/Dubai's Illuminated Skyline under the open stars. The Cruise is also complimented by an open International buffet Dinner with multinational karaoke music on board to keep you entertained. At the end of the tour, return to your hotel for overnight stay. Overnight 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> Desert Safari
										</p>
										<p class="aj">Breakfast at hotel. The morning is free for you to explore the city on your own. In the afternoon transfer to the Desert Safari. You are transported to the desert in a 4x4 vehicle. Sit back and enjoy how the vehicles climb the sand dunes effortlessly. Dune-bashing, if you will! Watch the sun go down over the horizon from atop the highest sand dune. The orange sunset also makes the perfect backdrop for many memorable family photographs. If the luxury vehicle seems too modern, take a camel ride. You can also indulge in a spot of henna design and sheesha. Enjoy the evening with a barbecue dinner under the starlit Arabian sky while a belly dancer entertains you with her sultry moves and dancers sway to the beat of tambourines. As the wonderful evening comes to an end, you are transported back to your hotel for the night. Overnight 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 4:</b> Departure
										</p>
										<p class="aj">After breakfast, checkout and transfer to the airport for your departure flight home.</p>					
											<p><b>Meals : </b> Breakfast</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>Transport</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>
Government Service Tax of 5.0 %</li><li>
Dubai Visa</li><li>
Dubai Tourism Dirham between AED 10 to AED 20 per room per night</li><li>
Travel Insurance</li><li>
Guaranteed early check in or late check out. This is completely at the discretion of the hotel and we can only put in a request for the same.</li><li>
Any expenses of personal nature</li><li>
Tips and porterage</li><li>
Surcharges as applicable due to peak season, surcharge dates, trade fair dates, Christmas, New Year week.</li><li>
Meals other than that what is mentioned in your itinerary.</li><li>
Any services not mentioned in the inclusions list</li><li>
Drinks including Water during meals / sightseeing tours are not included</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">Preview of the Prices</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Package cost</td>
				<td class="data p5px">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">1 Person</td>
				<td class="data p5px">28047</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 2 pax required)</td>
				<td class="data p5px">17417</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Adult</td>
				<td class="data p5px">17498</td>
			</tr>
			<tr>
				<td class="data p5px">Child With Bed(5-12 yrs)</td>
				<td class="data p5px">16844</td>
			</tr>
			<tr>
				<td class="data p5px">Child Without Bed(5-12 yrs)</td>
				<td class="data p5px">8504</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Hotels Used / Similar</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Destination</td>
				<td class="data p5px">No of Nights</td>
				<td class="data p5px">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Dubai</td>
				<td class="data p5px">3</td>
				<td class="data p5px">Admiral Plaza Hotel / similar hotels</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><strong>Terms and Conditions</strong>

<ul>
	<li>All rates are valid on validity dates mentioned. Via.Com reserves the right to change Validity dates given This is a launch offer and the rates offered are promotional rates which can be withdrawn at any time without prior notice.</li>
	<li>The rates are valid for minimum 02 adults traveling together at all times.</li>
	<li>For computation purpose the Rate of Exchange is as per the current prevailing rate and thus make the prices dynamic</li>
	<li>The rates are not valid on black out dates.</li>
	<li>Surcharges wherever applicable would be advised at the time of booking.</li>
	<li>The rates are subject to availability of hotel accommodation and sightseeing tours at the time of booking.</li>
	<li>We reserve the right to use an alternate hotel accommodation of an equal or higher standard. If we source a more expensive alternative, we reserve the right to re-quote based on the higher rates.</li>
	<li>Prices are not valid during Trade Fair, festival and exhibition periods.</li>
	<li>Rates are valid for Indian Passport holders only.</li>
	<li>We are not holding any Hotel blocks for this package. Hotels would be subject to availability at the time of booking.</li>
	<li>International Check in time is 1400 hours / Check out time is 1100 hours, early check in and check out is subject to availability and cannot be guaranteed.</li>
	<li>Transfers wherever included are without night surcharges.</li>
	<li>No refunds either in part or in full will be made for any unutilized service.</li>
	<li>All the sightseeing tours and excursions are organized by local companies. The timings and days of operation are subject to alteration. Changes if any will be intimated at the time of booking.</li>
	<li>Sightseeing tours are strictly based on weather conditions and local service providers have the right to cancel the sightseeing tours without prior notice.</li>
	<li>Rates are subject to change without prior notice.</li>
	<li>Offer can be withdrawn at any point without prior notice.</li>
	<li>Bookings once confirmed are subject to cancellation charges which shall be advised at that time.</li>
	<li>As a practice all international hotels take a security deposit at the time of check-in. The amount is generally blocked on the clients credit card or they can pay cash to the hotel. The amount will vary according to the hotel and is refunded back to the clients upon check out. Debit cards should not be</li>
	<li>offered as it will be charged immediately and refunded only after 2-3 weeks.</li>
	<li>Via is not responsible for any change in the price due to factors not in the control of the organization.</li>
	<li>For travel to Dubai, travelers must have a passport valid for six months from the date of return and he/she must obtain a valid Dubai visa prior to their date of departure.</li>
</ul>

<p><strong>Note:</strong>

<ul>
	<li>We are not holding any rooms or airline seats as of now and above mentioned is quote only , subject to availability at the time of confirmation .</li>
	<li>First preference will be given to mentioned hotels for reservation. In case of non-availability of these hotels we shall advise the similar or next available option with supplement cost .</li>
	<li>Itinerary provided is just suggestive and the sightseeing will be done as per availability.</li>
	<li>In case of no show or late cancellation after reconfirmation charges applicable as per the Hotels Policy and other vendors policy.</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.maataratours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dubai 3 Star Package for 4 Days - 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="110506"/>
						</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.maataratours.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-paris.htm" title="Packages in Paris">Paris</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.maataratours.com/packages-in-rotorua.htm" title="Packages in Rotorua">Rotorua</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.maataratours.com/packages-in-auckland.htm" title="Packages in Auckland">Auckland</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.maataratours.com/packages-in-anantnag.htm" title="Packages in Anantnag">Anantnag</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.maataratours.com/packages-in-christchurch.htm" title="Packages in Christchurch">Christchurch</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.maataratours.com/packages-in-agra.htm" title="Packages in Agra">Agra</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.maataratours.com/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.maataratours.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</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.maataratours.com/packages-in-baramulla.htm" title="Packages in Baramulla">Baramulla</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.maataratours.com/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-rome.htm" title="Packages in Rome">Rome</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-ooty.htm" title="Packages in Ooty">Ooty</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-bali.htm" title="Packages in Bali">Bali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-guwahati.htm" title="Packages in Guwahati">Guwahati</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-florence.htm" title="Packages in Florence">Florence</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-queenstown.htm" title="Packages in Queenstown">Queenstown</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-kufri.htm" title="Packages in Kufri">Kufri</a> <b class="alpha50 bn small">(2)</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.maataratours.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(22)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</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.maataratours.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</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.maataratours.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</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:70:"Book Dubai 3 Star Package for 4 Days - 3 Nights / 4 Days Tour Packages";i:2;s:124:"book dubai 3 star package for 4 days - 3 nights / 4 days tour packages, forts and palaces tour packages, dubai tour packages";i:3;s:180:"Book Dubai 3 Star Package for 4 Days - 3 Nights / 4 Days tour packages from Maa Tara Tours & Travels - Get attractive 3 Nights / 4 Days Forts and Palaces  tour packages for  Dubai.";i:4;s:2428:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai"        
		                 },
		      "description": "03 Nights Accommodation in mentioned hotel or similar subject to availability)
Lavish Buffet Breakfast
Meet & Assist at Dubai International Airport on Arrival
Half Day Dubai City Tour By English Speaking Guide with transfers on Seat in Coach Basis
Desert Safari with BBQ Dinner - 4x4 Land cruiser on Seat in Coach Basis
Arabian Dhow Cruise & Dinner at Dubai Creek with transfers on Seat in Coach Basis
Return Dubai International Airport to Hotel transfers on Seat in Coach

Cancellation Policy
If circumstances force you to cancel the Booking, the cancellation must be intimated to us in writing and the following cancellation charges will apply.
30 Days prior to departure- 20% * This might vary depending on the time limit)
Once booking is confirmed/ 29 Days To 16 Days - 50% of the Total cost
15 Days to 08 Days - 75 % of the Total Cost
7 Days or less/ No Show - 100% of the total cost
Same cancellation policy will apply for postponements of bookings or in case of change of hotels during  the progress of tour.
Cancellation charges may vary during festive/ peak / trade fares / F1 / Songkran / Chinese new year/ Christmas / new year / Diwali / Eid period.
The above policy would not be applicable in case of promotional / non refundable rates
The above policy would not be applicable for iconic hotels such as Marina Bay Sands, Burj Al Arab, Atlantis, Venetian, Genting etc.Airfare
Government Service Tax of 5.0 %
Dubai Visa
Dubai Tourism Dirham between AED 10 to AED 20 per room per night
Travel Insurance
Guaranteed early check in or late check out. This is completely at the discretion of the hotel and we can only put in a request for the same.
Any expenses of personal nature
Tips and porterage
Surcharges as applicable due to peak season, surcharge dates, trade fair dates, Christmas, New Year week.
Meals other than that what is mentioned in your itinerary.
Any services not mentioned in the inclusions list
Drinks including Water during meals / sightseeing tours are not included",
		      "name": "Dubai 3 Star Package for 4 Days",
		      "telephone": "+91-7001746331"
		    }
		    </script>
			";i:5;N;}