a:6:{i:0;s:9602:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for bpo manager in mandi</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.hirefromus.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.hirefromus.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for bpo manager in mandi</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">BPO Manager</div>
									<p class="mt7px fw6">Mandi</p>
									
				<br>
				<p class="aj mt7px">Identifying opportunities to improvise on various processes and operations involved in running a business<br />
    Designing new or modifying existing business systems<br />
    Interacting with business stakeholders and subject matter experts to comprehend their requirements<br />
    Gathering, documenting, and analyzing various business requirements<br />
    Resolving business problems through technical-based solutions<br />
    Documenting functional and technical designs of business systems<br />
    Preparing reports and analyzing call center data to improve processes, ensure resources are properly allocated, and maximize efficiency and customer satisfaction.<br />
    Implement and oversee the quality of deliverable, manage team relationships effectively to ensure exceptional performance<br />
    Responsible to deliver high quality and productivity results that meet the identified targets<br />
    Manage a large and diverse team of Executive’s working towards pre-defined targets<br />
    Be directly responsible towards fostering the development of team by motivating them.<br />
    To ensure team achieve productivity and quality roster adherence<br />
    Coordination between Managers and Team Members<br />
    Should handle the team weekly reviews and encourage team to meet organizational goals<br />
    Conducting performance appraisal for the team.<br />
    Prepare team's performance reports by collecting, analyzing, and summarizing data, analytics, and forecasting.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 10 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  50 Thousand  To  6  Lac  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">Other Bachelor Degree, M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Communication Skills</span>
												<span class="bdr dib p2px10px mr5px mt2px">team management</span>
												<span class="bdr dib p2px10px mr5px mt2px">Motivating Skill</span>
												<span class="bdr dib p2px10px mr5px mt2px">decision maker</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">Email ID</td>
						<td class="p5px"><a href="mailto:sunny.kumar@saraswati.co.in"> sunny.kumar@saraswati.co.in </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="636446">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="850985"><input type="hidden" name="subject" value="Applied for BPO Manager">
					</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-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mandi.htm" title="Jobs in Mandi">Mandi</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-shimla.htm" title="Jobs in Shimla">Shimla</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-solan.htm" title="Jobs in Solan">Solan</a> <b class="alpha50 bn small">(4)</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">(3)</b></span>
										<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">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bilaspur-himanchal.htm" title="Jobs in Bilaspur">Bilaspur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chamba.htm" title="Jobs in Chamba">Chamba</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hamirpur-himanchal.htm" title="Jobs in Hamirpur">Hamirpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kangra.htm" title="Jobs in Kangra">Kangra</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">(9)</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">(5)</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">(3)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(3)</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">(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-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-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</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>
									
				</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: 'b1huRlg0eGpLa0lwNVFtRGJ2RE92Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:73:"Job openings for bpo manager in mandi | Saraswati Dot Com Private Limited";i:2;s:166:"BPO Manager Jobs,BPO Manager Jobs in Mandi,BPO Manager Vacancy in Mandi,BPO Manager jobs in India,ITES / BPO / KPO / LPO / Customer Service / Operations jobs in Mandi";i:3;s:325:"Apply for BPO Manager Jobs in Mandi India - BPO Manager Vacancy  in ITES / BPO / KPO / LPO / Customer Service / Operations field with 5 to 10 years Work Experience, Key Skills are Communication Skills,team management,Motivating Skill,decision maker, ITES / BPO / KPO / LPO / Customer Service / Operations jobs in Mandi  India";i:4;s:2199:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "BPO Manager",
		  "baseSalary": " 3  Lac  50 Thousand  To  6  Lac ",
		  "description": "Identifying opportunities to improvise on various processes and operations involved in running a business
    Designing new or modifying existing business systems
    Interacting with business stakeholders and subject matter experts to comprehend their requirements
    Gathering, documenting, and analyzing various business requirements
    Resolving business problems through technical-based solutions
    Documenting functional and technical designs of business systems
    Preparing reports and analyzing call center data to improve processes, ensure resources are properly allocated, and maximize efficiency and customer satisfaction.
    Implement and oversee the quality of deliverable, manage team relationships effectively to ensure exceptional performance
    Responsible to deliver high quality and productivity results that meet the identified targets
    Manage a large and diverse team of Executive’s working towards pre-defined targets
    Be directly responsible towards fostering the development of team by motivating them.
    To ensure team achieve productivity and quality roster adherence
    Coordination between Managers and Team Members
    Should handle the team weekly reviews and encourage team to meet organizational goals
    Conducting performance appraisal for the team.
    Prepare team's performance reports by collecting, analyzing, and summarizing data, analytics, and forecasting.",
		  "educationRequirements": "Other Bachelor Degree, M.B.A/PGDM",
		  "experienceRequirements": "5 - 10 Years",
		  "industry": "ITES / BPO / KPO / LPO / Customer Service / Operations",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Himachal Pradesh",
		      "addressRegion": "Mandi"
		    }
		  },
		 "qualifications": "Other Bachelor Degree, M.B.A/PGDM",
		     "skills": "Communication Skills,team management,Motivating Skill,decision maker"
		  }
		</script>
		";i:5;N;}