a:6:{i:0;s:8061:"				<div class="h1"><h1>Singapore with Bintan Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.abhisarikaholidays.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.abhisarikaholidays.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Singapore with Bintan Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_1/28170/192074.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/28170/192074.jpg"  width="150" height="150"    alt="Singapore with Bintan Tour" title="Singapore with Bintan Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Bali, Singapore</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.abhisarikaholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore with Bintan Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="118442"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Arrival
									</p>
									<div class="data p10px">On arriving at the Singapore airport, meet our  representative who assists you while you take a transfer to the cruise terminal. Later, you will be transferred to your respective hotel. On reaching, check-in at the hotel and enjoy your breakfast. Take some rest and spend the day at leisure.<br />
<br />
In the evening, go for a Night Safari, which is the world’s first nocturnal zoo and also one of the most popular attractions of Singapore. Enjoy night viewing of around 2500 animals of 135 exotic species. You can also enjoy cultural performances which are regularly organized at the safari. Later, return to the hotel and stay overnight.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Singapore - Half Day City Tour
									</p>
									<div class="data p10px">This morning, munch some delicious breakfast and then proceed for city tour. Begin your tour with a visit to Padang Cricket Club. The club has witnessed major social events of Singapore through the years. The club is surrounded by important landmarks of Singapore such as Parliament House, City Hall, Saint Andrew's Cathedral and more. Next, visit the famous Fukien or Hoklo temple and Thian Hock Keng Temple.<br />
<br />
Also visit Merlion Park where you get to enjoy spectacular views of Marina Bay.  Later, leave for a Sentosa Twilight Tour which includes a one-way cable car ride, visit to the S.E.A Aquarium, Merlion Tower, Butterfly Park & Insect Kingdom and Wings of Time.<br />
<br />
Sentosa is a popular island resort in Singapore which is one of the most visited destinations in Singapore. You get to enjoy a variety of activities at the island. Explore the breathtaking beauty of the lush greenery around the island and take back a memorable experience. After enjoying at the island, head back to your hotel and have a comfortable stay at night.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Singapore - Universal Studios
									</p>
									<div class="data p10px">After having your breakfast this morning, leave for a full day tour to the Universal Studios. Universal Studios is a theme park which is located within the Resorts World Sentosa on Sentosa Island, Singapore. The studio features 24 movie-themed rides and attractions. You get to enjoy thrilling rides and shows based on blockbuster hits. The attractions are perfect for adventure lovers and photographers. Enjoy rides like The Ultimate 3D Battle, Shrek 4-D Adventure, Revenge of the Mummy, Madagascar: A Crate Adventure Jurassic Park Rapids Adventures and more. Later, return to the hotel and stay overnight.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Singapore - Bintan Island
									</p>
									<div class="data p10px">Have your breakfast and then check out from the hotel. Take a transfer to the ferry terminal from the hotel. Board your ferry to Bintan Lagoon Resort. Bintan Island is well-known for its natural beauty and historic significance. The island became a main trading port in the South-East Asia region back in the 16thcentury. The unmatched beauty of the island makes it a famous tourist destination. On reaching, check-in to the hotel. Spend the rest of the day at leisure. Stay overnight at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Bintan Island
									</p>
									<div class="data p10px">Munch your delicious breakfast and then leave for sightseeing around Bintan Island. Visit major attractions of the island such as Banyan Tree Temple, Bintan Elephant Park, Masjid Raya Sultan Mosque, Santa Maria Cave and Snake River Temple. In the evening, you can go for a stroll around the resort. Enjoy the natural beauty and tranquility of the island. Later, return to the hotel and have a comfortable overnight stay.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Departure
									</p>
									<div class="data p10px">After having your breakfast in the morning, check out from the resort. Board your ferry from the ferry terminal. On reaching Singapore, take transfer to the airport. Board your flight and carry on with your onward journey.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
													<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Sightseeing</li>
																	</ul>
							<br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:65:"Book Singapore with Bintan Tour - 5 Nights / 6 Days Tour Packages";i:2;s:129:"book singapore with bintan tour - 5 nights / 6 days tour packages, beach and islands tour packages, bali, singapore tour packages";i:3;s:165:"Abhisarika Holidays offers Singapore with Bintan Tour - 5 Nights / 6 Days tour package, budget Beach and Islands tour packages for Bali, Singapore at exciting price.";i:4;s:413:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bali, Singapore"        
		                 },
		      "description": "",
		      "name": "Singapore with Bintan Tour",
		      "telephone": "+91-9435143321"
		    }
		    </script>
			";i:5;N;}