a:6:{i:0;s:10985:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Store Manager</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.ekluvyaconsultancy.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.ekluvyaconsultancy.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Store Manager</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-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 3 - 5 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Bhopal</p>
										
					<div>
					<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="695486">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="619483"><input type="hidden" name="subject" value="Applied for store manager">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">We are looking for the post of Store manager in Bhopal Location <br />
<br />
Retail Store Manager Job Duties:<br />
Completes store operational requirements by scheduling and assigning employees; following up on work results.<br />
Maintains store staff by recruiting, selecting, orienting, and training employees.<br />
Maintains store staff job results by coaching, counseling, and disciplining employees; planning, monitoring, and appraising job results.<br />
Achieves financial objectives by preparing an annual budget; scheduling expenditures; analyzing variances; initiating corrective actions.<br />
Identifies current and future customer requirements by establishing rapport with potential and actual customers and other persons in a position to understand service requirements.<br />
Ensures availability of merchandise and services by approving contracts; maintaining inventories.<br />
Formulates pricing policies by reviewing merchandising activities; determining additional needed sales promotion; authorizing clearance sales; studying trends.<br />
Markets merchandise by studying advertising, sales promotion, and display plans; analyzing operating and financial statements for profitability ratios.<br />
Secures merchandise by implementing security systems and measures.<br />
Protects employees and customers by providing a safe and clean store environment.<br />
Maintains the stability and reputation of the store by complying with legal requirements.<br />
Determines marketing strategy changes by reviewing operating and financial statements and departmental sales records.<br />
Maintains professional and technical knowledge by attending educational workshops; reviewing professional publications;</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  50 Thousand  To  4  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Export / Import / Merchandising</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">3 - 5 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Store Manager</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">ekluvya infotech services</p></td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Ekluvya Infotech Services (Training & Placement):

We would like to take this opportunity of introducing our self;
Ekluvya Infotech Services   is one of the leading placement Firm at
Bhopal.  Our services are involved in providing excellent Staffing &
Recruitment services. We are involved in manpower resources to host of
leading companies from all over Central India.</td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">Abhishek</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">minal gate no.1 jk road above narmada bakers,Bhopal</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">7247200077 </td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:ekluvyaconsultancy@gmail.com"> ekluvyaconsultancy@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="695486">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="619483"><input type="hidden" name="subject" value="Applied for store manager">
					</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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-bhopal.htm" title="Jobs in Bhopal">Bhopal</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-sehore.htm" title="Jobs in Sehore">Sehore</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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxation</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-analytics-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intelligence</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-banking-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock Market / Financial Services</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Training / Counselling / Academic</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandising</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assistant / Data Entry</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Customer Service / Operations</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Quality</a> <b class="alpha50 bn small">(1)</b></span>
									
				</div>
				</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: 'UGw1bThkNmNteWlQRHZ0TC9ac1F3Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:73:"store manager Jobs in Bhopal - Vacancy in Export / Import / Merchandising";i:2;s:154:"store manager Jobs,store manager Jobs in Bhopal,store manager Vacancy in Bhopal,store manager jobs in India,Export / Import / Merchandising jobs in Bhopal";i:3;s:229:"Apply for store manager Jobs in Bhopal India - store manager Vacancy  in Export / Import / Merchandising field with 3 to 5 years Work Experience, Key Skills are Store Manager, Export / Import / Merchandising jobs in Bhopal  India";i:4;s:2321:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "store manager",
		  "baseSalary": " 3  Lac  50 Thousand  To  4  Lac  50 Thousand ",
		  "description": "We are looking for the post of Store manager in Bhopal Location 

Retail Store Manager Job Duties:
Completes store operational requirements by scheduling and assigning employees; following up on work results.
Maintains store staff by recruiting, selecting, orienting, and training employees.
Maintains store staff job results by coaching, counseling, and disciplining employees; planning, monitoring, and appraising job results.
Achieves financial objectives by preparing an annual budget; scheduling expenditures; analyzing variances; initiating corrective actions.
Identifies current and future customer requirements by establishing rapport with potential and actual customers and other persons in a position to understand service requirements.
Ensures availability of merchandise and services by approving contracts; maintaining inventories.
Formulates pricing policies by reviewing merchandising activities; determining additional needed sales promotion; authorizing clearance sales; studying trends.
Markets merchandise by studying advertising, sales promotion, and display plans; analyzing operating and financial statements for profitability ratios.
Secures merchandise by implementing security systems and measures.
Protects employees and customers by providing a safe and clean store environment.
Maintains the stability and reputation of the store by complying with legal requirements.
Determines marketing strategy changes by reviewing operating and financial statements and departmental sales records.
Maintains professional and technical knowledge by attending educational workshops; reviewing professional publications;",
		  "educationRequirements": "Professional Degree",
		  "experienceRequirements": "3 - 5 Years",
		  "industry": "Export / Import / Merchandising",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Madhya Pradesh",
		      "addressRegion": "Bhopal"
		    }
		  },
		 "qualifications": "Professional Degree",
		     "skills": "Store Manager"
		  }
		</script>
		";i:5;N;}