a:6:{i:0;s:8699:"				<div class="h1"><h1>Simply Singapore Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.holidaymasti.co.in/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Simply 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">Tour Code </td>
						<td class="p5px pl0px vat">3215</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						3 Nights / 4 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">
						USD 330 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.holidaymasti.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Simply 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="48062"/>
						</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_2/30465/93701.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/30465/93701.jpg"  width="150" height="150"    alt="Simply Singapore Tour" title="Simply Singapore Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Singapore is a cosmopolitan city-state and home to some world-class attractions,<br />
heritage sites and ethnic districts. The two integrated resorts, Marina Bay Sands and Resorts World Sentosa, boast attractions such as Universal Studios Singapore, Art Science Museum and celebrity chef restaurants.<br />
For nature lovers, the Gardens by the Bay houses a stunning collection of flora and<br />
fauna, and kids would love the Singapore Zoo, Night Safari and Jurong Bird Park as<br />
they marvel at the wild life animals and spectacular aviaries. Visitors can also<br />
explore the ethnic districts such as Chinatown, Little India and Kampong Glam to<br />
have an overview of the various cultures.<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 - Night Safari Tour
								</p>
								<p class="aj">Arrive At Singapore Airport Meet Our Local Representative And They Are Transfer To Hotel. Check-in To the Hotel. Check in at Standard Hotel at 14:00 hours. Early check in subject to availability. Evening proceed for Night Safari. the only safari in the world that opens at night; a not to be missed tour where you can see how it is like to be in a nature reserve at night with all kinds of the animals from all over the world in their natural habitat of which some are rare. Interestingly with its open concept brings together animals from 8 different geographical regions (Indian Subcontinent, Himalayan Foothills, Equatorial Africa, Asian Riverine Forest, Nepalese River Valley, South American Pampas, Burmese Hillside & Indo Malayan Region) and presents to you in their natural habitat. To explore all the animals, there are 2 segments to cover. Firstly, we will hop on the Tram for a 45 minutes breezy ride running through the rain forest where you can view all the animals from the comfort of your seat and Overnight Stay at Singapore 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> Singapore - Sentosa Island Tour
								</p>
								<p class="aj">After the Breakfast in the Hotel and Transfer to tour to the Sentosa Island with Underwater World, Asia's most exciting tropical Oceanarium and the latest attraction of Singapore. Experience the 'Tunnel Walk' and see a unique collection of Marine Life. Later visit the Dolphin Lagoon and watch the pink dolphins perform their natural behaviors such as spy hop, tail-flapping, vocalizations. We later visit the musical Fountain show at which uses the interaction of lasers against water particles to create three-dimensional images. Later visit wings Of Time. 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> Singapore (Half Day City Tour)
								</p>
								<p class="aj">After The Breakfast In The Hotel And Transfer To Half City Tour In Singapore. Today we experience the mega metropolis of Singapore. Drive through Orchard Road, the shopping paradise, and take a photo stop at the esplanade. Visit City Hall, Parliament House and the Lion Monument. Rest of the Day as a Leisure. 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 4:</b> Singapore
								</p>
								<p class="aj">After the Breakfast and Check-out From the Hotel and Transfer to the Singapore Airport.</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>Sightseeing</li>
																		<li>Transfers</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.holidaymasti.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Simply 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="48062"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Simply Singapore Tour - 3 Nights / 4 Days Tour Packages";i:2;s:118:"book simply singapore tour - 3 nights / 4 days tour packages, forts and palaces tour packages, singapore tour packages";i:3;s:163:"Book Simply Singapore Tour - 3 Nights / 4 Days tour packages from Holiday Masti - Get attractive 3 Nights / 4 Days Forts and Palaces  tour packages for  Singapore.";i:4;s:1074:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Singapore"        
		                 },
		      "description": "Singapore is a cosmopolitan city-state and home to some world-class attractions,
heritage sites and ethnic districts. The two integrated resorts, Marina Bay Sands and Resorts World Sentosa, boast attractions such as Universal Studios Singapore, Art Science Museum and celebrity chef restaurants.
For nature lovers, the Gardens by the Bay houses a stunning collection of flora and
fauna, and kids would love the Singapore Zoo, Night Safari and Jurong Bird Park as
they marvel at the wild life animals and spectacular aviaries. Visitors can also
explore the ethnic districts such as Chinatown, Little India and Kampong Glam to
have an overview of the various cultures.",
		      "name": "Simply Singapore Tour",
		      "telephone": "+91-8090952150"
		    }
		    </script>
			";i:5;N;}