a:6:{i:0;s:10442:"				<div class="h1"><h1>Simply Thailand 6N/7D Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.emplanetourandtravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.emplanetourandtravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Simply Thailand 6N/7D Package</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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bangkok, Pattaya</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.emplanetourandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Simply Thailand 6N/7D 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="120364"/>
						</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_17/508950/194976.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/508950/194976.jpg"  width="150" height="150"    alt="Simply Thailand 6N/7D Package" title="Simply Thailand 6N/7D Package" /></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> Arrival Bangkok – Pattaya
								</p>
								<p class="aj">Upon your arrival in Bangkok you will be transferred to Pattaya, which is a short 2 hours drive from Bangkok. Check in to the hotel .Time to relax!!<br />
 <br />
In the evening, we recommend that you take an optional tour of Alcazar Show(at additional cost). The Alcazar Show a world-famous cabaret, which can give the Lido and Moulin Rouge of Paris, a run for their money, featuring a grand theatre with 1200 seats and thousands of watts of pulsating sound.<br />
 <br />
Overnight at Hotel in Pattaya.<br />
Hotel Standard Check in time is 2PM -4PM. To avail guaranteed early check in please pay INR 1,200 per person at the time of booking. Also, hotel guaranteed check-in is subject to availability at the time of booking.</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> Pattaya-Coral island
								</p>
								<p class="aj">After breakfast, you will be transferred to the sparkling blue waters of the Gulf of Thailand by a speedboat, and arrive at the idyllic Coral Island (Koh Lan), where you will spend the day luxuriating under the welcoming tropical sun. You can lounge, swim, snorkel or simply enjoy the sun at the island’s immaculate golden beaches. You all have the option of viewing the beautiful coral formations around the island either through a glass-bottom boat or by diving in. Upon your return from the island, you will enjoy a scrumptious Indian lunch at Pattaya. Coral Island tour on join/shared speed boat will stop for Parasailing for those who are interested. Those who are not interested in Parasailing will wait for the rest to finish the activity.<br />
<br />
Evening is free at leisure. Overnight in Pattaya.<br />
Travel tip: Don’t forget to carry your swimsuit, sunscreen and towel.</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> Pattaya day free
								</p>
								<p class="aj">Today after breakfast, the day is at leisure for you.<br />
You can either be on your own or you can book optional tour like Nong nooch village with us. See the Nong Nooch Tropical Garden on a half-day tour from Pattaya. The beautifully landscaped private park offers a glimpse of multiple themed gardens on shaded elevated walkways. See the topiary garden, the orchid nursery, a recreation of Stonehenge and more! Watch daily performances including classical Thai dance and kickboxing as well as a popular elephant show.<br />
<br />
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 4:</b> Pattaya – Bangkok- City tour
								</p>
								<p class="aj">Post a filling breakfast at the hotel, you check-out and drive back to Bangkok. On the way, you shall proceed for a half-day city tour of Bangkok on a comfortable coach. We start with Pattaya gems Gallery followed by fascinating temples around the capital (Bangkok) like the Wat Traimit housing a five-and-half ton golden Buddha statue and the Marble Temple. The tour will give you an in-depth understanding of the traditions and culture of Bangkok.<br />
The evening is free for shopping and chilling around the Bangkok streets. Overnight stay remains at your hotel 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 5:</b> Bangkok
								</p>
								<p class="aj">After a buffet breakfast the day is free at leisure. Recommended optional tours given below.<br />
Full day Safari world and Marine park with buffet lunch<br />
The crocodile farm and the elephant theme show<br />
Full day dream world and snow town with buffet lunch.</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">After a buffet breakfast the day is free at leisure. Recommended optional tours given below :<br />
Full day Safari world and Marine park with buffet lunch<br />
The crocodile farm and the elephant theme show<br />
Full day dream world and snow town with buffet</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> Departure From Bangkok
								</p>
								<p class="aj">Have a buffet breakfast at the hotel in the morning. After check out formalities, (The standard check out time is 1200 hours) you will be picked up for departure transfer to the airport for flight way back home. Less</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>
															</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.emplanetourandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Simply Thailand 6N/7D 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="120364"/>
						</form>
						</div>
						
						";i:1;s:68:"Book Simply Thailand 6N/7D Package - 6 Nights / 7 Days Tour Packages";i:2;s:133:"book simply thailand 6n/7d package - 6 nights / 7 days tour packages, beach and islands tour packages, bangkok, pattaya tour packages";i:3;s:175:"Emplane Tours and Travels offers Simply Thailand 6N/7D Package - 6 Nights / 7 Days tour package, budget Beach and Islands tour packages for Bangkok, Pattaya at exciting price.";i:4;s:417:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Pattaya"        
		                 },
		      "description": "",
		      "name": "Simply Thailand 6N/7D Package",
		      "telephone": "+91-8005957779"
		    }
		    </script>
			";i:5;N;}