a:6:{i:0;s:34987:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Bali And Singapore 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> Bali And Singapore 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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Bali, Singapore</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="Bali and Singapore 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="193338"/>
						</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/305419.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_21/627264/305419.jpg"  width="150" height="84"    alt="Bali and Singapore Package" title="Bali and Singapore 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>
													
								Rehmat tour and travel is operating in Punjab and it is operated since 2010 and is offering exotic travel package to the valued customers. Traveling not only refreshes your soul but also teaches you a lot. Thus rehmat tour and travel provides various packages for students, groups, and also for honeymoon couples. Our company takes care of our clients that they have a unique travel experience at an affordable price. Our tour packages include Bali Singapore Honeymoon packages which include 6 nights and 7 days tour especially made for newly wedded couples with exotic places like Ubud, Gili islands, and many more.<br />
<br />
Our Packages include picking up from the airport and one day stay at Bali for relaxing overnight at the hotel and also for freshening up. This package also includes sightseeing of nearby places which also includes Mount Volcano, spring water temple. Here the wood carving materials are also famous and are imported from other islands such as Java, Sumatra.<br />
<br />
Bali is famous for beaches and lots of beaches are available for relaxing and rejuvenating. Even Bali Singapore Honeymoon packages with cruise lead to the end of Bali tour and on the next move to Singapore for exotic travel. Even various amenities are provided during travel which will take care of the needs of our trusted customers.<br />
<br />
Our professional team members provide a hassle-free tour with various other facilities such as hotel booking, visa, flight booking, tour guide, and many more. Bali Singapore honeymoon packages include various spas, Bali parties, and also a buffet of their choices with cultural dance parties. Thus a lifetime honeymoon couples should visit this place and make it memorable for lifelong.<br />
<br />
Hotel Details:<br />
<br />
Bali: Holiday Inn Express Baruna or Similar 3 Star<br />
<br />
Singapore City: Summer View/Aqueen Lavender Or Similar 3 Star								</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 & Uluwatu Temple with Kecak Dance
										</p>
										<p class="aj">Your amazing Bali Singapore tour package start today.<br />
On arrival at Bali International Airport, complete your 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 Bali tour package. Complete your check-in formalities (Standard international Check-in Time is 1400 Hrs.) and time free for freshen up. Time are at leisure and overnight comfortable 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 you tour package for Bali Singapore.<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 package tour.<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 to Singapore Travel & Night Safari
										</p>
										<p class="aj">Collect the sweet memories of your Bali tour Package from India and travel to Singapore.<br />
After having delicious breakfast in hotel restaurant. Complete your checkout formalities at hotel reception (settle your dues if any). Be ready at hotel lobby we will transfer you airport 4 hours prior from scheduled departure time. On arrival at Changi International Airport –Singapore. Your tour representative will meet you and assist you according to Singapore tour itinerary. Transfer to hotel on SIC (Seat in Coach) basis. Check-in the hotel (STD International Check-in time start 14:00Hrs -15:00Hrs and early check-in is subject to availability of rooms at time of check-in). Time free for freshen up. In the evening get ready to enjoy legendary Singapore Night Safari goes above and beyond the typical zoo experience. Night Safari is one of the city’s top family attractions. Once you entered in Night Safari, board an open-air tram, spotting nocturnal animals as they roam and play. After the tram ride, proceed for walking trails such as Fishing Cat Trail, Wallaby Trail, and Leopard Trail. Further watch a cultural dance performance by a troupe of Thumbuakar warriors, including feats such as fire-eating and flame- throwing. Another popular attraction is the Creatures of the Night show—a 20-minute educational showcase of nocturnal animals, during which travelers can appreciate the powerful jaws of a spotted hyena, watch the African serval display its ability to leap for prey, and see many more night creatures in action. After night safari proceed to meeting point given by your driver and board return transfer to your hotel. Overnight comfortable stay in 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 5:</b> Singapore: Enjoy City Tour & Afternoon Sentosa Island Tour
										</p>
										<p class="aj">Experience city familiarization drive and Island wonder today as per your and travel to enjoy Bali Singapore travel package<br />
After having delicious breakfast in hotel restaurant. Get ready to explore the highlights of Singapore city. Singapore City Tour includes Orchard Road, Suntec City and the Fountain of Wealth. Singapore’s joy and pride- the Merlion Statue will approach you more photographic moments. Orientation tour of the Fullerton Hotel and Esplanade. Enjoy an amazing ride of Singapore Flyer (ticket cost extra) that makes your holidays amazing and catch panoramic views of Singapore city. Pass through Marina Bay Sands and the Helix Bridge and visit Little India area, China Town, and Thian Hock Temple to present beautiful touches to Singapore city tour. In the afternoon we will proceed to enjoy Sentosa Island Tour one of the best Singapore sightseeing tour. Your tour start with a scenic ride of cable car to reach Sentosa Island. Proceed to enjoy S.E.A Aquarium includes over 100,000 marine creatures, from over 800 species across 49 habitats, Maritime Experiential Museum, relive the glorious conquest of the seas, as you return to the Maritime Silk Route of eras past. Be transported through time in 15 thematic galleries, Typhoon Theater is a journey through the seas in a 4D theatre and encounter a storm in the Typhoon Theatre and Wings Of Time show,  End your day at Sentosa Island with the Award Winning Outdoor Night Show in the world set against the majestic open sea. Be mesmerized by a multi-sensory presentation of water display, laser show, fire effects and spectacular music as you soar through space and time in a magical adventure. After show proceed to meeting point given by your driver and board return transfer to your hotel. Overnight comfortable stay in 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 6:</b> Singapore: Today Experience Thrill & Adventure of Universal Studio
										</p>
										<p class="aj">Today enjoy the adventure thrill and fun of your Bali Singapore trip package.<br />
After having delicious breakfast in hotel restaurant. Get ready to enjoy and land of adventures, thrills and movies – Universal Studio Tour, Southeast Asia’s first movie-themed park, Universal Studios Singapore offers exciting attractions, including 24 movie-themed rides. The park is divided into seven themed zones Hollywood, New York, Sci-Fi City, Ancient Egypt, Lost World,<br />
Far-Far Away, and Madagascar, each with its own set of attractions. Transformer The Ride, Revenge of Mummy, Hollywood Dreams Parade or Lake Hollywood Spectacular fireworks show are on your must-see list. After such an amazing day, proceed to given meeting point to board your return transfer to Hotel. Overnight comfortable 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 7:</b> Singapore: Departure
										</p>
										<p class="aj">Collect the sweet memories of your Bali Singapore tour package<br />
After having delicious breakfast in hotel restaurant. Time free at leisure or for shopping. Pack your luggage and complete your checkout formalities at hotel reception (settle your dues if any). Standard checkout time is 1130 Hrs. – 1200 Hrs. Submit your luggage in hotel lobby. We will transfer you to airport 4 hours prior from scheduled departure time of flight.</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>CP (Room + Breakfast)</li>
																						<li>Hotel</li>
																						<li>Sightseeing</li>
																				<li>03 Nights Accommodation at Bali above hotels</li><li>
03 Nights Accommodation at Singapore above hotels</li><li>
Daily breakfast at hotels</li><li>
Bali Airport – Hotel – Airport Transfer by Private AC Car</li><li>
Kintamani Volcano Tour with Ubud Village and Handicraft Center on SIC Basis</li><li>
Water Sports Activities at Tanjung Benoa Beach Parasailing, Jet Ski and Banana Boat on SIC</li><li>
Sunset Bounty Dinner Cruise On SIC Basis</li><li>
Meet & Greet at Bali Airport</li><li>
Entrance Fee According to Itinerary and Mineral Water Bottle per Person 1 Bottle per Day</li><li>
All Tours on SIC & Airport Transfers on Pvt Basis in Bali Only</li><li>
Singapore Airport – Hotel – Airport Transfer On SIC Basis</li><li>
Night Safari Tour with Tram Ride, Animal Show & Fire Work Show On SIC Basis</li><li>
Singapore City Tour On SIC (Seat in Coach Basis) Basis</li><li>
Afternoon Sentosa Island Tour with Sea Aquarium, Wings of Time-2nd Show, Maritime Experiential Museum, Typhoon Theater and Cable Car Ride (One Way) On SIC Basis</li><li>
Universal Studio Tour with Unlimited Rides and Shows on SIC Basis</li><li>
English Speaking Guide Assistance</li><li>
All Tours & Transfers On SIC Basis</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="Bali and Singapore 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="193338"/>
						</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/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/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/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</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/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="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, Singapore</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/04-nights05-days-bali-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_21/627264/305548.jpg"  alt="04 Nights/05 Days Bali Package" title="04 Nights/05 Days Bali 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/04-nights05-days-bali-package.htm" title="04 Nights/05 Days Bali Package"><h3>04 Nights/05 Days Bali 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_193401" id="pkg_193401" 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/04-nights05-days-bali-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="04 Nights/05 Days Bali 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="193401"/>
							</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:80:"Bali Singapore Honeymoon Packages With Cruise, Bali Singapore Package for Couple";i:2;s:67:"bali singapore honeymoon packages, singapore bali honeymoon package";i:3;s:167:"Want to book Bali Singapore honeymoon packages with cruise? then visit us. We offer best tour packages which makes your holiday more memorable and at reasonable price.";i:4;s:2239:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": ""        
		                 },
		      "description": "Rehmat tour and travel is operating in Punjab and it is operated since 2010 and is offering exotic travel package to the valued customers. Traveling not only refreshes your soul but also teaches you a lot. Thus rehmat tour and travel provides various packages for students, groups, and also for honeymoon couples. Our company takes care of our clients that they have a unique travel experience at an affordable price. Our tour packages include Bali Singapore Honeymoon packages which include 6 nights and 7 days tour especially made for newly wedded couples with exotic places like Ubud, Gili islands, and many more.

Our Packages include picking up from the airport and one day stay at Bali for relaxing overnight at the hotel and also for freshening up. This package also includes sightseeing of nearby places which also includes Mount Volcano, spring water temple. Here the wood carving materials are also famous and are imported from other islands such as Java, Sumatra.

Bali is famous for beaches and lots of beaches are available for relaxing and rejuvenating. Even Bali Singapore Honeymoon packages with cruise lead to the end of Bali tour and on the next move to Singapore for exotic travel. Even various amenities are provided during travel which will take care of the needs of our trusted customers.

Our professional team members provide a hassle-free tour with various other facilities such as hotel booking, visa, flight booking, tour guide, and many more. Bali Singapore honeymoon packages include various spas, Bali parties, and also a buffet of their choices with cultural dance parties. Thus a lifetime honeymoon couples should visit this place and make it memorable for lifelong.

Hotel Details:

Bali: Holiday Inn Express Baruna or Similar 3 Star

Singapore City: Summer View/Aqueen Lavender Or Similar 3 Star",
		      "name": "Bali and Singapore Package",
		      "telephone": "+91-8699995002"
		    }
		    </script>
			";i:5;N;}