a:6:{i:0;s:9316:"				<div class="h1"><h1>Thailand Budget Holiday Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.kirtytours.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.kirtytours.com/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Thailand Budget Holiday Package</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/4147/10317.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/4147/10317.jpg"  width="150" height="150"    alt="Thailand Budget Holiday Package" title="Thailand Budget Holiday Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<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><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.kirtytours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Thailand Budget Holiday 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="9880"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Bangkok To Pattaya
									</p>
									<div class="data p10px">After arriving in Bangkok to Meet at Respected terminals. Drive to Pattaya, a breathtakingly beautiful beach destination. A tropical beach retreat town, Pattaya is a perfect place to laze around under swaying coconut trees, exploring white sandy beaches and crystal azure waters. Interested travelers will be happy to know that the nightlife of Pattaya is one of the most happening in the world. You can either enjoy the evening at leisure or come with us we will take you for the Alcazar show(Optional Tour), a world-famous cabaret that can give the Lido and Paris' Moulin Rouge, a run for their money. Featuring a grand theatre with 1,200 seats, mega watts of pulsating sound, a state-of-the-art light & sound system and ultra-modern computer technology, the Alcazar is a unique blend of acting, stage design, costumes and glamorous actors. After the scintillating Alcazar experience, return to your hotel and stay overnight at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Pattaya
									</p>
									<div class="data p10px">After a scrumptious breakfast, speedboat your way to the idyllic Coral Island (KohLan) through the sparkling aqua-blue waters of the Gulf of Thailand. Spend the day luxuriating under the warm tropical sun. Relax, swim, snorkel or just lie around sunning on the island's immaculate golden beaches.. You can also dive down into the waters for a more personal experience. After a relaxing time at the island, enjoy the evening at leisure and comfortably stay overnight at the hotel.</div>					
										<p><b>Meals : </b> Breakfast & Lunch</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Bangkok
									</p>
									<div class="data p10px">After enjoying breakfast at the hotel, you will embark on a pleasant journey back to Bangkok where we will take you on a temple and city tour to experience another side to Bangkok that's rewarding, intriguing, memorable and waiting for you to discover it. Thailand is home to more than 26,000 Wats (Buddhist temples). This vacation, let us take you to one of Bangkok's most distinguished Wat Wat Po, (Temple of the Reclining Buddha), the largest and the oldest shrine of its kind in Bangkok. Comfortably stay overnight at the hotel.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Bangkok
									</p>
									<div class="data p10px">After a hearty breakfast at the hotel spend the day at leisure or visit to the Safari World with Marine Park (Optional tour), which is Thailand's popular open zoo and leisure park. Divided into four distinct sections (Safari Park, Bird Park, Games Corner and Macaw Island), the Safari World Park is the place to be, for some intimate encounters with dolphins, orang-utans, seals and a myriad of other exotic animals and birds amidst a picturesque African setting. After enjoying lunch at the Safari World Park, return to the hotel. Enjoy an overnight stay at the hotel.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Departure
									</p>
									<div class="data p10px">After enjoying breakfast, check-out of your hotel  and proceed to the airport to board the return flight.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						28-0231-05							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Departure Cities with rates :</p>Package Cost Per Person : 145USD.<br /><br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						~^#^~~^#^~<p>Meal Cost per person per meal without transfers : PTY - USD 07 ; BKK - USD 08. # Above mentioned rates are not valid during surcharge period. ( 08 Apr - 20 Apr) This rate is applicable only for Suvarnabhumi Airport. Hotel Check in time 14.00 PM and check out time 12.00 Noon. No reservation has been made yet.<br />
<br />
<b>Validity of the quotation</b><br />
This quotation will remain valid up to 10 days after the date of sending. Afterward Kirty Holiday reserves the right to alter or revise the prices when circumstances beyond the company&#39;s control deem it necessary.<br />
<br />
<b>Please Note:</b><br />
3.09% GST will be added against Total Bill Amount. No space is being held for your booking at present. Space will be confirmed subject to availability at the time of receiving your acceptance of our offer. Hotel rate always change without any prior notice.<br />
<br />
<b>Round Trip Airport Transfer Timing (SIC) 08.00Hrs. - 18.00Hrs</b><br />
Hotel Check in time 14.00 PM and check out time 12.00 Noon. We have rights to amend the quotation should any of the above service is unavailable. Conversion rate of the currency will be taken 01.25 Rupee more as per the rates shown in www.xe.com<br />
<br />
<b>Cancellation Fees</b><br />
Until 28 days prior Arrival - no charge 28 - 25 days prior Arrival - 25 % of the package price 25&nbsp;- 17 days prior Arrival - 35 % of the package price 17 - 12 days prior Arrival - 50 % of the package price 12 - 10 days prior Arrival - 75 % of the package price 10 - 00 days prior Arrival - 100 % of the package price<br />
The amount of cancellation fees depends on the day of receipt of the written cancellation at the responsible sales office (local time Mon - Fri). Saturdays and Sundays are excluded.<br />
<br />
<b>Kindly find below the requirements for on arrival Thai Visa:</b><br />
The applicant must possess instrument of means of living expenses 10,000 Baht per person and 20,000 Baht per family accordingly. The applicant must produce instrument of means of transport (full paid ticket) which is usable within 15 days since the date of entry. Passport validity of minimum 06 months. Confirm voucher. 01 passport size photograph in white back ground (3.5 x 4.5 cm). THB 1000 as visa fees.						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:70:"Book Thailand Budget Holiday Package - 4 Nights / 5 Days Tour Packages";i:2;s:135:"book thailand budget holiday package - 4 nights / 5 days tour packages, beach and islands tour packages, bangkok, pattaya tour packages";i:3;s:173:"Kirty Tours & Travels offers Thailand Budget Holiday Package - 4 Nights / 5 Days tour package, budget Beach and Islands tour packages for Bangkok, Pattaya at exciting price.";i:4;s:429:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Pattaya"        
		                 },
		      "description": "28-0231-05",
		      "name": "Thailand Budget Holiday Package",
		      "telephone": "+91-9021222720"
		    }
		    </script>
			";i:5;N;}