a:6:{i:0;s:25999:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Dubai With Abu Dhabi Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.goforaholiday.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.goforaholiday.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Dubai With Abu Dhabi 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-->				
								
						<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, Abu Dhabi</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.goforaholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dubai with Abu Dhabi 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="184019"/>
						</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_19/550888/282148.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/550888/282148.jpg"  width="150" height="99"    alt="Dubai with Abu Dhabi Tour" title="Dubai with Abu Dhabi 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>
													
								POLICIES FOR DUBAI TOUR PACKAGE<br />
Extra from Quoted Rates : -<br />
U.A.E Visa (Subject To Immigration Approval) USD 81/- Per Person<br />
Ok To Board Message Depend On Airlines. USD 5/- Per Person ( Indigo / spicejet )<br />
 <br />
Optional : -<br />
?  Snow Park with Super pass Ticket and Transfer on SIC basis USD 58/- Per Person <br />
VAT 5% Please note that effective as of 01/01/18, Dubai government will levy an additional 5% VAT. As such any of booking fall after 1st Jan 2018 , our rates as of this date reflect this additional government tax.<br />
 <br />
As per the Central Government notification with regard to service tax dated 12th January 2017, there is a revision in the service tax from the existing 5% for all tour-related costs. In the case of any advance payment done, the same will not be applicable but starting from 22nd January 2017, all tour-related transactions will attract the revised service tax percentage.								</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 – Day At Leisure
										</p>
										<p class="aj">Welcome to Dubai!! On Arrival, You Will Be Met By Our Representative and Transferred to the Hotel. Arrive and Check In. Rest of the Day is Free for Leisure. Stay Overnight At the Hotel. </p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> DUBAI - CITY TOUR & DHOW CRUISE
										</p>
										<p class="aj">Breakfast At the Hotel. After Breakfast Proceed for the Dubai City Tour Which Includes Visit to Palm Island, Marina of Jumeirah, Mall of Emirates, Burj Dubai, Burj Khalifa Emirates Tower, Rulers Palace, Sheikh Zayed Road, Zabeel Palace, Jumeirah Mosque and Beach, Al Fahidi Street, Dubai Skyline, Dubai Museum and Ski Dubai. also Visit the Old City, Bastakia, - the Wind Towers, Spice Souk, Gold Souk. Rest of the Day is Free At Leisure On Your Own. Later in the Evening, Join Traditional Arabian Dhow for An Evening Cruise On the Creek. Enjoy a Sumptuous Feast of Arabic and International Cuisine. Stay Overnight At the Hotel. </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> DUBAI - DESERT SAFARI
										</p>
										<p class="aj">Breakfast At the Hotel. Rest of the Day is Free for Leisure On Your Own. Later in the Evening Proceed for the Desert Safari with Barbeque Dinner and Enjoy the Belly Dance. Enjoy the Exciting Dune Drive; also You have An Opportunity to Do Camel Ride, Sand Boarding, and Try Our Henna Designs On Hand or Feet. Don't Miss to Watch the Belly Dancers Performing Around the Campfire By the Starlight. Stay Overnight At the Hotel.</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> ABU DHABI TOUR WITH FERRARI WORLD
										</p>
										<p class="aj">Abu Dhabi Today is the Capital and the Largest of the Seven Emirates of the United Arab Emirates. It’s One of the Richest Cities in the Middle East and Considered as the World’s Largest Producer of Oil.<br />
this Tour Starts with Pick-up from the Hotel in Dubai and Will Drive Towards the Destination for Approximately 2 Hours. On the Way to Abu Dhabi You Will Pass Through An Industrial Area Called Jebel Ali Free Zone. Once You Reach Abu Dhabi’s Border You Will See Several Stunning Plantations all Along the Wayside and Superb Villages in the City. First Stop Will Be At Sheikh Zayed Grand Mosque or Sheikh Zayed Mosque, the 3rd Largest Mosque in the World and One of the Best Architectural Landmarks of the Capital. the Mosque also Features An Exceptional Collection of Marble Works and the Largest Carpet in the World Designed By Iranian Artists.<br />
next Stop Will Be At Ferrari World Theme Park, the First Theme Park Inspired By Ferrari Car. Finally, Your Tour Finishes with a Drop-off At Your Hotel in Dubai, Keeping the Memories of Abu Dhabi’s Beautiful Treasures with You.</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> DEPART DUBAI
										</p>
										<p class="aj">After breakfast, do some last minute shopping and bid goodbye to this golden city as you are transferred to the airport for your flight back home. </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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Return airport transfers </li><li>
Accommodation for 03 nights in 3* hotel</li><li>
Daily Breakfast</li><li>
Dubai city tour </li><li>
Dhow Cruise with dinner</li><li>
Desert safari with dinner </li><li>
Abu Dhabi tour with Ferrari world </li><li>
All transfers and sightseeing on sic basis</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>GST @ 4.5% on total invoice </li><li>
Any domestic or international Air fare/ Train Fare </li><li>
UAE Tourist Visa </li><li>
Cost of Lunch</li><li>
Monuments entrances fee.</li><li>
Medical and insurance of any kind. Any expenses arising out of unforeseen circumstances like flight delay/cancellation/hike in fare, strike or any other natural calamities</li><li>
Personal nature Expenses i.e. Telephone Calls, Laundry, Soft / Hard Drinks Meals, Tipping etc. Camera Fee at Monument</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>?  25% of payments on confirmation of booking  .</li><li>
?  50% at the time of Reconfirmation and applying visa .</li><li>
?  25% of payment on delivery of visa or three days prior to arrival .</li><li>
?  If fails to deliver the above mentioned terms that  will attract auto cancellation of services and none issuance of service voucher .</li><li>
Note :-</li><li>
?  Please note that As per DTCM Rules, based on the Executive Council Resolution No 2 of 2014. With effective 31 March 2014, Every Guest has to pay Tourism Dirham that is AED 7/- per room per night for all 2* hotels, AED 10/- per room per night for all 3* Hotels, AED 15/- per room per night for all 4 * And AED 20/- per room per night for all 5* Hotels, at the time of check in.</li><li>
?  Given quotation mail, Do not treat as confirmation of booking, as we are not holding any rooms at the time of quotation, price and services can be changed at the time of confirmation. Confirmation of bookings will be communicated soon after the booking.</li><li>
Exclusions of Quotes: -</li><li>
?  Any expenses of personal nature viz. tips to driver & Guide, Cigarettes, Laundry, Telephone Calls, Mini- bar Etc.</li><li>
?  Meals other than mentioned above</li><li>
?  All extra incurred at the Hotel other than mentioned.</li><li>
?  Any meals if not mention above.  in</li><li>
 </li><li>
Remarks:</li><li>
? Above rates are not valid during any Events or Exhibitions & above is just a tentative quote and if you have any budget in mind or need any further assistance, please do let us know we will be more than happy to assist you.</li><li>
 </li><li>
Check-in / Checkout Policy:</li><li>
? Official check-in 1400hrs & Check-out 1200noon</li><li>
? Early Check-In and Late Check-Out is subject to hotel availability at the time of check-in/out.</li><li>
 </li><li>
 </li><li>
 </li><li>
Visa Policy:</li><li>
? Visa Application Takes Minimum 4-5 Working Days for Issuance (Friday- Saturday immigration is closed - Subject To Immigration Approval)</li><li>
? Transit visa is valid for 14-days stay on and the Tourist visa is valid for 30-days stay.  If passenger will stay more, penalty will be charged accordingly.</li><li>
? Client must travel within 7-10 days once visa is issued</li><li>
? Cancellation for visa applications will be charged at an additional cost of USD 45/- per visa.</li><li>
? We are not responsible all in case of delayed and rejection of visa.  </li><li>
?  The Quoted rates are quoted in USD, Nett and non- commissionable to you.</li><li>
?  Quoted Rate is just an offer and we are not holding any booking against this query. All services/rooms are subject to availability at the time of receiving final confirmation from your end.</li><li>
?  The quote is valid only for this query and may vary in case the number of passengers change.</li><li>
?  Please be reminded that all special requests like early check-in, smoking, nonsmoking, views, floors, king, twin, adjoining / interconnecting rooms are strictly subject to availability upon arrival and same cannot be guaranteed prior.</li><li>
?  If the Hotel or Suppliers change their Quote for the services that they offer, the same will be forwarded to your Company.</li><li>
?  Burj Khalifa tour once booked cannot be cancelled, also be informed the Burj Khalifa tour charge is nonrefundable and non-transferable.</li><li>
?  Kindly note that during Major Exhibitions/Events additional surcharge will be applicable, Surcharge may vary depending on the Hotels and will be advised at the time of final confirmation.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>?  30 days prior to arrival: 25% of the Tour / service cost</li><li>
?  07 days prior to arrival: 50% of the Tour / service cost</li><li>
?  05 days prior to arrival: 100% of the Tour / service cost</li><li>
 </li><li>
New Immigration Rules for Children & Wife’s Visa</li><li>
?  As per the New rules immigration in regards to the children’s visa, It is required that the mothers visa should be approved or father in case the mother is not travelling and attached along with the child’s application, also the Childs birth certificate will be required. (Children till 18 years)</li><li>
?  As per the New Rule in Immigration, if the wife name is not mentioned on the Husband Passport, We would require to apply for the husbands Visa 1st  and then attach the husband’s visa to the wives visa Application. Also we would require the Marriage certificate.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.goforaholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dubai with Abu Dhabi 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="184019"/>
						</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.goforaholiday.com/packages-in-bali.htm" title="Packages in Bali">Bali</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goforaholiday.com/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 "><a class="dif" href="http://www.goforaholiday.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goforaholiday.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goforaholiday.com/packages-in-amsterdam.htm" title="Packages in Amsterdam">Amsterdam</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goforaholiday.com/packages-in-cologne.htm" title="Packages in Cologne">Cologne</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goforaholiday.com/packages-in-abu-dhabi.htm" title="Packages in Abu Dhabi">Abu Dhabi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goforaholiday.com/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goforaholiday.com/packages-in-innsbruck.htm" title="Packages in Innsbruck">Innsbruck</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goforaholiday.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.goforaholiday.com/packages-in-brussels.htm" title="Packages in Brussels">Brussels</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.goforaholiday.com/packages-in-lachung.htm" title="Packages in Lachung">Lachung</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.goforaholiday.com/packages-in-paris.htm" title="Packages in Paris">Paris</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.goforaholiday.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goforaholiday.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</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, Abu Dhabi</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.goforaholiday.com/tour-packages/dubai-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/550888/282146.jpg"  alt="Dubai Tour" title="Dubai Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.goforaholiday.com/tour-packages/dubai-tour.htm" title="Dubai Tour"><h3>Dubai 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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dubai</p>
															<div class="mt10px small">
							<form name="pkg_184016" id="pkg_184016" method="post" action="http://www.goforaholiday.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.goforaholiday.com/tour-packages/dubai-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dubai 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="184016"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.goforaholiday.com/tour-packages/dubai-tour4-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/550888/282130.jpg"  alt="Dubai Tour 4 Days" title="Dubai Tour 4 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.goforaholiday.com/tour-packages/dubai-tour4-days.htm" title="Dubai Tour 4 Days"><h3>Dubai Tour 4 Days</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> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dubai</p>
															<div class="mt10px small">
							<form name="pkg_184013" id="pkg_184013" method="post" action="http://www.goforaholiday.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.goforaholiday.com/tour-packages/dubai-tour4-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dubai Tour 4 Days - 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="184013"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.goforaholiday.com/tour-packages/4n5d-dubai-tour-package.htm'">
														
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.goforaholiday.com/tour-packages/4n5d-dubai-tour-package.htm" title="4n/5d Dubai Tour Package"><h3>4n/5d Dubai Tour Package</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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dubai</p>
															<div class="mt10px small">
							<form name="pkg_182832" id="pkg_182832" method="post" action="http://www.goforaholiday.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.goforaholiday.com/tour-packages/4n5d-dubai-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="4n/5d Dubai Tour Package - 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="182832"/>
							</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:64:"Book Dubai with Abu Dhabi Tour - 4 Nights / 5 Days Tour Packages";i:2;s:121:"book dubai with abu dhabi tour - 4 nights / 5 days tour packages, adventure tour packages, dubai, abu dhabi tour packages";i:3;s:154:"Go for a Holiday offers Dubai with Abu Dhabi Tour - 4 Nights / 5 Days tour package, budget Adventure tour packages for Dubai, Abu Dhabi at exciting price.";i:4;s:1322:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai, Abu Dhabi"        
		                 },
		      "description": "POLICIES FOR DUBAI TOUR PACKAGE
Extra from Quoted Rates : -
U.A.E Visa (Subject To Immigration Approval) USD 81/- Per Person
Ok To Board Message Depend On Airlines. USD 5/- Per Person ( Indigo / spicejet )
 
Optional : -
?  Snow Park with Super pass Ticket and Transfer on SIC basis USD 58/- Per Person 
VAT 5% Please note that effective as of 01/01/18, Dubai government will levy an additional 5% VAT. As such any of booking fall after 1st Jan 2018 , our rates as of this date reflect this additional government tax.
 
As per the Central Government notification with regard to service tax dated 12th January 2017, there is a revision in the service tax from the existing 5% for all tour-related costs. In the case of any advance payment done, the same will not be applicable but starting from 22nd January 2017, all tour-related transactions will attract the revised service tax percentage.",
		      "name": "Dubai with Abu Dhabi Tour",
		      "telephone": "+91-9599568353"
		    }
		    </script>
			";i:5;N;}