a:6:{i:0;s:15679:"				<div class="h1"><h1>Mumbai Goa Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.knowellresorts.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.knowellresorts.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Mumbai Goa Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Mumbai, Goa City</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.knowellresorts.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mumbai Goa Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="73055"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/396623/130989.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/396623/130989.jpg"  width="150" height="150"    alt="Mumbai Goa Tour" title="Mumbai Goa Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Overview<br />
<br />
Mumbai, the City of Dreams and capital of Maharashtra rubs its shoulders with some of world’s most developed cities. And the state of beaches, Goa, has the ability to attract massive crowd from all around the world; through the magic of its beaches, culture, history and youthful vibe. Both these cities are among the best destinations of India, and this is your chance to explore them. The Mumbai-Goa tour takes you the best of attractions of both these cities. Not just shopping and sightseeing, if you are an adventure seeker, fun sports activities in Goa are going to engage you.<br />
Trip Highlights<br />
<br />
Explore Elephanta Caves<br />
Visit topmost attractions of Mumbai like Marine Drive, Gateway of India and Hanging Garden<br />
Try water-sports activities in the Beaches of Goa<br />
Witness the brilliance of architecture in some of Goa’s best monuments and churches like Basilica of Bom Jesus, Church and Convent of Francis of Assisi and many others.<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 in Mumbai
								</p>
								<p class="aj">On your arrival in Mumbai Airport meet our tour representative who further escorts you to your pre-booked hotel. Check-in and relax in your hotel. Rest of the time is to be spent at leisure. In the evening take a stroll around the locale if you wish to. Return to your hotel by evening, have dinner and stay overnight.<br />
<br />
Mumbai was given the name City of Dreams owing to tremendous opportunity it holds, mainly in Hindi cinema. The city is the capital of Maharashtra and overlooks the gamboling waves of Arabian Sea. Its cityscape might remind you of that of New York. But along with the bustling nooks, Mumbai has clung on to its heritage and history and takes immense pride in all of that. It is unarguable that this very city gives a cut-throat competition to even the most developed cities worldwide, let alone of India.</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> Mumbai
								</p>
								<p class="aj">Have your breakfast in the morning and proceed for Mumbai sightseeing session, which includes Elephanta Caves, Prince of Wales Museum, Hanging Garden, Juhu Beach, Gateway of India and Marine Drive.<br />
<br />
Elephanta cave is located in Gharapuri (The City of Caves), approximately ten kilometers away from Mumbai Harbor. The caves consists mainly of two groups- Hindu Caves (consisting if five caves) and Buddhist Caves (consisting of two caves). This rock-cut architecture adopted for the caves is datable to a time between 5th and 8th century. However an apt date of its construction is yet a mystery but historians have concluded them to the time when Mauryan rulers were defeated by Badami Chalukyas in 635 AD. Back then, the Elephanta was the capital of Konkan Mauryas and was called Puri or Purika. The caves today are a UNESCO World Heritage Site.<br />
<br />
Prince of Wales Museum is also known as Chhatrapati Shivaji Maharaj Vastu Sangrahalaya. It was founded in 20th century in order to commemorate the visit of Prince Wales. There are about 50000 exhibits inside the museum divided into three categories- Art, Archeology and Natural History. Artifacts and relics of Indus Valley Civilization, Guptas, Mauryas, Rashtrakutas, Chalukyas and others are put here for public display. Other than this, you can behold beautiful prints, illustration of different wildlife species, paintings, manuscripts etc.<br />
<br />
Just a few kilometers away from the museum is where the landmark of Mumbai stands, The Gateway of India. This structure was built in order to commemorate the visit of Their Majesties King George V and Queen Mary in 1911. Take a leisure stroll in the Hanging Garden, which is perched at the top of Malabar Hill, overlooking the beautiful Arabian Sea. This manicured terrace garden is festooned with a huge variety of plants and flower species. Juhu Beach, the popular beach of Mumbai is thronged with visitors. Some of Mumbai’s best street food and restaurants are located here. Marine drive is located in the heart of Mumbai, just beside a busy road. But the horns and screeches of city’s road don’t really interrupt the serenity that is attained here while sipping a cup of coffee and just simply unwinding.<br />
<br />
Overnight stay in hotel.</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> Mumbai - Goa
								</p>
								<p class="aj">Have your breakfast and check-out from your hotel. You get a timely transfer to Mumbai Airport in order to catch your flight for Goa. On arriving Goa, meet our tour representative and get shifted to your pre-booked hotel. Check-in at your hotel and relax. Rest of the day is to be spent at leisure.<br />
<br />
Goa and its beaches pull huge crowd from different corners of the world. The state is a popular destination of India, especially for beach-persons and party-animals. But that is not all what Goa is about; its shopping scenario, biodiversity, architecture, heritage and culture happen to be assets of equal share. It is known for its laid-back vibe, but with all the amenities one could think of, even the ones unthinkable.<br />
<br />
Stay overnight in hotel.</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> North Goa
								</p>
								<p class="aj">Have your breakfast and head towards the popular beaches of Goa, such as Calangute, Dauna Paula, Miramar and Baga Beach. Old Goa churches and Fort Aguada can also be visited.<br />
<br />
Aguada Fort was constructed in 1613 for the purpose of safeguarding from Marathas and Dutch. Even today the structure is well-preserved and overlooks a beautiful vista of sea and expanse of woods.<br />
<br />
Old Goa sightseeing session consists of Cidade De Goa, Basilica Bom Jesus, Church and Convent of Francis of Assisi, Church of Saint Cajetan, Church of Saint Monica, Museum of Christian Art, Solar Souto Maior, Foutanhas and Panjim.<br />
<br />
The Basilica of Bom Jesus houses the moral remains of St. Francis Xavier, a missionary who traveled across Asia to spread the knowledge until he died in 1552. St. Francis Xavier is regarded as the Patron Saint of Goa. The Church of St. Francis of Assisi was built in 1521 by the Portuguese rulers and marks the brilliance of architecture. In the Museum of Christian Art, you can witness a collection of Rosaries and items made of gold and precious stones. Solar Souto Maior is a reflection of Goa’s rich heritage, dating back to 1585 but has been restored and renovated. Here, you can witness a treasure trove of artifacts.<br />
<br />
You may choose to take a stroll and shop in the busy streets of Panjim. This is the capital of Goa and has local as well as branded showrooms for the shopaholics. Also, foodies can find a myriad of restaurants giving cut-throat competition to each other in sense of taste, ambience and décor.<br />
<br />
In the afternoon, have lunch in Panjim. As per our recommendations, you must try Goan Cuisine from the Mandovi Hotel, Continental from The Vinete, Indian cuisine from Delhi Darbar and Chinese and oriental from Goan Chin. Kindly note, the cost of lunch is not included in the price of the tour.<br />
<br />
After lunch, visit Baga Beach which is filled with exuberance and youthful vibe. You may shop, relax or indulge in water-sports activities here.<br />
<br />
Overnight stay in the hotel.</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> South Goa
								</p>
								<p class="aj">On this day of the tour have your breakfast and get ready to visit the beaches of South Goa. Attractions to be visited today consist of Mangueshi Temple, Shanta Durga Temple, Colva Beach, among others.<br />
<br />
Mangueshi Temple is a popular temple of Goa and also one of the largest in the state. It is dedicated to Bhagavan Manguesh, an incarnation of Hindu Lord Shiva. Other shrines inside the temple is of Goddess Parvati , Lord Ganesha, Nandikeshvar, Gajana, Gramapurusha Deva Sharma, Bhagvati, Lakshminarayan and others.<br />
<br />
Shanta Durga Temple has its history dating back to 1730, when the foundation stone was laid. The shrine was earlier built of laterite mud and was later renovated in 1966. Main deity of the temple, Goddess Shantadurga mediates between Lord Shiva and Lord Vishnu.<br />
<br />
Also visit Margao, the headquarters of South Goa district. It also happens to be commercial and industrial center. Margao’s colonial quarter Largo De lgreja is a historical church square, surrounded by old buildings that have their own charm. It is surrounded by old buildings from three sides and the Church of Holy Spirit on the other. The church is one of Goa’s grandest churches datable to 1564, when it was built. Its architecture epitomizes Indian Baroque style of architecture, with interiors having regal feel throughout.<br />
<br />
To learn more about the rural lifestyle of Goa, Ancestral Goa is a perfect place to be in. The laterite sculpture of Saint Mirabai is indeed the tallest laterite sculpture of India. Ethnicity and history is exhibited through its art galleries, artifacts center and open air museum.<br />
<br />
After this, proceed to Menezes Braganza House in Chandor. It was built in 17th century and is located on one side of the village square, however now divided into two houses with same entrance. On its east is a small chapel that has relics of St. Francis Xavier. The interior reminds us of a beautiful past. On its westward is where you can find the claimed first private library of Goa.</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> Departure from Goa
								</p>
								<p class="aj">On this day, after your breakfast, check-out from the hotel and get transferred to the airport in order to catch your flight for your onward journey.<br />
<br />
Hence the journey ends.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.knowellresorts.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mumbai Goa Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="73055"/>
						</form>
						</div>
						
						";i:1;s:54:"Book Mumbai Goa Tour - 5 Nights / 6 Days Tour Packages";i:2;s:119:"book mumbai goa tour - 5 nights / 6 days tour packages, beach and islands tour packages, mumbai, goa city tour packages";i:3;s:166:"Book Mumbai Goa Tour - 5 Nights / 6 Days tour packages from Knowell Resorts - Get attractive 5 Nights / 6 Days Beach and Islands  tour packages for  Mumbai, Goa City.";i:4;s:1359:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Mumbai, Goa City"        
		                 },
		      "description": "Overview

Mumbai, the City of Dreams and capital of Maharashtra rubs its shoulders with some of world’s most developed cities. And the state of beaches, Goa, has the ability to attract massive crowd from all around the world; through the magic of its beaches, culture, history and youthful vibe. Both these cities are among the best destinations of India, and this is your chance to explore them. The Mumbai-Goa tour takes you the best of attractions of both these cities. Not just shopping and sightseeing, if you are an adventure seeker, fun sports activities in Goa are going to engage you.
Trip Highlights

Explore Elephanta Caves
Visit topmost attractions of Mumbai like Marine Drive, Gateway of India and Hanging Garden
Try water-sports activities in the Beaches of Goa
Witness the brilliance of architecture in some of Goa’s best monuments and churches like Basilica of Bom Jesus, Church and Convent of Francis of Assisi and many others.",
		      "name": "Mumbai Goa Tour",
		      "telephone": "+91-9890187499"
		    }
		    </script>
			";i:5;N;}