a:6:{i:0;s:11279:"				<div class="h1"><h1>4 Nights Kenya  Special (4 star) Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.avanitravels.net/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.avanitravels.net/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>4 Nights Kenya  Special (4 star) 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">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Nairobi</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="https://www.avanitravels.net/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="4 Nights Kenya  Special (4 star) 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="95807"/>
						</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_10/277951/162763.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/277951/162763.jpg"  width="150" height="150"    alt="4 Nights Kenya  Special (4 star) Tour" title="4 Nights Kenya  Special (4 star) Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Arrival and departure transfers<br />
03 Nights accommodation at Safari lodge/Camp on a FB Basis<br />
1 nights Nairobi hotel on BB<br />
Transport in non-AC minivan with pop up roof for game viewing<br />
Park entrance fees and Game drives as indicated in the itinerary<br />
Services of an experienced English speaking driver guide<br />
01 litre mineral water per person per day while on game drives<br />
<br />
1 Night Nairobi<br />
2 Nights Masai Mara Game Reserve<br />
1 Night L. Elementaita<br />
<br />
Passports should be valid at least 6 months beyond the period of stay<br />
It is the duty of the client to check passport requirements for travel<br />
Check-in at hotels is 1400 hours and check-out is 1000 hours<br />
Missed or delayed flights can lead to changes in itinerary and will be at the clients’ expense should the case arise<br />
Luggage limit of 1 soft bag maximum 15 Kilograms per person during travel in Kenya. Hard cases should be avoided as they cannot fit in safari vehicles/aircrafts.<br />
All prices given are subject to availability<br />
Re-routing of Itineraries due to limited space availability: <br />
There may be some departures operated on a re-routed version depending on the availability at the time of booking, but reflecting same experience and number of game drives.<br />
Note that we might give the best alternative accommodation based on availability.<br />
Cancellation policy<br />
Cancellation between 45 & 31 days 20% of the amount  <br />
Cancellation between 30 & 21 days 40% of the amount<br />
Cancellation between 20 & 0 days 100% of the amountMeals not mentioned<br />
Drinks<br />
International & local flights<br />
Tips/gratuities<br />
Entry visas and fees<br />
Nature walk<br />
Items of a personal nature and any other not mentioned above.<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, Nairobi
								</p>
								<p class="aj">Upon arrival at the Jomo Kenyatta International Airport, you will be met by a Travel Wild representative and after a brief introduction, you will be transferred to your hotel for check in. All meals on own and overnight at Royal Orchid Azure Hotel or best alternative (Bed Only)<br />
Nairobi’s cosmopolitan charm includes a vibrant cultural life, great places to eat and an exciting night life! If you are just passing through this melting pot of people, there are some great attractions that are not to be missed, including the intriguing National Museum, a National Park within the city (yes! You heard right – a wildlife park that measures 170 square kms! And has lion, leopard and rhino), an irresistible elephant orphanage, Karen Blixen’s former home, the most heartwarming elephant orphanage, and so much more. Welcome to one of Africa’s most dynamic cities, a place that you’ll almost certainly pass through and one that you will love!</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> Nairobi – Maasai Mara
								</p>
								<p class="aj">After breakfast, depart for the world famous Masai Mara National Reserve. It is approximately a 6 hrs drive (3 ½ hrs on Tarmac road and 2 ½ hrs on bumpy road). Arrive at your camp for check-in and have lunch. The camp blends in perfectly with its surrounding hillside landscape. Enjoy an afternoon game drive around the world famous Mara. Dinner and overnight stay at the Mara Sentrim Camp/Fig Tree Camp or best alternative (LDBB)<br />
The accent here is on the Masai people and the wealth of wildlife, birdlife, and natural flora to be found in the fabled Masai Mara Game Reserve.</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> Masai Mara Game Reserve
								</p>
								<p class="aj">Full day spent in the Mara with morning and afternoon game drives. All meals and overnight stay at the Mara Sentrim Camp/Fig Tree Camp or best alternative (LDBB)<br />
Masai Mara offers an absolutely unique variety of animals. The reason is that this hilly region is both humid and fertile, and is crossed by the Mara and Talek rivers, full of crocodiles and hippos. The abundance of water and excellent availability of food are the reasons why the Masai Mara, which in fact is a continuation of the Tanzanian Serengeti National Park, has the greatest population of wild animals in the whole of Africa. There is a particularly dramatic “spectacle” from July to November, the annual migration of huge herds of Gnus and zebras. Predators such as Hyenas, Jackals, Leopards and Lions of course, closely follow these herds. Gigantic herds of over 200 buffaloes can also be observed. Plenty of food is available for elephants, giraffes, and the many species of antelopes.</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> Maasai Mara – Lake Elementaita
								</p>
								<p class="aj">After breakfast, check out and drive to either Lake Naivasha or Lake Elementaita. Arrive in time to check in and lunch. Afternoon at leisure.  Dinner and overnight at Lake Elementaita Sentrim Lodge or best alternative (LDBB)</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> Depart
								</p>
								<p class="aj">After breakfast, you will be transferred to the Jomo Kenyatta International Airport for your onward flight (B)</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">Exclusions :</p> <ul><li>Meals not mentioned</li><li>
Drinks</li><li>
International & local flights</li><li>
Tips/gratuities</li><li>
Entry visas and fees</li><li>
Nature walk</li><li>
Items of a personal nature and any other not mentioned above.</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="https://www.avanitravels.net/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="4 Nights Kenya  Special (4 star) 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="95807"/>
						</form>
						</div>
						
						";i:1;s:76:"Book 4 Nights Kenya  Special (4 star) Tour - 4 Nights / 5 Days Tour Packages";i:2;s:134:"book 4 nights kenya  special (4 star) tour - 4 nights / 5 days tour packages, wildlife and nature tour packages, nairobi tour packages";i:3;s:179:"Book 4 Nights Kenya  Special (4 star) Tour - 4 Nights / 5 Days tour packages from Avani Travels - Get attractive 4 Nights / 5 Days Wildlife and Nature  tour packages for  Nairobi.";i:4;s:2076:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Nairobi"        
		                 },
		      "description": "Arrival and departure transfers
03 Nights accommodation at Safari lodge/Camp on a FB Basis
1 nights Nairobi hotel on BB
Transport in non-AC minivan with pop up roof for game viewing
Park entrance fees and Game drives as indicated in the itinerary
Services of an experienced English speaking driver guide
01 litre mineral water per person per day while on game drives

1 Night Nairobi
2 Nights Masai Mara Game Reserve
1 Night L. Elementaita

Passports should be valid at least 6 months beyond the period of stay
It is the duty of the client to check passport requirements for travel
Check-in at hotels is 1400 hours and check-out is 1000 hours
Missed or delayed flights can lead to changes in itinerary and will be at the clients’ expense should the case arise
Luggage limit of 1 soft bag maximum 15 Kilograms per person during travel in Kenya. Hard cases should be avoided as they cannot fit in safari vehicles/aircrafts.
All prices given are subject to availability
Re-routing of Itineraries due to limited space availability: 
There may be some departures operated on a re-routed version depending on the availability at the time of booking, but reflecting same experience and number of game drives.
Note that we might give the best alternative accommodation based on availability.
Cancellation policy
Cancellation between 45 & 31 days 20% of the amount  
Cancellation between 30 & 21 days 40% of the amount
Cancellation between 20 & 0 days 100% of the amountMeals not mentioned
Drinks
International & local flights
Tips/gratuities
Entry visas and fees
Nature walk
Items of a personal nature and any other not mentioned above.",
		      "name": "4 Nights Kenya  Special (4 star) Tour",
		      "telephone": "+91-9970119645"
		    }
		    </script>
			";i:5;N;}