a:6:{i:0;s:10570:"				<div class="h1"><h1>Morocco 5nights / 6 days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travelect.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelect.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Morocco 5nights / 6 days 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">Casablanca, Rabat, Meknes, Fes, Volubilis</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.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Morocco 5nights / 6 days 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="56027"/>
						</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_12/333350/107057.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/107057.jpg"  height="150"  width="150"    alt="Morocco 5nights / 6 days Tour" title="Morocco 5nights / 6 days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Arrive Rabat and transfer to your riad for 1 night
								</p>
								<p class="aj">Your luxury accommodation in Rabat is an ancestral family home nestled within an orange grove.<br />
Rabat is the administrative capital of Morocco and generally undiscovered as a tourist destination. However those who visit find a gem of a city with stunning colonial architecture, palm lined boulevards and a quiet medina with an authentic feel.<br />
 More laid-back and far less hustle than Fes and Marrakesh; Rabat has a more European feel with cosmopolitan restaurants, art galleries and a picturesque Kasbah with magnificent ocean views. Here you can also see the actual palace of the King of Morocco and the minaret tower of the world’s second most important and historical mosque.</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> Transfer via Casablanca to Marrakesh for 2 nights
								</p>
								<p class="aj">Your base in Marrakesh is an exotic and serene riad in the medina; with its own Hammam baths and world-famous cooking school.<br />
 After transferring and settling in to your riad you will be accompanied to see the amazing spectacle of the Djemaa al Fna square at night time. The carnival like spectacle of the great square happens each evening and the tradition has been protected by UNESCO. Each day is different and everything changes from snake charmers, acrobats, story tellers and musicians to herb doctors, foods sellers and henna artists.</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> A personal guided tour of Marrakesh
								</p>
								<p class="aj">Today you will have a complete private guided tour of Marrakesh. The souk is like an exotic film set with streets filled with the most amazing array of colours, sights, smells and sounds, where craftsmen gather together in separate streets like silver street, shoe street and metal work street. You will also have a private visit of the Bahia Palace which was built as a replica of the Alhambra Palace in Granada and if time allows the Majorelle Gardens an enchanting place in the heart of the “ochre city”.</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> Transfer to Fes for 2 nights
								</p>
								<p class="aj">Your home in Fes is an exceptionally luxurious riad originally restored in the 1930’s with a classical Art Deco feel.<br />
 Fes is the most ancient of all the Imperial capitals and the most complete medieval city in the Arab world. It is the spiritual home of Morocco and exists suspended somewhere between the middle ages and the modern world with nearly a quarter on the cities inhabitants still living in the extraordinary Medina.</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> A complete personal tour of Fes
								</p>
								<p class="aj">This morning your guide will escort you from your riad through the bustling medina of Fes. A twisting labyrinth of over 9000 tiny streets lined with ancient mosques with towering green-glazed minarets, universities, Islamic gardens, fountains and palaces.<br />
 The medina is a hive of activity where generations of artisans practice century old techniques within the busy modern market place. This all can be overwhelming but with your guide you feel like a welcome guest as you chat with the loom ladies, take tea with the tailor and shake hands with the spice vendors.<br />
You will be whisked like VIP’s to the back of a shop for a bird’s eye view over the ancient tanneries where dyers still wade barefoot in the mud pits dipping the animal hides into large cauldrons of pigment.<br />
 After lunch and further exploration, this afternoon you could try the Hammam bath in your hotel and later sit drinking mint tea on the stunning roof terrace with view all over the city and listen to the haunting sound of the call to prayer over the rooftops.</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> Transfer back to Rabat  via Meknes and Volubilis
								</p>
								<p class="aj">On your journey back to Rabat you will first come across the ruins of Volubilis which are a striking sight, visible for miles from the various bends in the approach road. This was once The Roman’s most remote base – all imperial roads stopped here. The ruins are exceptionally well maintained and are a stunning example of a complete Roman city.<br />
Next you will make a stop at another of the Imperial capitals, Meknes. The city was the creation of Morocco’s most tyrannical ruler Sultan Moulan Ismail and was built with over 20 gates, 50 palaces and about 45km of exterior walls.</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>Hotel</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.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Morocco 5nights / 6 days 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="56027"/>
						</form>
						</div>
						
						";i:1;s:68:"Book Morocco 5nights / 6 days Tour - 5 Nights / 6 Days Tour Packages";i:2;s:158:"book morocco 5nights / 6 days tour - 5 nights / 6 days tour packages, forts and palaces tour packages, casablanca, rabat, meknes, fes, volubilis tour packages";i:3;s:199:"El Travel Elect Pvt. Ltd offers Morocco 5nights / 6 days Tour - 5 Nights / 6 Days tour package, budget Forts and Palaces tour packages for Casablanca, Rabat, Meknes, Fes, Volubilis at exciting price.";i:4;s:442:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Casablanca, Rabat, Meknes, Fes, Volubilis"        
		                 },
		      "description": "",
		      "name": "Morocco 5nights / 6 days Tour",
		      "telephone": "+91-9225503370"
		    }
		    </script>
			";i:5;N;}