a:6:{i:0;s:8637:"				<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 production executive in mumbai</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.adhochrsolutions.co.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.adhochrsolutions.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for production executive in mumbai</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Lightman For Production Houses Required Urgently</div>
									<p class="mt7px fw6">Mumbai</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="356602">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="794770"><input type="hidden" name="subject" value="Applied for Lightman for Production Houses Required Urgently">
					</form>
			
									</div></div>
				</div>
								
				<br>
				<p class="aj mt7px">Lightman for Production Houses needed urgently. Freshers with knowledge welcome as training will be provided. Salary starting 10k to 15k plus food and accommodation will be given. Immediate joining.Call now and enquire.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  50 Thousand  To  3  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Media / Entertainment /  TV / Films / Production / Broadcasting</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Secondary School</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Production management </span>
												<span class="bdr dib p2px10px mr5px mt2px"> production</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">Adhoc Entertainment Pvt Ltd</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Adhoc HR & Marketing LLP is one of the acknowledged placement agencies that are actively involved in offering excellent services to the organizations and job seekers across Mumbai (Maharashtra, India). Ms. Bharati Fernandez as Director and Mr. Md. Iqbal Raza as Director laid the foundation stone of the company in the year 2013 and since then, we have been delivering excellent services to the job seekers and fraternities. Owing to our rich expertise, we have been able to serve several industries today. Our comprehensive range of services includes overseas placement services, domestic placement services, HR consultancy services, manpower recruitment services, and career consultancy services. So, wait no more and come directly to us for getting exceptional services for diverse placement as well as recruitment requirements.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:bharati@adhochrsolutions.com"> bharati@adhochrsolutions.com </a></td>
						</tr>
										
					</table>
									
				<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="356602">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="794770"><input type="hidden" name="subject" value="Applied for Lightman for Production Houses Required Urgently">
					</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-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(37)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jaipur.htm" title="Jobs in Jaipur">Jaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ranchi.htm" title="Jobs in Ranchi">Ranchi</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">(17)</span><a href="jobs-in-media-entertainment-tv-films-production-broadcasting-fid.htm" title="Media / Entertainment /  TV / Films / Production / Broadcasting Jobs">Media / Entertainment /  TV / ...</a></p>
										<p class="mb5px "><span class="fr">(6)</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">(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">(2)</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-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-self-employed-entrepreneur-consultants-freelancers-fid.htm" title="Self Employed / Entrepreneur / Consultants / Freelancers Jobs">Self Employed / Entrepreneur /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-guards-security-services-fid.htm" title="Guards / Security Services Jobs">Guards / Security Services</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: 'eHRuNXpiQlYzZFBnQ1hNOEpwOEl3Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:74:"Job openings for production executive in mumbai | Adhoc HR & Marketing LLP";i:2;s:326:"Lightman for Production Houses Required Urgently Jobs,Lightman for Production Houses Required Urgently Jobs in Mumbai,Lightman for Production Houses Required Urgently Vacancy in Mumbai,Lightman for Production Houses Required Urgently jobs in India,Media / Entertainment /  TV / Films / Production / Broadcasting jobs in Mumbai";i:3;s:384:"Apply for Lightman for Production Houses Required Urgently Jobs in Mumbai India - Lightman for Production Houses Required Urgently Vacancy  in Media / Entertainment /  TV / Films / Production / Broadcasting field with 0 to 1 years Work Experience, Key Skills are Production management , production, Media / Entertainment /  TV / Films / Production / Broadcasting jobs in Mumbai  India";i:4;s:2333:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Lightman for Production Houses Required Urgently",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Adhoc Entertainment Pvt Ltd",
	        "value":  "794770"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Adhoc Entertainment Pvt Ltd",
	      "description": "Adhoc HR & Marketing LLP is one of the acknowledged placement agencies that are actively involved in offering excellent services to the organizations and job seekers across Mumbai (Maharashtra, India). Ms. Bharati Fernandez as Director and Mr. Md. Iqbal Raza as Director laid the foundation stone of the company in the year 2013 and since then, we have been delivering excellent services to the job seekers and fraternities. Owing to our rich expertise, we have been able to serve several industries today. Our comprehensive range of services includes overseas placement services, domestic placement services, HR consultancy services, manpower recruitment services, and career consultancy services. So, wait no more and come directly to us for getting exceptional services for diverse placement as well as recruitment requirements.",
	      "telephone" : "",
	      "email" : "bharati@adhochrsolutions.com"  
	       },
		  "url": "http://www.adhochrsolutions.co.in/job-openings-for-production-executive-mumbai-794770.htm",
          "datePosted": "2021-07-28",
          
		  "baseSalary": " 1  Lac  50 Thousand  To  3  Lac ",
		  "description": "Lightman for Production Houses needed urgently. Freshers with knowledge welcome as training will be provided. Salary starting 10k to 15k plus food and accommodation will be given. Immediate joining.Call now and enquire.",
		  "educationRequirements": "Secondary School",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Media / Entertainment /  TV / Films / Production / Broadcasting",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai"
		    }
		  },
		 "qualifications": "Secondary School",
		     "skills": "Production management , production"
		  }
		</script>
		";i:5;N;}