a:6:{i:0;s:8484:"				<section id="middle">
				<div class="wrap" id="bodyFormat1">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
									<div class="h1"><h1>Job openings for urgent opening in </h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.vne.co.in/">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b> Job openings for urgent opening in </p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Urgent Opening For Food Analyst (restaurant Management) - Kuwait</div>
								
				<br>
				<p class="aj mt7px">Manage all F&B and day-to-day operations within budgeted guidelines and to the highest standards<br />
Preserve excellent levels of internal and external customer service<br />
Design exceptional menus, purchase goods and continuously make necessary improvements<br />
Identify customers needs and respond proactively to all of their concerns<br />
Lead F&B team by attracting, recruiting, training and appraising talented personnel<br />
Proven food and beverage management experience<br />
Working knowledge of various computer software programs (MS Office, restaurant management software, POS)<br />
Ability to spot and resolve problems efficiently<br />
<br />
Communication and leadership skills<br />
Up to date with food and beverages trends and best practices<br />
Ability to manage personnel and meet financial targets<br />
Guest-oriented and service-minded</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 2 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 4  Lac  25 Thousand  To  5  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Hotel / Restaurants /Travel / Airlines</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Higher Secondary</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Food Analyst</span>
												<span class="bdr dib p2px10px mr5px mt2px"> restaurant management</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">VN ENTERPRISES</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">A PLACEMENT HUB 

100% WORK PERMIT VISA.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">MR. ANIL THAKUR (CEO)</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">JHINGA BUSTY BANIAKHORI MATIGARA NEAR MODI PUBLIC SCHOOL 734010</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7584028432 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:vn@vne.co.in"> vn@vne.co.in </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="post-resume-form-new.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="Apply For Job" />
					<input type="hidden" name="catalog_mi" value="539978">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="547874"><input type="hidden" name="subject" value="Applied for Urgent Opening for Food Analyst (restaurant management) - Kuwait">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-uae.htm" title="Jobs in United Arab Emirates">United Arab Emirates</a> <b class="alpha50 bn small">(1)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bahrain.htm" title="Jobs in Bahrain">Bahrain</a> <b class="alpha50 bn small">(1)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kuwait.htm" title="Jobs in Kuwait">Kuwait</a> <b class="alpha50 bn small">(5)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-malaysia.htm" title="Jobs in Malaysia">Malaysia</a> <b class="alpha50 bn small">(1)</b></span>
										</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(9)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-defence-forces-security-forces-fid.htm" title="Defence Forces / Security Forces Jobs">Defence Forces / Security Forc...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-cargo-freight-transportation-packaging-shipping-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping/Logistic Jobs">Cargo / Freight / Transportati...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-public-relation-pr-advertising-events-fid.htm" title="Public Relation (PR) /  Advertising / Events Jobs">Public Relation (PR) /  Advert...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><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>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'TGZxSFlSRktxWk1zYlhlM2pUTTlWdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:52:"Job openings for urgent opening in  | Vn Enterprises";i:2;s:348:"Urgent Opening for Food Analyst (restaurant management) - Kuwait Jobs,Urgent Opening for Food Analyst (restaurant management) - Kuwait Jobs in ,Urgent Opening for Food Analyst (restaurant management) - Kuwait Vacancy in ,Urgent Opening for Food Analyst (restaurant management) - Kuwait jobs in Kuwait,Hotel / Restaurants /Travel / Airlines jobs in ";i:3;s:357:"Apply for Urgent Opening for Food Analyst (restaurant management) - Kuwait Jobs in  Kuwait - Urgent Opening for Food Analyst (restaurant management) - Kuwait Vacancy  in Hotel / Restaurants /Travel / Airlines field with 0 to 2 years Work Experience, Key Skills are Food Analyst, restaurant management, Hotel / Restaurants /Travel / Airlines jobs in   Kuwait";i:4;s:1525:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Urgent Opening for Food Analyst (restaurant management) - Kuwait",
		  "baseSalary": " 4  Lac  25 Thousand  To  5  Lac ",
		  "description": "Manage all F&B and day-to-day operations within budgeted guidelines and to the highest standards
Preserve excellent levels of internal and external customer service
Design exceptional menus, purchase goods and continuously make necessary improvements
Identify customers needs and respond proactively to all of their concerns
Lead F&B team by attracting, recruiting, training and appraising talented personnel
Proven food and beverage management experience
Working knowledge of various computer software programs (MS Office, restaurant management software, POS)
Ability to spot and resolve problems efficiently

Communication and leadership skills
Up to date with food and beverages trends and best practices
Ability to manage personnel and meet financial targets
Guest-oriented and service-minded",
		  "educationRequirements": "Higher Secondary",
		  "experienceRequirements": "0 - 2 Years",
		  "industry": "Hotel / Restaurants /Travel / Airlines",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "Higher Secondary",
		     "skills": "Food Analyst, restaurant management"
		  }
		</script>
		";i:5;N;}