a:6:{i:0;s:8228:"				<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<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 Cook in Delhi</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.tribalsplacementservice.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.tribalsplacementservice.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for Cook in Delhi</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">Cook</div>
									<p class="mt7px fw6">Delhi</p>
								
				</div>
				<div class="dtc w200px ar">
				<div class="ShareDropdown dib">	
				<div class="copyLinkPopup">Link Copied</div>		  
				<span class="data"><i class="fa fa-share-alt xxlarge vam"></i></span>
				<ul class="shareList data bdr0">
				<li><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://www.tribalsplacementservice.com/job-openings-for-cook-delhi-938583.htm" class="facebook" title="Facebook"><i class="fa fa-facebook-official"></i></a></li> 
				<li><a target="_blank" href="https://www.instagram.com/?url=https://www.tribalsplacementservice.com/job-openings-for-cook-delhi-938583.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.tribalsplacementservice.com/job-openings-for-cook-delhi-938583.htm" class="whatsapp" title="Whatsapp"><i class="fa fa fa-whatsapp"></i></a></li>  
				<li><a target="_blank" href="https://X.com/intent/tweet?text=Cook&url=https://www.tribalsplacementservice.com/job-openings-for-cook-delhi-938583.htm" class="twitter" title="Twitter"><img src="https://catalog.wlimg.com/mobile/social-networking-img/1002.svg" alt="Twitter" style="width:22px;height:22px;vertical-align:middle;margin-right:6px;"></a></li> 
				<li><a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.tribalsplacementservice.com/job-openings-for-cook-delhi-938583.htm&title=Cook" class="linkedin" title="Linkedin"><i class="fa fa-linkedin-square"></i></a></li>
				<li><a target="_blank" href="https://pinterest.com/pin/create/button/?url=https://www.tribalsplacementservice.com/job-openings-for-cook-delhi-938583.htm&description=Cook" class="pinterest" title="Pinterest"><i class="fa fa-pinterest-square"></i></a></li>	
				<li><a href="javascript:;" title="Copy Link" class="copy" onclick="copyURL()"><i class="fa fa-clone"></i></a></li>
				</ul>
				</div>
				<script>
				$(document).ready(function(){
				$('.ShareDropdown span').click(function(){
				 $('.ShareDropdown').toggleClass("active");
				}); 
				});
				</script>
				<script>
				  function copyURL() {
				    const url = window.location.href;
					const textarea = document.createElement("textarea");
					textarea.value = url;
					textarea.style.position = "fixed";
					document.body.appendChild(textarea);
					textarea.focus();
					textarea.select();
			
					try {
					  document.execCommand("copy");
					//  alert("URL copied (fallback)!");
					  $(".copyLinkPopup").show();		 
			          setTimeout(function(){$(".copyLinkPopup").hide();}, 2000);
				      $('.ShareDropdown').removeClass("active");
					  
					} catch (err) {
					  console.error("Fallback copy failed:", err);
					}
			
					document.body.removeChild(textarea);
				  }
				</script>
				<div class="mt7px ml7px dib">
									
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="343983">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="938583"><input type="hidden" name="subject" value="Applied for Cook">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.tribalsplacementservice.com/vacancy_938583.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px lh18em">cooking : Indian,chinese, south indian,continental<br />20k to 25k per month<br />New Delhi<br />female<br />24 *7  <br />accomodiation</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"> 2  Lac  50 Thousand  To  3  Lac  25 Thousand  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">Advanced/Higher Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">Cook</span>
														<span class="bdr dib p2px10px mr5px mt2px">Chinese Cook</span>
														<span class="bdr dib p2px10px mr5px mt2px">South Inidan</span>
														<span class="bdr dib p2px10px mr5px mt2px">Continental Cook</span>
												</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div>
				<!--p class="large fw6">About Company</p-->
				<div>
				
								
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="343983">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="938583"><input type="hidden" name="subject" value="Applied for Cook">
					</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="https://www.tribalsplacementservice.com/jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</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">(1)</span><a href="https://www.tribalsplacementservice.com/jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants / Travel / Airlines Jobs">Hotel / Restaurants / Travel /...</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>
				
	<?php
	$source_type="";
	if (!empty($_REQUEST["utm_campaign"]) && ($_REQUEST["utm_campaign"]=="google_jobs_apply" || $_REQUEST["utm_campaign"]=="JobApplyPI")) {
		$source_type=$_REQUEST["utm_campaign"];
	}
	?>
	";i:1;s:66:"Job openings for Cook in Delhi | Tribals Placement Service (regd.)";i:2;s:123:"Cook Jobs,Cook Jobs in Delhi,Cook Vacancy in Delhi,Cook jobs in India,Hotel / Restaurants / Travel / Airlines jobs in Delhi";i:3;s:259:"Apply for Cook Jobs in Delhi India - Cook Vacancy  in Hotel / Restaurants / Travel / Airlines field with 0 to 2 years Work Experience, Key Skills are Cook,Chinese Cook,South Inidan,Continental Cook, Hotel / Restaurants / Travel / Airlines jobs in Delhi  India";i:4;s:1926:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Cook",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Tribals Placement Service (regd.)",
	        "value":  "938583"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Tribals Placement Service (regd.)",
	      "description": "Incepted in the year 2001, Tribals Placement Service is an experienced Placement Service provider. Headquartered in New Delhi, the company is well managed by the owner Mr. Kujur and his wife. We offer expert NGO Services, Placement Services, Training & Development, Staffing Solutions, and Human Resource Consultancy to several clients in India. Our main areas of operations are Delhi, Haryana, UP, Gurgaon, Greater Noida, Jharkhand, W Bengal and Orissa. Our Mission is to go beyond the capacity and knowledge for the sake of downtrodden and poor people who are migrated from one state to another in India.",
	      "telephone" : "",
	      "email" : "info@xcessmanpower.com"  
	       },
		  "url": "https://www.tribalsplacementservice.com/job-openings-for-cook-delhi-938583.htm",
          "datePosted": "2024-05-28",
          
		  "baseSalary": " 2  Lac  50 Thousand  To  3  Lac  25 Thousand ",
		  "description": "cooking : Indian,chinese, south indian,continentalrn20k to 25k per monthrnNew Delhirnfemalern24 *7  rnaccomodiation",
		  "educationRequirements": "Advanced/Higher Diploma",
		  "experienceRequirements": "0 - 2 Years",
		  "industry": "Hotel / Restaurants / Travel / Airlines",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi",
		      "addressRegion": "Delhi"
		    }
		  },
		 "qualifications": "Advanced/Higher Diploma",
		     "skills": "Cook,Chinese Cook,South Inidan,Continental Cook"
		  }
		</script>
		";i:5;N;}