a:6:{i:0;s:8565:"					<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="https://www.jenishfood.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://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;}