a:6:{i:0;s:8733:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for bpo executive in indore</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.enriseglobal.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.enriseglobal.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for bpo executive in indore</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="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">BPO Executive</div>
									<p class="mt7px fw6">Indore</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="899903">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="902035"><input type="hidden" name="subject" value="Applied for BPO Executive">
					</form>
			
									</div></div>
				</div>
								
				<br>
				<p class="aj mt7px">We Need Candidates Who are Fresher's or Experienced and Can Speak Average English. Candidates with Good Confidence have a Chance for Selection .<br />
shift Timings Will Be Rotational for Males & Day Shifts for Females. <br />
rotational Shifts . No Night Shifts for Females. for Males, if Night Shift, Home Drop Will Be Provided.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 2 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  50 Thousand  To  2  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">Other Bachelor Degree</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 vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Enrise Global Services</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Enrise Global Services is a Consulting firm specialized in Recruitments & HR practices. We provide manpower to organizations in all the possible vertical positions. We have the team of  best Talent Acquisition Consultant in Indore who provides fast, quality and cost-effective, end-to-end manpower solutions for our clients.
We are a top executive recruitment firm in Indore who handle both Permanent and Contract Staffing. We provide fully integrated manpower services such as permanent recruitment and staffing solutions to multinational corporations and local conglomerates from different industries (i.e. both IT and Non IT).  
We work to understand the complexities of our clients, their corporate culture and organizational direction. Ultimately, the fundamental measure of our success is how well we contribute in this respect to the success of our clients business. Our desire is to generate value and business impact for our clients.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Mr. Vijay Dhoot</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">103 Deora House, Kanadia Road (Land Mark : Opposite Morya Garden)</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9827369327 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:vijaydhoot2000@gmail.com"> vijaydhoot2000@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="899903">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="902035"><input type="hidden" name="subject" value="Applied for BPO 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-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(6)</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">(2)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</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>
										<p class="mb5px "><span class="fr">(1)</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>
										<p class="mb5px "><span class="fr">(1)</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">(1)</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>
									
				</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: 'U1MrclY4MGhhK3MxcXE2bXJxQnZ4UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:56:"Job openings for bpo executive in indore | Enrise global";i:2;s:164:"BPO Executive Jobs,BPO Executive Jobs in Indore,BPO Executive Vacancy in Indore,BPO Executive jobs in India,ITES / BPO / KPO / LPO / Customer Service jobs in Indore";i:3;s:293:"Apply for BPO Executive Jobs in Indore India - BPO Executive Vacancy  in ITES / BPO / KPO / LPO / Customer Service field with 0 to 2 years Work Experience, Key Skills are Telecalling, BPO, Telemarketing, Telesales, Voice Process, ITES / BPO / KPO / LPO / Customer Service jobs in Indore  India";i:4;s:2505:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "BPO Executive",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Enrise Global Services",
	        "value":  "902035"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Enrise Global Services",
	      "description": "Enrise Global Services is a Consulting firm specialized in Recruitments & HR practices. We provide manpower to organizations in all the possible vertical positions. We have the team of  best Talent Acquisition Consultant in Indore who provides fast, quality and cost-effective, end-to-end manpower solutions for our clients.
We are a top executive recruitment firm in Indore who handle both Permanent and Contract Staffing. We provide fully integrated manpower services such as permanent recruitment and staffing solutions to multinational corporations and local conglomerates from different industries (i.e. both IT and Non IT).  
We work to understand the complexities of our clients, their corporate culture and organizational direction. Ultimately, the fundamental measure of our success is how well we contribute in this respect to the success of our clients business. Our desire is to generate value and business impact for our clients.",
	      "telephone" : "9827369327",
	      "email" : "vijaydhoot2000@gmail.com"  
	       },
		  "url": "http://www.enriseglobal.com/job-openings-for-bpo-executive-indore-902035.htm",
          "datePosted": "2020-03-18",
          
		  "baseSalary": " 1  Lac  50 Thousand  To  2  Lac ",
		  "description": "We Need Candidates Who are Fresher's or Experienced and Can Speak Average English. Candidates with Good Confidence have a Chance for Selection .
shift Timings Will Be Rotational for Males & Day Shifts for Females. 
rotational Shifts . No Night Shifts for Females. for Males, if Night Shift, Home Drop Will Be Provided.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "0 - 2 Years",
		  "industry": "ITES / BPO / KPO / LPO / Customer Service",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Madhya Pradesh",
		      "addressRegion": "Indore"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Telecalling, BPO, Telemarketing, Telesales, Voice Process"
		  }
		</script>
		";i:5;N;}