a:6:{i:0;s:9604:"				<div class="h1"><h1>Mh005 Bali-Senggigi Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sanskrutivacations.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sanskrutivacations.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Mh005 Bali-Senggigi 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">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 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"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mh005 Bali-Senggigi 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="84366"/>
						</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/393874/148802.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/148802.jpg"  width="150" height="150"    alt="Mh005 Bali-Senggigi Tour" title="Mh005 Bali-Senggigi Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					3 nights stay at the choice hotel in Bali, based on the lowest room category with daily breakfast,<br />
2 nights stay at the choice hotel in Lombok (Sengigi), based on the lowest room category with daily breakfast,<br />
English speaking guide during tour and transfer only<br />
Full Air-Conditioned transportation during Tour and Transfer only<br />
Half day Uluwatu temple Kuta Beach Tour <br />
Full day Kintamani Tour (6-7 Hrs)<br />
Half day Sasak Traditional Tour (3-4 Hrs)<br />
Half day Water Sport at Tanjung Benoa<br />
1 round of  Parasiling, JetSki and Banana Boat<br />
Local VAT and Service Charge<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> Arrival Bali - Uluwatu Kuta Beach Tour
								</p>
								<p class="aj">Upon arrival in Denpasar Airport, meets with our representatives, and will be directly proceed to the hotel. Rest of the day will be free at leisure. In the afternoon, you will be proceeded to visit Uluwatu temple. A trip to the most southern tip of the island: Uluwatu temple hanging on a cliff over a 100 meter sheer drop to the ocean. On the way back a short stop at the famous Kuta beach to watch the sunset.</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> Kintamani Tour
								</p>
								<p class="aj">Breakfast at the hotel. afterward enjoy the Kintamani tour. This tour is the magnificent view of Mount and lake Batur with the smoky Agung Volcano in the background. Enroute stops at the Art Shop in Celuk and Kemenuh. Back to hotel, Stay Overnight.</p>					
									<p><b>Meals : </b> (Breakfast)</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> Water Sport at Tj. Benoa  & 1 x 60 Minutes Balinese Massage
								</p>
								<p class="aj">Breakfast at the hotel. You will be proceed to Benoa Harbour and enjoy water sport. (1xParasailing, 1x Jet ski and 1x Banana Boat). Return to the hotel for refreshment. Afterward, you will be relax and enjoy Balinese Massage for 60 minutes. Rest of the day will be free at leisure. </p>					
									<p><b>Meals : </b> (Breakfast)</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 - Lombok
								</p>
								<p class="aj">Breakfast at the hotel. Free at leisure until departure time to the airport for transfer to lombok. Arrival in Lombok Airport meets with our representative and will be directly proceed to the hotel. Rest of the day will be free at leisure.</p>					
									<p><b>Meals : </b> (Breakfast)</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> Sasak Traditional Tour
								</p>
								<p class="aj">Breakfast at the Hotel. afterward Explore the southern coast of the island as well as browse the unique traditions and customs of the Sasak became the native inhabitants of the island. Our first visit was to the village of Banyumulek, that Lombok Pottery craftsmen of the village, where you will find local women producing pottery from materials and with a very simple way, a unique system, which is able to attract many foreign tourists as well as domestic tourists. Next is the village of Sukarara, a village which became a center of handicraft and Double Ikat woven native Sasak. Next we will visit the village of Rambitan/Sade is a traditional village that is still firmly holds the Customs and traditions of their tribes, both in socializing among themselves as well as in maintaining the architecture of their buildings.</p>					
									<p><b>Meals : </b> (Breakfast)</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 6:</b> Lombok - Out
								</p>
								<p class="aj">Breakfast at hotel. Free at leisure by your own arrangement. Then transfer out to airport for your onward flight.</p>					
									<p><b>Meals : </b> (Breakfast)</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>
															</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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mh005 Bali-Senggigi 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="84366"/>
						</form>
						</div>
						
						";i:1;s:63:"Book Mh005 Bali-Senggigi Tour - 5 Nights / 6 Days Tour Packages";i:2;s:116:"book mh005 bali-senggigi tour - 5 nights / 6 days tour packages, beach and islands tour packages, bali tour packages";i:3;s:152:"Sanskruti Vacations offers Mh005 Bali-Senggigi Tour - 5 Nights / 6 Days tour package, budget Beach and Islands tour packages for Bali at exciting price.";i:4;s:968:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bali"        
		                 },
		      "description": "3 nights stay at the choice hotel in Bali, based on the lowest room category with daily breakfast,
2 nights stay at the choice hotel in Lombok (Sengigi), based on the lowest room category with daily breakfast,
English speaking guide during tour and transfer only
Full Air-Conditioned transportation during Tour and Transfer only
Half day Uluwatu temple Kuta Beach Tour 
Full day Kintamani Tour (6-7 Hrs)
Half day Sasak Traditional Tour (3-4 Hrs)
Half day Water Sport at Tanjung Benoa
1 round of  Parasiling, JetSki and Banana Boat
Local VAT and Service Charge",
		      "name": "Mh005 Bali-Senggigi Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}