a:6:{i:0;s:14633:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for customer care specialist in mumbai</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.thejobsindia.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.thejobsindia.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for customer care specialist in mumbai</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">Immediate Hiring For Customer Care Specialist</div>
									<p class="mt7px fw6">Mumbai</p>
									
				<br>
				<p class="aj mt7px">Position Summary<br />
<br />
Customer care specialists are responsible for handling calls from new and existing customers regarding a variety of requests. Using their knowledge of products or services as well as great customer service skills, these professionals address issues, provide support and offer information, as needed, to keep customers satisfied and retain business. Specialists requires an intimate knowledge of the products or services being sold, great communication skills and sales experience. The ability to cross-sell products is also essential. Demonstrated success in sales and customer service is required.<br />
<br />
Roles and Responsibilities<br />
<br />
Answers inquiries by clarifying desired information; researching, locating, and providing information<br />
Determines requirements by working with customers<br />
Resolves problems by clarifying issues; researching and exploring answers and alternative solutions; implementing solutions; escalating unresolved problems.<br />
<br />
<br />
Regional Language Communication Skill<br />
Basic understanding of Medical jargon<br />
Basic understanding lab test<br />
Should be flexible for rotational shift<br />
Should be able to understand basic Marathi<br />
Basic Telephone Etiquettes<br />
MS Office<br />
Typing Skills minimum 15 WPM with 85% accuracy & Basic System Navigation Skills<br />
Ability to write, read and speak English to suit business need<br />
Decision Making, numerical ability & logical reasoning<br />
Customer Focus and Being Attentive</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  To  3  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - DataBase / Datawarehousing</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Post Graduate Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Customer Care Specialist</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">Contact Person</td>
						<td class="p5px">impacthr</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">canada corner</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8793740165 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:impacthrnkms@gmail.com"> impacthrnkms@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="300819">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="665691"><input type="hidden" name="subject" value="Applied for Immediate Hiring for Customer Care Specialist">
					</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-nashik.htm" title="Jobs in Nashik">Nashik</a> <b class="alpha50 bn small">(468)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(12)</b></span>
										<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">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-aurangabad.htm" title="Jobs in Aurangabad">Aurangabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-nandurbar.htm" title="Jobs in Nandurbar">Nandurbar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-thane.htm" title="Jobs in Thane">Thane</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jalgaon.htm" title="Jobs in Jalgaon">Jalgaon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-coimbatore.htm" title="Jobs in Coimbatore">Coimbatore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-dharmapuri.htm" title="Jobs in Dharmapuri">Dharmapuri</a> <b class="alpha50 bn small">(1)</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">(92)</span><a href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a></p>
										<p class="mb5px "><span class="fr">(68)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(52)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(33)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(28)</span><a href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(26)</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">(18)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(18)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(17)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px "><span class="fr">(16)</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">(14)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(14)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(13)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(12)</span><a href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(11)</span><a href="jobs-in-analytics-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(11)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(10)</span><a href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(8)</span><a href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(7)</span><a href="jobs-in-purchase-supply-chain-fid.htm" title="Purchase / Supply Chain Jobs">Purchase / Supply Chain</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(4)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</span><a href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-merchandser-fid.htm" title="Fashion Designing & Merchandising Jobs">Fashion Designing & Merchandis...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-telecom-software-fid.htm" title="IT Software - Telecom Jobs">IT Software - Telecom</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-transportation-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping Jobs">Cargo / Freight / Transportati...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-network-administration-security-fid.htm" title="IT Software - Network Administration, Security Jobs">IT Software - Network Administ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-public-relation-fid.htm" title="Public Relation Jobs">Public Relation</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-security-fid.htm" title="Security / Law Enforcement / Defence Force Jobs">Security / Law Enforcement / D...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'M3Zib21BOUNHUEZpblo2RE9FU0hXdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:78:"Job openings for customer care specialist in mumbai | Impact HR & KM Solutions";i:2;s:291:"Immediate Hiring for Customer Care Specialist Jobs,Immediate Hiring for Customer Care Specialist Jobs in Mumbai,Immediate Hiring for Customer Care Specialist Vacancy in Mumbai,Immediate Hiring for Customer Care Specialist jobs in India,IT Software - DataBase / Datawarehousing jobs in Mumbai";i:3;s:322:"Apply for Immediate Hiring for Customer Care Specialist Jobs in Mumbai India - Immediate Hiring for Customer Care Specialist Vacancy  in IT Software - DataBase / Datawarehousing field with 0 to 1 years Work Experience, Key Skills are Customer Care Specialist, IT Software - DataBase / Datawarehousing jobs in Mumbai  India";i:4;s:2129:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Immediate Hiring for Customer Care Specialist",
		  "baseSalary": " 1  Lac  To  3  Lac ",
		  "description": "Position Summary

Customer care specialists are responsible for handling calls from new and existing customers regarding a variety of requests. Using their knowledge of products or services as well as great customer service skills, these professionals address issues, provide support and offer information, as needed, to keep customers satisfied and retain business. Specialists requires an intimate knowledge of the products or services being sold, great communication skills and sales experience. The ability to cross-sell products is also essential. Demonstrated success in sales and customer service is required.

Roles and Responsibilities

Answers inquiries by clarifying desired information; researching, locating, and providing information
Determines requirements by working with customers
Resolves problems by clarifying issues; researching and exploring answers and alternative solutions; implementing solutions; escalating unresolved problems.


Regional Language Communication Skill
Basic understanding of Medical jargon
Basic understanding lab test
Should be flexible for rotational shift
Should be able to understand basic Marathi
Basic Telephone Etiquettes
MS Office
Typing Skills minimum 15 WPM with 85% accuracy & Basic System Navigation Skills
Ability to write, read and speak English to suit business need
Decision Making, numerical ability & logical reasoning
Customer Focus and Being Attentive",
		  "educationRequirements": "Post Graduate Diploma",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "IT Software - DataBase / Datawarehousing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai"
		    }
		  },
		 "qualifications": "Post Graduate Diploma",
		     "skills": "Customer Care Specialist"
		  }
		</script>
		";i:5;N;}