a:6:{i:0;s:8676:"				<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 sales head in gurgaon</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.krfacilities.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.krfacilities.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for sales head in gurgaon</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Sales Head</div>
									<p class="mt7px fw6">Gurgaon</p>
									
				<br>
				<p class="aj mt7px">•	assist Founders in Developing and Executing Business Development Strategy and Plan, Both Short and Long Range, to Ensure Achievement of Company Sales Targets, Growth in Profits and Expansion of Company Services.<br />
•	research, Analyze and Monitor Financial, Technological and Demographic Factors So that Market Opportunities May Be Capitalized On and Effects of Competition May Be Minimized.<br />
•	identify Potential Market Segments/verticals<br />
•	achieve Revenue and Contribution Targets, Build Credibility in the Market & Gain Market Share.<br />
•	ensure Customer Satisfaction By Achieving Delivery and Service Quality Norms.<br />
•	ensure Timely Collection of Payment as per Agreed Terms with the Customer.<br />
•	ensure Target Achievement of Team Members from Different Product & Geographic Domains.<br />
•	identify Prospective Alliance Partners and Enter Into Strategic Alliances.<br />
•	initiate Process Improvement and Ensure Compliance to Quality Standards to Ensure Quality of all Deliverables.<br />
skill Required:<br />
•	possess Extensive Knowledge of Sales Principles and Practices, and An Ability to Coach Others On Them.<br />
•	strong Analytical and Quantitative Skills; Ability to Use Hard Data and Metrics to Back Up Assumptions, Recommendations, and Drive Actions.<br />
•	proven Ability to Influence Cross-functional Teams<br />
•	strength in Problem Solving, Issue-resolution, Ability to Work in a Deadline-driven Work Environment, Attention to Detail, and Ability to Multitask.<br />
•	strong Leadership and Team Building Skills<br />
•	should have Market Intelligence, Knowledge of Competitors Products and Future Business Plans.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">4 - 10 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 5  Lac  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Sales/Marketing</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Sales Head</span>
												<span class="bdr dib p2px10px mr5px mt2px"> sales</span>
												<span class="bdr dib p2px10px mr5px mt2px"> marketing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> business development</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">IT Company</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">IT Company</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:krf.hrd@gmail.com"> krf.hrd@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="321195">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="907713"><input type="hidden" name="subject" value="Applied for Sales Head">
					</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-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</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">(27)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(15)</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">(7)</span><a href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-public-relation-fid.htm" title="Public Relation Jobs">Public Relation</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: 'YUVoMEVXb3ZDejZZa3g5alQ2MXZoQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:54:"Job openings for sales head in gurgaon | KR Facilities";i:2;s:129:"Sales Head Jobs,Sales Head Jobs in Gurgaon,Sales Head Vacancy in Gurgaon,Sales Head jobs in India,Sales/Marketing jobs in Gurgaon";i:3;s:231:"Apply for Sales Head Jobs in Gurgaon India - Sales Head Vacancy  in Sales/Marketing field with 4 to 10 years Work Experience, Key Skills are Sales Head, sales, marketing, business development, Sales/Marketing jobs in Gurgaon  India";i:4;s:2288:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Sales Head",
		  "baseSalary": " 5  Lac  To  10  Lac ",
		  "description": "•	assist Founders in Developing and Executing Business Development Strategy and Plan, Both Short and Long Range, to Ensure Achievement of Company Sales Targets, Growth in Profits and Expansion of Company Services.
•	research, Analyze and Monitor Financial, Technological and Demographic Factors So that Market Opportunities May Be Capitalized On and Effects of Competition May Be Minimized.
•	identify Potential Market Segments/verticals
•	achieve Revenue and Contribution Targets, Build Credibility in the Market & Gain Market Share.
•	ensure Customer Satisfaction By Achieving Delivery and Service Quality Norms.
•	ensure Timely Collection of Payment as per Agreed Terms with the Customer.
•	ensure Target Achievement of Team Members from Different Product & Geographic Domains.
•	identify Prospective Alliance Partners and Enter Into Strategic Alliances.
•	initiate Process Improvement and Ensure Compliance to Quality Standards to Ensure Quality of all Deliverables.
skill Required:
•	possess Extensive Knowledge of Sales Principles and Practices, and An Ability to Coach Others On Them.
•	strong Analytical and Quantitative Skills; Ability to Use Hard Data and Metrics to Back Up Assumptions, Recommendations, and Drive Actions.
•	proven Ability to Influence Cross-functional Teams
•	strength in Problem Solving, Issue-resolution, Ability to Work in a Deadline-driven Work Environment, Attention to Detail, and Ability to Multitask.
•	strong Leadership and Team Building Skills
•	should have Market Intelligence, Knowledge of Competitors Products and Future Business Plans.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "4 - 10 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Gurgaon"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Sales Head, sales, marketing, business development"
		  }
		</script>
		";i:5;N;}