a:6:{i:0;s:48784:"				<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="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</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-agra.htm" title="Packages in Agra">Agra</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-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 spanlist dn"><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-havelock.htm" title="Packages in Havelock">Havelock</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-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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-shillong.htm" title="Packages in Shillong">Shillong</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-pattaya.htm" title="Packages in Pattaya">Pattaya</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-pushkar.htm" title="Packages in Pushkar">Pushkar</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-zurich.htm" title="Packages in Zurich">Zurich</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-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="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;}