a:6:{i:0;s:7224:"				<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 bpo executive in mohali</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.elitebusinessolution.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.elitebusinessolution.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for bpo executive in mohali</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Hiring For International BPO</div>
									<p class="mt7px fw6">Mohali</p>
									
				<br>
				<p class="aj mt7px">Dear Candidates,<br />
<br />
We are conducting the interviews for a renowned company in  JAIPUR ,And MOHALI for the designation of Customer Service Associate (Blended/Backed/Inbound).<br />
<br />
Please Note: We Do NOT charge any kind of fees.<br />
<br />
Desired candidature is mention below.<br />
<br />
Key responsibilities required:<br />
<br />
- Technical and Customer Support Executive<br />
<br />
- Need to have Good comm. skills in English-Verbal<br />
<br />
- Excellent Understanding about customer service<br />
<br />
- Comfortable for a Rotational Shift & Rotational offs.<br />
<br />
- International Clients.<br />
<br />
- Technical Process.<br />
<br />
- Financial Process.<br />
<br />
-?Voice / Non voice / Inbound / Outbound / Blended<br />
<br />
- Salary - Best In Industry<br />
<br />
- High growth opportunities.<br />
<br />
- Guest House Facility<br />
<br />
- Friendly environment with dynamic exposure.<br />
<br />
- Immediate Joining<br />
<br />
- Any undergraduate / Graduate<br />
<br />
Benefits:<br />
<br />
- Guest House From The Company's Side*<br />
<br />
- Travel Allowance*<br />
<br />
- Relocation Bonus*<br />
<br />
To get your interview scheduled, Kindly reach us <br />
<br />
We hire for various industries, designations and companies across India.<br />
You can help your friends and colleagues by referring their contact if they are looking out for a job.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  50 Thousand  To  4  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">ITES / BPO / KPO / LPO / Customer Service</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Secondary School</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Customer Associate</span>
												<span class="bdr dib p2px10px mr5px mt2px"> International BPO</span>
												<span class="bdr dib p2px10px mr5px mt2px"> international chat</span>
												<span class="bdr dib p2px10px mr5px mt2px"> chat support</span>
												<span class="bdr dib p2px10px mr5px mt2px"> email 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">Contact Person</td>
						<td class="p5px">Sahil Saxena</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Subhash Nagar</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9634033103 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:sahil.elit@gmail.com"> sahil.elit@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="925475">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="926452"><input type="hidden" name="subject" value="Applied for Hiring for International BPO">
					</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">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mohali.htm" title="Jobs in Mohali">Mohali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-lucknow.htm" title="Jobs in Lucknow">Lucknow</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-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</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: 'bkZHUm5PV1FLdHpNb05KVmI2Y3FoUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:65:"Job openings for bpo executive in mohali | Elite Busines Solution";i:2;s:224:"Hiring for International BPO Jobs,Hiring for International BPO Jobs in Mohali,Hiring for International BPO Vacancy in Mohali,Hiring for International BPO jobs in India,ITES / BPO / KPO / LPO / Customer Service jobs in Mohali";i:3;s:352:"Apply for Hiring for International BPO Jobs in Mohali India - Hiring for International BPO Vacancy  in ITES / BPO / KPO / LPO / Customer Service field with 0 to 5 years Work Experience, Key Skills are Customer Associate, International BPO, international chat, chat support, email support, ITES / BPO / KPO / LPO / Customer Service jobs in Mohali  India";i:4;s:1880:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Hiring for International BPO",
		  "baseSalary": " 1  Lac  50 Thousand  To  4  Lac ",
		  "description": "Dear Candidates,

We are conducting the interviews for a renowned company in  JAIPUR ,And MOHALI for the designation of Customer Service Associate (Blended/Backed/Inbound).

Please Note: We Do NOT charge any kind of fees.

Desired candidature is mention below.

Key responsibilities required:

- Technical and Customer Support Executive

- Need to have Good comm. skills in English-Verbal

- Excellent Understanding about customer service

- Comfortable for a Rotational Shift & Rotational offs.

- International Clients.

- Technical Process.

- Financial Process.

-?Voice / Non voice / Inbound / Outbound / Blended

- Salary - Best In Industry

- High growth opportunities.

- Guest House Facility

- Friendly environment with dynamic exposure.

- Immediate Joining

- Any undergraduate / Graduate

Benefits:

- Guest House From The Company's Side*

- Travel Allowance*

- Relocation Bonus*

To get your interview scheduled, Kindly reach us 

We hire for various industries, designations and companies across India.
You can help your friends and colleagues by referring their contact if they are looking out for a job.",
		  "educationRequirements": "Secondary School",
		  "experienceRequirements": "0 - 5 Years",
		  "industry": "ITES / BPO / KPO / LPO / Customer Service",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Punjab",
		      "addressRegion": "Mohali"
		    }
		  },
		 "qualifications": "Secondary School",
		     "skills": "Customer Associate, International BPO, international chat, chat support, email support"
		  }
		</script>
		";i:5;N;}