a:6:{i:0;s:30821:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Bangkok And Pattaya Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.nextholiday.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.nextholiday.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Bangkok And Pattaya 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.nextholiday.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bangkok and Pattaya 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="194142"/>
						</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_23/665781/307213.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/665781/307213.jpg"  height="150"  width="150"    alt="Bangkok and Pattaya Tour" title="Bangkok and Pattaya 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>
													
								A major vacation hotspot of Southeast Asia, Thailand is known for its warm culture and welcoming Thai smiles. A unique mix comprising of glittering temples and tropical beaches, this land is full of variety. Couple this with a world-famous cuisine and you will have just one more reason to pay this kingdom a visit. In Bangkok, bow your head at the ornate shrines and score local goods at the floating markets. In Pattaya, go all out enjoying the famous water sports and nightclub parties. Enjoy 4 Nights and 5 Days Thai tour with NextHoliday, covering these major cities and relaxing in the comfort of our services. <br />
<br />
<br />
Hotel Details:- <br />
<br />
City<br />
2 STAR<br />
3 STAR<br />
4 STAR<br />
<br />
<br />
<br />
<br />
Pattaya<br />
Beverly Plaza pattaya <br />
Golden Beach <br />
Grand Bella pattaya <br />
Bangkok<br />
Grand Alpine Bangkok<br />
Ecotel  Bangkok<br />
D Ma Ramada								</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
										</p>
										<p class="aj">Upon your arrival in Bangkok you will be transferred to Pattaya, which is a short 2 hours drive from<br />
Bangkok. Check in to the hotel .Time to relax!!<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 />
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 Tour with Lunch in Pattaya:-
										</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 (KohLan), 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.(OWN COST).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 -  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 golden Buddha statue and the Marble Temple. The tour will give you an in-depth understanding of the traditions and culture of Bangkok.<br />
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 4:</b> Bangkok - Full Day Safari World and Marine Park Tour:-
										</p>
										<p class="aj">After a buffet breakfast proceed for  Full day Safari world and Marine park with buffet lunch. Evening back to hotel .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> Depart 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.</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>Transfers from Bangkok Airport to Pattaya Hotel  on Pvt Basis.</li><li>
Transfers from Pattaya Hotel to Bangkok Hotel on Pvt Basis.</li><li>
Transfers from Bangkok Hotel to Bangkok Airport on Pvt Basis.</li><li>
Alcazar Show on Pvt Basis.</li><li>
Coral island by speed boat + Lunch  -(boat join basis) – Pier transfer on Pvt.</li><li>
Bangkok City And Temple Tour (Golden + Marble Buddha) on Pvt Basis.</li><li>
Safari world + Marine park with lunch on Pvt Basis.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Expenses of personal nature like tipping, laundry, telephone/fax calls, alcoholic/non- alcoholic beverages,</li><li>
Camera/video camera fee at monuments, medical expenses, airport departure tax, any insurance etc. </li><li>
Porterage at all hotels, railway station & airports.</li><li>
National Park Fees on Island Tours</li><li>
Any meals other than the mentioned.</li><li>
Any Kind of Visa Fees </li><li>
Any other services not mentioned in the inclusions.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Booking Period</li><li>
Payment to be done</li><li>
More than 15 days of departure</li><li>
25% of the land package + non-refundable services, if any</li><li>
Remaining 75% before 15 days of departure</li><li>
Within 15 days of departure</li><li>
100%  Payment at booking creation</li></ul>					
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								1.       All given rates are per person on Twin/Double sharing basis, unless specified, especially in the Quotation.
 
2.       Package cost at quotation level is based on real time available seats. There may be a change in price depending upon the Occupancy level at the time of confirmation of Package. Any such change will be specified accordingly. NextHoliday will not hold any services on confirmed basis until written acknowledgement from Client is received.
 
3.       The offered group package is fixed in terms of itinerary, routing and services. Client opting for fix departure packages are expected to adhere to the plan as per itinerary. In any case, there will be no amendment in the plan, based on personal requirements.
 
4.       The offered group package comprises of different inseparable components of services linked with each other in a time-bound series and hence services will be delivered in the pre-decided order only.
 
5.       Check-in and Check-out timings of Hotels are different and based on the regulations/Policies of local Hotel unions of concerned region/city or general trend of market. These will be specified at the time of quotation/communication.  
 
6.       Room allotment in Fixed departures are usually on confirmed basis but in case of unavailability of rooms in given Hotels due to any unexpected scenario/technical fault, alternate accommodation arrangement will be made in similar standard available Hotel. This will not bring any change in any scheduled activity.
 
7.       Room occupancy will strictly be in accordance with the one confirmed at the time of booking.
 
8.       In case of Triple sharing room, rolling mattress will be provided for the third person. Occupancy regulations for Family rooms and other Club rooms will be in accordance with the Hotel’s policy.
 
9.       For the issuance of flight ticket, full payment has to be deposited. NextHoliday will not hold any Air ticket on confirmed basis without final payment of air tickets share.
 
10.   Client shall share passenger details with correct and accurate information as per valid ID Card, at the time of booking. Any amendment in issued flight tickets, like – Change in Dates, Names, Timing, Airline or any other information will attract amendment charges as per Airline’s amendment policies.
 
11.   Flight ticket cancellation/refund is strictly in accordance with Airline’s Cancellation/Refund policies.
 
12.   NextHoliday Shall not be responsible for any Loss of Baggage/Loss of Belongings/Broken Baggage at Airport or anywhere else.
 
13.   Flight timings are to be kept into consideration while reaching the airport. NextHoliday shall not be responsible for any incidence where client is not able to reach airport/board the flight due to any reason of personal nature, insufficient time duration in connecting flights or any other reason related with airline’s governance like – Delay in Flight, Change in timing/Overbooking by Airline or any other factor.
 
14.   It is expected to report the assembly point as per pre-defined timings. In any such case, where client is not able to join the Departure/Flight/Sightseeing due to any reason which results in delay in joining the group, will be considered no show after waiting for a justified pre-decided waiting time.
 
15.   Vehicle provided during tour will follow the tour plan specified in the itinerary. Driver in any way will not be deviated from the specified/common route.
 
16.   Vehicle provided during the tour will not be on disposable basis. Any travel, after the activity decided in the tour will not be permitted. Late evening/late night drive apart from designed plan will be prohibited.
 
17.   There are some monuments/areas, restricted for Vehicle entrance by the local authorities. In any such case, Vehicle will drop you till the nearest possible point and further arrangements will have to be managed by Client.
 
18.   Vehicle will not be allocated on the leisure day (day free for relaxation), as specified in itinerary.
 
19.    Air Condition in Vehicles will not be operational on hilly areas (due to mechanical reasons). Driver reserves the rights to switch off/operate AC as per the terrain, climate and vehicle conditions.
 
20.   Vehicle in Group departures will be on sharing basis. Guests are expected to maintain harmony with other travelers to ensure maximum enjoyment on tour. Any misbehavior will lead to the discontinuation of Tour.
 
21.   Any entrance fees, monument fees or any other activity charges including but not limited to charges in relation to parking, transportation, tolls, taxes, camping, admission, meals, etc will not be included in the package until specified, specially in inclusion section.
 
22.   The above mentioned package may not be available with displayed price during long weekends, National Holidays and Regional festivals. There is a probability of difference in cost, which will be specified at the time of communication.
 
23.    In case of amendment in Package due to increase in number of guests, the difference in cost shall be borne by the client.
 
24.   Any charges related with on-ground modification/addition of service, which is opted by Client by his/her own choice and not affecting rest of the tour itinerary or group departure, will have to be paid directly to Driver/Supplier on the behalf of NextHoliday.
 
25.   NextHoliday reserves the right to modify or cancel the tour package, in part or in whole, at any time prior to the commencement of the tour or a particular part of the tour, as the case may be, for any reason including but not limited to the act of God, act of Human whether or not unforeseen and/or unexpected etc. In all such cases, refund will be processed according to the Cancellation policy of NextHoliday as applicable at that specific point of time.
 
26.   NextHoliday shall not be held responsible for any refund/charges, in case of services booked of non-refundable nature. NextHoliday’s liability in relation to the Package shall at all times be limited to those circumstances where an express liability has been cast on it under these Terms.
 
27.   Special payment and cancellation policy may be applicable during peak season/blackout dates. These dates usually – City Events, Regional/National Holidays, Political Conferences, Major Cultural festivals or any other Event which can affect regular tourist movement.
 
28.   In case of any on ground issues with any third party, NextHoliday shall try to support in all possible ways but shall not be held liable for the act and hence will not be liable for any sort of compensation.
 
29.   In case of any natural calamity or any other force majeure incident, NextHoliday reserves the rights to modify/change or cancel the partial or complete tour Package. NextHoliday shall not be held responsible for refund/Compensation in any such circumstances.
 
30.    Package price is a consolidation of different components inseparable in nature in terms of costing. Any unused service/services due to any unspecified reason, will not be refunded back.
 
31.   Refund on cancellation (Cancellation in accordance with Cancellation Policies) is strictly dependent on Cancellation policies and the refund process will take minimum 14 working days.
 
32.   For Group departure packages, all vouchers and tickets will be released 03 days prior to departure.
 
33.   It is expected for a Client to carry printouts of all service vouchers and tickets along with Valid ID proof. Failure in presenting required documents during security checks may lead to disqualification for onboarding by concerned authorities. In any such case, NextHoliday shall not be held responsible/liable for any refund or compensation.
 
34.   Any behavioral issue found during the tour or reported by other co-passengers or found inappropriate in sanity with successful accomplishment of entire tour will lead to the disqualification of the concerned passenger and his/her accompanied passengers from all further activities and future tours. No refund in this regard shall be processed and depending upon the gravity of the behavior, fine may be imposed on such person.  
 
35.   NextHoliday shall not be held liable for any refund/compensation in any case related with any of the factor that comprises of health issues, personal loss, discontinuation of tour due to family issues, discontinuation of tour due to behavioral factors or statutory compliance factors.
 
36.   Guests on tour are expected to take care of their belongings during the tour and NextHoliday shall not be held liable for any loss that arises, due to loss and damage of belongings.
 
37.   NextHoliday's entire liability to the Client for any claim arising out of this Package/browsing the website/application, shall be limited to the amount equivalent to the price paid by the Client for the Package giving rise to such claim minus all applicable taxes and third-party charges.
 
38.   NextHoliday shall not be liable to pay for any loss suffered by the Client, if it is found that the Client had been in violation of any express or implied directions given by or on behalf of NextHoliday, applicable law, rule and/or regulations.
 
39.   No offer, promo code or discount shall be applicable to this Package unless so expressly notified by NextHoliday on its website and this Package cannot be clubbed with any scheme, offer and package of NextHoliday or its associates.
 
40.   All grievances shall first be raised with the customer relationship team within 15 days of the occurrence of such event. In case no resolution to such a grievance is provided by our customer relation team within 30 days, the Client shall have the right to escalate the dispute in the accordance with these terms and NextHoliday’s applicable policies.
 
41.   Client shall be liable to reimburse NextHoliday for any and all losses suffered and/or charges incurred as a result of the Client’s actions, direct or indirect, in relation to the Client.
 
42.   This Package shall be governed by the laws of India, and all disputes in relation to this package shall be resolved via arbitration in Delhi in accordance with the Arbitration and Conciliation Act, 1996. The courts of Delhi shall have the exclusive jurisdiction in relation to any matter arising out of the Package.
 
43.   This Package and all of your rights and obligations in relation to the same are non-transferable and cannot be assigned without the prior permission of NextHoliday.								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Booking Period</li><li>
Payment to be done</li><li>
More than 15 days of departure</li><li>
25% portion of the land package will be retained by NextHoliday. 100% non-refundable services, if any will be retained by NextHoliday</li><li>
Within 15 days of departure</li><li>
100%  of the package price will be retained by NextHoliday</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.nextholiday.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bangkok and Pattaya 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="194142"/>
						</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.nextholiday.in/havelock-tour-packages.htm" title="Havelock Tour Packages">Havelock</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/bali-tour-packages.htm" title="Bali Tour Packages">Bali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/shirdi-tour-packages.htm" title="Shirdi Tour Packages">Shirdi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/jaipur-tour-packages.htm" title="Jaipur Tour Packages">Jaipur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/agra-tour-packages.htm" title="Agra Tour Packages">Agra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/darjeeling-tour-packages.htm" title="Darjeeling Tour Packages">Darjeeling</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.nextholiday.in/jodhpur-tour-packages.htm" title="Jodhpur Tour Packages">Jodhpur</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.nextholiday.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 spanlist dn"><a class="dif" href="http://www.nextholiday.in/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</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.nextholiday.in/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</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.nextholiday.in/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">Kuala Lumpur</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.nextholiday.in/udaipur-tour-packages.htm" title="Udaipur Tour Packages">Udaipur</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.nextholiday.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.nextholiday.in/gangtok-tour-packages.htm" title="Gangtok Tour Packages">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.nextholiday.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.nextholiday.in/pune-tour-packages.htm" title="Pune Tour Packages">Pune</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.nextholiday.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.nextholiday.in/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</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.nextholiday.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.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.nextholiday.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.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.nextholiday.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nextholiday.in/valley-holidays-catid.htm" title="Valley Packages">Valley</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:63:"Book Bangkok and Pattaya Tour - 4 Nights / 5 Days Tour Packages";i:2;s:120:"book bangkok and pattaya tour - 4 nights / 5 days tour packages, adventure tour packages, bangkok, pattaya tour packages";i:3;s:149:"Next Holiday offers Bangkok and Pattaya Tour - 4 Nights / 5 Days tour package, budget Adventure tour packages for Bangkok, Pattaya at exciting price.";i:4;s:1222:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Pattaya"        
		                 },
		      "description": "A major vacation hotspot of Southeast Asia, Thailand is known for its warm culture and welcoming Thai smiles. A unique mix comprising of glittering temples and tropical beaches, this land is full of variety. Couple this with a world-famous cuisine and you will have just one more reason to pay this kingdom a visit. In Bangkok, bow your head at the ornate shrines and score local goods at the floating markets. In Pattaya, go all out enjoying the famous water sports and nightclub parties. Enjoy 4 Nights and 5 Days Thai tour with NextHoliday, covering these major cities and relaxing in the comfort of our services. 


Hotel Details:- 

City
2 STAR
3 STAR
4 STAR




Pattaya
Beverly Plaza pattaya 
Golden Beach 
Grand Bella pattaya 
Bangkok
Grand Alpine Bangkok
Ecotel  Bangkok
D Ma Ramada",
		      "name": "Bangkok and Pattaya Tour",
		      "telephone": "+91-9739008000"
		    }
		    </script>
			";i:5;N;}