a:6:{i:0;s:8485:"				<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 call centre executives head in thane west thane</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.eminenze.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.eminenze.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for call centre executives head in thane west thane</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Call Centre Executives & Head</div>
									<p class="mt7px fw6">Thane, Thane West</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="1005571">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1006044"><input type="hidden" name="subject" value="Applied for Call Centre Executives & Head">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="https://www.eminenze.com/vacancy_1006044.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px">Eminenze Solutions has opened for Call Center Executive, Location is in Thane, Timing will be from 3 am to 1 pm. Male Candidates are preferred, Good English Communication and experience working in Call Center will be Preferred. call Directly for an interview</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 4 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  To  4  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Sales & Marketing / Business Development/telecaller</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">Good Communication</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Call Centre Executive</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Customer Care Executive</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Telecaller</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Telesales</span>
												<span class="bdr dib p2px10px mr5px mt2px"></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">NITU SUVARNA</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">204,JASMINE, PARIJAT GARDEN,  G B ROAD,</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9930273113 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:nitu@eminenze.com"> nitu@eminenze.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="1005571">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1006044"><input type="hidden" name="subject" value="Applied for Call Centre Executives & Head">
					</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-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(6)</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">(3)</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">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</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">(4)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px "><span class="fr">(3)</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>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</a></p>
										<p class="mb5px "><span class="fr">(1)</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">(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-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</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: 'M056TEdiSmdOOUtFQnZKYi9hemRwUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:85:"Job openings for call centre executives head in thane west thane | Eminenze solutions";i:2;s:235:"Call Centre Executives & Head Jobs,Call Centre Executives & Head Jobs in Thane,Call Centre Executives & Head Vacancy in Thane,Call Centre Executives & Head jobs in India,Sales & Marketing / Business Development/telecaller jobs in Thane";i:3;s:376:"Apply for Call Centre Executives & Head Jobs in Thane India - Call Centre Executives & Head Vacancy  in Sales & Marketing / Business Development/telecaller field with 1 to 4 years Work Experience, Key Skills are Good Communication, Call Centre Executive, Customer Care Executive, Telecaller, Telesales,, Sales & Marketing / Business Development/telecaller jobs in Thane  India";i:4;s:1519:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Call Centre Executives & Head",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "1006044"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9930273113",
	      "email" : "nitu@eminenze.com"  
	       },
		  "url": "https://www.eminenze.com/job-openings-for-call-centre-executives-head-thane-west-thane-1006044.htm",
          "datePosted": "2021-09-18",
          
		  "baseSalary": " 2  Lac  To  4  Lac ",
		  "description": "Eminenze Solutions has opened for Call Center Executive, Location is in Thane, Timing will be from 3 am to 1 pm. Male Candidates are preferred, Good English Communication and experience working in Call Center will be Preferred. call Directly for an interview",
		  "educationRequirements": "Higher Secondary",
		  "experienceRequirements": "1 - 4 Years",
		  "industry": "Sales & Marketing / Business Development/telecaller",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Thane, Thane West"
		    }
		  },
		 "qualifications": "Higher Secondary",
		     "skills": "Good Communication, Call Centre Executive, Customer Care Executive, Telecaller, Telesales,"
		  }
		</script>
		";i:5;N;}