a:6:{i:0;s:10115:"				<div class="h1"><h1>Gulf Countries Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.shareoursource.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.shareoursource.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Gulf Countries Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Tour Code </td>
						<td class="p5px pl0px vat">DXBOB03</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						3 Nights / 4 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Dubai, Abu Dhabi</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						USD 358 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Full payment at the time booking - Discount INR 1000 per person<br />
Group Size more than 15 - Discount INR 2000 per person</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.shareoursource.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Gulf Countries 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="63314"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/433238/119008.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/433238/119008.jpg"  width="150" height="150"    alt="Gulf Countries Tour" title="Gulf Countries Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Desert Safari With Bbq<br />
Abu Dhabi Tour With Ferrari World Entrance Ticket On Pvt Basis<br />
Half Day Dubai City Tour On Pvt Basis<br />
Burj Khalifa 124Th Floor On Normal Hours Tour With Transfer On Pvt Basis<br />
<br />
<br />
Day1: Desert Safari With Bbq Dinner On Pvt Basis<br />
Day2: Abu Dhabi Tour With Ferrari World Entrance Ticket On Pvt Basis<br />
Day3: Half Day Dubai City Tour On Pvt Basis<br />
Day4: Burj Khalifa 124Th Floor On Normal Hours Tour With Transfer On Pvt BasisFull payment at the time booking - Discount INR 1000 per person<br />
Group Size more than 15 - Discount INR 2000 per personFlight Fare<br />
visa<br />
Tips and Laundry<br />
Incidental Local conveyance where regular transport is not permitted<br />
Personnel drinks and beverages<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> Desert Safari
								</p>
								<p class="aj">Desert Safari with BBQ Dinner on PVT /SI Cbasis</p>					
									<p><b>Meals : </b> Full Board</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> Abu Dhabi
								</p>
								<p class="aj">Abu Dhabi Tour With Ferrari World Entrance Ticket on PVT/SIC basis</p>					
									<p><b>Meals : </b> Full Board</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> City Tour
								</p>
								<p class="aj">Half day Dubai city tour on PVT /SIC basis</p>					
									<p><b>Meals : </b> Full Board</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> Burj Khalifa Tower
								</p>
								<p class="aj">Burj Khalifa 124th floor on normal hours tour with Transfer on PVT /SIC basis<br />
Return DXB Airport Transfers ( Pickup & Drop )</p>					
									<p><b>Meals : </b> Full Board</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Transport</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Flight Fare</li><li>
visa</li><li>
Tips and Laundry</li><li>
Incidental Local conveyance where regular transport is not permitted</li><li>
Personnel drinks and beverages</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>JULY, AUGUST, SEPTEMBER<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Preferably from Chennai - For customized tour as per the customer's convenience<br /><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p><strong>TERMS AND CONDITIONS:</strong>

<ul>
	<li>Rates provided are Net &amp; non commissionable</li>
	<li>Booking is Non Refundable/Amendable after confirmed</li>
	<li>Hotel Rooms/ Transfers/ Tours / Rates are subject to Availability at the time of booking.</li>
	<li>Should any of the following change a new quote will have to be provided: date of travel, number of Pax, accommodation type, duration of stay and vehicle size.</li>
	<li>Rates are subject to change without prior notice due to circumstances beyond our control e.g. fuel increases, government regulations, etc.</li>
	<li>It is important to notice that various service providers may impose special terms and conditions regarding deposits, payments, and cancellation fees and / or refunds from time to time. All reservations would be subject to these additional conditions.</li>
	<li>All/Any expenses passengers might incurred due to circumstances beyond our control such as flight cancellation/delays, accidents of any nature, bad weather, natural calamities, medical evacuation, supplier policies, etc. It is suggested that clients take out travel insurance. SOS TRADERS GROUP merely acts a service broker and does not accept any liability.</li>
	<li>We strongly advise passengers to take out insurance covering cancellations, medical expenses, and loss of baggage, curtailment and default at the time of booking - please advise</li>
</ul>

<p style="line-height: 20.8px;"><strong>CANCELLATION POLICY</strong>

<ul style="line-height: 20.8px;">
	<li>No refund of Advance if cancelled by individual</li>
	<li>7days before 10% of tour amount refunded</li>
	<li>15 days before 50% of tour amount refunced</li>
	<li>30 days before 100% minusing the advance amount</li>
	<li>will refunded</li>
</ul>

<p style="line-height: 20.8px;">Booking Advance

<ul style="line-height: 20.8px;">
	<li>Book your ticket by paying advance amount of Rs.5000 through our website www.shareoursource.in &nbsp;with details of payment</li>
</ul>						
    	<p class="h dif xlarge b mb5px">Package Cost</p>
    	<div class="otherDetails aj">Dubai Abu Dhabi Tours</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">USD 358 +</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.shareoursource.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Gulf Countries 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="63314"/>
						</form>
						</div>
						
						";i:1;s:58:"Book Gulf Countries Tour - 3 Nights / 4 Days Tour Packages";i:2;s:123:"book gulf countries tour - 3 nights / 4 days tour packages, forts and palaces tour packages, dubai, abu dhabi tour packages";i:3;s:179:"Book Gulf Countries Tour - 3 Nights / 4 Days tour packages from Share Our Source Traders - Get attractive 3 Nights / 4 Days Forts and Palaces  tour packages for  Dubai, Abu Dhabi.";i:4;s:1111:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dubai, Abu Dhabi"        
		                 },
		      "description": "Desert Safari With Bbq
Abu Dhabi Tour With Ferrari World Entrance Ticket On Pvt Basis
Half Day Dubai City Tour On Pvt Basis
Burj Khalifa 124Th Floor On Normal Hours Tour With Transfer On Pvt Basis


Day1: Desert Safari With Bbq Dinner On Pvt Basis
Day2: Abu Dhabi Tour With Ferrari World Entrance Ticket On Pvt Basis
Day3: Half Day Dubai City Tour On Pvt Basis
Day4: Burj Khalifa 124Th Floor On Normal Hours Tour With Transfer On Pvt BasisFull payment at the time booking - Discount INR 1000 per person
Group Size more than 15 - Discount INR 2000 per personFlight Fare
visa
Tips and Laundry
Incidental Local conveyance where regular transport is not permitted
Personnel drinks and beverages",
		      "name": "Gulf Countries Tour",
		      "telephone": "+91-9444728610"
		    }
		    </script>
			";i:5;N;}