a:6:{i:0;s:12005:"				<div class="h1"><h1>Astonishing Singapore, Funky Cruise & Sizzling Bali 09 Nights & 10 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 & Sizzling Bali 09 Nights & 10 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">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bali, Singapore</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 86699 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 & Sizzling Bali 09 Nights & 10 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="113239"/>
						</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/185395.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/185395.jpg"  width="150" height="150"    alt="Astonishing Singapore, Funky Cruise & Sizzling Bali 09 Nights & 10 Days Package" title="Astonishing Singapore, Funky Cruise & Sizzling Bali 09 Nights & 10 Days Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Cost of Land Part Package: INR 86,699/- 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 : Window Cabin (Upgrade to Balcony Cabin with INR 7000 pp)<br />
Bali : Mercure Bali Nusa Dua/ similar in 4*<br />
Return airport transfers<br />
Daily breakfast at all Hotels<br />
All Meals in Cruise<br />
4 Nights in Singapore + 2 Nights Cruise + 3 Nights in Bali<br />
Singapore City tour with Singapore Flyer<br />
Sentosa Extreme (Butterfly Park And Insect Kingdom + Cable Car (one Way) +<br />
Luge And Sky Ride + Sky Tower + Underwater World + Dolphin Lagoon + Wings Of<br />
Time {8:40 Pm})<br />
Universal Studio<br />
Night Safari<br />
FD Celuk - Mas - Ubud Market Tour - Tanah Lot Sunset Tour<br />
1 x 120 mins Luxury Spa Treatment at Banjar (Transfers by Spa Company on SIC)<br />
Candle Light Dinner in an Indian Restaurant in Bali<br />
Singapore Visa<br />
Return Cruise TransfersAirfare<br />
Bali Visa on Arrival (approx. USD 35) & Bali Departure Tax (approx. USD 25)<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> SINGAPORE
								</p>
								<p class="aj">Board your flight from Del to Singapore. On arrival in Singapore, you will be transferred to your hotel. Can have leisure time and later on enjoy Night Safari</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> SINGAPORE
								</p>
								<p class="aj">After enjoying a scrumptious breakfast at the hotel, gear up for an exciting half-day city tour of Singapore along with Singapore Flyer and later on head for 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 3:</b> CRUISE
								</p>
								<p class="aj">Have day at leisure and evening board the Star Gemini 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 4:</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 5:</b> SINGAPORE
								</p>
								<p class="aj">Disembark the Cruise and check into hotel in Singapore. Evening at Leisure</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> 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 7:</b> BALI
								</p>
								<p class="aj">After Breakfast, check out from Hotel and board your flight for Bali. Check in Hotel in Bali</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> BALI
								</p>
								<p class="aj">Take up Ubud Market Tour and Tanah Sunset Tour and Enjoy Shopping later on.</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> BALI
								</p>
								<p class="aj">Go ahead for Banjar Luxury spa or you can opt for Water sports as well. Later in evening have a romantic Candle Light dinner in an Indian Restaurant</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 10:</b> DEPART FOR INDIA
								</p>
								<p class="aj">Check out of the hotel as you will be transferred to the Airport</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>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare</li><li>
Bali Visa on Arrival (approx. USD 35) & Bali Departure Tax (approx. USD 25)</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 & Sizzling Bali 09 Nights & 10 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="113239"/>
						</form>
						</div>
						
						";i:1;s:119:"Book Astonishing Singapore, Funky Cruise & Sizzling Bali 09 Nights & 10 Days Package - 9 Nights / 10 Days Tour Packages";i:2;s:183:"book astonishing singapore, funky cruise & sizzling bali 09 nights & 10 days package - 9 nights / 10 days tour packages, beach and islands tour packages, bali, singapore tour packages";i:3;s:259:"Oppex Travels & Tours ( a Division of Oppex Freight Systems offers Astonishing Singapore, Funky Cruise & Sizzling Bali 09 Nights & 10 Days Package - 9 Nights / 10 Days tour package, budget Beach and Islands tour packages for Bali, Singapore at exciting price.";i:4;s:1558:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bali, Singapore"        
		                 },
		      "description": "Cost of Land Part Package: INR 86,699/- per adult on twin sharing basis (Inclusive of Visa Charges for Singapore)

HOTEL DETAILS:
Singapore : Park Royal on Kitchener Rd / similar in 4*
Cruise : Window Cabin (Upgrade to Balcony Cabin with INR 7000 pp)
Bali : Mercure Bali Nusa Dua/ similar in 4*
Return airport transfers
Daily breakfast at all Hotels
All Meals in Cruise
4 Nights in Singapore + 2 Nights Cruise + 3 Nights in Bali
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
FD Celuk - Mas - Ubud Market Tour - Tanah Lot Sunset Tour
1 x 120 mins Luxury Spa Treatment at Banjar (Transfers by Spa Company on SIC)
Candle Light Dinner in an Indian Restaurant in Bali
Singapore Visa
Return Cruise TransfersAirfare
Bali Visa on Arrival (approx. USD 35) & Bali Departure Tax (approx. USD 25)
GST As per applicable
Hotels not booked yet.
Rates Subject to change without prior notice.",
		      "name": "Astonishing Singapore, Funky Cruise & Sizzling Bali 09 Nights & 10 Days Package",
		      "telephone": "+91-9821321975"
		    }
		    </script>
			";i:5;N;}