a:6:{i:0;s:8563:"					<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 / Business Development/telecaller</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-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</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-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</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:239:"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 / Business Development/telecaller jobs in Surat";i:3;s:320:"Apply for Sales Supporter - Kim Location Jobs in Surat India - Sales Supporter - Kim Location Vacancy  in Sales & Marketing / Business Development/telecaller field with 2 to 5 years Work Experience, Key Skills are sales,marketing,Direct Marketing, Sales & Marketing / Business Development/telecaller jobs in Surat  India";i:4;s:3008:"
		<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 / Business Development/telecaller",
		  "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;}