a:6:{i:0;s:8487:"				<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="h1"><h1>Job openings for telecaller in noida</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.aspiringhrsolution.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.aspiringhrsolution.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for telecaller in noida</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Outbound Voice Process</div>
									<p class="mt7px fw6">Noida</p>
									
				<br>
				<p class="aj mt7px">Candidates should be above and minimum 12th pass.<br />
Candidates should be comfortable with computer.<br />
Candidates should be comfortable with 24*7 shifts; <br />
Active listening and problem solving skills.<br />
Making outbound calls or Receive inbound calls of Customers.<br />
Appropriate Knowledge of Web Browsers<br />
Sound understanding of MS office, Knowledge of Shortcut Keys.<br />
Must have a typing speed of 15 wpm with 75% accuracy.<br />
To remain as basic point of contact for customers with queries, complaints, feedback\'s, requests etc.<br />
Good verbal and listening communication skills with that reflect a friendly, positive disposition and commitment to the customer<br />
Document the calls to ensure all information is captured.<br />
Meeting calling targets.<br />
Provide quality customer service on every call<br />
Good Analytical Skills<br />
Ability to perform under a high pressure work environment.</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  25 Thousand  To  1  Lac  75 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">ITES / BPO / KPO / LPO / Customer Service / Operations</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Secondary School, Other Bachelor Degree, MD/Medicinae Doctor</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Telecalling</span>
												<span class="bdr dib p2px10px mr5px mt2px"> BPO</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Telemarketing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Telesales</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Voice Process</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">Hemalta yadav</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Jaipur</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8003056071 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:aspiringhrsolution@gmail.com"> aspiringhrsolution@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="871557">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="876047"><input type="hidden" name="subject" value="Applied for Outbound Voice Process">
					</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-jaipur.htm" title="Jobs in Jaipur">Jaipur</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ludhiana.htm" title="Jobs in Ludhiana">Ludhiana</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jodhpur.htm" title="Jobs in Jodhpur">Jodhpur</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">(5)</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 "><span class="fr">(2)</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-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(1)</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-legal-services-fid.htm" title="Legal / Law Services / Judiciary Jobs">Legal / Law Services / Judicia...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</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">(1)</span><a href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technolog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</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: 'UEY1OFpod3NlSGM5M0d2cEtGeWt4UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:59:"Job openings for telecaller in noida | Aspiring hr solution";i:2;s:210:"Outbound Voice Process Jobs,Outbound Voice Process Jobs in Noida,Outbound Voice Process Vacancy in Noida,Outbound Voice Process jobs in India,ITES / BPO / KPO / LPO / Customer Service / Operations jobs in Noida";i:3;s:335:"Apply for Outbound Voice Process Jobs in Noida India - Outbound Voice Process Vacancy  in ITES / BPO / KPO / LPO / Customer Service / Operations field with 0 to 1 years Work Experience, Key Skills are Telecalling, BPO, Telemarketing, Telesales, Voice Process, ITES / BPO / KPO / LPO / Customer Service / Operations jobs in Noida  India";i:4;s:1697:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Outbound Voice Process",
		  "baseSalary": " 1  Lac  25 Thousand  To  1  Lac  75 Thousand ",
		  "description": "Candidates should be above and minimum 12th pass.
Candidates should be comfortable with computer.
Candidates should be comfortable with 24*7 shifts; 
Active listening and problem solving skills.
Making outbound calls or Receive inbound calls of Customers.
Appropriate Knowledge of Web Browsers
Sound understanding of MS office, Knowledge of Shortcut Keys.
Must have a typing speed of 15 wpm with 75% accuracy.
To remain as basic point of contact for customers with queries, complaints, feedback\'s, requests etc.
Good verbal and listening communication skills with that reflect a friendly, positive disposition and commitment to the customer
Document the calls to ensure all information is captured.
Meeting calling targets.
Provide quality customer service on every call
Good Analytical Skills
Ability to perform under a high pressure work environment.",
		  "educationRequirements": "Secondary School, Other Bachelor Degree, MD/Medicinae Doctor",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "ITES / BPO / KPO / LPO / Customer Service / Operations",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Noida"
		    }
		  },
		 "qualifications": "Secondary School, Other Bachelor Degree, MD/Medicinae Doctor",
		     "skills": "Telecalling, BPO, Telemarketing, Telesales, Voice Process"
		  }
		</script>
		";i:5;N;}