a:6:{i:0;s:14802:"				<div class="h1"><h1>Fun-tastic Thailand Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.geetcompany.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.geetcompany.com/holiday-tour-packages.htm" title="Holiday Tour Packages">Holiday Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Fun-tastic Thailand Tour</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" id="detailslider1">
															<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/22362/2258.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/2258.jpg"  width="150" height="150"    alt="Fun-tastic Thailand Tour" title="Fun-tastic Thailand Tour" /></a></p></div></li>
																		<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/22362/2259.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/2259.jpg"  width="150" height="150"    alt="Fun-tastic Thailand Tour" title="Fun-tastic Thailand Tour" /></a></p></div></li>
																		<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/22362/2260.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/2260.jpg"  width="150" height="150"    alt="Fun-tastic Thailand Tour" title="Fun-tastic Thailand Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Bangkok, Pattaya, Phuket</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.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Fun-tastic 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="5191"/>
						</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="tab5"><a href="#data5">Rate Card</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: Arrive Phuket
									</p>
									<div class="data p10px">On arrival, enjoy a drive to your hotel and check-in. In the evening, enjoy a delicious dinner at a local Indian restaurant followed by an overnight stay at the hotel.<br />
Meals: Dinners included.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Phuket - James Bond Island
									</p>
									<div class="data p10px">After breakfast, get ready to explore one of the most enticing islands in the country of Thailand. Get transferred by ferry to James Bond Island, where 'The Man With the Golden Gun' starring Roger Moore and Christopher Lee was filmed in 1974, and silently kayak through secret lagoons and small passageways that open to majestic caves. This exciting trip offers views of the best of Phang Nga Bay's amazing landscapes. Enjoy delicious dinner at a local Indian restaurant in the evening followed by overnight stay at the hotel.<br />
Meals: Breakfast & Dinners included.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Phuket - Phuket Fantasea Show
									</p>
									<div class="data p10px">After an appetizing breakfast, embark on a Phuket Island Tour to explore the beauties of Phuket. Phuket's gorgeous beaches, throbbing nightlife and the ancient structures will leave no stone unturned to enchant you with its beauty. Phuket is famed for its beautiful beaches and your scenic drive takes in some of the island's gently sweeping bays of golden sand. Later, get ready to enjoy Phuket Fanta-Sea show in the evening. The Phuket Fanta-Sea has been billed as the ultimate cultural theme night park. Have dinner at Phuket Fanta-Sea. Enjoy a comfortable overnight stay at the hotel.<br />
Meals: Breakfast & Dinners included.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Phuket - Pattaya
									</p>
									<div class="data p10px">After breakfast, check out from Phuket hotel. Board your flight to Pattaya, and after arrival in Pattaya check in to your hotel. Spend the rest of the day at leisure. In the evening, sit back and just enjoy the magnificent Alcazar show. The Alcazar show has been entertaining the world for over 20 years. The enigma about the Alcazar show is that all the singing and dancing performances are done by transvestites- and it is pretty hard to figure out that the beautiful ladies dancing in front of you are male from origin. After a thoroughly delightful Alcazar show, enjoy a sumptuous dinner at a local Indian restaurant. Later, enjoy a comfortable overnight stay at the hotel.<br />
Meals: Breakfast & Dinners included.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Pattaya - Coral Island Tour
									</p>
									<div class="data p10px">After breakfast, enjoy coral island tour by speedboat. The Coral Island tour is one of the most anticipated activities for any tourist in Pattaya. While you whistle past the Coral reefs in your speedboat, you can fill your senses with the ethereal beauty that surrounds the coral island. After the thrilling speedboat tour of Coral Island, enjoy an awesome lunch. In the evening, have dinner at a local Indian restaurant and have a comfortable overnight stay at the hotel.<br />
Meals: Breakfast, Lunch & Dinners included.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Pattaya - Bangkok
									</p>
									<div class="data p10px">After breakfast, check out of your hotel in Pattaya and proceed to Bangkok. Spend the rest of the day at leisure. In the evening, have dinner at a local Indian restaurant and have a comfortable overnight stay at the hotel.<br />
Meals: Breakfast & Dinners included.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Tour Highlights:<br />
<br />
Travel in comfort coaches aboard<br />
Enjoy breakfast and Indian dinner<br />
Enjoy Island tour of Phuket<br />
Enjoy the spellbinding Phuket Fantasea show<br />
Explore the beautiful James Bond island<br />
Enjoy the mesmerizing visual delight - the Alcazar show<br />
Explore the charm and beauty of coral island - a heaven for water sport activities<br />
Visit Madame Tussauds in Bangkok<br />
Enjoy city tour of Bangkok, a buzzing dynamic and exotic city with a curious blend of the East and the West.<br />
<br />
Visa Details: Thailand Tourist Visa:<br />
<br />
Passport valid for at least 6 months from the date of expiry of the desired visa.<br />
One visa form (photocopy allowed).<br />
Two recent (not older than 6 months) passport-size color photographs taken against a white or light blue background (35 x 45 mm)The photographs should be clear and of good quality, and should be printed on normal photographic paper It should be pasted on the visa form and not stapled Applications submitted with scanned photographs will be refused by The Royal Thai Embassy and the visa fees will not be refunded.<br />
Confirmed onward/ return ticket.<br />
Funds 20,000 Baht per Applicant or 40,000 Baht per family is essential.<br />
<br />
Booking Conditions:<br />
<br />
A non - refundable deposit of Rs.10,000 per person to initiate a booking if travel date is more than 30 days from the date of booking<br />
Deposit of 50% of the Holiday Cost if the travel date is more than 20 days from the date of booking.<br />
Deposit of 75% of the holiday cost if the travel date is more than 10 days from the date of booking.<br />
Deposit of the holiday cost (100%) if the travel date is less than 10 days from the date of booking Photocopies of the passport.<br />
<br />
Payment Policy:<br />
<br />
Full payment is required on confirmation of all services and before departure.Airline seats & Hotel rooms are subject to availability at the time of booking Rates are subject to change in case of any changes in airport taxes, hotel rates, rate of exchange, transport rates, government taxes or entrance fees Any meals and services unless specified in the itinerary are not included The rate of exchange taken for computing the above price is Rs. 52 to a USD. In the event of an increase in the ROE, the prices defined may change.							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Transfers</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>Airline seats & Hotel rooms are subject to availability at the time of booking Rates are subject to change in case of any changes in airport taxes, hotel rates, rate of exchange, transport rates, government taxes or entrance fees Any meals and services unless specified in the itinerary are not included The rate of exchange taken for computing the above price is Rs. 52 to a USD. In the event of an increase in the ROE, the prices defined may change.</li></ul><br />
													<!--DATA4 EMD--></div>
							
						<div class="ic bdr" id="data5"><!--DATA5 START-->
						<br />
						
    	<p class="h dif xlarge b mb5px">Package Amount</p>
    	<div class="otherDetails aj">Cost Per Person:</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Hub</td>
				<td class="headHr p5px b">Month</td>
				<td class="headHr p5px b">Category</td>
				<td class="headHr p5px b">Adult sharing Twin / Triple Room</td>
				<td class="headHr p5px b">Child With Bed</td>
				<td class="headHr p5px b">Child Without Bed</td>
				<td class="headHr p5px b">Single Occupancy</td>
			</tr>
			<tr>
				<td class="data p5px">Ex-DEL</td>
				<td class="data p5px">April'12 - June'12</td>
				<td class="data p5px">3 Star</td>
				<td class="data p5px">Rs.47990</td>
				<td class="data p5px">Rs.38990</td>
				<td class="data p5px">Rs.35990</td>
				<td class="data p5px">Rs.56990</td>
			</tr>
			<tr>
				<td class="data p5px"></td>
				<td class="data p5px"></td>
				<td class="data p5px">5 Star</td>
				<td class="data p5px">Rs.54990</td>
				<td class="data p5px">Rs.39990</td>
				<td class="data p5px">Rs.36990</td>
				<td class="data p5px">Rs.66990</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Departure Dates</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Hub</td>
				<td class="headHr p5px b">Month</td>
				<td class="headHr p5px b">Date (Check in same day)</td>
			</tr>
			<tr>
				<td class="data p5px"></td>
				<td class="data p5px">May</td>
				<td class="data p5px">9,16,23,30</td>
			</tr>
			<tr>
				<td class="data p5px">Ex-DEL</td>
				<td class="data p5px">Jun</td>
				<td class="data p5px">6,13,20,27</td>
			</tr>
			<tr>
				<td class="data p5px"></td>
				<td class="data p5px">Jul</td>
				<td class="data p5px">4,11,18,25</td>
			</tr>
			<tr>
				<td class="data p5px"></td>
				<td class="data p5px">Aug</td>
				<td class="data p5px">1,8,15,22,29</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Cancellation Policy</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">When Cancellation is Made</td>
				<td class="headHr p5px b">Charges</td>
			</tr>
			<tr>
				<td class="data p5px">a)</td>
				<td class="data p5px">Prior to 30 days or more</td>
				<td class="data p5px">Non - refundable deposit of Rs.10,000 pp</td>
			</tr>
			<tr>
				<td class="data p5px">b)</td>
				<td class="data p5px">Between 29 - 20 days of departure</td>
				<td class="data p5px">Non - refundable deposit (Rs.10000)+ 25% of the Holiday Cost</td>
			</tr>
			<tr>
				<td class="data p5px">c)</td>
				<td class="data p5px">Between 19 - 14 days of departure</td>
				<td class="data p5px">Non - refundable deposit(Rs.10000) + 50% of the Holiday Cost</td>
			</tr>
			<tr>
				<td class="data p5px">d)</td>
				<td class="data p5px">Between 13 - 08 days of departure</td>
				<td class="data p5px">Non - refundable deposit(Rs.10000)+ 75% of the Holiday Cost</td>
			</tr>
			<tr>
				<td class="data p5px">e)</td>
				<td class="data p5px">Prior to 7 days of the departure</td>
				<td class="data p5px">100% of the Holiday Cost</td>
			</tr>
		</table></div><br>						<!--DATA5 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:63:"Book Fun-tastic Thailand Tour - 5 Nights / 6 Days Tour Packages";i:2;s:136:"book fun-tastic thailand tour - 5 nights / 6 days tour packages, beach and islands tour packages, bangkok, pattaya, phuket tour packages";i:3;s:182:"Book Fun-tastic Thailand Tour - 5 Nights / 6 Days tour packages from Geet & Company - Get attractive 5 Nights / 6 Days Beach and Islands  tour packages for  Bangkok, Pattaya, Phuket.";i:4;s:2637:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Pattaya, Phuket"        
		                 },
		      "description": "Tour Highlights:

Travel in comfort coaches aboard
Enjoy breakfast and Indian dinner
Enjoy Island tour of Phuket
Enjoy the spellbinding Phuket Fantasea show
Explore the beautiful James Bond island
Enjoy the mesmerizing visual delight - the Alcazar show
Explore the charm and beauty of coral island - a heaven for water sport activities
Visit Madame Tussauds in Bangkok
Enjoy city tour of Bangkok, a buzzing dynamic and exotic city with a curious blend of the East and the West.

Visa Details: Thailand Tourist Visa:

Passport valid for at least 6 months from the date of expiry of the desired visa.
One visa form (photocopy allowed).
Two recent (not older than 6 months) passport-size color photographs taken against a white or light blue background (35 x 45 mm)The photographs should be clear and of good quality, and should be printed on normal photographic paper It should be pasted on the visa form and not stapled Applications submitted with scanned photographs will be refused by The Royal Thai Embassy and the visa fees will not be refunded.
Confirmed onward/ return ticket.
Funds 20,000 Baht per Applicant or 40,000 Baht per family is essential.

Booking Conditions:

A non - refundable deposit of Rs.10,000 per person to initiate a booking if travel date is more than 30 days from the date of booking
Deposit of 50% of the Holiday Cost if the travel date is more than 20 days from the date of booking.
Deposit of 75% of the holiday cost if the travel date is more than 10 days from the date of booking.
Deposit of the holiday cost (100%) if the travel date is less than 10 days from the date of booking Photocopies of the passport.

Payment Policy:

Full payment is required on confirmation of all services and before departure.Airline seats & Hotel rooms are subject to availability at the time of booking Rates are subject to change in case of any changes in airport taxes, hotel rates, rate of exchange, transport rates, government taxes or entrance fees Any meals and services unless specified in the itinerary are not included The rate of exchange taken for computing the above price is Rs. 52 to a USD. In the event of an increase in the ROE, the prices defined may change.",
		      "name": "Fun-tastic Thailand Tour",
		      "telephone": "+91-9896771268"
		    }
		    </script>
			";i:5;N;}