a:6:{i:0;s:20083:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Koh Samui City Break Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.thecrazypartner.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.thecrazypartner.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Koh Samui City Break 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> Ko Samui</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 12000 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thecrazypartner.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Koh Samui City Break 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="192430"/>
						</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_22/651419/303552.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/651419/303552.jpg"  width="150" height="84"    alt="Koh Samui City Break Tour" title="Koh Samui City Break Tour" /></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="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> Samui Airport - Hotel in City Centre (Koh Samui)
										</p>
										<p class="aj">Welcome to Koh Samui. Upon arrival at the airport you will be met by our local representative who will transfer you to city hotels. (Lamai, Maenam, Chaweng , Choeng Mon , Bangrak , Bophut , Chaweng noi</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> Morning Koh Samui Original City Tour HD (Koh Samui)
										</p>
										<p class="aj">To get the true feel of the island this tour offers you a visit to various attractions around the Samui’s main ringed road. The tour will visit Big Buddha, the most scenic viewpoint, Grand Ma & Grand Pa Rocks, Wat kunaram for mummified monk before getting to Namuang waterfall and return back to the hotel. Get a real touch of Samui and experience the absolute difference from other islands you might have been.</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> Morning Angthong National Marine Park FD (Koh Samui)
										</p>
										<p class="aj">A wonderful day with tour boat cruising along the most beautiful archipelago in the “Gulf of Thailand”. Angthong Marine Park consists of 42 islands which offer to the visitors the emerald clear water and prime coral reefs in the northern part for snorkeling lover. Explore the island with an amazing “Emerald Lake” on the 200 m. high viewpoint over the National Marine Park. On “Wua Talap” island, the Headquarter of the Marine Park, enjoy Thai buffet lunch on the boat, Afternoon time is your choice to relax, sunbathe on the tranquil beach, swim in the crystal clear water or hike up to the 400 m. high top viewpoint overlooking the whole part of the park.</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> Full Day free time in Koh Samui (No Services Included) (Koh Samui)
										</p>
										<p class="aj">There is no service included, you may spend time, as per your interests.</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> Hotel in City Centre - Samui Airport (Koh Samui)
										</p>
										<p class="aj">Transfer from Hotel in City Center to Samui Airport. (Lamai, Maenam, Chaweng, Choeng Mon, Bangrak, Bophut, Chaweng noi</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>CP (Room + Breakfast)</li>
																						<li>Hotel</li>
																						<li>Sightseeing</li>
																				<li>4 Night's accommodation in Koh Samui at the Nantra Chaweng Beach Samui</li><li>
Sightseeing tours as per the itinerary are operated on shared basis or will depend as per your vehicle selection during Customisation</li><li>
Return Airport Transfers on Private Basis</li><li>
Inclusive of all current applicable taxes</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Internal Flights</li><li>
Peak/festival period surcharge</li><li>
Beverages NOT included in the quotation</li><li>
Visas & Airfare</li><li>
Entrance Fee (unless specified)</li><li>
Driver & Guide Tipping</li><li>
Early Check-in</li><li>
Late Check-out</li><li>
Luggage truck & Porter</li><li>
There shall be a supplement charge for arrival/departure transfer between 2200hrs to 0700 hrs</li><li>
If City / Resort Fees / Tourist taxes are applicable then the same will be Payable directly at hotel /Apartment.</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><li>
Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								Insurance is not covered in the package so please cover yourself with an insurance at your own cost before travelling on a package tour

Hotel Standard Check-in / Check-out time is 1400hrs / 1200 hrs

Prices are dynamic and subject to change unless the booking is put on hold-On time limit basis or vouchered. Rates include only those items specified in your itinerary

Maximum waiting time at the airport shall be 60 - 90 minutes from the touchdown of the flight.

Refund strictly as per the cancellation policy given.

Package rates are valid for the selected travel dates only and for the room category and other services, specified.

The guests are requested to follow the rules and regulations of the resort / hotel where they are accommodated

Request guests to be punctual for all tours. Maximum waiting time shall be 05 minutes for Shared Tours and 10 minutes for Private Tours

Inter connecting rooms/Adjacent rooms/Rooms on same floor /rooms near to each other, Smoking /Non-smoking rooms / are strictly subject to availability

For any amendment requests while on tour, please request your guests to contact you or our local emergency numbers and the request shall be subject to availability, with/without any supplement charge.

Shorter-stays than the booked stay and early check-out will be regarded as cancellation and hence no refund will be provided for any un-utilized service/s.

No amendments (name changes , date changes, hotel change etc) will be done once the booking is Vouchered. Any changes possible will be done offline, subject to any cancellation / rebooking / additional charges (as applicable).

We do not hold any responsibility for additional cost or adjustment which may arise as a result of events beyond our control, such as technical problems with means of transportation, changes imposed by re-scheduling or cancellation of flights by an airline/train, political disturbances, natural disasters, bad weather or terrorist activity etc. Also, any subsequent increase in the cost, which may arise from the increase of fuel price, govt taxes or accommodation charges shall have to be charged additionally

We shall have no legal liability for any loss, damage, personal injury arising directly or indirectly from any aspect of your Holiday.

Journey undertaken by air, land or sea is governed by the terms and conditions of the service provider.

The guest booking our services is expected to provide a valid identity authenticating the person and you shall not make a reservation in a fictitious name.

Showing around all the places mentioned in our packages depend upon the availability of time and climatic conditions

Rates are Net and non-commission able, unless any separate confirmation has been given in writing by any of our authorized staff or account manager

It is the responsibility of the guest to carry all necessary travel documents such as accommodation voucher / confirmation, passport, other valid identity proof, flight/air tickets etc.

In the unfortunate event of vehicle breakdown, we will provide you alternate vehicle. However, the time loss due to event will not be compensated.

At Religious place like Mosque please wear decent clothing covering all your body & At the time of visiting any Theme park please wear comfortable clothing etc

Rates quoted are based on currency displayed and for specified no. of persons

In case of any immigration/Visa complications, the cancellation policy shall be applicable in full

Please note that pick-up for all transfer and tours will be done as per the details in the Tour Briefing Sheet. This document is shared closer to the date of travel and all guests must carry the Tour Briefing Sheet during their travel.								</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><li>
Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thecrazypartner.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Koh Samui City Break 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="192430"/>
						</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.thecrazypartner.in/paris-tour-packages.htm" title="Paris Tour Packages">Paris</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/zurich-tour-packages.htm" title="Zurich Tour Packages">Zurich</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/rome-tour-packages.htm" title="Rome Tour Packages">Rome</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.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 "><a class="dif" href="http://www.thecrazypartner.in/hong-kong-tour-packages.htm" title="Hong Kong Tour Packages">Hong Kong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/jakarta-tour-packages.htm" title="Jakarta Tour Packages">Jakarta</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/medina-uae-tour-packages.htm" title="Medina Tour Packages">Medina</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/bali-tour-packages.htm" title="Bali Tour Packages">Bali</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.thecrazypartner.in/lyon-tour-packages.htm" title="Lyon Tour Packages">Lyon</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.thecrazypartner.in/chiang-mai-tour-packages.htm" title="Chiang Mai Tour Packages">Chiang Mai</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.thecrazypartner.in/ko-samui-tour-packages.htm" title="Ko Samui Tour Packages">Ko Samui</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.thecrazypartner.in/amsterdam-tour-packages.htm" title="Amsterdam Tour Packages">Amsterdam</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.thecrazypartner.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.thecrazypartner.in/viseu-tour-packages.htm" title="Viseu Tour Packages">Viseu</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.thecrazypartner.in/makkah-tour-packages.htm" title="Makkah Tour Packages">Makkah</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.thecrazypartner.in/florence-tour-packages.htm" title="Florence Tour Packages">Florence</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.thecrazypartner.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/affordable-budget-holidays-catid.htm" title="Affordable & Budget Packages">Affordable & Budget</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:64:"Book Koh Samui City Break Tour - 4 Nights / 5 Days Tour Packages";i:2;s:113:"book koh samui city break tour - 4 nights / 5 days tour packages, adventure tour packages, ko samui tour packages";i:3;s:162:"Book Koh Samui City Break Tour - 4 Nights / 5 Days tour packages from The Crazy Partner - Get attractive 4 Nights / 5 Days Adventure  tour packages for  Ko Samui.";i:4;s:405:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Ko Samui"        
		                 },
		      "description": "",
		      "name": "Koh Samui City Break Tour",
		      "telephone": "+91-9990001854"
		    }
		    </script>
			";i:5;N;}