a:6:{i:0;s:30227:"						<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">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;}