a:6:{i:0;s:11725:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for back office executive in chandigarh zirakpur mohali</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.mcservices.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.mcservices.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for back office executive in chandigarh zirakpur mohali</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">Back Office Executive</div>
									<p class="mt7px fw6">Chandigarh, Zirakpur, Mohali</p>
									
				<br>
				<p class="aj mt7px">Back office is the support office of every organization. Back office provides support to the management of the organization in performing their key responsibilities. It provides documentation and technical support that simplify the work of those employees handling the front office. Every organization is required to coordinate with their customers and associates in order to transact business. The employees who communicate with outsiders via personal meetings, telephone, or email; handle the reception in the office premise; carry out business development activities; etc., all constitute as the front office management of the organization. They are representatives of the organization. The work of the front office employees is supported by the back office employees. They do not face the customers and clients directly but handle functions as required by the front office. They act like the backbone of the organization. Here is a detailed analysis of the back office executive responsibilities.<br />
Processing - The back office handles the entire responsibility of processing the projects acquired by the front office. The responsibilities differ with the nature of the project, but mainly include arranging materials or services, tracking delivery of goods, keeping accounts, fixing up appointments, taking feedbacks, etc. Processing work of the clients is the chief responsibility of the back office executives.<br />
Data Management - Data management refers to drafting, checking, and storing various documents required by the management. It includes documents related to employees, finance, marketing, law, etc. The documentation team is responsible to gather the information, check the authenticity, design a format for representation, and prepare the documents. Executives must make sure the documents adhere to the organizational, legal, and contractual policies.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 3 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  To  4  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Fresher / Trainee</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Doctorate Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Basic knowledge of computer</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">Neelam</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">SCO 156-160, First Floor Suite No. 105, Back Side Sindhi Sweets, Sector 8C, Madhya Marg</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7696767788 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:manager@mcservices.co.in"> manager@mcservices.co.in </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="post-resume-form-new.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="Apply For Job" />
					<input type="hidden" name="catalog_mi" value="332014">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="807499"><input type="hidden" name="subject" value="Applied for Back Office 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-chandigarh.htm" title="Jobs in Chandigarh">Chandigarh</a> <b class="alpha50 bn small">(228)</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">(204)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-zirakpur.htm" title="Jobs in Zirakpur">Zirakpur</a> <b class="alpha50 bn small">(195)</b></span>
										<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">(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">(218)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px "><span class="fr">(48)</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">(25)</span><a href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</a></p>
										<p class="mb5px "><span class="fr">(15)</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">(14)</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">(10)</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">(8)</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">(8)</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">(6)</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">(5)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(4)</span><a href="jobs-in-telecom-software-fid.htm" title="IT Software - Telecom Jobs">IT Software - Telecom</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(4)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(4)</span><a href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(4)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-insurance-loan-credit-fid.htm" title="Insurance / Loan / Credit Management Jobs">Insurance / Loan / Credit Mana...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<p class="mb5px spanlist dn"><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>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px spanlist dn"><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>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'YUdiejA0eUxZUkgxRnNOaWFsTjA1Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:98:"Job openings for back office executive in chandigarh zirakpur mohali | Mirror Consultancy Services";i:2;s:238:"Back Office Executive Jobs,Back Office Executive Jobs in Chandigarh, Zirakpur, Mohali,Back Office Executive Vacancy in Chandigarh, Zirakpur, Mohali,Back Office Executive jobs in India,Fresher / Trainee jobs in Chandigarh, Zirakpur, Mohali";i:3;s:275:"Apply for Back Office Executive Jobs in Chandigarh, Zirakpur, Mohali India - Back Office Executive Vacancy  in Fresher / Trainee field with 0 to 3 years Work Experience, Key Skills are Basic knowledge of computer, Fresher / Trainee jobs in Chandigarh, Zirakpur, Mohali  India";i:4;s:2568:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Back Office Executive",
		  "baseSalary": " 1  Lac  To  4  Lac ",
		  "description": "Back office is the support office of every organization. Back office provides support to the management of the organization in performing their key responsibilities. It provides documentation and technical support that simplify the work of those employees handling the front office. Every organization is required to coordinate with their customers and associates in order to transact business. The employees who communicate with outsiders via personal meetings, telephone, or email; handle the reception in the office premise; carry out business development activities; etc., all constitute as the front office management of the organization. They are representatives of the organization. The work of the front office employees is supported by the back office employees. They do not face the customers and clients directly but handle functions as required by the front office. They act like the backbone of the organization. Here is a detailed analysis of the back office executive responsibilities.
Processing - The back office handles the entire responsibility of processing the projects acquired by the front office. The responsibilities differ with the nature of the project, but mainly include arranging materials or services, tracking delivery of goods, keeping accounts, fixing up appointments, taking feedbacks, etc. Processing work of the clients is the chief responsibility of the back office executives.
Data Management - Data management refers to drafting, checking, and storing various documents required by the management. It includes documents related to employees, finance, marketing, law, etc. The documentation team is responsible to gather the information, check the authenticity, design a format for representation, and prepare the documents. Executives must make sure the documents adhere to the organizational, legal, and contractual policies.",
		  "educationRequirements": "Other Doctorate Degree",
		  "experienceRequirements": "0 - 3 Years",
		  "industry": "Fresher / Trainee",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Chandigarh, Punjab",
		      "addressRegion": "Chandigarh, Zirakpur, Mohali"
		    }
		  },
		 "qualifications": "Other Doctorate Degree",
		     "skills": "Basic knowledge of computer"
		  }
		</script>
		";i:5;N;}