a:6:{i:0;s:20461:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Beautiful Beach - Thailand Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.meeraworldtours.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.meeraworldtours.in/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Beautiful Beach - Thailand Tour</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Bangkok, Pattaya</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.meeraworldtours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Beautiful Beach - Thailand 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="144718"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/519441/225502.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_18/519441/225502.jpg"  width="150" height="112"    alt="Beautiful Beach - Thailand Tour" title="Beautiful Beach - Thailand Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Pattaya is Asia's premier beach resort, and caters with equal appeal to families, couples, single visitors and honeymooners. Accommodation in Pattaya ranges from luxurious beachside hotels with superb facilities to simple guesthouses. Gaming and Sporting opportunities abound both on land and water, include some of the finest golfing, game fishing and scuba-diving. Theme and amusement parks, Coral island, Crocodile Park, floating market, offbeat museums and Alcazar show offer numerous forms of leisure activities for all in Pattaya<br />
<br />
<br />
Package Name		:  THAI   PARADISE<br />
<br />
Destination		:Bangkok(2N),Pattaya(2N)<br />
<br />
Duration		:  4 NIGHTS & 5 DAYS<br />
<br />
Total No of Pax		:  18 Adults			<br />
<br />
Date of travel                  :  29.09.2018<br />
<br />
Nationality                      :  Indian<br />
<br />
<br />
Hotel Info ( 3star)             :   2 Nights at Baverly Plaza  at  Pattaya  // similar<br />
                                             2 Nights at  Season Siam // Grand Alpine  at Bangkok  //similar<br />
<br />
<br />
NOTE : <br />
<br />
• Hotel accommodations are strictly subject to availability at the time of booking. <br />
• The above is just a quote and we are not holding any booking on guest name. <br />
• Standard check in time is 14.00 hrs and checkout time is 11.00 hrs.<br />
• The airport to hotel transfer starts at 8:00am – 8:30am<br />
• Rate of exchange on the day of final payment applies. <br />
• Day by day activity might change. <br />
• Any change in no. of pax, duration and date of journey will attract re-quote.								</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> Bangkok - Pattaya  ( Acazar Show )
										</p>
										<p class="aj">Welcome to Thailand!!! Once you arrive at Suvarnabhoomi International Airport, Bangkok, after clearing customs and immigration, you will meet our representative who will assist you to your vehicle for your transfer to Pattaya. Check in at your hotel & freshen up. In the evening enjoy ‘The Alcazar Show’. The Alcazar is a unique blend of acting, stage design, costumes and glamorous actors performing together in a mesmerizing mélange of light, sound and color. After the scintillating Alcazar experience,  enjoy your stay overnight at the 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> Pattaya - ( Coral Island)
										</p>
										<p class="aj">Enjoy your breakfast and then speedboat your way into the sparkling blue waters of the Gulf of Thailand to reach the serene Coral Island, known as Koh Lan. Enjoy the water sports like snorkeling, parasailing, water scooter, etc at Coral Island (own cost) and enjoy the lunch on beach. Overnight  stay at the 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> Pattaya - Bangkok ( City Tour )
										</p>
										<p class="aj">After breakfast Journey to Bangkok. Enjoy half day  Bangkok City tour & visit to biggest Gems gallery in the world. Overnight stay at 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 4:</b> Bangkok - ( Marine & Safari Park)
										</p>
										<p class="aj">After breakfast visit Safari World with Marine Park, which is Thailand’s popular open zoo and Leisure Park. It is divided into four sections, i.e. the Safari Park, Bird Park, Games Corner and Macaw Island. Witness the picturesque African settings, experience intimate encounters with dolphins, orangutans, seals and a myriad of other exotic animals and birds. Enjoy your Indian lunch in the serene settings of the Safari World. Overnight 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 5:</b> Bangkok ( Return Journey )
										</p>
										<p class="aj">After breakfast  transfer to Airport. Your Tours ends with sweet memory.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>4N accommodation on Double/Triple  sharing basis as above mentioned</li><li>
Meals : 4 Breakfast + 4 Lunch + 4 Dinner</li><li>
All transfers and sightseeing on SIC Basis</li><li>
Daily Breakfast at except Arrival Day.</li><li>
Coral Island tour with lunch </li><li>
Alcazar show</li><li>
Bangkok city and temples tours and Gems Gallery  .</li><li>
Safari park and marine world tour with Lunch</li><li>
English speaking guide</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Specific Departure Dates</p>
								</div>
								
								Cost of Meals other than those specified in inclusions.<br />
Visa  ( before journey 3000/- or on Arrival 2000 THB  )<br />
Cost of foreign exchange for personal expenses<br />
Expenses of personal nature, mini bar in the room, laundry, telephone bills, tips, gratuities etc<br />
<br />
Surcharges applicable during Conventions, Special Events and Trade fairs<br />
<br />
Early check‐in and late check‐out are on request basis only and subject to room availability<br />
<br />
Cost of any other services not specifically mentioned in inclusions<br />
<br />
Any increase in the cost that may come into force prior to the departure date including change in price <br />
<br />
GST  EXTRA 5%<br />
<br />
Fluctuation in the rate of exchange								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">PACKAGE COST</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headVr p5px">Total Land Cost for Per Adult </td>
				<td class="data p5px">INR 17,500/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Total Return Air Fare for Per person (Subject to Availibility)</td>
				<td class="data p5px">INR 16500/-</td>
			</tr>
		</table></div><br>								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>25 % of the land cost & full flight fare at the time of booking, and the balance 10 days prior travel date.</li><li></li><li>
<p></li></ul>					
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<ul>
	<li>Meera world Tours and travels reserve the right to re-arrange itinerary to suit hotel availability without changing the total number of days in each destination and without compromising any services.</li>
	<li>The vehicle used is AC/NAC and is available for point to point services only and is not at disposal. Clients are requested to follow the itinerary.</li>
</ul>

<p> 

<p><b>Cancellation Policy:</b>

<p> 

<ul>
	<li>Less than 10 Days Prior to Date of Travel: 100% of the Package Cost as cancellation charge</li>
	<li>10&ndash; 20 Days Prior to Date of Travel: 75% of the Package Cost as cancellation charge</li>
	<li>21 - 30 Days Prior to Date of Travel: 50% of Package Cost as cancellation charge</li>
	<li> More than 30 Days: Full Refund of Package Cost Excluding Processing Fees</li>
</ul>

<p> 

<p><strong>Note: </strong>

<ul>
	<li>The above is just a quotation and not a confirmation and rates are subject to change as per the availability of Hotel rooms. Hotel rooms are subject to availability at the time of booking and rates are subject to change without any prior notice. The R.O.E is subject to change every day until the final payments are made.</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.meeraworldtours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Beautiful Beach - 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="144718"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/packages-in-amritsar.htm" title="Packages in Amritsar">Amritsar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/packages-in-trivandrum.htm" title="Packages in Trivandrum">Trivandrum</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.meeraworldtours.in/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.meeraworldtours.in/packages-in-yumthang.htm" title="Packages in Yumthang">Yumthang</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.meeraworldtours.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.meeraworldtours.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.meeraworldtours.in/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.meeraworldtours.in/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.meeraworldtours.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.meeraworldtours.in/packages-in-lachung.htm" title="Packages in Lachung">Lachung</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.meeraworldtours.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:70:"Book Beautiful Beach - Thailand Tour - 4 Nights / 5 Days Tour Packages";i:2;s:127:"book beautiful beach - thailand tour - 4 nights / 5 days tour packages, adventure tour packages, bangkok, pattaya tour packages";i:3;s:171:"Meera World Tours & Travels offers Beautiful Beach - Thailand Tour - 4 Nights / 5 Days tour package, budget Adventure tour packages for Bangkok, Pattaya at exciting price.";i:4;s:1905:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Pattaya"        
		                 },
		      "description": "Pattaya is Asia's premier beach resort, and caters with equal appeal to families, couples, single visitors and honeymooners. Accommodation in Pattaya ranges from luxurious beachside hotels with superb facilities to simple guesthouses. Gaming and Sporting opportunities abound both on land and water, include some of the finest golfing, game fishing and scuba-diving. Theme and amusement parks, Coral island, Crocodile Park, floating market, offbeat museums and Alcazar show offer numerous forms of leisure activities for all in Pattaya


Package Name		:  THAI   PARADISE

Destination		:Bangkok(2N),Pattaya(2N)

Duration		:  4 NIGHTS & 5 DAYS

Total No of Pax		:  18 Adults			

Date of travel                  :  29.09.2018

Nationality                      :  Indian


Hotel Info ( 3star)             :   2 Nights at Baverly Plaza  at  Pattaya  // similar
                                             2 Nights at  Season Siam // Grand Alpine  at Bangkok  //similar


NOTE : 

• Hotel accommodations are strictly subject to availability at the time of booking. 
• The above is just a quote and we are not holding any booking on guest name. 
• Standard check in time is 14.00 hrs and checkout time is 11.00 hrs.
• The airport to hotel transfer starts at 8:00am – 8:30am
• Rate of exchange on the day of final payment applies. 
• Day by day activity might change. 
• Any change in no. of pax, duration and date of journey will attract re-quote.",
		      "name": "Beautiful Beach - Thailand Tour",
		      "telephone": "+91-7903408577"
		    }
		    </script>
			";i:5;N;}