a:6:{i:0;s:11290:"				<div class="h1"><h1>Astonishing Singapore, Funky Cruise & Marvellous Krabi 08 Nights & 09 Days Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.oppexholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.oppexholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Astonishing Singapore, Funky Cruise & Marvellous Krabi 08 Nights & 09 Days Package</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Singapore, Krabi</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 74099 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Astonishing Singapore, Funky Cruise & Marvellous Krabi 08 Nights & 09 Days Package - 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="113245"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<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_2/37817/185400.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/185400.jpg"  width="150" height="150"    alt="Astonishing Singapore, Funky Cruise & Marvellous Krabi 08 Nights & 09 Days Package" title="Astonishing Singapore, Funky Cruise & Marvellous Krabi 08 Nights & 09 Days Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Cost of Land Part Package: INR 74,099/- per adult on twin sharing basis (Inclusive of Visa Charges for Singapore<br />
<br />
HOTEL DETAILS:<br />
Singapore : Park Royal on Kitchener Rd / similar in 4*<br />
Cruise : 2 Nighter Cruise – Window Cabin<br />
(Upgrade to Balcony Cabin with INR 7,000 pp)<br />
Krabi : Krabi Resort/ similar in 4*<br />
Return airport transfers<br />
Daily breakfast at all Hotels<br />
All Meals in Cruise<br />
3 Nights in Singapore + 2 Nighter Cruise + 3 Nights in Krabi<br />
Singapore City tour with Singapore Flyer<br />
Sentosa Extreme (Butterfly Park And Insect Kingdom + Cable Car (one Way) + Luge<br />
And Sky Ride + Sky Tower + Underwater World + Dolphin Lagoon + Wings Of Time<br />
{8:40 Pm})<br />
Universal Studio<br />
Night Safari<br />
Phi Phi Island Tour<br />
Singapore Visa<br />
Return Cruise TransfersAirfare<br />
Thailand Visa on Arrival<br />
GST As per applicable<br />
Hotels not booked yet.<br />
Rates Subject to change without prior notice<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> KRABI
								</p>
								<p class="aj">Arrive in Krabi and on arrival get transferred to your hotel in Krabi</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> KRABI
								</p>
								<p class="aj">After breakfast, get started for Phi –Phi Island tour.</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> KRABI
								</p>
								<p class="aj">Have day at leisure and enjoy famous Water activities like Speed Boat etc. in Krabi<br />
Island by your own</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> KRABI-SINGAPORE
								</p>
								<p class="aj">After breakfast, check out from hotel and get transferred to Airport and board your flight for Singapore. Upon arrival in Singapore get transferred to Cruise Terminal and later in evening board the cruise.</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> CRUISE
								</p>
								<p class="aj">Enjoyment Continues at Cruise</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 6:</b> DISEMBARK THE CRUISE - SINGAPORE
								</p>
								<p class="aj">Disembark the Cruise and check into hotel in Singapore. Enjoy Night Safari in Evening</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 7:</b> SINGAPORE
								</p>
								<p class="aj">Enjoy Universal Studio Tour (Can opt for Express Ticket of Universal Studio)</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 8:</b> SINGAPORE
								</p>
								<p class="aj">After Breakfast, Enjoy City tour with Flyer followed by Sentosa Island Tour</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 9:</b> DEPART FOR INDIA
								</p>
								<p class="aj">Depart For India</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare</li><li>
Thailand Visa on Arrival</li><li>
GST As per applicable</li><li>
Hotels not booked yet.</li><li>
Rates Subject to change without prior notice</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>The above is only an offer. In the event of Non availability of the specified hotel, alternate or similar hotels would be offered.</li>
	<li>Rates valid strictly for the requested period.</li>
	<li>RATES FOR PRIVATE SERVICES ARE BASED ON MINIMUM PAX TRAVELING. ANY CHANGE IN THRE NUMBER OF PAX WOULD LEAD TO CHANGE IN COST</li>
	<li>Any increase in the Airlines taxes /Hotel Surcharges from the time of Booking till the Departure date must be borne by pax.</li>
	<li>No refund for unutilized service</li>
	<li>All Hotels, Itinerary, restaurants subject to change without notice.</li>
	<li>Rates valid only for the dates and period requested. Change in date would lead to change of Cost</li>
	<li>Rates are based on as on date&rsquo;s exchange rate. Should there be any major fluctuation OPPEX TRAVELS AND TOURS reserve the right to furnish a fresh quote.</li>
	<li>Rates do not include Event/ Peak Season surcharges. Would be advised at the time of booking.</li>
	<li>Any damage caused to hotel rooms/ Coach during your stay, shall be payable by the which may occur in carrying out the tour arrangement, weather conditions, strikes, Passengers.</li>
	<li>OPPEX TRAVELS AND TOURS will not be liable for the same.</li>
	<li>The Company shall not accept any liability or responsibility for any damages, loss, injury, accident, death, Flight Cancelation by Airline, breakdown, or irregularity, wars, quarantine or any other cause whatsoever and all such loss or expense must be borne by pax.</li>
	<li>All Tours subject to OPPEX TRAVELS AND TOURS Tour conditions</li>
	<li>For payments made in INR, the conversion would be based on the ROE as on the date of payments.</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Astonishing Singapore, Funky Cruise & Marvellous Krabi 08 Nights & 09 Days Package - 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="113245"/>
						</form>
						</div>
						
						";i:1;s:121:"Book Astonishing Singapore, Funky Cruise & Marvellous Krabi 08 Nights & 09 Days Package - 8 Nights / 9 Days Tour Packages";i:2;s:186:"book astonishing singapore, funky cruise & marvellous krabi 08 nights & 09 days package - 8 nights / 9 days tour packages, beach and islands tour packages, singapore, krabi tour packages";i:3;s:277:"Book Astonishing Singapore, Funky Cruise & Marvellous Krabi 08 Nights & 09 Days Package - 8 Nights / 9 Days tour packages from Oppex Travels & Tours ( a Division of Oppex Freight Systems - Get attractive 8 Nights / 9 Days Beach and Islands  tour packages for  Singapore, Krabi.";i:4;s:1356:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Singapore, Krabi"        
		                 },
		      "description": "Cost of Land Part Package: INR 74,099/- per adult on twin sharing basis (Inclusive of Visa Charges for Singapore

HOTEL DETAILS:
Singapore : Park Royal on Kitchener Rd / similar in 4*
Cruise : 2 Nighter Cruise – Window Cabin
(Upgrade to Balcony Cabin with INR 7,000 pp)
Krabi : Krabi Resort/ similar in 4*
Return airport transfers
Daily breakfast at all Hotels
All Meals in Cruise
3 Nights in Singapore + 2 Nighter Cruise + 3 Nights in Krabi
Singapore City tour with Singapore Flyer
Sentosa Extreme (Butterfly Park And Insect Kingdom + Cable Car (one Way) + Luge
And Sky Ride + Sky Tower + Underwater World + Dolphin Lagoon + Wings Of Time
{8:40 Pm})
Universal Studio
Night Safari
Phi Phi Island Tour
Singapore Visa
Return Cruise TransfersAirfare
Thailand Visa on Arrival
GST As per applicable
Hotels not booked yet.
Rates Subject to change without prior notice",
		      "name": "Astonishing Singapore, Funky Cruise & Marvellous Krabi 08 Nights & 09 Days Package",
		      "telephone": "+91-9821321975"
		    }
		    </script>
			";i:5;N;}