a:6:{i:0;s:8494:"				<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 loaders 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 loaders in mumbai</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Loaders</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="540185"><input type="hidden" name="subject" value="Applied for Loaders">
					</form>
			
									</div></div>
				</div>
								
				<br>
				<p class="aj mt7px">Loaders Required for Mumbai Domestic and International Airport. Should Be Able to Converse Well in Hindi and Understand English. Only Male Apply. Good Salary Package with Benefits.</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  To  2  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Cargo / Freight / Transportation / Packaging / Shipping/Logistic</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">Communication Skills</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 HR & Marketing LLP</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</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Bharati</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Shop No.10, B-Wing, Sumit Samarth Arcade, Aarey Road, beside Jain Mandir, Goregaon (W), Mumbai 400104</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9769643777 </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="540185"><input type="hidden" name="subject" value="Applied for Loaders">
					</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-ranchi.htm" title="Jobs in Ranchi">Ranchi</a> <b class="alpha50 bn small">(1)</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>
									</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-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">(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-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: 'TUtqeGVWSEhjWVZpc2JOZzB6OURjZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:61:"Job openings for loaders in mumbai | Adhoc HR & Marketing LLP";i:2;s:163:"Loaders Jobs,Loaders Jobs in Mumbai,Loaders Vacancy in Mumbai,Loaders jobs in India,Cargo / Freight / Transportation / Packaging / Shipping/Logistic jobs in Mumbai";i:3;s:290:"Apply for Loaders Jobs in Mumbai India - Loaders Vacancy  in Cargo / Freight / Transportation / Packaging / Shipping/Logistic field with 0 to 1 years Work Experience, Key Skills are Communication Skills, Cargo / Freight / Transportation / Packaging / Shipping/Logistic jobs in Mumbai  India";i:4;s:1886:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Loaders",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Adhoc HR & Marketing LLP",
	        "value":  "540185"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Adhoc HR & Marketing LLP",
	      "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",
	      "telephone" : "9769643777",
	      "email" : "bharati@adhochrsolutions.com"  
	       },
		  "url": "http://www.adhochrsolutions.co.in/job-openings-for-loaders-mumbai-540185.htm",
          "datePosted": "2021-07-28",
          
		  "baseSalary": " 1  Lac  To  2  Lac ",
		  "description": "Loaders Required for Mumbai Domestic and International Airport. Should Be Able to Converse Well in Hindi and Understand English. Only Male Apply. Good Salary Package with Benefits.",
		  "educationRequirements": "Secondary School",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Cargo / Freight / Transportation / Packaging / Shipping/Logistic",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai"
		    }
		  },
		 "qualifications": "Secondary School",
		     "skills": "Communication Skills"
		  }
		</script>
		";i:5;N;}