a:6:{i:0;s:21325:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Baku Tour 4N/5D</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.mnmtravels.co.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.mnmtravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Baku Tour 4N/5D</p>
						</div>
						</div>
						</section>
										<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-->				
								
						<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>Duration :</b> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Baku</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.mnmtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Baku Tour 4N/5D - 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="188944"/>
						</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/495710/296346.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/495710/296346.jpg"  width="150" height="89"    alt="Baku Tour 4N/5D" title="Baku Tour 4N/5D" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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 Baku
										</p>
										<p class="aj">Transfer from Heydar Aliyev International Airport to the hotel.<br />
1400 Hrs check in at hotel<br />
1800 Hrs Assembly at hotel lobby & proceed to Panoramic City Tour:<br />
Visit to Highland Park-Alley of Martyrs, The National Assembly- also transliterated as Milli Majlis, Flame towers-the tallest skyscraper in Baku.<br />
Later you will visit Baku Crystal Hall - an indoor arena in Baku, Azerbaijan. Located on the coast of Baku near National Flag Square, construction of the arena began in August 2011 and finished in April 2012—in time for it to host its first major event, the 2012 edition of the Eurovision Song Contest<br />
Walking through Baku Boulevard which stretches along a south-facing bay on the Caspian Sea. It traditionally starts at Freedom Square continuing west to the Old City and beyond. Since 2012, the Yeni Bulvar (New Boulevard) has virtually doubled the length to 3.75 km. 20:30 hrs Transfer to the Indian Restaurant for Dinner. Transfers back to hotel<br />
Night Stay at Baku (Night Club Activities on your own in the famous Baku Clubs) (Night owls will love Baku. Locals and every Baku guide will be quick to point out that the city has the most thriving club scene in Central Asia. (One Bottle of mineral water for each packs in Bus and Hotel room)</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> Baku City Tour
										</p>
										<p class="aj">BREAKFAST 0700-1000 HRS<br />
10:00 Hrs Our tour program starts with Old City or Inner City is the historical core of Baku, the capital of Azerbaijan. The Old City is the most ancient part of Baku, which is surrounded by walls were well protected. In 2007, the Old City had a population of about 3000 people. In December 2000, the Old City of Baku, including the Palace of the Shirvanshahs and Maiden Tower, became the first location in Azerbaijan to be classified as a World Heritage Site by UNESCO.<br />
14:00Hrs Transfer to Indian Restaurant for Lunch.<br />
1530 Hrs After lunch group will experience the happening street of Nizami Street known for shopping<br />
<br />
1700 Hrs Tour continues with the visit to the charming example of modern architecture. The Heydar Aliyev Center a 57,500 m2 building complex in Baku, Azerbaijan designed by Iraqi-British architect ZahaHadid and noted for its distinctive architecture and flowing, curved style that eschews sharp angles. The center is named after Heydar Aliyev, the first secretary of Soviet Azerbaijan from 1969 to 1982, and president of Azerbaijan Republic from October 1993 to October 2003. (Photoshoot outside).<br />
2000 Hrs GALA DINNER AT INDIAN RESTURANT WITH 2+2 VEG, NON VEG SNACKS, INDIAN BUFFET LOCAL SPIRITS (BEER, VODKA, WHISKEY & WINE) & EXCLUSIVE DANCE SHOW. (APPLİCABLE FOR MİNİMUM 15 PAX) else normal Dinner<br />
22:00Hrs Transfer Back to Hotel.<br />
Free time – can explore night activities at you own<br />
Overnight in hotel<br />
(One Bottle of mineral water for each packs in Bus and Hotel room)</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> Fire Mountain & Fire Temple
										</p>
										<p class="aj">- BREAKFAST 0700-1000 HRS<br />
- 1000 Hrs Assembly at hotel lobby. Trip to "Fire Mountain "-"Yanardag" -a mountain on Absheron peninsula, 25 km from north of Baku. Literally, word "Yanardag" means "Blazing Mountain". Blazing bodies of flame dance on stones and floor. Yanar dag is a natural gas fire which blazes continuously on a hillside on the Absheron Peninsula on the Caspian Sea near Baku, the capital of Azerbaijan, which itself is known as the "land of fire." - 1130 Hrs Tour continues with Ateshgah (Fire Worshippers Temple) Based on Persian and Indian inscriptions, the temple was used as a Hindu and Zoroastrian place of worship. "Atash”» is the Persian word for fire. The pentagonal complex, which has a courtyard surrounded by cells for monks and a tetra pillar-altar in the middle, was built during the 17th and 18th centuries. It was abandoned in the late 19th century, probably due to the dwindling of the Indian population in the area. The natural "eternal flame" went out in 1969, after nearly a century of exploitation of petroleum and gas in the area, but is now lit by gas piped from the nearby city<br />
13:30Hrs LUNCH IN INDIAN RESTAURANT<br />
1430 Hrs Continue with Baku Ferris Wheel, also known as the Baku Eye - is a Ferris wheel on Baku Boulevard in the Seaside National Park of Baku, capital of Azerbaijan. The wheel is 60 meters tall and has 30 cabins, each holding eight people. It makes a complete turn in 30 to 40 minutes.<br />
1530 Hrs Start Shopping tour with Local Sweet Shop, Azerbaijan Brand: Aliahmad’S<br />
1600 Hrs Proceed to Local vine and alcoholic drinks shop<br />
1700 Hrs Continue with “Xurcun” dry fruits and sweets shop<br />
20:00Hrs TRANSFER FOR DINNER AT INDIAN RESTAURANT.<br />
Free time – can explore night activities at you own<br />
Overnight in hotel<br />
(One Bottle of mineral water for each packs in Bus and Hotel room)</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> Hayder Aliyev Centre And boulevard
										</p>
										<p class="aj">BREAKFAST 0700-1000 HRS<br />
10:00 Hrs Transfer To Hayder Aliyev Centre, The Heydar Aliyev Center is a 57,500 m2 (619,000 sq ft) building complex in Baku, Azerbaijan designed by Iraqi-British architect Zaha Hadid and noted for its distinctive architecture and flowing, curved style that eschews sharp angles.[2] The center is named after Heydar Aliyev, the first secretary of Soviet Azerbaijan from 1969 to 1982, and president of Azerbaijan Republic from October 1993 to October 2003.<br />
13:30Hrs LUNCH IN INDIAN RESTAURANT<br />
14:30 Hrs Transfer to Boulevard , near to Caspian sea , where we can enjoy Cruise Ride and walk on the shore of the Caspian sea.<br />
17:00Hrs Transfer back to Hotel and free time till dinner.<br />
20:00Hrs TRANSFER FOR DINNER AT INDIAN RESTAURANT.<br />
Free time – can explore night activities at you own<br />
Overnight in hotel<br />
(One Bottle of mineral water for each packs in Bus and Hotel room)</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> Goodbye Baku
										</p>
										<p class="aj">- BREAKFAST 0700-1000 HRS<br />
- 1200 Hrs Check out from hotel and Proceed to Heydar Aliyev International Airport.</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>EP (No Meal)</li>
																				<li>Return Economy Class Air Tickets</li><li>
04 Nights Accommodation in Baku Hotel as per the confirmation.</li><li>
Excursions as shown in the itinerary with entrance fees</li><li>
LOI support from Azerbaijan</li><li>
Tourist Visa processing & Fee.</li><li>
03 Buffet Breakfast + 04 Lunches+ 03 Dinner+ 1 Grand Gala Dinner.</li><li>
½ Ltr water bottles each in Hotel Room & Coach (1 Ltrs of water per person per day)</li><li>
English speaking guide throughout the program in Azerbaijan</li><li>
All Transfers & Sightseeing on SIC Basis as per the group size</li><li>
Inclusive of the Govt Taxes</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Personal expenses like laundry, SIM cards, tips</li><li>
Charges in the Hotel for any additional Services</li><li>
Personal Insurance</li><li>
Anything Not Mentioned Above</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Cancellation prior 40 days –No Charges</li><li>
Cancellation prior 30 days –50% charge of the tour price</li><li>
Cancellation prior 15 days – 75% charge of the tour price</li><li>
Cancellation prior 10 days – 100% charge of the tour price</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.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.mnmtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Baku Tour 4N/5D - 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="188944"/>
						</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.mnmtravels.co.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/dalhousie-tour-packages.htm" title="Dalhousie Tour Packages">Dalhousie</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/chandigarh-city-tour-packages.htm" title="Chandigarh City Tour Packages">Chandigarh City</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/dharamshala-tour-packages.htm" title="Dharamshala Tour Packages">Dharamshala</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/khajjiar-tour-packages.htm" title="Khajjiar Tour Packages">Khajjiar</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/pushkar-tour-packages.htm" title="Pushkar Tour Packages">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.mnmtravels.co.in/jodhpur-tour-packages.htm" title="Jodhpur Tour Packages">Jodhpur</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.mnmtravels.co.in/jaipur-tour-packages.htm" title="Jaipur Tour Packages">Jaipur</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.mnmtravels.co.in/tashkent-travel-tour-packages.htm" title="Tashkent Tour Packages">Tashkent</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.mnmtravels.co.in/almaty-tour-packages.htm" title="Almaty Tour Packages">Almaty</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.mnmtravels.co.in/jaisalmer-tour-packages.htm" title="Jaisalmer Tour Packages">Jaisalmer</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.mnmtravels.co.in/bishkek-tour-packages.htm" title="Bishkek Tour Packages">Bishkek</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.mnmtravels.co.in/bikaner-tour-packages.htm" title="Bikaner Tour Packages">Bikaner</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.mnmtravels.co.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="http://www.mnmtravels.co.in/baku-tour-packages.htm" title="Baku Tour Packages">Baku</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.mnmtravels.co.in/udaipur-tour-packages.htm" title="Udaipur Tour Packages">Udaipur</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.mnmtravels.co.in/mount-abu-tour-packages.htm" title="Mount Abu Tour Packages">Mount Abu</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="http://www.mnmtravels.co.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mnmtravels.co.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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 Baku Tour 4N/5D - 4 Nights / 5 Days Tour Packages";i:2;s:99:"book baku tour 4n/5d - 4 nights / 5 days tour packages, adventure tour packages, baku tour packages";i:3;s:155:"Monks & Monkeys Travels Private Limited offers Baku Tour 4N/5D - 4 Nights / 5 Days tour package, budget Adventure tour packages for Baku at exciting price.";i:4;s:391:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Baku"        
		                 },
		      "description": "",
		      "name": "Baku Tour 4N/5D",
		      "telephone": "+91-8368523999"
		    }
		    </script>
			";i:5;N;}