a:6:{i:0;s:11965:"				<div class="h1"><h1>Singapore and Thailand Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.northerntourandtravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.northerntourandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Singapore and Thailand 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">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bangkok, Pattaya, 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.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore and Thailand 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="46942"/>
						</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_12/334611/92138.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/334611/92138.jpg"  width="150" height="150"    alt="Singapore and Thailand Tour" title="Singapore and Thailand 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">After arriving at the Singapore airport, an IHPL representative helps you with an assisted transfer to the hotel. While the day is at leisure, the evening is scheduled for a memorable night safari tour. The first wildlife park in the world offers an entirely different experience to the visitors of having a rendezvous with the wildlife of the tropical jungle during the night hours. Soft lighting technique has been used so that the visitors can see around 1000 night animals of over 100 species. Hop into the tram and enjoy the show. The tiny island country has a lot stored for you in the coming days. 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 sightseeing
								</p>
								<p class="aj">On day 2 after breakfast, get all set for a city tour. Explore China Town-Chinese neighborhood, Little India- Singapore's ethnic neighborhood where Indian and Singapore's culture mingle with each other and drive past the government houses and Orchard Road. Later, the afternoon is scheduled for Sentosa Twilight Tour including one-way cable car ride to Sentosa, admission ticket and visit to Dolphin Lagoon for enjoying a performance by 2 rare pink dolphins, Underwater World-travel underwater and enjoy seeing the sea animals swimming right above you, Songs of the Sea- a musical extravaganza of lights and colors. Afterwards also visit the Merlion Tower- the Guradian of the Island. The day will be absolutely thrilling. Overnight 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 3:</b> Singapore
								</p>
								<p class="aj">On the 3rd day, have your breakfast and then you are free to spend the day as per your own liking. You can visit the nearby attractions on your own, splurge on shopping, taste the delicacies of the local cuisine and more. some of the Singapore's tourist attractions that are worth-visiting include Sentosa Island, Universal Studios, Botanical Garden. Jurong Bird Sanctuary, Chandi Museum and so on. If you love shopping, this place is surely a paradise for you and has a lot to offer, be it high-end mall or street markets that are best for bargaining. Some of the options include Suntec City, China Town, Kampong Glam, Little India, Tiong Bahru and Orchard Road. Get your hands on clothes, electronic goods, antiques and more. Overnight 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 4:</b> Singapore - Pattaya via Bangkok
								</p>
								<p class="aj">After breakfast on the 4th day of the tour, complete the check-out formalities and get transferred to the airport to go aboard your flight to Bangkok. On reaching Bangkok, an IHPL representative helps you with an assisted transfer to Pattaya that is around 2 hours away. An extremely popular beach resort, Pattaya is a wonderful place with lovely beaches. Partake in sightseeing or adventure sports activities here to make your stay memorable. On arrival, check-in at the hotel. Overnight in Pattaya.</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> Pattaya
								</p>
								<p class="aj">Post breakfast, get ready to visit the enchanting Coral Island via speed boat. Visit Koh Larn, also known as Ko Lan, popular for its 6 beaches that have crystal clean azure water and white-colored sand. Have lunch. Partake in water sports and other leisure activities such as scuba diving, swimming, snorkeling, leisure walks, parasailing and sun bathing. Hop into a glass-bottomed boat and explore the underwater sea world. Have an absolutely thrilling day while exploring the underwater world, soak-in the tranquility and treat your eyes to the natural beauty, spread all around. Overnight in Pattaya.</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> Bangkok
								</p>
								<p class="aj">On day 6, post breakfast, check-out and get transferred to Bangkok. Upon reaching, complete the check-in formalities. The day is at leisure. The capital city of Thailand, Bangkok is an exotic destination, worth-visiting for all its attractions. Some of the popular attractions include Safari World, Siam Park City, Bangkok National Museum, Thonburi, Lumphini Park etc. You can also visit the very popular shopping centers and markets such as China town, Pratunam, Pantim Plaza, Chatuchak Market, Gaysorn Plaza and Sogo Department Store to splurge on shopping. Do not miss buying clothes, imitate jewellery, accessories, electronic goods, decorative items and more. You can also explore the nearby attractions on-foot or can gorge on local delicacies. Overnight in Bangkok.</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> City tour of Bangkok
								</p>
								<p class="aj">Have your breakfast and leave the hotel for temple tour of Bangkok including Wat Traimit or the Temple of Solid Gold Buddha- home to the world's largest huge gold statue of seated - Buddha, Wat Po or the Temple of Reclining Buddha - a gold plated temple that is the oldest one in Bangkok and the Wat Benchamabophit, also known as the Marble Temple-one of Bangkok's prime attraction. The last visit of the day is the Grand Palace or the Royal Palace - a complex of buildings that is the home of Bangkok's royalty since 1782. 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 8:</b> Departure
								</p>
								<p class="aj">Spend time at leisure after breakfast. Thereafter get timely transfer to the airport to catch a flight for your onward journey. Please note that check out time is 12:00 Pm.</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.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore and Thailand 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="46942"/>
						</form>
						</div>
						
						";i:1;s:66:"Book Singapore and Thailand Tour - 7 Nights / 8 Days Tour Packages";i:2;s:142:"book singapore and thailand tour - 7 nights / 8 days tour packages, beach and islands tour packages, bangkok, pattaya, singapore tour packages";i:3;s:203:"Book Singapore and Thailand Tour - 7 Nights / 8 Days tour packages from A.G Northern Tour and Travels - Get attractive 7 Nights / 8 Days Beach and Islands  tour packages for  Bangkok, Pattaya, Singapore.";i:4;s:426:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Pattaya, Singapore"        
		                 },
		      "description": "",
		      "name": "Singapore and Thailand Tour",
		      "telephone": "+91-9086002323"
		    }
		    </script>
			";i:5;N;}