a:6:{i:0;s:35995:"				<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>Mumbai Goa Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.vacationorganizer.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.vacationorganizer.in/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Mumbai Goa Tour</p> 
										<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/509736/236549.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_17/509736/236549.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/509736/236549.jpg"  alt="Mumbai Goa Tour" title="Mumbai Goa Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Mumbai Goa Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Mumbai</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.vacationorganizer.in/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="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="153690"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">2&3 Star Hotels & 4-5 Star Resorts & 6&7 Star Resorts (as per your budget & choice)</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Arrival in Mumbai										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												On your arrival in Mumbai Airport meet our 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.															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Mumbai										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												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.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Mumbai										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												EITHER<br />
Have your breakfast in the morning and proceed for Mumbai sightseeing session, which includes “BOLLYWOOD STUDIO TOUR & LIVE SHOW TOUR”<br />
The Bollywood studio tour lets you experience live shooting, sets of various stagesof design, locations, live Bollywood dancing, behind the scenes action & documentary too. See technicians at work, peek into the star’s makeup rooms, maybe even have your pictures taken with a Bollywood star! Refresh yourself at the Bollywood Café & then get ready to find out all about post-production, special effects & more.<br />
In India, daily soap operas are not just huge money-spinners, but are also extremely popular. Go behing the sense of Daily shows, their making & marketing. See how scenes are shot & how many hours go into the making of a half an hour show. <br />
<br />
Duration for Bollywood Studio Tour: 2 hrs including snakes (11:30 -13:30)<br />
Duration for Live Show Tour : 2 hrs including snakes (16:00 – 18:00) <br />
<br />
OR<br />
MUMBAI FILMCITY TOUR<br />
Filmcity Mumbai is a world of wonder where you can give wings to your imagination, Mumbai accounts for 60% of film productions. Visit iconic locations, indoor & outdoor, see live shootings. Go past film & TV sets and get to know the secrets of Bollywood. Finish with a group photo to remember Bollywood.<br />
Duratio: Approx full day including Refreshments, guide fee & taxes.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Mumbai - Goa										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												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 />
The first evening of your Goa trip will acquaint you with a nice ride (One & Half Hour ride) on Cruise at river Mondovi, Panjim/Panaji. (Group Tour)<br />
 Experience the thrill and luxury of travelling on-board in one of the premier luxury cruises in Mondovi river for 1-1/2 hours.<br />
There are fun and exciting programs here to excite you and keep you on your toes! <br />
You can see the beautiful sights of Goa and enjoy the array of entertainment on board.<br />
Enjoy the Goan folk dances with the backdrop of the clear blue sea and setting Sun, which will surely amaze you.<br />
Enjoy an enthralling DJ session while cruising through Goan backwaters and coastal region.<br />
Post sightseeing, return to the hotel for dinner and night stay.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Goa										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												The second day of your Goa trip will acquaint you with the rich Portuguese culture and heritage of this tiny Indian state. There are several remnants in Old Goa in the form of century old cathedrals such as Basilica of Bom Jesus and Chapel of St. Francis Xavier.<br />
<br />
Goa is also known for its massive forts which were built by Indian rulers and Portuguese colonies which settled in Goa in the 15th century. Besides, you can visit the famous ‘Fort Aguada’ whose major portions have been converted into a luxury hotel.<br />
Post sightseeing, return to the hotel for dinner and night stay.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Goa										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												The charm of Goa beaches lies in its beautiful beaches lined on the seashore and attracts a huge crowd of Indian and international tourists. Some popular beaches that you can visit include Anjuna, Baga and Calangute. These beaches will allow you to indulge in water sports such as Para sailing, scuba diving and water skiing.<br />
<br />
Besides, you can visit the local markets at Anjuna where you can purchase traditional jewelry, handicrafts and souvenirs.<br />
Post sightseeing, return to the hotel for dinner and night stay.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 7											
											:</b> Departure Day										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												You will head straight towards South Goa. Colva is a popular beach in South Goa. The beach is home to shacks, resort complexes, tourist cottages, discos and eateries.<br />
<br />
Have some fun and laze around as the day will mark the end of your holiday in Goa.<br />
<br />
You will be assisted in smooth transfer to the Goa airport/railway station to board flight/train for onwards journey.			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Hotel</li><li>
Sightseeing</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>						
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
						
						<ul><li>* 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.</li></ul>						
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.vacationorganizer.in/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="153690"/>
						</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="https://www.vacationorganizer.in/north-goa-tour-packages.htm" title="North Goa Tour Packages">North Goa</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/cairo-tour-tour-packages.htm" title="Cairo Tour Packages">Cairo</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/calangute-tour-packages.htm" title="Calangute Tour Packages">Calangute</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/luxor-tours-tour-packages.htm" title="Luxor Tour Packages">Luxor</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/panaji-tour-packages.htm" title="Panaji Tour Packages">Panaji</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/thekkady-tour-packages.htm" title="Thekkady Tour Packages">Thekkady</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/old-goa-tour-packages.htm" title="Old Goa Tour Packages">Old Goa</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/genting-tour-packages.htm" title="Genting Tour Packages">Genting</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/tahiti-tour-packages.htm" title="Tahiti Tour Packages">Tahiti</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/jaipur-tour-packages.htm" title="Jaipur Tour Packages">Jaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/bhopal-tour-packages.htm" title="Bhopal Tour Packages">Bhopal</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/bali-tour-packages.htm" title="Bali Tour Packages">Bali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/bareilly-tour-packages.htm" title="Bareilly Tour Packages">Bareilly</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/pune-tour-packages.htm" title="Pune Tour Packages">Pune</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/kandy-tour-packages.htm" title="Kandy Tour Packages">Kandy</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/macau-tour-packages.htm" title="Macau Tour Packages">Macau</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/bharatpur-tour-packages.htm" title="Bharatpur Tour Packages">Bharatpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/aswan-tours-tour-packages.htm" title="Aswan Tour Packages">Aswan</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/vancouver-tour-packages.htm" title="Vancouver Tour Packages">Vancouver</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/juneau-tour-packages.htm" title="Juneau Tour Packages">Juneau</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/agra-tour-packages.htm" title="Agra Tour Packages">Agra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/colombo-tour-packages.htm" title="Colombo Tour Packages">Colombo</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/helsinki-tour-packages.htm" title="Helsinki Tour Packages">Helsinki</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/alabama-tour-packages.htm" title="Alabama Tour Packages">Alabama</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/moga-tour-packages.htm" title="Moga Tour Packages">Moga</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 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="https://www.vacationorganizer.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/paragliding-holidays-catid.htm" title="Paragliding Packages">Paragliding</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.vacationorganizer.in/parasailing-holidays-catid.htm" title="Parasailing Packages">Parasailing</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/scuba-diving-holidays-catid.htm" title="Scuba Diving Packages">Scuba Diving</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/abseiling-holidays-catid.htm" title="Abseiling Packages">Abseiling</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/adventure-sports-holidays-catid.htm" title="Adventure Sports Packages">Adventure Sports</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/desert-holidays-catid.htm" title="Deserts Packages">Deserts</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/festive-events-holidays-catid.htm" title="Festive & Events Packages">Festive & Events</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/food-drink-holidays-catid.htm" title="Food and Drink Packages">Food and Drink</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/jeep-safari-holidays-catid.htm" title="Jeep Safari Packages">Jeep Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/camel-safari-holidays-catid.htm" title="Camel Safari Packages">Camel Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/group-holidays-catid.htm" title="Group Packages">Group</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/river-rafting-holidays-catid.htm" title="River Rafting Packages">River Rafting</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/water-rafting-holidays-catid.htm" title="Water Rafting Packages">Water Rafting</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.vacationorganizer.in/angling-holidays-catid.htm" title="Angling Packages">Angling</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 Mumbai</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='https://www.vacationorganizer.in/holiday-packages/aurangabad-ajanta-ellora-mumbai-goa-mid-range-tour8n9d-aurangabad3n.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/509736/275826.jpg"  alt="Aurangabad (ajanta & Ellora)-mumbai-goa Mid Range Tour (8n/9d) , (aurangabad 3n/mumbai 2n/goa 3n)" title="Aurangabad (ajanta & Ellora)-mumbai-goa Mid Range Tour (8n/9d) , (aurangabad 3n/mumbai 2n/goa 3n)"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.vacationorganizer.in/holiday-packages/aurangabad-ajanta-ellora-mumbai-goa-mid-range-tour8n9d-aurangabad3n.htm" title="Aurangabad (ajanta & Ellora)-mumbai-goa Mid Range Tour (8n/9d) , (aurangabad 3n/mumbai 2n/goa 3n)"><h3>Aurangabad (ajanta & Ellora)-mumbai-goa Mi..</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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Aurangabad, Mumbai, Goa City</p>
															<div class="mt10px small">
							<form name="pkg_182125" id="pkg_182125" method="post" action="https://www.vacationorganizer.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.vacationorganizer.in/holiday-packages/aurangabad-ajanta-ellora-mumbai-goa-mid-range-tour8n9d-aurangabad3n.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Aurangabad (ajanta & Ellora)-mumbai-goa Mid Range Tour (8n/9d) , (aurangabad 3n/mumbai 2n/goa 3n) - 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="182125"/>
							</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:54:"Book Mumbai Goa Tour - 6 Nights / 7 Days Tour Packages";i:2;s:101:"book mumbai goa tour - 6 nights / 7 days tour packages, adventure tour packages, mumbai tour packages";i:3;s:167:"Mehani Tour & Vacation Organizer ( Opc) Pvt. Ltd. offers Mumbai Goa Tour - 6 Nights / 7 Days tour package, budget Adventure tour packages for Mumbai at exciting price.";i:4;s:476:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Mumbai"        
		                 },
		      "description": "2&3 Star Hotels & 4-5 Star Resorts & 6&7 Star Resorts (as per your budget & choice)",
		      "name": "Mumbai Goa Tour",
		      "telephone": "+91-7972711295"
		    }
		    </script>
			";i:5;N;}