a:6:{i:0;s:8486:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Sales Representative (Ho.Re.Ca)</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.jenishfood.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.jenishfood.com/current-openings.htm" title="Current Openings">Current Openings</a>
																
					<b class="ffv p2px">&rsaquo;</b> Sales Representative (Ho.Re.Ca)</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> 1 - 5 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Surat</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="889733">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="887675"><input type="hidden" name="subject" value="Applied for Sales Representative (Ho.Re.Ca)">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Roles & Responsibilities:<br />
- Handle B2B sales to various Hotels, Restaurants, Industrial Caterers and Hospitality sector clients.<br />
- Regular calls and periodic meetings with clients to share product portfolio and understand changing or additional needs in tune with current market<br />
- To increase the profitability of the organization through Proactive Client Servicing and increasing basket size of clients.<br />
- Timely Account Reconciliation and ensuring timely payments from clients.<br />
-If required to Delivery & Payment Follow up.<br />
- Addressing customer complaints and concerns and resolving them to achieve customer satisfaction and in turn customer delight.<br />
- Track Revenue Growth for TOP customers cluster wise<br />
- Responsible for managing the entire customer base registered in the region and increase revenue per customer, reduce revenue leakages, ensure high customer satisfaction level.</p>
				
				<table class="w100 formTable bdr0 mt10px">				
									<tr>
					<td class="w22 alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</td>
					</tr>
									
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Sales/Marketing</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">1 - 5 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree, Other Bachelor Degree, MD/Medicinae Doctor, Post Graduate Diploma</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">sales</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Retail Sales  </span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Retailer</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Retail Executive</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Retail Sales Officer</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">retail</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Marketing</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
				Jenish Incorporation is a reliable manufacturer, supplier, and exporter of food products. The company was founded in Surat (Gujarat) back in the year 1994. We are known as a manufacturer, supplier, and exporter of jaljira powder, taste plus powder, pachak amla and many more. The company’s core values are the provision of excellent quality food items by satisfying all customers. Moreover, we also believe in upholding the commitment and improve the production method. We are visionary and aim at the various things 20 years from now and it includes annual growth by 50%. Furthermore, we also see ourselves as a global instigator in this industry with 50 branch offices in 7 Asian countries, manufacturing/supplying/exporting 150+ products, teams of 3000 deft professionals, annual turnover of 1,414 crores, and one toll-free number in every country.				
				<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="889733">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="887675"><input type="hidden" name="subject" value="Applied for Sales Representative (Ho.Re.Ca)">
					</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-surat.htm" title="Jobs in Surat">Surat</a> <b class="alpha50 bn small">(8)</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-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">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR / Media Planning</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a> <b class="alpha50 bn small">(5)</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: 'Qm9IWnhYUXZNTE5MT1NFYkZQV3hZQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:74:"Sales Representative (Ho.Re.Ca) Jobs in Surat - Vacancy in Sales/Marketing";i:2;s:207:"Sales Representative (Ho.Re.Ca) Jobs,Sales Representative (Ho.Re.Ca) Jobs in Surat,Sales Representative (Ho.Re.Ca) Vacancy in Surat,Sales Representative (Ho.Re.Ca) jobs in India,Sales/Marketing jobs in Surat";i:3;s:303:"Apply for Sales Representative (Ho.Re.Ca) Jobs in Surat India - Sales Representative (Ho.Re.Ca) Vacancy  in Sales/Marketing field with 1 to 5 years Work Experience, Key Skills are sales,Retail Sales  ,Retailer,Retail Executive,Retail Sales Officer,retail, Marketing, Sales/Marketing jobs in Surat  India";i:4;s:1727:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Sales Representative (Ho.Re.Ca)",
		  "baseSalary": "",
		  "description": "Roles & Responsibilities:
- Handle B2B sales to various Hotels, Restaurants, Industrial Caterers and Hospitality sector clients.
- Regular calls and periodic meetings with clients to share product portfolio and understand changing or additional needs in tune with current market
- To increase the profitability of the organization through Proactive Client Servicing and increasing basket size of clients.
- Timely Account Reconciliation and ensuring timely payments from clients.
-If required to Delivery & Payment Follow up.
- Addressing customer complaints and concerns and resolving them to achieve customer satisfaction and in turn customer delight.
- Track Revenue Growth for TOP customers cluster wise
- Responsible for managing the entire customer base registered in the region and increase revenue per customer, reduce revenue leakages, ensure high customer satisfaction level.",
		  "educationRequirements": "Professional Degree, Other Bachelor Degree, MD/Medicinae Doctor, Post Graduate Diploma",
		  "experienceRequirements": "1 - 5 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Surat"
		    }
		  },
		 "qualifications": "Professional Degree, Other Bachelor Degree, MD/Medicinae Doctor, Post Graduate Diploma",
		     "skills": "sales,Retail Sales  ,Retailer,Retail Executive,Retail Sales Officer,retail, Marketing"
		  }
		</script>
		";i:5;N;}