a:6:{i:0;s:7432:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for sales representative in surat</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> Job openings for sales representative in surat</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="xxxlarge fw6 dif">Sales Representative (Ho.Re.Ca)</div>
									<p class="mt7px fw6">Surat</p>
									
				<br>
				<p class="aj mt7px">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 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 5 Years</td>
				</tr>			
									<tr>
					<td class="alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</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">Professional Degree, Other Bachelor Degree, MD/Medicinae Doctor, Post Graduate Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">sales</span>
												<span class="bdr dib p2px10px mr5px mt2px">Retail Sales  </span>
												<span class="bdr dib p2px10px mr5px mt2px">Retailer</span>
												<span class="bdr dib p2px10px mr5px mt2px">Retail Executive</span>
												<span class="bdr dib p2px10px mr5px mt2px">Retail Sales Officer</span>
												<span class="bdr dib p2px10px mr5px mt2px">retail</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Marketing</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</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="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-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="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">(5)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(1)</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-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">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</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: 'Qm9IWnhYUXZNTE5MT1NFYkZQV3hZQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:69:"Job openings for sales representative in surat | Jenish Incorporation";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;}