a:6:{i:0;s:5633:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for customer support executive in pimpri chinchwad pune</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.aonenursesbureau.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.aonenursesbureau.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for customer support executive in pimpri chinchwad pune</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">Customer Support Executive</div>
									<p class="mt7px fw6">Pune, Pimpri Chinchwad</p>
									
				<br>
				<p class="aj mt7px">Supervisor will be responsible to handle client requirement with employee database. Training for 2 months will be given.</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"> 1  Lac  25 Thousand  To  1  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Self Employed / Entrepreneur / Consultants / Freelancers</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Higher Secondary</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Customer Handling</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Customer Service </span>
												<span class="bdr dib p2px10px mr5px mt2px"> customer handling</span>
												<span class="bdr dib p2px10px mr5px mt2px"> customer support</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:jagtapsunil500@gmail.com"> jagtapsunil500@gmail.com </a></td>
						</tr>
										
					</table>
									
				<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="343946">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="892870"><input type="hidden" name="subject" value="Applied for Customer Support Executive">
					</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-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(2)</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">(1)</span><a href="jobs-in-self-employed-entrepreneur-consultants-freelancers-fid.htm" title="Self Employed / Entrepreneur / Consultants / Freelancers Jobs">Self Employed / Entrepreneur /...</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>
									
				</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: 'azFtc3dPNi8rU3hhNlpQS3VXVzBJUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:88:"Job openings for customer support executive in pimpri chinchwad pune | A-1 Nurses Bureau";i:2;s:225:"Customer Support Executive Jobs,Customer Support Executive Jobs in Pune,Customer Support Executive Vacancy in Pune,Customer Support Executive jobs in India,Self Employed / Entrepreneur / Consultants / Freelancers jobs in Pune";i:3;s:361:"Apply for Customer Support Executive Jobs in Pune India - Customer Support Executive Vacancy  in Self Employed / Entrepreneur / Consultants / Freelancers field with 1 to 5 years Work Experience, Key Skills are Customer Handling, Customer Service , customer handling, customer support, Self Employed / Entrepreneur / Consultants / Freelancers jobs in Pune  India";i:4;s:913:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Customer Support Executive",
		  "baseSalary": " 1  Lac  25 Thousand  To  1  Lac  50 Thousand ",
		  "description": "Supervisor will be responsible to handle client requirement with employee database. Training for 2 months will be given.",
		  "educationRequirements": "Higher Secondary",
		  "experienceRequirements": "1 - 5 Years",
		  "industry": "Self Employed / Entrepreneur / Consultants / Freelancers",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune, Pimpri Chinchwad"
		    }
		  },
		 "qualifications": "Higher Secondary",
		     "skills": "Customer Handling, Customer Service , customer handling, customer support"
		  }
		</script>
		";i:5;N;}