a:6:{i:0;s:13801:"					<section class="headBg theme2 bread-right">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for administrative assistant in kolhapur</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.pacificconsultancy.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.pacificconsultancy.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for administrative assistant in kolhapur</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">Administrative Assistant</div>
									<p class="mt7px fw6">Kolhapur</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="434170">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="990031"><input type="hidden" name="subject" value="Applied for Administrative Assistant">
					</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.pacificconsultancy.in/vacancy_990031.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">Job Position – Administrative Assistant<br />
Location - Kolhapur<br />
Job Description - Administrative assistants provide support to managers, other employees, and office visitors by handling a variety of tasks in order to ensure that all interactions between the organization and others are positive and productive. These professionals may also be referred to as administrative coordinators or administrative specialists.<br />
Responsibilities and Duties<br />
•	Handling office tasks, such as filing, generating reports and presentations, setting up for meetings, and reordering supplies.<br />
•	Providing real-time scheduling support by booking appointments and preventing conflicts.<br />
•	Making travel arrangements, such as booking flights, cars, and making hotel and restaurant reservations.<br />
•	Screening phone calls and routing callers to the appropriate party.<br />
•	Using computers to generate reports, transcribe minutes from meetings, create presentations, and conduct research.<br />
•	Greet and assist visitors.<br />
•	Maintain polite and professional communication via phone, e-mail, and mail.<br />
•	Anticipate the needs of others in order to ensure their seamless and positive experience.<br />
<br />
Qualifications and Skills<br />
Experience:<br />
•	Prior administrative experience.<br />
•	Excellent computer skills, especially typing.<br />
•	Attention to detail.<br />
•	Multilingual may be preferred or required.<br />
•	Desire to be proactive and create a positive experience for others.<br />
Education:<br />
•	Associate’s Degree in a related field.<br />
A Bachelor’s degree may be preferred.<br />
Job Type: Full-time</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">Not Disclosed</td>
					</tr>
									
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">HR / Recruitment / Administration / IR / Training & Development / Operations</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.B.A, M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Microsoft Office</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Office Administration</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Facility Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Administrative Assistance</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Personnel Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HR Assistance</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Administration Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Office Coordination</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Admin Executive</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">Aishwarya</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">1785 E Ward, Ghugare Complex, G Enterprises Building, Shahupuri 4th Lane, Kolhapur Maharashtra Pin-416008</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7030633999 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@pacificconsultancy.in"> info@pacificconsultancy.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="434170">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="990031"><input type="hidden" name="subject" value="Applied for Administrative Assistant">
					</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-kolhapur.htm" title="Jobs in Kolhapur">Kolhapur</a> <b class="alpha50 bn small">(121)</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">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-belgaum.htm" title="Jobs in Belgaum">Belgaum</a> <b class="alpha50 bn small">(2)</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">(21)</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">(14)</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">(13)</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">(12)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px "><span class="fr">(11)</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">(10)</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">(7)</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">(6)</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">(4)</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">(4)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</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 spanlist dn"><span class="fr">(3)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</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">(2)</span><a href="jobs-in-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-media-entertainment-tv-films-production-broadcasting-fid.htm" title="Media / Entertainment /  TV / Films / Production / Broadcasting Jobs">Media / Entertainment /  TV / ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-defence-forces-security-forces-fid.htm" title="Defence Forces / Security Forces Jobs">Defence Forces / Security Forc...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-network-administration-security-fid.htm" title="IT Software - Network Administration, Security Jobs">IT Software - Network Administ...</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: 'UWd0Z29CQVBHOEZKbzdOMm9SSHVQUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:109:"Job openings for administrative assistant in kolhapur | Pacific Placements and Business Consultancy Pvt. Ltd.";i:2;s:249:"Administrative Assistant Jobs,Administrative Assistant Jobs in Kolhapur,Administrative Assistant Vacancy in Kolhapur,Administrative Assistant jobs in India,HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Kolhapur";i:3;s:522:"Apply for Administrative Assistant Jobs in Kolhapur India - Administrative Assistant Vacancy  in HR / Recruitment / Administration / IR / Training & Development / Operations field with 0 to 2 years Work Experience, Key Skills are Microsoft Office, Office Administration, Facility Management, Administrative Assistance, Personnel Management, HR Assistance, Administration Management, Office Coordination, Admin Executive,, HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Kolhapur  India";i:4;s:2916:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Administrative Assistant",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "990031"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "7030633999",
	      "email" : "info@pacificconsultancy.in"  
	       },
		  "url": "https://www.pacificconsultancy.in/job-openings-for-administrative-assistant-kolhapur-990031.htm",
          "datePosted": "2021-08-17",
          
		  "baseSalary": "",
		  "description": "Job Position – Administrative Assistant
Location - Kolhapur
Job Description - Administrative assistants provide support to managers, other employees, and office visitors by handling a variety of tasks in order to ensure that all interactions between the organization and others are positive and productive. These professionals may also be referred to as administrative coordinators or administrative specialists.
Responsibilities and Duties
•	Handling office tasks, such as filing, generating reports and presentations, setting up for meetings, and reordering supplies.
•	Providing real-time scheduling support by booking appointments and preventing conflicts.
•	Making travel arrangements, such as booking flights, cars, and making hotel and restaurant reservations.
•	Screening phone calls and routing callers to the appropriate party.
•	Using computers to generate reports, transcribe minutes from meetings, create presentations, and conduct research.
•	Greet and assist visitors.
•	Maintain polite and professional communication via phone, e-mail, and mail.
•	Anticipate the needs of others in order to ensure their seamless and positive experience.

Qualifications and Skills
Experience:
•	Prior administrative experience.
•	Excellent computer skills, especially typing.
•	Attention to detail.
•	Multilingual may be preferred or required.
•	Desire to be proactive and create a positive experience for others.
Education:
•	Associate’s Degree in a related field.
A Bachelor’s degree may be preferred.
Job Type: Full-time",
		  "educationRequirements": "B.B.A, M.B.A/PGDM",
		  "experienceRequirements": "0 - 2 Years",
		  "industry": "HR / Recruitment / Administration / IR / Training & Development / Operations",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Kolhapur"
		    }
		  },
		 "qualifications": "B.B.A, M.B.A/PGDM",
		     "skills": "Microsoft Office, Office Administration, Facility Management, Administrative Assistance, Personnel Management, HR Assistance, Administration Management, Office Coordination, Admin Executive,"
		  }
		</script>
		";i:5;N;}