a:6:{i:0;s:23892:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Bangkok Pattaya Special Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.besttravelagency.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.besttravelagency.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Bangkok Pattaya Special Package</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> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Bangkok, Pattaya</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 32200 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.besttravelagency.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bangkok Pattaya Special Package - 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="188939"/>
						</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_21/602162/296333.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_21/602162/296333.jpg"  height="150"  width="150"    alt="Bangkok Pattaya Special Package" title="Bangkok Pattaya Special Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Return economy class airfare, Daily breakfast as per the itinerary, Return airport transfers on SIC (seat-in-coach) basis, A tour to Coral Island including lunch in Pattaya,N0Any other expenses which are not specified in the package inclusions, Expense of personal nature such as laundry, mini bar etc., GST @ 5%16-0931-12								</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 in Bangkok - Transfer to Pattaya | Meals included: None
										</p>
										<p class="aj">Upon your arrival in Bangkok, you would be greeted by a MakeMyTrip representative and be assisted to the hotel in picturesque Pattaya - a beautiful beach destination and a perfect place to relax under tropical coconut trees, exploring sandy beaches and clear waters. The duration of the drive on a shared vehicle in a bus/coach (seat-in-coach) would be about 2.5 hours. Please note that the standard check-in time is 2 pm. So, do get in touch with your MakeMyTrip representative before you travel to book an early check-in, if required, at an extra cost. In the evening, at you could watch (own expense) the Alcazar Cabaret Show- a world famous show and the greatest in Asia. The grand theatre features 1,200 seats, megawatts of pulsating sound, a state-of-the-art light & sound system. This show is a unique combination of acting, stage design and dazzling performances by glamorous actors offering a perfect evening for adults and children alike. The duration of the show is about 1.5 hours. You could purchase this activity on the payment page at the time of booking this package. After having a delightful dinner, you would return to the hotel and enjoy a comfortable overnight 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 2:</b> Coral Island Tour in Pattaya
										</p>
										<p class="aj">After a hearty breakfast, you would speedboat your way (45-minute ride from Pattaya Pier) to the idyllic Coral Island, also known as Koh Larn, through the sparkling aqua-blue waters of the Gulf of Thailand. Coral Island is a beautiful Island Gateway, where nature spreads itself in full grandeur. Whether you want to relax on the islands immaculate golden beaches under the glorious rays of the sun or experience adventure, the city offers a perfect blend of the two. You could indulge in a number of exhilarating water-based adventures (own expense) like snorkeling, scuba diving, parasailing, shark diving, etc. which are widely available on the beach and also enjoy your lunch at this beautiful Island. You would then head back to the hotel. Today, you could also visit the Pattaya tower (own expense) and enjoy the panoramic view of the city. With a revolving restaurant situated at the 52nd, 53rd and 54th floor of the building and an observation deck at the 55th floor, the Pattaya Tower is a popular tourist attraction. Get your adrenaline pumping as you jump off the tower, from a height of 170 metres. Enjoy a metal gondola ride, speed shuttle or the roller coaster rides and waterslides at an amusement park on the ground floor. The duration of this visit would be approximately 2 hours. You could purchase this activity on the payment page at the time of booking this package. Enjoy the evening at your discretion or walk along the beach road, catching sights of jet skis and speed boats while relaxing on a beach chair. Savour a delicious dinner and then return to the hotel for a comfortable overnight stay.Day at Leisure | Meals included: Breakfast<br />
Meals : Meals included: Breakfast & 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 3:</b> Day at Leisure
										</p>
										<p class="aj">After a delightful breakfast, you have the day to soak in the sights of the island at leisure. Today, you could visit (own expense) the Noong Nooch Village - a sprawling 500-acre botanical garden and a major tourist attraction. Located on Sukhumvit Road in the Chonburi Province of Thailand, the garden features a lake, orchid nurseries, waterfalls and a vast, magnificent landscape. A Cultural Extravaganza is presented 4 times a day and includes a number of shows like folk dances, elephant shows, sword fighting and Thai boxing. The duration of the visit would be about 5 hours. You could purchase this activity on the payment page at the time of booking this package. You could also head towards (own expense) the Ripleys Believe It or Not Museum- one of the most popular sightseeing attractions in Pattaya. Located on the beach road, the curious museum features about 10 individually themed galleries with over 350 fascinating real exhibits including primitive torture devices, a mask made from human skin, a wax figure of a four-eyed man, and a Titanic that has been made of more than 1,000,000 matchsticks. The duration of this visit would be about 2 hours. You could purchase this activity on the payment page at the time of booking this package. Be sure to try local delicacies and dig into some interesting Thai cuisine, and then have a restful 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 4:</b> Visit to Temples in Bangkok
										</p>
										<p class="aj">After breakfast, you would be picked up from the hotels lobby as you embark on a pleasant journey back to Bangkok - the city of gleaming temples, spas, endless shopping sprees and a vivid nightlife. En route, you would visit the Gems Gallery â€“ the worlds biggest jewellery and gems centre which is home to a large number of precious stones which are unique and of world-class quality. Later, proceed for a half-day tour to visit one of the most distinguished Buddhist temples “ the Wat Pho or Temple of the Reclining Buddha. This Temple is home to the largest and oldest shrine of its kind in Bangkok. This is also a great place to be if you wish to relax for a while and recharge yourself while experiencing the traditional Thai massage. For the rest of the day at leisure, you could head to (own expense) the Madam Tussauds Museum, an iconic museum chain, containing wax exhibits featuring real-life themes. You would find the wax figures of some of the prominent personalities including celebrities, activists, artists, sports persons, heads of state and the royal kings. Get yourself clicked, create your own masterpiece, shop for some interesting souvenirs which you could find in the museums souvenir boutique and take home the memories. The maximum duration of the visit would be about 2 hours. You could purchase this activity on the payment page at the time of booking this package.</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>  Day at Leisure
										</p>
										<p class="aj">After a hearty breakfast, you have rest of the day at leisure to discover the city. Today, you could head up to the Safari world and Marine Park (own expense) - the greatest open zoo in Thailand, which offers a wide range of entertainment. You could enjoy a thrilling safari ride while making an encounter with the rarest of species of the animal kingdom. At the Marine Park, you would get an opportunity to explore a number of marine species, watch the Orangutan Boxing show, and shows of trained dolphins, birds, apes and sea lions, amidst the picturesque African setting. The duration of visit would be approximately two hours. You would also enjoy the lunch at a nearby restaurant. You could purchase this activity on the payment page at the time of booking this package. Get a taste of the rich marine culture of Thailand in the famous floating markets of Bangkok, dating back to the times when water transport played a key role in business trading. The most popular floating markets include- the Damnoen Saduak Floating market, the Amphawa and the Taling Chan. The remarkable feature of these must-see markets is that the goods are sold on the boats, leading to a whole new shopping experience. With exotic dishes prepared at the floating kitchens, handicrafts, fresh produces from the nearby orchards, these boats serve as the perfect tourist delight.</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> Departure from Bangkok
										</p>
										<p class="aj">After breakfast, you would check-out from the hotel and be transferred to the airport on a seat-in-coach. Please note that the standard check-out time is 12 pm. So, do get in touch with your MakeMyTrip representative before you travel to book a late check-out, if required, at an extra cost.</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>EP (No Meal)</li>
																				<li>2 Star Hotel</li><li>
Flights</li><li>
Airport Pickup-Drop</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Any other expenses which are not specified in the package inclusions, Expense of personal nature such as laundry, mini bar etc., GST @ 5%</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some Advance Percentage of total booking amount</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>32200</b> <small>/
			
			                		Adult			
			                				
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 							<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Upon cancellation, refund will be made after deducting the Retention Amount.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.besttravelagency.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bangkok Pattaya Special 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="188939"/>
						</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.besttravelagency.in/thimphu-tour-packages.htm" title="Thimphu Tour Packages">Thimphu</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/punakha-tour-packages.htm" title="Punakha Tour Packages">Punakha</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/paro-tour-packages.htm" title="Paro Tour Packages">Paro</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/agra-tour-packages.htm" title="Agra Tour Packages">Agra</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/jaipur-tour-packages.htm" title="Jaipur Tour Packages">Jaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/chitwan-tour-packages.htm" title="Chitwan Tour Packages">Chitwan</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/goa-city-tour-packages.htm" title="Goa City Tour Packages">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.besttravelagency.in/kathmandu-tour-packages.htm" title="Kathmandu Tour Packages">Kathmandu</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.besttravelagency.in/shillong-tour-packages.htm" title="Shillong Tour Packages">Shillong</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.besttravelagency.in/bagdogra-tour-packages.htm" title="Bagdogra Tour Packages">Bagdogra</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.besttravelagency.in/bangkok-tour-packages.htm" title="Bangkok Tour Packages">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.besttravelagency.in/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</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.besttravelagency.in/pokhara-tour-packages.htm" title="Pokhara Tour Packages">Pokhara</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.besttravelagency.in/colombo-tour-packages.htm" title="Colombo Tour Packages">Colombo</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.besttravelagency.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.besttravelagency.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</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 Bangkok Pattaya Special Package - 5 Nights / 6 Days Tour Packages";i:2;s:127:"book bangkok pattaya special package - 5 nights / 6 days tour packages, adventure tour packages, bangkok, pattaya tour packages";i:3;s:177:"Book Bangkok Pattaya Special Package - 5 Nights / 6 Days tour packages from BEST Travel Agency - Get attractive 5 Nights / 6 Days Adventure  tour packages for  Bangkok, Pattaya.";i:4;s:741:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Pattaya"        
		                 },
		      "description": "Return economy class airfare, Daily breakfast as per the itinerary, Return airport transfers on SIC (seat-in-coach) basis, A tour to Coral Island including lunch in Pattaya,N0Any other expenses which are not specified in the package inclusions, Expense of personal nature such as laundry, mini bar etc., GST @ 5%16-0931-12",
		      "name": "Bangkok Pattaya Special Package",
		      "telephone": "+91-8825118563"
		    }
		    </script>
			";i:5;N;}