a:6:{i:0;s:8516:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for hr administration in madhya pradesh indore</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.enriseglobal.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.enriseglobal.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for hr administration in madhya pradesh indore</p>
					</div>
					</div>
					</section>
									<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="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Manager HR & Administration</div>
									<p class="mt7px fw6">Indore</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="899903">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="917932"><input type="hidden" name="subject" value="Applied for Manager HR & Administration">
					</form>
			
									</div></div>
				</div>
								
				<br>
				<p class="aj mt7px">Responsibilities:<br />
•	Handles recruiting, hiring, and termination of employees in accordance with company policy<br />
•	Set standard operating procedures and rules for all administration, HR, and work flow<br />
•	Oversees attendance and time management functions<br />
•	Conduct staff training needs assessment (TNA), prepare periodic training plan, follow up on implementation, as well as coordinating all internal learning sessions and in-house workshops<br />
•	Manages insurance contract and serves the point of contact between staff, HQ and insurance company<br />
•	Provides daily Human Resources information to staff regarding benefits and policies<br />
•	Updates and maintains computerized and written employment records on staff, including verifying data, and notices<br />
•	Provides advice and support on HR policies and procedures to staff<br />
•	Provides procurement support in directing purchasing officers through the process of evaluating suppliers, conducting interviews with vendors, negotiating supplier agreements and managing supplier and vendor contracts<br />
•	Provides clerical support when needed to assist clerical staff with assigned administrative duties such as answering phones, sorting and distributing mail, and preparing documents</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 8 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  50 Thousand  To  3  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">HR / Recruitment / Administration / IR / Training & Development / Operations</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">HR Administrator</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HR manager</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HR head</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HR 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">Contact Person</td>
						<td class="p5px">Mr. Vijay Dhoot</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">103 Deora House, Kahadiya Road (Land Mark : Opposite Morya Garden)</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9827369327 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:enriseglobal@gmail.com"> enriseglobal@gmail.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="899903">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="917932"><input type="hidden" name="subject" value="Applied for Manager HR & Administration">
					</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-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(6)</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">(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">(1)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</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-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</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: 'czRva0FVQVI0amNXUFcvQUd5NmFiQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:75:"Job openings for hr administration in madhya pradesh indore | Enrise global";i:2;s:255:"Manager HR & Administration Jobs,Manager HR & Administration Jobs in Indore,Manager HR & Administration Vacancy in Indore,Manager HR & Administration jobs in India,HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Indore";i:3;s:386:"Apply for Manager HR & Administration Jobs in Indore India - Manager HR & Administration Vacancy  in HR / Recruitment / Administration / IR / Training & Development / Operations field with 3 to 8 years Work Experience, Key Skills are HR Administrator, HR manager, HR head, HR management, HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Indore  India";i:4;s:2503:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Manager HR & Administration",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "917932"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9827369327",
	      "email" : "enriseglobal@gmail.com"  
	       },
		  "url": "http://www.enriseglobal.com/job-openings-for-hr-administration-madhya-pradesh-indore-917932.htm",
          "datePosted": "2020-03-18",
          
		  "baseSalary": " 2  Lac  50 Thousand  To  3  Lac  50 Thousand ",
		  "description": "Responsibilities:
•	Handles recruiting, hiring, and termination of employees in accordance with company policy
•	Set standard operating procedures and rules for all administration, HR, and work flow
•	Oversees attendance and time management functions
•	Conduct staff training needs assessment (TNA), prepare periodic training plan, follow up on implementation, as well as coordinating all internal learning sessions and in-house workshops
•	Manages insurance contract and serves the point of contact between staff, HQ and insurance company
•	Provides daily Human Resources information to staff regarding benefits and policies
•	Updates and maintains computerized and written employment records on staff, including verifying data, and notices
•	Provides advice and support on HR policies and procedures to staff
•	Provides procurement support in directing purchasing officers through the process of evaluating suppliers, conducting interviews with vendors, negotiating supplier agreements and managing supplier and vendor contracts
•	Provides clerical support when needed to assist clerical staff with assigned administrative duties such as answering phones, sorting and distributing mail, and preparing documents",
		  "educationRequirements": "Professional Degree",
		  "experienceRequirements": "3 - 8 Years",
		  "industry": "HR / Recruitment / Administration / IR / Training & Development / Operations",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Madhya Pradesh",
		      "addressRegion": "Indore"
		    }
		  },
		 "qualifications": "Professional Degree",
		     "skills": "HR Administrator, HR manager, HR head, HR management"
		  }
		</script>
		";i:5;N;}