a:6:{i:0;s:12807:"				<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 Office Manager in Muzaffarpur</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.jobmartasansol.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.jobmartasansol.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for Office Manager in Muzaffarpur</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">Assistant Manager</div>
									<p class="mt7px fw6">Muzaffarpur</p>
								
				</div>
				<div class="dtc w200px ar">
				<div class="ShareDropdown dib">	
				<div class="copyLinkPopup">Link Copied</div>		  
				<span class="data"><i class="fa fa-share-alt xxlarge vam"></i></span>
				<ul class="shareList data bdr0">
				<li><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://www.jobmartasansol.in/job-openings-for-office-manager-muzaffarpur-915571.htm" class="facebook" title="Facebook"><i class="fa fa-facebook-official"></i></a></li> 
				<li><a target="_blank" href="https://www.instagram.com/?url=https://www.jobmartasansol.in/job-openings-for-office-manager-muzaffarpur-915571.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.jobmartasansol.in/job-openings-for-office-manager-muzaffarpur-915571.htm" class="whatsapp" title="Whatsapp"><i class="fa fa fa-whatsapp"></i></a></li>  
				<li><a target="_blank" href="https://X.com/intent/tweet?text=Assistant Manager&url=https://www.jobmartasansol.in/job-openings-for-office-manager-muzaffarpur-915571.htm" class="twitter" title="Twitter"><img src="https://catalog.wlimg.com/mobile/social-networking-img/1002.svg" alt="Twitter" style="width:22px;height:22px;vertical-align:middle;margin-right:6px;"></a></li> 
				<li><a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.jobmartasansol.in/job-openings-for-office-manager-muzaffarpur-915571.htm&title=Assistant Manager" class="linkedin" title="Linkedin"><i class="fa fa-linkedin-square"></i></a></li>
				<li><a target="_blank" href="https://pinterest.com/pin/create/button/?url=https://www.jobmartasansol.in/job-openings-for-office-manager-muzaffarpur-915571.htm&description=Assistant Manager" class="pinterest" title="Pinterest"><i class="fa fa-pinterest-square"></i></a></li>	
				<li><a href="javascript:;" title="Copy Link" class="copy" onclick="copyURL()"><i class="fa fa-clone"></i></a></li>
				</ul>
				</div>
				<script>
				$(document).ready(function(){
				$('.ShareDropdown span').click(function(){
				 $('.ShareDropdown').toggleClass("active");
				}); 
				});
				</script>
				<script>
				  function copyURL() {
				    const url = window.location.href;
					const textarea = document.createElement("textarea");
					textarea.value = url;
					textarea.style.position = "fixed";
					document.body.appendChild(textarea);
					textarea.focus();
					textarea.select();
			
					try {
					  document.execCommand("copy");
					//  alert("URL copied (fallback)!");
					  $(".copyLinkPopup").show();		 
			          setTimeout(function(){$(".copyLinkPopup").hide();}, 2000);
				      $('.ShareDropdown').removeClass("active");
					  
					} catch (err) {
					  console.error("Fallback copy failed:", err);
					}
			
					document.body.removeChild(textarea);
				  }
				</script>
				<div class="mt7px ml7px dib">
									
					<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="669666">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="915571"><input type="hidden" name="subject" value="Applied for Assistant Manager">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.jobmartasansol.in/vacancy_915571.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 lh18em">Required for Bihar Samastipur <br />3 Star to 5 Star <br />salary 10 to 12 with Lodging Fodging Free <br />qualification Hs Pass and Smart <br />male Female Both Apply</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
									<tr>
					<td class="alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</td>
					</tr>
									
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Front Office / Reception / Computer Operator / Assistant</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.A, Higher Secondary, Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">Office Manager</span>
														<span class="bdr dib p2px10px mr5px mt2px">Office Administrator</span>
												</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div>
				<!--p class="large fw6">About Company</p-->
				<div>
				
								
				<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="669666">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="915571"><input type="hidden" name="subject" value="Applied for Assistant 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="https://www.jobmartasansol.in/jobs-in-asansol.htm" title="Jobs in Asansol">Asansol</a> <b class="alpha50 bn small">(16)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-kolkata.htm" title="Jobs in Kolkata">Kolkata</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-bardhaman.htm" title="Jobs in Bardhaman">Bardhaman</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-muzaffarpur.htm" title="Jobs in Muzaffarpur">Muzaffarpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-durgapur.htm" title="Jobs in Durgapur">Durgapur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-bhubaneswar.htm" title="Jobs in Bhubaneswar">Bhubaneswar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-jamshedpur.htm" title="Jobs in Jamshedpur">Jamshedpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</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">(6)</span><a href="https://www.jobmartasansol.in/jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="https://www.jobmartasansol.in/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">(5)</span><a href="https://www.jobmartasansol.in/jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="https://www.jobmartasansol.in/jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception / Computer Operator / Assistant Jobs">Front Office / Reception / Com...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.jobmartasansol.in/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">(2)</span><a href="https://www.jobmartasansol.in/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">(2)</span><a href="https://www.jobmartasansol.in/jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.jobmartasansol.in/jobs-in-defence-forces-security-forces-fid.htm" title="Defence Forces Jobs">Defence Forces</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.jobmartasansol.in/jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering / Engineering Design / R&D / Quality Jobs">Engineering / Engineering Desi...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.jobmartasansol.in/jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.jobmartasansol.in/jobs-in-cargo-freight-transportation-packaging-shipping-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping / Logistic Jobs">Cargo / Freight / Transportati...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="https://www.jobmartasansol.in/jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="https://www.jobmartasansol.in/jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</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>
				
	<?php
	$source_type="";
	if (!empty($_REQUEST["utm_campaign"]) && ($_REQUEST["utm_campaign"]=="google_jobs_apply" || $_REQUEST["utm_campaign"]=="JobApplyPI")) {
		$source_type=$_REQUEST["utm_campaign"];
	}
	?>
	";i:1;s:75:"Job openings for Office Manager in Muzaffarpur | Job Mart Asansol Placement";i:2;s:210:"Assistant Manager Jobs,Assistant Manager Jobs in Muzaffarpur,Assistant Manager Vacancy in Muzaffarpur,Assistant Manager jobs in India,Front Office / Reception / Computer Operator / Assistant jobs in Muzaffarpur";i:3;s:319:"Apply for Assistant Manager Jobs in Muzaffarpur India - Assistant Manager Vacancy  in Front Office / Reception / Computer Operator / Assistant field with 0 to 1 years Work Experience, Key Skills are Office Manager,Office Administrator, Front Office / Reception / Computer Operator / Assistant jobs in Muzaffarpur  India";i:4;s:1916:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Assistant Manager",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Job Mart Asansol Placement",
	        "value":  "915571"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Job Mart Asansol Placement",
	      "description": "Job Mart Asansol is a noted entity in the placement space of West Bengal. Operating since 2013 in Asansol (West Bengal), this company is steered by Sh. Rajiv Kumar. He’s an expert in the industry and has been guiding the company towards success since inception. We provide all the services that bridge the gap between jobseekers and employers. The services for HR consultancy, placement consultancy, career consultancy, and work at home are offered by us. Besides, security services and housekeeping services are also rendered by us.",
	      "telephone" : "7699690367",
	      "email" : "rajivpathak1556@gmail.com"  
	       },
		  "url": "https://www.jobmartasansol.in/job-openings-for-office-manager-muzaffarpur-915571.htm",
          "datePosted": "2025-05-22",
          
		  "baseSalary": "",
		  "description": "Required for Bihar Samastipur rn3 Star to 5 Star rnsalary 10 to 12 with Lodging Fodging Free rnqualification Hs Pass and Smart rnmale Female Both Apply",
		  "educationRequirements": "B.A, Higher Secondary, Other Bachelor Degree",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Front Office / Reception / Computer Operator / Assistant",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Bihar",
		      "addressRegion": "Muzaffarpur"
		    }
		  },
		 "qualifications": "B.A, Higher Secondary, Other Bachelor Degree",
		     "skills": "Office Manager,Office Administrator"
		  }
		</script>
		";i:5;N;}