a:6:{i:0;s:9292:"				<div class="h1"><h1>Exclusive Singapore Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sagartours.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sagartours.com/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Exclusive Singapore Tour</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Singapore</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sagartours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Exclusive Singapore Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="64037"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<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_8/233316/118676.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/233316/118676.jpg"  width="150" height="150"    alt="Exclusive Singapore Tour" title="Exclusive Singapore Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Singapore
								</p>
								<p class="aj">On arriving at the Singapore airport, meet our IHPL tour representative who helps you with an assisted transfer to your pre-booked hotel. After completing the check-in formalities, you can start your tour by visiting the popular shopping malls and centers of Singapore to indulge in shopping. Spend the day in collecting souvenirs, tasting local renditions, interacting with the locals and more. The night is scheduled for world’s most popular night zoo or the Night Safari. Spread in around 400-hectare of land, this jungle reserve houses as many as 1200 nocturnal animals. Get into a tram and roam all around enjoying the sights and sounds of the animals in the Southeast Asian Rainforest.  Tram ride is followed by a guided walking tour. Stay overnight.</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> Singapore
								</p>
								<p class="aj">On the 2nd day, after you have your breakfast, leave for half-day sightseeing tour. During the tour, drive pas the Colonial Heart where you get to see the Padang Cricket Club, bounded by various landmark structures such as the City Hall, the Parliament House, the Supreme Court, Saint Andrew's Cathedral etc. Later, visit Thian Hock Keng Temple, the most popular and the oldest Fukien or Hoklo temple temple of Singapore. The next visit is to the Merlion Park to get a view of the Merlion, Singapore’s tourist icon, a mythical creature, which is a mix of a lion and a fish. After this, you visit the National Orchid Garden that is home to as many as 60,000 kinds of orchid plants. Post sightseeing, visit Little India and the local handicraft center. Stay overnight.</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> Singapore- Sentosa Island-Singapore
								</p>
								<p class="aj">After breakfast on the 3rd day, leave for Sentosa Island, just a few 100 yards away from the mainland. This popular island resort offers several fun-filled entertainment options and activities. Marvel at the well-maintained gardens, lush green landscape, cascading fountains, partake in entertainment activities and visit the two 18-hole golf courses. The day comes with an end with an enchanting Cable car ride from Mount Faber, offering some amazing views of the city. Back to Singapore for night stay.</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> Singapore
								</p>
								<p class="aj">The 4th day after breakfast is fixed for leisure activities of your own interest. You can spend the day as per your own liking, visiting the remaining attractions, exploring the nearby location on-foot, tasting the local renditions, visiting the markets, interacting with the locals and so on. Another option is to visit the Universal Studios, a Hollywood movie theme park for enjoying movie-based roller coasters and other rides. The park has innumerable rides such as Battlestar Galactica- Human vs. Cylon (the tallest pair of duel roller coasters in the world), Far- Far Away Castle from The World of Shrek where you can enjoy Shrek 4-d adventure attractions. Another major highlight here is from the movie Waterworld. You can also enjoy Jurassic Park rapids adventure, Madagascar’s crate adventure, revenge of the Mummy and a lot more. Overnight stay in Singapore.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Depart from Singapore
								</p>
								<p class="aj">On the last day of the tour, have your breakfast and get an assisted transfer to the airport to board your flight for an onward journey.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sagartours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Exclusive Singapore Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="64037"/>
						</form>
						</div>
						
						";i:1;s:63:"Book Exclusive Singapore Tour - 4 Nights / 5 Days Tour Packages";i:2;s:121:"book exclusive singapore tour - 4 nights / 5 days tour packages, beach and islands tour packages, singapore tour packages";i:3;s:170:"Book Exclusive Singapore Tour - 4 Nights / 5 Days tour packages from Sagar Enterprises - Get attractive 4 Nights / 5 Days Beach and Islands  tour packages for  Singapore.";i:4;s:405:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Singapore"        
		                 },
		      "description": "",
		      "name": "Exclusive Singapore Tour",
		      "telephone": "+91-8805027172"
		    }
		    </script>
			";i:5;N;}