a:6:{i:0;s:11244:"				<div class="h1"><h1>4N/5D Bali Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.bellatours.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.bellatours.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>4N/5D Bali Package</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">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">Bali</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 8750 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Special Offer 	<br />
1st 50 people get BELLA TOURS bag & attractive gift  .</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bellatours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="4N/5D Bali Package - 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="92660"/>
						</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_14/397488/158982.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/397488/158982.jpg"  width="150" height="150"    alt="4N/5D Bali Package" title="4N/5D Bali Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					4 Nights in Bali with breakfast<br />
Full day Kintamani tour on SIC<br />
Return airport transfers on private<br />
{Note: - Kindly be on time for SIC transfer as coach will not wait for more than the confirmed pick up time and there will be no refund provided for missed transfers}Special Offer 	<br />
1st 50 people get BELLA TOURS bag & attractive gift  .Airfare & Taxes<br />
Visa & Insurances charges<br />
Any up gradation in hotel room category<br />
Any meals other than specified above<br />
Any sightseeing other than mentioned above<br />
Any Entrance fees or Fees for video or camera permit<br />
Any item of personal nature like tips, laundry, telephone calls, etc.<br />
Service tax will be applicable on total invoice15-0731-12<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 in Bali
								</p>
								<p class="aj">Welcome to Indonesia. Arrive at Denpasar airport and transfer to hotel for check in at hotel. Overnight stay in Bali.</p>
								</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 <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/397488/158982.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/397488/158982.jpg"  width="150" height="150"    alt="4N/5D Bali Package" title="4N/5D Bali Package" /></a></p></div></li>
									</ul>
									</div>
									</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> Bali – Full day Kintamani Tour
								</p>
								<p class="aj">After breakfast, proceed for full day Kintamani Tour. The highlight of this tour is the magnificent view of Mount & Lake Batur with the smoky Agung Volcano in the background. Enroute stops at Singapadu village to see the Barong & Keris dance performance, celuk the center of gold and silver works, Mas the center of woodcarving, Ubud the center of Balinese painting, Goa Gajah (Elephant Cave) and the holy springs of Tirtha Empul at tampaksiring. Overnight stay in Bali.</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> Bali
								</p>
								<p class="aj">Full day is free for leisure. Enjoy the sun, sea and sand. Overnight stay in Bali.</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> Bali
								</p>
								<p class="aj">Day is free for leisure. Overnight stay in Bali.<br />
<br />
Optional: - Enjoy water sports at Tanjung Benoa at an additional cost</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> Bali - Departure
								</p>
								<p class="aj">After breakfast it’s time to check out. Transfer to the airport for your onward flight or back home.</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>3 Star Hotel</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Entry Tickets</li>
																		<li>Sim Card</li>
																		<li>Complimentary Drinks</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare & Taxes</li><li>
Visa & Insurances charges</li><li>
Any up gradation in hotel room category</li><li>
Any meals other than specified above</li><li>
Any sightseeing other than mentioned above</li><li>
Any Entrance fees or Fees for video or camera permit</li><li>
Any item of personal nature like tips, laundry, telephone calls, etc.</li><li>
Service tax will be applicable on total invoice</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. ~^#^~						
    	<p class="h dif xlarge b mb5px">Hotel Details:-</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">City</td>
				<td class="headHr p5px b">Standard</td>
				<td class="headHr p5px b">Deluxe</td>
				<td class="headHr p5px b">Premium</td>
			</tr>
			<tr>
				<td class="data p5px">Bali</td>
				<td class="data p5px">J Boutique Hotel/ Ibis Bali Kuta or similar</td>
				<td class="data p5px">Bali Rani/ Mercure Bali Harvestland or similar</td>
				<td class="data p5px">Grand Mirage or similar</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Price per person in USD:-</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Category</td>
				<td class="headHr p5px b">Twin</td>
				<td class="headHr p5px b">Triple</td>
				<td class="headHr p5px b">Single</td>
				<td class="headHr p5px b">CWB</td>
				<td class="headHr p5px b">CNB</td>
			</tr>
			<tr>
				<td class="data p5px">Standard</td>
				<td class="data p5px">139</td>
				<td class="data p5px">139</td>
				<td class="data p5px">227</td>
				<td class="data p5px">127</td>
				<td class="data p5px">101</td>
			</tr>
			<tr>
				<td class="data p5px">Deluxe</td>
				<td class="data p5px">193</td>
				<td class="data p5px">193</td>
				<td class="data p5px">312</td>
				<td class="data p5px">177</td>
				<td class="data p5px">124</td>
			</tr>
			<tr>
				<td class="data p5px">Premium</td>
				<td class="data p5px">298</td>
				<td class="data p5px">298</td>
				<td class="data p5px">547</td>
				<td class="data p5px">255</td>
				<td class="data p5px">187</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bellatours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="4N/5D Bali Package - 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="92660"/>
						</form>
						</div>
						
						";i:1;s:57:"Book 4N/5D Bali Package - 4 Nights / 5 Days Tour Packages";i:2;s:110:"book 4n/5d bali package - 4 nights / 5 days tour packages, beach and islands tour packages, bali tour packages";i:3;s:138:"Bella Tours offers 4N/5D Bali Package - 4 Nights / 5 Days tour package, budget Beach and Islands tour packages for Bali at exciting price.";i:4;s:1082:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bali"        
		                 },
		      "description": "4 Nights in Bali with breakfast
Full day Kintamani tour on SIC
Return airport transfers on private
{Note: - Kindly be on time for SIC transfer as coach will not wait for more than the confirmed pick up time and there will be no refund provided for missed transfers}Special Offer 	
1st 50 people get BELLA TOURS bag & attractive gift  .Airfare & Taxes
Visa & Insurances charges
Any up gradation in hotel room category
Any meals other than specified above
Any sightseeing other than mentioned above
Any Entrance fees or Fees for video or camera permit
Any item of personal nature like tips, laundry, telephone calls, etc.
Service tax will be applicable on total invoice15-0731-12",
		      "name": "4N/5D Bali Package",
		      "telephone": "+91-9819406969"
		    }
		    </script>
			";i:5;N;}