a:6:{i:0;s:48284:"				<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>Malaysia - Singapore with Universal Studio Package for 7 Days ( Group Package)</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.maataratours.com/" title="Home">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b>Malaysia - Singapore with Universal Studio Package for 7 Days ( Group Package)</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>Tour Code :</b> 87066</p>
												<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kuala Lumpur, Singapore, Genting</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.maataratours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Malaysia - Singapore with Universal Studio Package for 7 Days ( Group Package) - 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="111186"/>
						</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/497806/182972.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/497806/182972.jpg"  width="150" height="150"    alt="Malaysia - Singapore with Universal Studio Package for 7 Days ( Group Package)" title="Malaysia - Singapore with Universal Studio Package for 7 Days ( Group Package)" /></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>
													
								Air ticket and airport tax from Bangalore and Return<br />
Single entry Malaysia Visa Charges<br />
Singapore Visa Charges<br />
All through Travel by Singapore Airlines or Malaysian Airlines<br />
2 Night accommodation at Kuala Lumpur in the mentioned category of hotel or similar.<br />
2 Hotel accommodation at Genting in the mentioned category of hotel or similar.<br />
2 Hotel accommodation at Singapore in the mentioned category of hotel or similar.<br />
American Breakfast and Indian Veg / Non Veg Lunch and Dinner as indicated<br />
Tour Highlights and Attractions for which Entry Fees are included<br />
Putrajaya Cruise Tour<br />
Twin Tower Petronas Tower)<br />
Sunway Lagoon tour Water Park, Amusement Park, Wildlife Park, Extreme Park, Scream Park)<br />
Singapore Flyer<br />
Gardens by the Bay Cloud Forest & Flower Dome)<br />
Marina Bay Sands Sky Park Observation deck<br />
Jurong Bird Park<br />
Sentosa tour 1 Way Cable Car, 1 Way Luge & Sky Ride, S.E.A Aquarium , Wings of Time)<br />
Universal Studio<br />
All transportation by Luxury Executive vehicle at destinations<br />
The services of English speaking Tour Guide<br />
Daily 1000 Ml of water bottle per personAny other services not mentioned under includes<br />
The above tour cost does not include 5.00% Government Service Tax								</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> Arrival Kualalumpur - Malaysia
										</p>
										<p class="aj">Arrival by SQ 106[ETA 0930hrs] Welcome at the Kuala Lumpur International Airport, immigration and custom formalities. On arrival Breakfast at Putra Palace Indian restaurant. Proceed to Putrajaya Cruise tour. An incredible manmade wonder spanning across 650 hectares of beautiful waters and exotic wetlands and Visit more than 20 Putrajaya landmarks from a unique perspective. Set sail with us and enjoy the magnificent view that includes the iconic Putra Mosque, Seri Wawasan Bridge and Perdana Putra (Prime Minister's office). Proceed to Hotel Check in at Hotel Sunway Putra or similarLunch at Jaipur Mahal Restaurant or similar Proceed for Half Day Kuala Lumpur City Tour. Places covered: National mosque, Kings Palace, Sultan Abdul Samad Building, Merdeka Square, National Monument, Railway Station, Railway Administrations building. Visit Twin Tower. Today pave your way to Petronas Tower to witness the world's tallest Twin Tower. The Petronas Towers, also known as the Petronas Twin Towers (Malay: Menara Petronas, or Menara Berkembar Petronas), are twin skyscrapers in Kuala Lumpur, Malaysia Tallest buildings in the world from 1998 to 2004 and remain the tallest twin towers in the world Dinner at Indian Restaurant Overnight stay at the Hotel</p>					
											<p><b>Meals : </b> Breakfast, Lunch and Dinner</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> Sunway Lagoon with Meal Coupon: Malaysia
										</p>
										<p class="aj">Breakfast at the Hotel Proceed to Sunway Lagoon with entry to all 5 parks with meal coupon WATER PARK Sunway Lagoon Surf Beach is a man made wonder right here in the city where holiday makers all around the world come for a fun filled day in the sun. You can either laze in the beach or for the thrill seekers you can enjoy surfing or body boarding and beach volleyball. You can also show off your surfing skills on Malaysia's only Surf Simulator or FlowRider Stretching over 13,000 square meters, the Surf Beach is capable of churning out perfectly shaped waves up to the maximum height of eight-feet. The ability to condition the waves according to the needs of the surfers in terms of height, time and wave patterns make Surf Beach @ Sunway Lagoon a surfer paradise for both professional and aspiring surfers AMUSEMENT PARK Sunway Lagoon Amusement Park for a seriously great adventure. See a view like no other when you walk on Malaysia Longest Pedestrian Suspension Bridge, or see the world upside down when you spin 360 degrees on the Tomahawk and Pirate Revenge WILDLIFE PARK Get up close and personal with more than 150 species of animals from around the world at the Sunway Lagoon Wildlife Park, the first and only fully interactive animalthemed attraction in Malaysia. EXTREME PARK This is a shout out to all you adrenalin junkies, thrill seekers and extreme sport fans out there. Gear up for an aerial adventure on Malaysia longest Flying Fox and soar to great heights on incredible rides such as the Bungy Jump. Whether you conquer the circuit on a Go Kart or conquer the wild on an ATV, you are bound to get some heart-pumping action at the Sunway Lagoon Extreme Park SCREAM PARK Be afraid, be very afraid as you enter Lynton V Harris Scream Park, where great evil resides. Youll be in for a spine-chilling and hair-raising experience at our live action scare extravaganza where fear is the name of the game. Be warned that this is not for the faint-hearted Dinner at Indian Restaurant Overnight stay at the Hotel</p>					
											<p><b>Meals : </b> Breakfast, Lunch and Dinner</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> Genting Highland: Malaysia
										</p>
										<p class="aj">Breakfast at the Hotel Check out hotel Lunch at Rolling Pin Restaurant or similarDeparture to Genting Highland Enroute<br />
visit Batu Caves Batu Caves is a limestone hill that has a series of caves and cave temples in Gombak, Selangor,<br />
Malaysia. It takes its name from the Sungai Batu (Batu River), which flows past the hill and also it is the tenth (Pattu in<br />
Tamil) limestone hill from Ampang. Batu Caves is also the name of the nearby village.The cave is one of the most<br />
popular Hindu shrines outside India, and is dedicated to Lord Murugan. It is the focal point of Hindu festival of<br />
Thaipusam in Malaysia Travel by Asia longest and fastest cable car to Genting Highland Subject to maintenance and<br />
weather conditions Check in Resort Hotel or similar Dinner at Coffee Terrace Restaurant or similar Overnight stay at<br />
Hotel.</p>					
											<p><b>Meals : </b> Breakfast, Lunch and Dinner</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> Malaysia - Singapore by surface
										</p>
										<p class="aj">Breakfast at the Hotel and Checkout Transfer to Singapore by Coach En route Lunch at Olive Tree Restaurant Johor or<br />
SimilarArrival Singapore by coach Welcome by our English Speaking Guide. Transfer of all luggage Onto Singapore<br />
Coach. Check in at Hotel Park Royal on Kitchener Road or similar Marina Bay Sands Sky Park Observation deck The<br />
biggest hotel in Singapore, it comprises of three 55-storey towers, 2,560 luxury rooms and suites, and 18 different room<br />
types. Its 230 luxury suites come with butler service, VIP privileged access and panoramic views of the South China<br />
Sea and the Singapore skyline Crowning the three hotel towers of Marina Bay Sands at 200 metres in the sky, the<br />
Sands SkyPark stretches longer than the Eiffel tower when laid down. The Sands Sky Park is also home to the world<br />
largest public cantilever housing a public observatory deck, lush gardens, exclusive restaurants with a 150-metre<br />
infinity-edged swimming pool to complete the luxurious experience. (The Infinity Pool is reserved exclusively for Hotel<br />
guests staying at Marina Bay Sands) Gardens By The Bay (Cloud Forest & Flower Dome) An awe-inspiring new<br />
green space for Singapore Visit Gardens by the Bay, one of the Top 10 Indoor Gardens of the World, arguably the<br />
nation most beautiful masterpiece. Moreover, it was recently awarded the 2014 International Thea Awards for<br />
Outstanding Achievement - Botanical Garden, by the Themed Entertainment Association Featuring the best of<br />
horticultural, sustainability and architectural design, Gardens by the Bay is filled with wonders from every continent<br />
except Antarctica. Explore diverse plant life from around the world displayed in its spectacular Cooled Conservatories or<br />
marvel at the Supertrees - towering vertical gardens that extend into the sky. Be inspired by nature and let your wonder<br />
bloom and experiences flourish. This award-winning horticultural attraction houses over 500,000 plants. The two cooled<br />
conservatories - Flower Dome and Cloud Forest feature rare and unique plants from around the world. The Flower<br />
Dome replicates the cool and dry Mediterranean climate featuring 9 different gardens such as Baobabs and Bottle<br />
Trees, Succulent Garden, Australian Garden, South African Garden, South American Garden, Califonia Garden,<br />
Mediterranean Garden, Olive Grove and the Changing Flower Field Display from 5 continents namely Africa, America,<br />
Asia, Europe and Oceania.Cloud Forest Explore the highlands amidst orchids, pitcher plants and ferns from the coolmoist<br />
Tropical Montane region. Be amazed as you come face to face with the World tallest indoor waterfalls at 35<br />
metres and descend through the surreal mist-filled Cloud Walk and explore the rest of the 7 discovery zones for an<br />
interactive educational adventure. Dinner at Indian restaurant Overnight stay at hotel.</p>					
											<p><b>Meals : </b> Breakfast, Lunch and Dinner</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> Jurong Bird Park - Sentosa tour :Singapore
										</p>
										<p class="aj">Breakfast at Hotel Proceed to Jurong Bird Park. Jurong Bird Park is a 20.2 hectare open-concept park. It is the largest<br />
in the Asia Pacific and one of the finest bird parks in the world offering a collection of more than 8,000 birds from 600<br />
species, offers visitors an experience that is entertaining as well as educational Lunch at Indian restaurant Sentosa tour<br />
(1 Way Cable Car, 1 Way Luge & Sky Ride, S.E.A Aquarium , Wings of Time) Dinner at Indian restaurant<br />
Overnight stay at hotel</p>					
											<p><b>Meals : </b> Breakfast, Lunch and Dinner</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> Universal Studios with meal Coupon: Singapore
										</p>
										<p class="aj">Breakfast at Hotel Proceed to Universal Studios with meal Coupon (Southeast Asia's first movie theme park, a theme<br />
park located within Resorts World Sentosa on Sentosa Island, Singapore) Dinner at Indian restaurant Overnight stay at<br />
hotel.</p>					
											<p><b>Meals : </b> Breakfast, Lunch and Dinner</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> Half day Singapore city Tour with Flyer Departures
										</p>
										<p class="aj">Breakfast at Hotel Check-out from Hotel Half Day City Tour (Suntec city Padang Merlion Chocolate gallery China<br />
Town JC (Jewellery City) Orchard Road Little India) Singapore Flyer Singapore Flyer is the world largest giant<br />
observation wheel. Standing at a stunning 165m from the ground, the Flyer offers you 360degree unobstructed<br />
breathtaking, panoramic views from every direction of the Marina Bay, our island city and beyond Lunch at Indian<br />
restaurant Transfer to Changi Airport, Singapore for Departure to Bangalore by SQ 502 @ 2005 Hrs arrival Bangalore<br />
@ 2150 Hrs</p>					
											<p><b>Meals : </b> Breakfast, Lunch</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>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Any other services not mentioned under includes</li><li>
The above tour cost does not include 5.00% Government Service Tax</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="data p5px">Package cost</td>
				<td class="data p5px">4 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 2 pax required)</td>
				<td class="data p5px">112177</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Adult</td>
				<td class="data p5px">112177</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="data p5px">Destination</td>
				<td class="data p5px">No of Nights</td>
				<td class="data p5px">4 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Kuala-Lumpur</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Sunway Putra Hotel / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Genting</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Genting Hotel / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Singapore</td>
				<td class="data p5px">2</td>
				<td class="data p5px">PARKROYAL on Kitchener Road / 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>The cancellation must be intimated to us in hand written letter and the following cancellation charges will apply.</li>
	<li>Number of days before departure, Chariot World Tours receives your written cancellation</li>
	<li>Amount of Cancellation charges shown as a % of a total holiday price you must pay</li>
	<li>More than 45 days Deposit only 30% of the total holiday cost)</li>
	<li>44 30 days 40% of total holiday cost</li>
	<li>29 15 days 60% of total holiday cost</li>
	<li>15 days or less 90% of total holiday cost</li>
</ul>

<p><strong>Terms and Conditions</strong>

<ul>
	<li>All our products are sold subject to these Terms and Conditions and the contract between the Client and hariot World and shall be governed by the same. Via.com. is not responsible for any change in the price due to factors not in the control of the organization.</li>
	<li>Deposit amount - 30% of the total holiday cost + 5.0% service tax to be paid if the booking are made 46 days prior to the departure</li>
	<li>Balance amount - To be paid in full + 5.0% service within 45 Days of the departure date</li>
</ul>

<p><strong>SCOPE OF ACTIVITY</strong>

<ul>
	<li>We are travel and holiday organisers only. We do not control or operate any airline, neither do we own or control any shipping company, coach or coach company, hotel, transport, restaurant, kitchen caravan or any other facility or service mentioned in this Brochure. Though we take care in selecting all the ingredients in your holiday, we can only select and inspect them. As we have no control in running of them, we cannot be responsible for any delay, improper services provided by any agency, airline, transport, hotel, any provider of services, for any injury, death, loss or damage which is caused by the act or default of the management or employees of any hotel, airlines, shipping companies, cruise, coach owners/coach operators/tour operators who are the Companys independent contractors. We are also not responsible for the delay or deficiency in services provided by agency, airline, transport, hotel, any provider of services, and/or any act or actions of co-travelers, co-passengers which may result in injury, damage to the life or property of the Client or interfere with enjoying or availing the following and /or the other services to be provided on the tour.</li>
	<li>We do take all reasonable steps in ensuring that the organisation, maintains standards and provide a service that is acceptable to the company. The information within this brochure has been compiled with all reasonable care and is correct to the best knowledge of the company and is published in good faith.</li>
</ul>

<p><strong>TRAVEL DOCUMENTS AND CLEARANCES</strong>

<ul>
	<li>It shall be sole responsibility of the Clients to hold valid travel documents and statutory clearances, to enable you to travel on the Tour such as passports, insurance and medical insurance certificates and other statutory certificates including immigration clearance. In any case, your Passport must be valid for at least six months subsequent to the scheduled departure date of the tour.</li>
	<li>As granting or rejecting visas and immigration clearance is the sole prerogative of the concerned sovereign governments, the Operator shall neither be responsible in case of non-granting of such documents nor liable for any delay, denial or other related act/omission or for any loss, expense, damage or cost resulting there from. The position in respect of cancellation of Tour by Client due to non-availability of travel documents would not change only by virtue of the Client having applied for such documents through us. Even if visas are rejected, our stipulated fees shall be payable by the Client. There will be no refund to the Client, or any member of his party, is unable to travel due to the said reasons. In such cases, the non-refundable deposit paid by the clients shall be forfeited and no claim whatsoever shall be made for the same.</li>
	<li>In the event that a client is unable to travel on the tour originally booked by him/her, due to rejection of visas by the concerned embassy, the said client shall have the option to postpone his/her tour to any other future date or transfer his tour to any other tour and in such case the transfer fee for the transfer of the tour shall apply. However, if the client books and pays within the cancellation period and is unable to travel due to any reason whatsoever including non-availability of visas or any travel documents, the cancellation policy will apply.</li>
</ul>

<p><strong>HEALTH AND INSURANCE</strong>

<ul>
	<li>It shall be the duty of the Client to inform the Company in case the Client has any medical condition that may affect his ability to enjoy and pursue fully the Tour Arrangements and wherein the interest of the Group or any member thereof is prejudicially affected.</li>
	<li>The Company reserves the right to ask the Client to provide written certification of his medical fitness before departure. In the event that a medical condition has not been disclosed the Company will not be liable to provide any assistance or money back.</li>
	<li>The Company makes it a condition that the Client is adequately covered by Overseas Mediclaim Insurance Policy and other appropriate insurance policies from the Insurance Company identified and named by us to cover the risk of life, limb and property while on tour, as Chariot World Tours Limited will not be responsible for the same.</li>
	<li>It may be noted that the tour cost may or may not include the insurance premium and that the clients shall have to acquire the same at their cost.</li>
</ul>

<p><strong>LIABILITY</strong>

<ul>
	<li>In the event of the Company exercising its rights to amend or alter any Tour or holiday advertised in their Brochure/ itinerary after such Tour or Holiday has been booked, the Client shall have the right:</li>
	<li>To continue with the Tour or holiday as amended or altered;</li>
	<li>Or to accept any alternative Tour or holiday, which the company may offer. In either of these above cases the Client shall not be entitled to or the company shall not be liable to the client for any damage, additional expenses, consequential loss suffered by him or to pay any amount as refund. In the event that the Company is unable to conduct a particular Tour, the Company shall at its own discretion, refund the amount of the cost of the said Tour to the Client after deducting the actual expenses incurred by us on your booking like visa, insurance premium, POE charges, and other overheads as applicable from case to case) without any interest on the same. The Client will not be entitled to make any grievance thereafter in respect of the same.</li>
	<li>The Company shall, in no circumstances whatsoever is liable to the client or any person traveling with him for</li>
	<li>Any death, personal injury, sickness, accident, loss, delay, discomfort, increased expenses, consequential loss and/or damage or any kind of theft howsoever caused;</li>
	<li>Any act, omission, default of any independent Contractor or other person or by any servant or agent employed by them who may be engaged or concerned in the provision of accommodation, refreshment, carriage facility or service for the client or for any person traveling with him howsoever caused.</li>
	<li>The temporary or permanent loss of or damage to baggage or personal effects howsoever caused including willful negligence on the part of any person.</li>
	<li>Loss of baggage by the airlines / coach / cruise / train.</li>
	<li>Overbooking of seats by the airline.</li>
	<li>Failure on the part of airline to accommodate passengers despite having confirmed tickets or change of route.</li>
	<li>If in the event that the Client is booked on a particular airline and the said flight is over booked/cancelled for whatever reason and the Client is not allowed/able to board the flight, the Client shall not hold the company responsible for the same and no claim whatsoever can be made by the Client against the company for refund or compensation.</li>
	<li>The Company shall not be responsible and / or liable for any damages caused to the Client due to reasons beyond the control of the Company Force Majeure / Vis Majeure).</li>
	<li>In any case, no liability on the part of the Company arising in any way out of this contract in respect of any tour, holiday, excursion facility shall exceed the total amount paid for the tour holiday, and shall in no case include any consequential loss or additional expense whatsoever</li>
</ul>

<p><strong>CONDITIONS OF TRAVEL</strong>

<ul>
	<li>The Client will have to strictly follow the Tour Program and return to India as per the validity of the air ticket. There shall be no refund, if the client fails to join the group at the commencement of the tour, or joins the group later or leaves the group before culmination of the tour. It shall be noted that for all purposes, it shall be the responsibility of the Client to reach the place of commencement of the Tour and register with the representative of the company at the appointed place, date and time. In case if a client along with his family is compelled to discontinue the tour due to any reason whatsoever including illness, death or loss of passport or any travel documents, no claim shall be entertained for refund of unutilized services. Even if a client is unable to reach the place of commencement of the tour due to any reason whatsoever including loss of baggage or loss of travel documents, his booking shall be treated as &quot;no show&quot; on the tour and 100% cancellation charges will be levied. If a client avails pre - tour services or part thereof, or the air tickets cost of which is included in the main tour cost) but fails to join the group for the main tour at the appointed place, or cancels the tour after using the air tickets; tour arrangements or part thereof, it shall be treated as &quot;no show&quot; and there will be no refund whatsoever for the unutilized pre-tour or main tour services.</li>
	<li>Chariot World Tours Limited, reserves the right to withdraw tour membership from anyone whose behavior is deemed likely to affect the smooth operation of the tour or adversely affect the enjoyment or safety of other passengers and Chariot World Tours Limited, shall be under no liability to any such person. It is hereby declared that the immunities provided under this contract shall be available to the Companys Managers, including Tour Managers, Employees, Servants and Agents but not to the Independent Contractors selected by the Company.</li>
	<li>Each of these conditions shall be severable from the other and if any provision be invalid, illegal or unenforceable, the remaining provisions shall nevertheless have full force and effect. No liability on the part of the Company arising in any way out of the Contract in respect of any tour, holiday, excursion facilities shall exceed the total amount paid or agreed to be paid for the tour holiday, and shall in no case include any consequential loss or additional expense whatsoever.</li>
	<li>If no suit/action is brought against the Company within three months of the last day of the Tour, the Company shall be discharged from all liabilities under/or arising out of this Contract and the Client shall be deemed to have relinquished/abandoned all his rights under or arising from this Contract.</li>
	<li>If you book with a travel agent and your booking with that agent includes, but is not limited to Chariot World Tours Limited arrangements, your contract is with your travel agent and Chariot World Tours Limited is simply a supplier to your travel agent.</li>
	<li>In case of publication of any travel scheme offering any discount or benefit by the Company, it shall have the sole right to withdraw such a scheme or discount at any time unless a specific assurance of the contrary is published.</li>
</ul>

<p><strong>LAW &amp; JURISDICTION</strong>

<ul>
	<li>For all complaints, suits, claims or disputes of whatsoever nature relating to any products by Chariot World Tours Limited and third party products and tours the courts, tribunals in Bangalore, India alone shall have exclusive jurisdiction. All tours are subject to laws, rules of RBI/GOI.</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.maataratours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Malaysia - Singapore with Universal Studio Package for 7 Days ( Group 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="111186"/>
						</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.maataratours.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/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.maataratours.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/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 spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-baramulla.htm" title="Packages in Baramulla">Baramulla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-rotorua.htm" title="Packages in Rotorua">Rotorua</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-auckland.htm" title="Packages in Auckland">Auckland</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-anantnag.htm" title="Packages in Anantnag">Anantnag</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-christchurch.htm" title="Packages in Christchurch">Christchurch</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-nainital.htm" title="Packages in Nainital">Nainital</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.maataratours.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.maataratours.com/packages-in-sydney.htm" title="Packages in Sydney">Sydney</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.maataratours.com/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</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.maataratours.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</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.maataratours.com/packages-in-pelling.htm" title="Packages in Pelling">Pelling</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.maataratours.com/packages-in-punakha.htm" title="Packages in Punakha">Punakha</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.maataratours.com/packages-in-ooty.htm" title="Packages in Ooty">Ooty</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.maataratours.com/packages-in-rome.htm" title="Packages in Rome">Rome</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.maataratours.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</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.maataratours.com/packages-in-bali.htm" title="Packages in Bali">Bali</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.maataratours.com/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(2)</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.maataratours.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(22)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/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.maataratours.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</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.maataratours.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</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.maataratours.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</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>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Kuala Lumpur, Singapore, Genting</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.maataratours.com/tour-packages/star-cruise-gemini3-nights-sunday-sailing-oceanview-stateroom-with.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/497806/183205.jpg"  alt="Star Cruise Gemini 3 Nights Sunday sailing (Oceanview Stateroom with Window) Package" title="Star Cruise Gemini 3 Nights Sunday sailing (Oceanview Stateroom with Window) Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.maataratours.com/tour-packages/star-cruise-gemini3-nights-sunday-sailing-oceanview-stateroom-with.htm" title="Star Cruise Gemini 3 Nights Sunday sailing (Oceanview Stateroom with Window) Package"><h3>Star Cruise Gemini 3 Nights Sunday Sailing..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Penang, Langkawi, Singapore</p>
															<div class="mt10px small">
							<form name="pkg_111401" id="pkg_111401" method="post" action="http://www.maataratours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.maataratours.com/tour-packages/star-cruise-gemini3-nights-sunday-sailing-oceanview-stateroom-with.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Star Cruise Gemini 3 Nights Sunday sailing (Oceanview Stateroom with Window) Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="111401"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.maataratours.com/tour-packages/bali-and-singapore3-star-package-for7-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/497806/182177.jpg"  alt="Bali and Singapore 3 Star Package for 7 Days" title="Bali and Singapore 3 Star Package for 7 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.maataratours.com/tour-packages/bali-and-singapore3-star-package-for7-days.htm" title="Bali and Singapore 3 Star Package for 7 Days"><h3>Bali And Singapore 3 Star Package For 7 Da..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Bali, Singapore</p>
															<div class="mt10px small">
							<form name="pkg_110500" id="pkg_110500" method="post" action="http://www.maataratours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.maataratours.com/tour-packages/bali-and-singapore3-star-package-for7-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Bali and Singapore 3 Star Package for 7 Days - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="110500"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:117:"Book Malaysia - Singapore with Universal Studio Package for 7 Days ( Group Package) - 6 Nights / 7 Days Tour Packages";i:2;s:198:"book malaysia - singapore with universal studio package for 7 days ( group package) - 6 nights / 7 days tour packages, beach and islands tour packages, kuala lumpur, singapore, genting tour packages";i:3;s:239:"Maa Tara Tours & Travels offers Malaysia - Singapore with Universal Studio Package for 7 Days ( Group Package) - 6 Nights / 7 Days tour package, budget Beach and Islands tour packages for Kuala Lumpur, Singapore, Genting at exciting price.";i:4;s:1687:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur, Singapore, Genting"        
		                 },
		      "description": "Air ticket and airport tax from Bangalore and Return
Single entry Malaysia Visa Charges
Singapore Visa Charges
All through Travel by Singapore Airlines or Malaysian Airlines
2 Night accommodation at Kuala Lumpur in the mentioned category of hotel or similar.
2 Hotel accommodation at Genting in the mentioned category of hotel or similar.
2 Hotel accommodation at Singapore in the mentioned category of hotel or similar.
American Breakfast and Indian Veg / Non Veg Lunch and Dinner as indicated
Tour Highlights and Attractions for which Entry Fees are included
Putrajaya Cruise Tour
Twin Tower Petronas Tower)
Sunway Lagoon tour Water Park, Amusement Park, Wildlife Park, Extreme Park, Scream Park)
Singapore Flyer
Gardens by the Bay Cloud Forest & Flower Dome)
Marina Bay Sands Sky Park Observation deck
Jurong Bird Park
Sentosa tour 1 Way Cable Car, 1 Way Luge & Sky Ride, S.E.A Aquarium , Wings of Time)
Universal Studio
All transportation by Luxury Executive vehicle at destinations
The services of English speaking Tour Guide
Daily 1000 Ml of water bottle per personAny other services not mentioned under includes
The above tour cost does not include 5.00% Government Service Tax",
		      "name": "Malaysia - Singapore with Universal Studio Package for 7 Days ( Group Package)",
		      "telephone": "+91-7001746331"
		    }
		    </script>
			";i:5;N;}