a:6:{i:0;s:14861:"					<section class="headBg theme2 bread-right">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for electrical maintenance 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 electrical maintenance 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">Electrical Maintenance</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="961999"><input type="hidden" name="subject" value="Applied for Electrical Maintenance">
					</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_961999.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 - Electrical Maintenance<br />
<br />
Location - Kolhapur<br />
<br />
Job Description - Maintenance electricians perform general upkeep on buildings' electrical systems. This entails inspecting the premises, performing routine maintenance and fixing any faulty wiring. Replacing electrical appliances is necessary.<br />
**<br />
Responsibilities and Duties<br />
•	Inspect on a routine basis electrical equipment, wiring, fixtures and other components to ensure they remain functional and are up to code, as well as to identify any hazards or issues.<br />
•	Determine the reasons for any malfunctions of systems or components, and create a maintenance or repair plan to solve the problem.<br />
•	Repair electrical systems, wiring, circuit breakers, equipment and other components so that they remains at full functioning capacity.<br />
•	Test systems with devices such as voltmeters, oscilloscopes and ohmmeters to ensure the system remains safe and that components are compatible.<br />
•	Review blueprints to understand the placement of wiring or to comprehend the working of the equipment to provide the right service and repairs.<br />
•	Provide suggestions on the lifespan of equipment and other electrical components, advising when certain components should be replaced due to potential risks.<br />
•	Keep records of all maintenance and repair work conducted, including a record of any supplies ordered and used.<br />
•	Ensure all routine maintenance work is handled on a regular schedule to reduce the risk of larger and more complex issues and to reduce costs.<br />
Qualifications and Skills<br />
Experience:<br />
•	6 months to 1 year (Preferred)<br />
Education:<br />
•	ITI<br />
•	Diploma Electrical<br />
•	BE Electrical<br />
Job Type: Full-time<br />
Salary: ₹6,000.00 - ₹8,000.00 per month</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 8 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  To  1  Lac  25 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Manufacturing / Production / Quality</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Advanced/Higher Diploma, B.Tech/B.E</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">ITI Electrician</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Electrician</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Electrical Maintenance</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Electrical repair</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">Antara Patil</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="961999"><input type="hidden" name="subject" value="Applied for Electrical Maintenance">
					</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">(207)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-satara.htm" title="Jobs in Satara">Satara</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-sangli.htm" title="Jobs in Sangli">Sangli</a> <b class="alpha50 bn small">(4)</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>
										<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>
									</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">(34)</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">(29)</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">(25)</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">(23)</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">(20)</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">(11)</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">(11)</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">(11)</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 "><span class="fr">(10)</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">(8)</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 "><span class="fr">(7)</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">(6)</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">(5)</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">(5)</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">(4)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</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-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">(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-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-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-beauty-fitness-spa-services-fid.htm" title="Beauty / Fitness / Spa Services Jobs">Beauty / Fitness / Spa Service...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</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>
										<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: 'cEl0U09uOTJoZzNvbFNXK1U5b0tJZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:107:"Job openings for electrical maintenance in kolhapur | Pacific Placements and Business Consultancy Pvt. Ltd.";i:2;s:201:"Electrical Maintenance Jobs,Electrical Maintenance Jobs in Kolhapur,Electrical Maintenance Vacancy in Kolhapur,Electrical Maintenance jobs in India,Manufacturing / Production / Quality jobs in Kolhapur";i:3;s:319:"Apply for Electrical Maintenance Jobs in Kolhapur India - Electrical Maintenance Vacancy  in Manufacturing / Production / Quality field with 5 to 8 years Work Experience, Key Skills are ITI Electrician, Electrician, Electrical Maintenance, Electrical repair, Manufacturing / Production / Quality jobs in Kolhapur  India";i:4;s:2982:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Electrical Maintenance",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "961999"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "7030633999",
	      "email" : "info@pacificconsultancy.in"  
	       },
		  "url": "https://www.pacificconsultancy.in/job-openings-for-electrical-maintenance-kolhapur-961999.htm",
          "datePosted": "2021-08-17",
          
		  "baseSalary": " 1  Lac  To  1  Lac  25 Thousand ",
		  "description": "Job Position - Electrical Maintenance

Location - Kolhapur

Job Description - Maintenance electricians perform general upkeep on buildings' electrical systems. This entails inspecting the premises, performing routine maintenance and fixing any faulty wiring. Replacing electrical appliances is necessary.
**
Responsibilities and Duties
•	Inspect on a routine basis electrical equipment, wiring, fixtures and other components to ensure they remain functional and are up to code, as well as to identify any hazards or issues.
•	Determine the reasons for any malfunctions of systems or components, and create a maintenance or repair plan to solve the problem.
•	Repair electrical systems, wiring, circuit breakers, equipment and other components so that they remains at full functioning capacity.
•	Test systems with devices such as voltmeters, oscilloscopes and ohmmeters to ensure the system remains safe and that components are compatible.
•	Review blueprints to understand the placement of wiring or to comprehend the working of the equipment to provide the right service and repairs.
•	Provide suggestions on the lifespan of equipment and other electrical components, advising when certain components should be replaced due to potential risks.
•	Keep records of all maintenance and repair work conducted, including a record of any supplies ordered and used.
•	Ensure all routine maintenance work is handled on a regular schedule to reduce the risk of larger and more complex issues and to reduce costs.
Qualifications and Skills
Experience:
•	6 months to 1 year (Preferred)
Education:
•	ITI
•	Diploma Electrical
•	BE Electrical
Job Type: Full-time
Salary: ₹6,000.00 - ₹8,000.00 per month",
		  "educationRequirements": "Advanced/Higher Diploma, B.Tech/B.E",
		  "experienceRequirements": "5 - 8 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Kolhapur"
		    }
		  },
		 "qualifications": "Advanced/Higher Diploma, B.Tech/B.E",
		     "skills": "ITI Electrician, Electrician, Electrical Maintenance, Electrical repair"
		  }
		</script>
		";i:5;N;}