a:6:{i:0;s:27100:"				<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-->				
									<div class="h1"><h1>Langkawi 3 Star Package for 4 Days Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.omtoursandtravels.net/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.omtoursandtravels.net/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Langkawi 3 Star Package for 4 Days Tour</p> 
									
						<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> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Langkawi</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.omtoursandtravels.net/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Langkawi 3 Star Package for 4 Days 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="111412"/>
						</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_17/487940/183215.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/487940/183215.jpg"  height="150"  width="150"    alt="Langkawi 3 Star Package for 4 Days Tour" title="Langkawi 3 Star Package for 4 Days 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>
													
								03 nights accommodation in Hotel Bella Vista Waterfront Deluxe Room) or similar<br />
Return airport transfers on Seat in Coach Basis<br />
Half Day Round Island Tour on Seat in Coach BasisAirfare<br />
Government Service Tax of 5.0 %<br />
Visa Fees and Travel Insurance<br />
Guaranteed early check in or late check out. This is completely at the discretion of the hotel and we can only put in a request for the same.<br />
Any expenses of personal nature<br />
Tips and porterage<br />
Surcharges as applicable due to peak season, surcharge dates, trade fair dates, Christmas, New Year week.<br />
Meals other than that what is mentioned in your itinerary.<br />
Any services not mentioned in the inclusions list<br />
Drinks including Water during meals / sightseeing tours are not included<br />
Driver/Guide tipping at USD 3 per person per day.<br />
Entrance fees during sightseeing<br />
Tourism Promotion Fee of MYR 5 per room per night in Langkawi hotels.<br />
Mandatory Tourism Tax: RM 20.00 per room per night in 5 star hotel/ RM 10.00 per room per night in 4 Star Hotel/ RM 5.00 per room per night in 3 Star Hotel								</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> Arrive Langkawi
										</p>
										<p class="aj">Welcome to Langkawi! On arrival, complete your immigration procedure you are met and are transferred to your Resort.<br />
Check in, relax and spend time in the azure blue waters that lap the edges of the Resort. Overnight in Langkawi</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> Langkawi Island Tour
										</p>
										<p class="aj">This morning indulge in a delicious breakfast. Now its time for your Island Orientation Tour which covers Atma Alam where you will witness the process of traditional batik printing using waxes and dyes, Eagle Square and Kuah Town. Later you could indulge in the various water sports available on the Island on your own or just sit and unwind by the sea and the pool or shop at the various outlets the Island boasts of. Overnight in Langkawi</p>					
											<p><b>Meals : </b> Breakfast</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">Breakfast at hotel. The rest of the day is free for you to explore this city on your own or you could also choose from any of our optional tours. Overnight in Langkawi.</p>					
											<p><b>Meals : </b> Breakfast</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> Departure
										</p>
										<p class="aj">After breakfast, check out of the hotel and transfer to the airport to board your return flight.</p>					
											<p><b>Meals : </b> Breakfast</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>Hotel</li>
																						<li>Meals</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Airfare</li><li>
Government Service Tax of 5.0 %</li><li>
Visa Fees and Travel Insurance</li><li>
Guaranteed early check in or late check out. This is completely at the discretion of the hotel and we can only put in a request for the same.</li><li>
Any expenses of personal nature</li><li>
Tips and porterage</li><li>
Surcharges as applicable due to peak season, surcharge dates, trade fair dates, Christmas, New Year week.</li><li>
Meals other than that what is mentioned in your itinerary.</li><li>
Any services not mentioned in the inclusions list</li><li>
Drinks including Water during meals / sightseeing tours are not included</li><li>
Driver/Guide tipping at USD 3 per person per day.</li><li>
Entrance fees during sightseeing</li><li>
Tourism Promotion Fee of MYR 5 per room per night in Langkawi hotels.</li><li>
Mandatory Tourism Tax: RM 20.00 per room per night in 5 star hotel/ RM 10.00 per room per night in 4 Star Hotel/ RM 5.00 per room per night in 3 Star Hotel</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">Preview of the Prices</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Package cost</td>
				<td class="headHr p5px b">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">1 Person</td>
				<td class="data p5px">11893</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 2 pax required)</td>
				<td class="data p5px">6226</td>
			</tr>
			<tr>
				<td class="data p5px">Child Without Bed(5-12 yrs)</td>
				<td class="data p5px">2449</td>
			</tr>
			<tr>
				<td class="data p5px">Child (2-4 yrs)</td>
				<td class="data p5px">2449</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Hotels Used / Similar</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Destination</td>
				<td class="headHr p5px b">No of Nights</td>
				<td class="headHr p5px b">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Langkawi</td>
				<td class="data p5px">3</td>
				<td class="data p5px">Bella Vista Waterfront Resort & Spa / similar hotels</td>
			</tr>
		</table></div><br>								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><strong>Cancellation Policy</strong>

<ul>
	<li>If circumstances force you to cancel the Booking, the cancellation must be intimated to us in writing and the following cancellation charges will apply.</li>
	<li>30 Days prior to departure - 20% * This might vary depending on the time limit)</li>
	<li>Once booking is confirmed/ 29 Days To 16 Days - 50% of the Total cost</li>
	<li>15 Days to 08 Days - 75 % of the Total Cost</li>
	<li>7 Days or less/ No Show - 100% of the total cost</li>
	<li>Same cancellation policy will apply for postponements of bookings or in case of change of hotels during the progress of tour.</li>
	<li>Cancellation charges may vary during festive/ peak / trade fares / F1 / Sonkran / Chinese new year/ Christmas / new year / Diwali / Eid period.</li>
	<li>During peak surcharge periods, the booking would be under 100% cancellation.</li>
	<li>The above policy would not be applicable in case of promotional / non refundable rates</li>
	<li>The above policy would not be applicable for iconic hotels such as Marina Bay Sands, Burj Al Arab, Atlantis, Venetian, Genting etc.</li>
</ul>

<p><strong>Terms and Conditions</strong>

<ul>
	<li>All rates are valid on validity dates mentioned. Via.Com reserves the right to change Validity dates given</li>
	<li>The rates are valid for minimum 02 adults traveling together at all times. The rates for Single passenger travelling alone would be advised at the time of confirmation. The Single passenger rate mentioned in this package is applicable for third passenger opting to stay in Single Room.</li>
	<li>For computation purpose the Rate of Exchange is as per the current prevailing rate and thus make the prices dynamic</li>
	<li>The rates are not valid on black out dates and trade fair periods</li>
	<li>Surcharges wherever applicable would be advised at the time of booking and would be based on your final date of travel. The surcharges mentioned in this package are tentative subject to change) and are for per person on twin/triple sharing basis only.</li>
	<li>The rates are subject to availability of hotel accommodation and sightseeing tours at the time of booking. We reserve the right to use an alternate hotel accommodation of an equal or higher standard. If we source a more expensive alternative, we reserve the right to re-quote based on the higher rates.</li>
	<li>Rates are valid for Indian Passport holders only.</li>
	<li>We are not holding any Hotel blocks for this package. Hotels would be subject to availability at the time of booking.</li>
	<li>International Check in time is 1500 hours / Check out time is 1200 hours, early check in and check out is subject to availability and cannot be guaranteed.</li>
	<li>Request on room type double/ twin bed/ inter-connecting/ same floor) is on request basis subject to availability upon check in.</li>
	<li>Seat in Coach Transfers are available for pick up between 0600hrs -1800hrs only. For other timings, private transfer charges are applicable.</li>
	<li>Only 02 standard sized luggages are allowed per person. More than that, extra charges apply.</li>
	<li>Departure/ Pick up from Kuala Lumpur or Sunway Lagoon hotels would be 4 hours before flight time.</li>
	<li>No refunds either in part or in full will be made for any unutilized service.</li>
	<li>All the sightseeing tours and excursions are organized by local companies. The timings and days of</li>
	<li>operation are subject to alteration. Changes if any will be intimated at the time of booking.</li>
	<li>Sightseeing tours are strictly based on weather conditions and local service providers have the right to cancel the sightseeing tours without prior notice. All transfers service would be suspended during bad weather such as typhoon, heavy rain or fog.</li>
	<li>Rates are subject to change without prior notice.</li>
	<li>Offer can be withdrawn at any point without prior notice.</li>
	<li>Bookings once confirmed are subject to cancellation charges which shall be advised at that time.</li>
	<li>As a practice all international hotels take a security deposit at the time of check-in. The amount is generally blocked on the clients credit card or they can pay cash to the hotel. The amount will vary according to the hotel and is refunded back to the clients upon check out. Debit cards should not be offered as it will be charged immediately and refunded only after 2-3 weeks.</li>
	<li>No refund would be given in case of unavailability of complimentary services.</li>
	<li>Via.com is not responsible for any change in the price due to factors not in the control of the organization.</li>
	<li>For travel to Malaysia, travelers must have a passport valid for six months from the date of return and he/she must obtain a valid Malaysian visa prior to their departure</li>
	<li>The Surcharges mentioned in the package are per person on twin/triple sharing and for Child with Bed. If third passenger is opting for Single room then double the surcharge amount is applicable for this passenger</li>
	<li>Tourism Promotion Fee of MYR 5 per room per night will be collected from guests directly upon check in at Langkawi Hotels.</li>
	<li>Mandatory Tourism tax is payable by the customer to the hotel directly upon check in/ check out as per the individual hotels arrangement) effective 01 July 2017.</li>
	<li>The tax structure will be as follows:-</li>
	<li>5 Star Hotel : RM 20.00 per room/night</li>
	<li>4 Star Hotel : RM 10.00 per room/night</li>
	<li>3 Star Hotel : RM 5.00 per room/night</li>
</ul>

<p><strong>Note:</strong>

<ul>
	<li>We are not holding any rooms or airline seats as of now and above mentioned is quote only , subject to availability at the time of confirmation .</li>
	<li>First preference will be given to mentioned hotels for reservation. In case of non-availability of these hotels we shall advise the similar or next available option with supplement cost .</li>
	<li>Itinerary provided is just suggestive and the sightseeing will be done as per availability.</li>
	<li>In case of no show or late cancellation after reconfirmation charges applicable as per the Hotels Policy and other vendors policy.</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.omtoursandtravels.net/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Langkawi 3 Star Package for 4 Days 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="111412"/>
						</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.omtoursandtravels.net/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-bhuj.htm" title="Packages in Bhuj">Bhuj</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-rameshwaram.htm" title="Packages in Rameshwaram">Rameshwaram</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.omtoursandtravels.net/packages-in-kandy.htm" title="Packages in Kandy">Kandy</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.omtoursandtravels.net/packages-in-kalutara.htm" title="Packages in Kalutara">Kalutara</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.omtoursandtravels.net/packages-in-kanyakumari.htm" title="Packages in Kanyakumari">Kanyakumari</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.omtoursandtravels.net/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.omtoursandtravels.net/packages-in-pokhara.htm" title="Packages in Pokhara">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.omtoursandtravels.net/packages-in-port-louis.htm" title="Packages in Port Louis">Port Louis</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.omtoursandtravels.net/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.omtoursandtravels.net/packages-in-colombo.htm" title="Packages in Colombo">Colombo</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.omtoursandtravels.net/packages-in-nuwara-eliya.htm" title="Packages in Nuwara Eliya">Nuwara Eliya</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.omtoursandtravels.net/packages-in-madurai.htm" title="Packages in Madurai">Madurai</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.omtoursandtravels.net/packages-in-punakha.htm" title="Packages in Punakha">Punakha</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.omtoursandtravels.net/packages-in-kutch.htm" title="Packages in Kutch">Kutch</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.omtoursandtravels.net/packages-in-langkawi.htm" title="Packages in Langkawi">Langkawi</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.omtoursandtravels.net/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</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.omtoursandtravels.net/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/paragliding-holidays-catid.htm" title="Paragliding Packages">Paragliding</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</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:78:"Book Langkawi 3 Star Package for 4 Days Tour - 3 Nights / 4 Days Tour Packages";i:2;s:135:"book langkawi 3 star package for 4 days tour - 3 nights / 4 days tour packages, beach and islands tour packages, langkawi tour packages";i:3;s:172:"Om Tours And Travels offers Langkawi 3 Star Package for 4 Days Tour - 3 Nights / 4 Days tour package, budget Beach and Islands tour packages for Langkawi at exciting price.";i:4;s:1471:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Langkawi"        
		                 },
		      "description": "03 nights accommodation in Hotel Bella Vista Waterfront Deluxe Room) or similar
Return airport transfers on Seat in Coach Basis
Half Day Round Island Tour on Seat in Coach BasisAirfare
Government Service Tax of 5.0 %
Visa Fees and Travel Insurance
Guaranteed early check in or late check out. This is completely at the discretion of the hotel and we can only put in a request for the same.
Any expenses of personal nature
Tips and porterage
Surcharges as applicable due to peak season, surcharge dates, trade fair dates, Christmas, New Year week.
Meals other than that what is mentioned in your itinerary.
Any services not mentioned in the inclusions list
Drinks including Water during meals / sightseeing tours are not included
Driver/Guide tipping at USD 3 per person per day.
Entrance fees during sightseeing
Tourism Promotion Fee of MYR 5 per room per night in Langkawi hotels.
Mandatory Tourism Tax: RM 20.00 per room per night in 5 star hotel/ RM 10.00 per room per night in 4 Star Hotel/ RM 5.00 per room per night in 3 Star Hotel",
		      "name": "Langkawi 3 Star Package for 4 Days Tour",
		      "telephone": "+91-9893003987"
		    }
		    </script>
			";i:5;N;}