a:6:{i:0;s:5223:"				<div class="h1"><h1>Dziner Dubai On a Budget Package One</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.dzinerholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.dzinerholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Dziner Dubai On a Budget Package One</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">OSAHDUBAI 1</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">DUBAI and ABU DHABI</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Starting From </td>
						<td class="p5px pl0px vat">
						USD 485 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Free Travel Insurance with a Group of Four Pax Travelling Together.</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.dzinerholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dziner Dubai On a Budget Package One - 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="158821"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
										</tr>
					</table>
					</div>
					<br />
					
					Inclusive: <br />
04 Nights / 05 Days Accommodation<br />
04 Breakfasts<br />
01 Veg Meal Coupon Outside Walkable Restaurant<br />
half Day Dubai City Tour Sight Seeing<br />
desert Safari with Belly Dance & Dinner<br />
dhow Cruise with Dinner<br />
burj Khalifa Entry Ticket & Dubai Mall Withtransfer (non Prime Time)            124th Floor Observation Desk<br />
abu Dhabi City Tour with Veg Lunch<br />
normal Visa<br />
tourism Dirham<br />
dxb Apt / Hotel / Dxb Apt TransferFree Travel Insurance with a Group of Four Pax Travelling Together.Air fare, Visa charges, OK to board,Travel Insurance & Taxes if any.<br />
Anything not mentioned in Inclusions and Personal expenses<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>3 Star Hotel</li>
																<li>NIL</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Air fare, Visa charges, OK to board,Travel Insurance & Taxes if any.</li><li>
Anything not mentioned in Inclusions and Personal expenses</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.dzinerholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dziner Dubai On a Budget Package One - 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="158821"/>
						</form>
						</div>
						
						";i:1;s:75:"Book Dziner Dubai On a Budget Package One - 4 Nights / 5 Days Tour Packages";i:2;s:132:"book dziner dubai on a budget package one - 4 nights / 5 days tour packages, family tour packages, dubai and abu dhabi tour packages";i:3;s:186:"Book Dziner Dubai On a Budget Package One - 4 Nights / 5 Days tour packages from Dziner Travel Concepts - Get attractive 4 Nights / 5 Days Family  tour packages for  DUBAI and ABU DHABI.";i:4;s:1047:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "DUBAI and ABU DHABI"        
		                 },
		      "description": "Inclusive: 
04 Nights / 05 Days Accommodation
04 Breakfasts
01 Veg Meal Coupon Outside Walkable Restaurant
half Day Dubai City Tour Sight Seeing
desert Safari with Belly Dance & Dinner
dhow Cruise with Dinner
burj Khalifa Entry Ticket & Dubai Mall Withtransfer (non Prime Time)            124th Floor Observation Desk
abu Dhabi City Tour with Veg Lunch
normal Visa
tourism Dirham
dxb Apt / Hotel / Dxb Apt TransferFree Travel Insurance with a Group of Four Pax Travelling Together.Air fare, Visa charges, OK to board,Travel Insurance & Taxes if any.
Anything not mentioned in Inclusions and Personal expenses",
		      "name": "Dziner Dubai On a Budget Package One",
		      "telephone": "+91-9825121020"
		    }
		    </script>
			";i:5;N;}