a:6:{i:0;s:23297:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Romantic Honeymoon In Bali Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.flyingfeetholidays.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.flyingfeetholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Romantic Honeymoon In Bali Tour</p>
						</div>
						</div>
						</section>
										<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> Bali</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.flyingfeetholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Romantic Honeymoon in Bali 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="187922"/>
						</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_20/578790/293943.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/578790/293943.jpg"  width="150" height="100"    alt="Romantic Honeymoon in Bali Tour" title="Romantic Honeymoon in Bali 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>
													
								Bali, the heavenly island of Indonesia is bliss incarnate. With views that help you imagine paradise, the island is idyllic for honeymoon. Couples can indulge in creating romantic memories. While the accommodation offers 5-star luxuries, sightseeing include beautiful beaches, ancient temples, and charming villages. The thrilling range of adventure sports, delightful food, relaxing Balinese massage, shopping pleasures and more help you have wonderful experiences.<br />
With our 5-day Romantic Honeymoon in Bali plan for memories for a lifetime. Go through the itinerary for more details.<br />
Note: This is just a suggested itinerary indicative of what could be possible. We customize holidays for your specific needs. Contact us if you want modifications so that we could customize a holiday to suit your need for an unforgettable International tour.<br />
<br />
<br />
TRIP HIGHLIGHTS<br />
A relaxed tour with honeymoon theme.<br />
Stay 04 nights in Bali<br />
Full Day Benoa Beach with Watersports Tour (Flying Fish, Banana Boat Ride & Jet Ski)<br />
120 Min Ancient Balinese Spa Treatment<br />
Kintamani Volcano Tour & Ubud Village<br />
Tanah Lot Temple & Sunset Tour<br />
All transfers								</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 BALI
										</p>
										<p class="aj">Arrive to ‘paradise on Earth’ Bali. At the airport, meet your tour representative and get an assisted transfer to your hotel. The New Balinese Airport is a beautiful mix of traditional architecture combined with modernization.<br />
<br />
On your way to hotel, outside the airport marvel at the magnificent statue of a battle scene between Gatotkacha and Karna, the legendary characters of the mythology of Mahabharata. Built in 1993, the monument is believed to lend spiritual protection and safety for all incoming and outgoing flights. It also serves as an excellent photo opportunity in Bali.<br />
<br />
On arrival, check in at the hotel. The rest of the day is at your own leisure. Enjoy the comforts of your hotel and explore the environs. Overnight stay 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> FULL DAY BENOA BEACH WITH WATER SPORTS TOUR
										</p>
										<p class="aj">Start the day with a hearty breakfast at the hotel. Later, proceed for thrilling water sports at the famous Tanjung Benoa beach. Located from the hustle-bustle, in the Benoa peninsula, this beach is best known for its aquatic adventures. The options offered include - Jet Ski ride, marine walk / ocean walk, scuba diving, snorkeling, banana boat ride, tandem parasailing, etc. The shore is also lined by a number pf shacks & restaurants that offer a platter of delightful food.<br />
<br />
Later in the afternoon, proceed for the ancient Balinese spa treatment. Indigenous to the island, the treatment includes flower foot bath, Balinese massage, body scrub, body mask, flower bath with special honey ginger tea and many more. Treat your body, mind and soul to the pampering therapies. After a soulful spa treatment, return back to the hotel.<br />
Overnight stay in 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> KINTAMANI VOLCANO TOUR & UBUD VILLAGE
										</p>
										<p class="aj">After breakfast at hotel, proceed for a full day excursion to the Kintamani Volcano. Capturing the essence of Bali, the day trip is one of the favorite of visitors in the island. Today you will come close to the picturesque beauty of the islands, villages, and traditional arts and crafts.<br />
The first stop of the day is the Batuan village, which is famous for traditional batik and hand weavings. Move on to Mas village, well-known for wood carving. Pay a visit to the Celuk village, where masterpieces of silver and gold works are created.<br />
<br />
Proceed to visit one of the ancient Hindu temples of Bali. Continue with your tour to Mount Batur and Lake Batur in Kintamani village, blessed with stunning views. Your tour ends in the famous Ubud market. Look around the various shopping options to take home some memories of the island.<br />
Return to hotel for 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> TANAH LOT TEMPLE & SUNSET TOUR
										</p>
										<p class="aj">The 4th day of your Bali honeymoon tour is scheduled with a visit to Tanah Lot Temple. Located on the coastal side of Beraban countryside, 30 km West of Denpasar town, the ancient temple is one of the most-visited places in Bali.<br />
<br />
Built atop a rock, overlooking the sea, the temple is easily reachable by walk from the coastal tip. The revered site dedicated to the Balinese Sea Gods is perfect for a visit with your partner. The temple is surrounded by a coral reef, inhabited by snakes in black and white color. They are believed to be holy and according to the locals are guards of the temple.<br />
<br />
After your visit, return to hotel for overnight 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 5:</b> DEPART BALI
										</p>
										<p class="aj">Start the day with breakfast, post which you are at your own leisure. Pack your bags and check-out of hotel. Avail the timely transfer to the airport. Board the flight to return home with fond memories of honeymoon in Bali.</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>EP (No Meal)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount</li><li>
* Airfare/Transport fare to be paid full at one time in advance.</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>* Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.flyingfeetholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Romantic Honeymoon in Bali 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="187922"/>
						</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.flyingfeetholidays.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/jaipur-tour-packages.htm" title="Jaipur Tour Packages">Jaipur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/cape-town-tour-tour-packages.htm" title="Cape Town Tour Packages">Cape Town</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/mukteshwar-tour-packages.htm" title="Mukteshwar Tour Packages">Mukteshwar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/abu-dhabi-tour-packages.htm" title="Abu Dhabi Tour Packages">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.flyingfeetholidays.com/bikaner-tour-packages.htm" title="Bikaner Tour Packages">Bikaner</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/bali-tour-packages.htm" title="Bali Tour Packages">Bali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/tashkent-travel-tour-packages.htm" title="Tashkent Tour Packages">Tashkent</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.flyingfeetholidays.com/almaty-tour-packages.htm" title="Almaty Tour Packages">Almaty</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.flyingfeetholidays.com/nainital-tour-packages.htm" title="Nainital Tour Packages">Nainital</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.flyingfeetholidays.com/hurghada-tour-packages.htm" title="Hurghada Tour Packages">Hurghada</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.flyingfeetholidays.com/nagarkot-tour-packages.htm" title="Nagarkot Tour Packages">Nagarkot</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.flyingfeetholidays.com/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</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.flyingfeetholidays.com/manali-tour-packages.htm" title="Manali Tour Packages">Manali</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.flyingfeetholidays.com/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</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.flyingfeetholidays.com/aswan-tours-tour-packages.htm" title="Aswan Tour Packages">Aswan</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.flyingfeetholidays.com/siem-reap-tour-packages.htm" title="Siem Reap Tour Packages">Siem Reap</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.flyingfeetholidays.com/corbett-tour-packages.htm" title="Corbett Tour Packages">Corbett</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.flyingfeetholidays.com/udaipur-tour-packages.htm" title="Udaipur Tour Packages">Udaipur</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.flyingfeetholidays.com/ranakpur-tour-packages.htm" title="Ranakpur Tour Packages">Ranakpur</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.flyingfeetholidays.com/pokhara-tour-packages.htm" title="Pokhara Tour Packages">Pokhara</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.flyingfeetholidays.com/interlaken-tour-packages.htm" title="Interlaken Tour Packages">Interlaken</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.flyingfeetholidays.com/khandala-tour-packages.htm" title="Khandala Tour Packages">Khandala</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.flyingfeetholidays.com/cairo-tour-tour-packages.htm" title="Cairo Tour Packages">Cairo</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.flyingfeetholidays.com/thimphu-tour-packages.htm" title="Thimphu Tour Packages">Thimphu</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.flyingfeetholidays.com/male-tour-packages.htm" title="Male Tour Packages">Male</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.flyingfeetholidays.com/jodhpur-tour-packages.htm" title="Jodhpur Tour Packages">Jodhpur</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.flyingfeetholidays.com/darjeeling-tour-packages.htm" title="Darjeeling Tour Packages">Darjeeling</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.flyingfeetholidays.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.flyingfeetholidays.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</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.flyingfeetholidays.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(14)</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>
				</div>
				
								
				</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:70:"Book Romantic Honeymoon in Bali Tour - 4 Nights / 5 Days Tour Packages";i:2;s:123:"book romantic honeymoon in bali tour - 4 nights / 5 days tour packages, beach and islands tour packages, bali tour packages";i:3;s:175:"Book Romantic Honeymoon in Bali Tour - 4 Nights / 5 Days tour packages from Flying Feet Holidays - Get attractive 4 Nights / 5 Days Beach and Islands  tour packages for  Bali.";i:4;s:1548:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bali"        
		                 },
		      "description": "Bali, the heavenly island of Indonesia is bliss incarnate. With views that help you imagine paradise, the island is idyllic for honeymoon. Couples can indulge in creating romantic memories. While the accommodation offers 5-star luxuries, sightseeing include beautiful beaches, ancient temples, and charming villages. The thrilling range of adventure sports, delightful food, relaxing Balinese massage, shopping pleasures and more help you have wonderful experiences.
With our 5-day Romantic Honeymoon in Bali plan for memories for a lifetime. Go through the itinerary for more details.
Note: This is just a suggested itinerary indicative of what could be possible. We customize holidays for your specific needs. Contact us if you want modifications so that we could customize a holiday to suit your need for an unforgettable International tour.


TRIP HIGHLIGHTS
A relaxed tour with honeymoon theme.
Stay 04 nights in Bali
Full Day Benoa Beach with Watersports Tour (Flying Fish, Banana Boat Ride & Jet Ski)
120 Min Ancient Balinese Spa Treatment
Kintamani Volcano Tour & Ubud Village
Tanah Lot Temple & Sunset Tour
All transfers",
		      "name": "Romantic Honeymoon in Bali Tour",
		      "telephone": "+91-9166682022"
		    }
		    </script>
			";i:5;N;}