a:6:{i:0;s:30688:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>04 Nights/05 Days Bali Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="https://www.rehmattourzandtravels.co.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="https://www.rehmattourzandtravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> 04 Nights/05 Days Bali Package</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="https://www.rehmattourzandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="04 Nights/05 Days Bali Package - 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="193401"/>
						</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_21/627264/305548.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_21/627264/305548.jpg"  width="150" height="73"    alt="04 Nights/05 Days Bali Package" title="04 Nights/05 Days Bali Package" /></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>
													
								A newly married couple who want to enjoy their honeymoon with each other in a paradise of Bali will make their dreams come true. Rehmat tour and travel is offering exotic places like Bali for honeymoon couple packages for the valued customers. Rehmat tour and travel founded in 2010 in Punjab and since it has been availing such facilities to the customers at reasonable prices. Our company takes care of our client's unique travel experience at beaches paradise. Our tour packages include Bali Honeymoon Tour packages which include 4 nights and 5 days tour especially made for newly wedded couples.<br />
<br />
The city has a wide variety of options for newly wedded love birds. The couples can enjoy candlelight dinner at a marvelous place where only couples can enjoy their holidays. It also covers adventure rides and various other adventure activities. Thus Bali Honeymoon Tour packages for Couple also include various water sports after freshen up like parasailing, Banana boat, and Jet Ski. Bali is known for its lovely and romantic place for honeymoon couples and also for beaches.<br />
There are lots of water sports where couples can enjoy together. Bali is also famous for spas where you can relax and rejuvenate yourself from your daily, hectic life. Massage therapy will relax your body and blood circulation becomes easy and comfortable. In Ayurveda massage therapy is also considered good for the body. Various amenities are also taken care of during the packages like breakfast, various sightseeing, water bottle, various park visiting fees, temples, and many other places, etc.<br />
<br />
Our professional endeavors to provide a hassle-free tour with various other facilities and make the tour memorable for a lifetime to visit again and again.								</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> Bali – Arrival
										</p>
										<p class="aj">Your travel itinerary start today for Bali honeymoon package<br />
On arrival at Bali International Airport, complete you Immigration formalities and collect your luggage. Proceed to arrival hall, our tour representative will receive and assist you to board your transfer to hotel according to itinerary of tour package for Bali. Complete your check-in formalities (Standard international Check-in Time is 1400 Hrs.) and time free for freshen up. Get ready to enjoy sunset tour of Uluwatu Temple Tour with Kecak Dance (Flight Should reach before 1300 Hrs.). Uluwatu sunset tour is one of the most chosen Bali short day tours because it does not only see the temple but it also we will experience the popular Kecak dance performance with the breathtaking sunset backdrop at Southern part of Bali. Return transfer to Local restaurant. Have your pre booked set menu dinner and drop at hotel. Overnight stay at 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> Bali – Kintamani Volcano & Ubud Village
										</p>
										<p class="aj">Encounter live Volcano and breathe taking view of Ubud is routed today as per your Bali honeymoon trip package<br />
After having delicious breakfast in hotel restaurant. Get ready to enjoy full day Kintamani Volcano tour with Ubud village. Tour start from gold and silver smith in Celuk Village, there are a lot of huge silver shop in this village. The woodcarving Village name is Mas Village and Kemenuh Village, both village produce very good quality of woodcarving made from very hard wood such as teak, mahogany, ebony and hibiscus wood, those of wood import from another island Java, Sumatra and Sulawesi. Second stop Tirta Empul or Spring Water Temple, it's located in Tampaksiring. The temple was built around the springs and special bathing-pools. In Balinese legend this spring water was created by Indra God when he fought with the Mayadenawa King. This place now very crowded with the people when the secret day for bath special ritual called in Balinese Melukat. Third stop Batur Mount Volcano, this places located in Kintamani District - Bangli Regency. Penelokan Village will be the best to view of the Batur Mount and Batur Lake. Batur Mount has eruption several time already, the biggest eruption was 1926 destroyed the Batur Village, this village it was near the lake and now they move to the top. The black lava was the eruption in 1974. This is still active Volcano smoking all the time and lastly visit Ubud street market for traditional Balinese stuffs with bargaining skill is necessary. Return to hotel and overnight stay at 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> Bali – Water Sport & Bounty Dinner Cruise
										</p>
										<p class="aj">Enjoy water adventure and Sunset Dinner Cruise as per your Bali Indonesia honeymoon package.<br />
After having delicious breakfast in hotel restaurant. Get ready for water adventure sports at Tanjung Benoa beach. Your Bali travel package will not complete without trying Bali Water Sport activities. Your package is Inclusive of one round of Parasailing, one round of Banana Boat and one round of Jet Ski. Others water sports activities you can enjoy on personal account their like Sea Walk, Flying Fish, Flying Board, Snorkeling, Kayaking and Scuba Diving etc. In the afternoon return to hotel. In the early evening get ready for sunset dinner cruise in Bali. The Bali Dinner Cruises departs from Benoa Harbor to surround the coastal area of Benoa and serves the International Buffet Dinner with spectacular dance performance and live music on board. This is followed by a delicious international buffet dinner before you can dance the night away at our disco or enjoy our live cabaret show. This Sunset Dinner Cruise is suitable for all Couples, Bachelors and family so bring the kids along to enjoy the party.</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 – Bali Traditional Massage
										</p>
										<p class="aj">Experience the Bali traditional massage in Honeymoon tour for Bali<br />
After having delicious breakfast in hotel restaurant. Time to experience the Balinease massage 120 minute session at good spa with transfer. It is the perfect treatment to regain harmony between body and mind. This technique includes gentle and relaxing strokes as well as vigorous pressure-point stimulations. The therapist starts to treat the legs, then firmly frictions the back and arms and, finally, slowly massages the scalp. Therapists use a combination of gentle stretches, skin rolling, kneading and stroking, and pressure-point stimulation, to stimulate the flow of blood, lymph and energy. Return to hotel. Time free at leisure and for relaxation purpose.</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">Collect the sweet memories of your Bali honeymoon package.<br />
After having delicious breakfast in hotel restaurant. Time free at leisure. Complete your checkout formalities at hotel reception (STD Checkout time is 1130 Hrs. – 1200 Hrs. settle your dues if any). Be ready at hotel lobby we will transfer you airport 4 hours prior from scheduled departure time.</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>Meet & Greet at Bali Airport</li><li>
04 Nights Accommodation at above hotels</li><li>
Daily Breakfast </li><li>
Bali Airport – Hotel – Airport Transfer by Private </li><li>
AC Car</li><li>
Kintamani Volcano Tour with Ubud Village and </li><li>
Handicraft Center on SIC Basis</li><li>
Water Sports Activities at Tanjung Benoa Beach </li><li>
Parasailing, Jet Ski and Banana Boat on SIC</li><li>
Sunset Bounty Dinner Cruise On SIC Basis</li><li>
Uluwatu Temple Tour with Kecak Dance on Sic </li><li>
Basis</li><li>
120 Minutes Massage Treatment with Transfer </li><li>
on Pvt Basis</li><li>
Entrance Fee According to Itinerary and Mineral </li><li>
Water Bottle During Tour</li><li>
All Tours & Transfers as Per Itinerary</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">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</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="https://www.rehmattourzandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="04 Nights/05 Days 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="193401"/>
						</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="https://www.rehmattourzandtravels.co.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/paro-tour-packages.htm" title="Paro Tour Packages">Paro</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/punakha-tour-packages.htm" title="Punakha Tour Packages">Punakha</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/bali-tour-packages.htm" title="Bali Tour Packages">Bali</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/darjeeling-tour-packages.htm" title="Darjeeling Tour Packages">Darjeeling</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/thimphu-tour-packages.htm" title="Thimphu Tour Packages">Thimphu</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/bagdogra-tour-packages.htm" title="Bagdogra Tour Packages">Bagdogra</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/cherrapunji-tour-packages.htm" title="Cherrapunji Tour Packages">Cherrapunji</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/trimbakeshwar-tour-packages.htm" title="Trimbakeshwar Tour Packages">Trimbakeshwar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/kumarakom-tour-packages.htm" title="Kumarakom Tour Packages">Kumarakom</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/siliguri-tour-packages.htm" title="Siliguri Tour Packages">Siliguri</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/shillong-tour-packages.htm" title="Shillong Tour Packages">Shillong</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/jalpaiguri-tour-packages.htm" title="Jalpaiguri Tour Packages">Jalpaiguri</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/bomdila-tour-packages.htm" title="Bomdila Tour Packages">Bomdila</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/dharamshala-tour-packages.htm" title="Dharamshala Tour Packages">Dharamshala</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/trivandrum-tour-packages.htm" title="Trivandrum Tour Packages">Trivandrum</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/chandigarh-city-tour-packages.htm" title="Chandigarh City Tour Packages">Chandigarh City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/kalimpong-tour-packages.htm" title="Kalimpong Tour Packages">Kalimpong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/kovalam-tour-packages.htm" title="Kovalam Tour Packages">Kovalam</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/mandla-tour-packages.htm" title="Mandla Tour Packages">Mandla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/gangtok-tour-packages.htm" title="Gangtok Tour Packages">Gangtok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/bhalukpong-tour-packages.htm" title="Bhalukpong Tour Packages">Bhalukpong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/alipurduar-tour-packages.htm" title="Alipurduar Tour Packages">Alipurduar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</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="https://www.rehmattourzandtravels.co.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/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 "><a class="dif" href="https://www.rehmattourzandtravels.co.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.rehmattourzandtravels.co.in/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.rehmattourzandtravels.co.in/desert-holidays-catid.htm" title="Deserts Packages">Deserts</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>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Bali</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.rehmattourzandtravels.co.in/holiday-packages/bali-and-singapore-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_21/627264/305419.jpg"  alt="Bali and Singapore Package" title="Bali and Singapore Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.rehmattourzandtravels.co.in/holiday-packages/bali-and-singapore-package.htm" title="Bali and Singapore Package"><h3>Bali And Singapore Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Bali, Singapore</p>
															<div class="mt10px small">
							<form name="pkg_193338" id="pkg_193338" method="post" action="https://www.rehmattourzandtravels.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.rehmattourzandtravels.co.in/holiday-packages/bali-and-singapore-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Bali and Singapore Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="193338"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.rehmattourzandtravels.co.in/holiday-packages/bali-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_21/627264/305418.jpg"  alt="Bali Tour Package" title="Bali Tour Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.rehmattourzandtravels.co.in/holiday-packages/bali-tour-package.htm" title="Bali Tour Package"><h3>Bali Tour Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Bali</p>
															<div class="mt10px small">
							<form name="pkg_193337" id="pkg_193337" method="post" action="https://www.rehmattourzandtravels.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.rehmattourzandtravels.co.in/holiday-packages/bali-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Bali Tour Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="193337"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:68:"Bali Honeymoon Tour Packages For Couple, Book Bali Honeymoon Package";i:2;s:62:"bali honeymoon tour packages, book bali honeymoon tour package";i:3;s:153:"Want to book Bali honeymoon tour packages for couple? visit us for it. We offered exclusive travel packages makes your holiday experience more memorable.";i:4;s:2142:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": ""        
		                 },
		      "description": "A newly married couple who want to enjoy their honeymoon with each other in a paradise of Bali will make their dreams come true. Rehmat tour and travel is offering exotic places like Bali for honeymoon couple packages for the valued customers. Rehmat tour and travel founded in 2010 in Punjab and since it has been availing such facilities to the customers at reasonable prices. Our company takes care of our client's unique travel experience at beaches paradise. Our tour packages include Bali Honeymoon Tour packages which include 4 nights and 5 days tour especially made for newly wedded couples.

The city has a wide variety of options for newly wedded love birds. The couples can enjoy candlelight dinner at a marvelous place where only couples can enjoy their holidays. It also covers adventure rides and various other adventure activities. Thus Bali Honeymoon Tour packages for Couple also include various water sports after freshen up like parasailing, Banana boat, and Jet Ski. Bali is known for its lovely and romantic place for honeymoon couples and also for beaches.
There are lots of water sports where couples can enjoy together. Bali is also famous for spas where you can relax and rejuvenate yourself from your daily, hectic life. Massage therapy will relax your body and blood circulation becomes easy and comfortable. In Ayurveda massage therapy is also considered good for the body. Various amenities are also taken care of during the packages like breakfast, various sightseeing, water bottle, various park visiting fees, temples, and many other places, etc.

Our professional endeavors to provide a hassle-free tour with various other facilities and make the tour memorable for a lifetime to visit again and again.",
		      "name": "04 Nights/05 Days Bali Package",
		      "telephone": "+91-8699995002"
		    }
		    </script>
			";i:5;N;}