a:6:{i:0;s:8409:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for sales supporter 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 supporter 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 Supporter - Kim Location</div>
									<p class="mt7px fw6">Surat</p>
									
				<br>
				<p class="aj mt7px">We are Looking for An Organized, Efficient Sales Support Specialist to Be Responsible for Administrative Duties and Assisting the Sales Department in Gaining and Keeping Customers. <br />
<br />
the Sales Support Specialist's Responsibilities Include Tracking Sales Leads, Coordinating Quotes with Sales Packs, Providing Customer Service, and Managing Customer Accounts. the Sales Support Specialist is also Responsible for Monitoring Sales and the Performance of the Sales Team as Well as Recording Sales Data.<br />
<br />
to Be a Successful Sales Support Specialist, You Should have Good Time Management and Organizational Skills. You Should also Demonstrate Excellent Interpersonal, Communication, and Customer Service Skills.<br />
<br />
sales Support Specialist Responsibilities:<br />
<br />
-answering Customer Inquiries, Scheduling Meetings and Sales Appointments, and Following Up with Customers About Their Order Status.<br />
-compiling a Daily List of Sales Leads, Delegating Leads to the Sales Department, and Providing Sales Data and Guides to the Sales Department.<br />
-developing and Monitoring Performance Indicators for Sales and Staff Members, Managing Sales Tracking Tools, and Compiling Reports.<br />
-recording Sales Trends and Liaising with Account Managers to Develop Sales Strategies.<br />
-creating and Processing Orders in a Timely Manner, Processing Requests for Rush Orders, and <br />
  Reviewing Pending Orders and Customer Requests to Ensure Customer Satisfaction.<br />
- Managing Customer Accounts, Following Up with Customers for Administrative Purposes, and <br />
  Providing Troubleshooting Assistance for Orders, Account Statuses, and other Problems.<br />
- Performing Data Entry Tasks for Sales Figures, Metrics, and other Relevant Information and <br />
  Maintaining An Organized and Accessible Filing System.<br />
<br />
-handling Administrative Duties for the Company and Its Executives and Management Teams.<br />
-scheduling Customer Meetings and Conferences.<br />
- Reporting Any Unusual Activity to Your Supervisors.<br />
- Knowledge Computer Basic like Word, Power Points, Excel.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 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">Higher Secondary, Secondary School, Vocational Course, Diploma, Advanced/Higher Diploma, 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">marketing</span>
												<span class="bdr dib p2px10px mr5px mt2px">Direct 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="898820"><input type="hidden" name="subject" value="Applied for Sales Supporter - Kim Location">
					</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: 'Umc3NUdXU2w3ZHZ3NHg1UTU2R3Frdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:64:"Job openings for sales supporter in surat | Jenish Incorporation";i:2;s:203:"Sales Supporter - Kim Location Jobs,Sales Supporter - Kim Location Jobs in Surat,Sales Supporter - Kim Location Vacancy in Surat,Sales Supporter - Kim Location jobs in India,Sales/Marketing jobs in Surat";i:3;s:248:"Apply for Sales Supporter - Kim Location Jobs in Surat India - Sales Supporter - Kim Location Vacancy  in Sales/Marketing field with 2 to 5 years Work Experience, Key Skills are sales,marketing,Direct Marketing, Sales/Marketing jobs in Surat  India";i:4;s:2972:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Sales Supporter - Kim Location",
		  "baseSalary": "",
		  "description": "We are Looking for An Organized, Efficient Sales Support Specialist to Be Responsible for Administrative Duties and Assisting the Sales Department in Gaining and Keeping Customers. 

the Sales Support Specialist's Responsibilities Include Tracking Sales Leads, Coordinating Quotes with Sales Packs, Providing Customer Service, and Managing Customer Accounts. the Sales Support Specialist is also Responsible for Monitoring Sales and the Performance of the Sales Team as Well as Recording Sales Data.

to Be a Successful Sales Support Specialist, You Should have Good Time Management and Organizational Skills. You Should also Demonstrate Excellent Interpersonal, Communication, and Customer Service Skills.

sales Support Specialist Responsibilities:

-answering Customer Inquiries, Scheduling Meetings and Sales Appointments, and Following Up with Customers About Their Order Status.
-compiling a Daily List of Sales Leads, Delegating Leads to the Sales Department, and Providing Sales Data and Guides to the Sales Department.
-developing and Monitoring Performance Indicators for Sales and Staff Members, Managing Sales Tracking Tools, and Compiling Reports.
-recording Sales Trends and Liaising with Account Managers to Develop Sales Strategies.
-creating and Processing Orders in a Timely Manner, Processing Requests for Rush Orders, and 
  Reviewing Pending Orders and Customer Requests to Ensure Customer Satisfaction.
- Managing Customer Accounts, Following Up with Customers for Administrative Purposes, and 
  Providing Troubleshooting Assistance for Orders, Account Statuses, and other Problems.
- Performing Data Entry Tasks for Sales Figures, Metrics, and other Relevant Information and 
  Maintaining An Organized and Accessible Filing System.

-handling Administrative Duties for the Company and Its Executives and Management Teams.
-scheduling Customer Meetings and Conferences.
- Reporting Any Unusual Activity to Your Supervisors.
- Knowledge Computer Basic like Word, Power Points, Excel.",
		  "educationRequirements": "Higher Secondary, Secondary School, Vocational Course, Diploma, Advanced/Higher Diploma, Professional Degree, Other Bachelor Degree, MD/Medicinae Doctor, Post Graduate Diploma",
		  "experienceRequirements": "2 - 5 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Surat"
		    }
		  },
		 "qualifications": "Higher Secondary, Secondary School, Vocational Course, Diploma, Advanced/Higher Diploma, Professional Degree, Other Bachelor Degree, MD/Medicinae Doctor, Post Graduate Diploma",
		     "skills": "sales,marketing,Direct Marketing"
		  }
		</script>
		";i:5;N;}