a:6:{i:0;s:10849:"				<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 Electrician in Sitarganj Udham Singh Nagar</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.uniqueconsultancyplacements.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.uniqueconsultancyplacements.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for Electrician in Sitarganj Udham Singh Nagar</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand</div>
									<p class="mt7px fw6">Udham Singh Nagar, Sitarganj</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.uniqueconsultancyplacements.com/job-openings-for-electrician-sitarganj-udham-singh-nagar-968502.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.uniqueconsultancyplacements.com/job-openings-for-electrician-sitarganj-udham-singh-nagar-968502.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.uniqueconsultancyplacements.com/job-openings-for-electrician-sitarganj-udham-singh-nagar-968502.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=Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand&url=https://www.uniqueconsultancyplacements.com/job-openings-for-electrician-sitarganj-udham-singh-nagar-968502.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.uniqueconsultancyplacements.com/job-openings-for-electrician-sitarganj-udham-singh-nagar-968502.htm&title=Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand" 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.uniqueconsultancyplacements.com/job-openings-for-electrician-sitarganj-udham-singh-nagar-968502.htm&description=Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand" 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="496915">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="968502"><input type="hidden" name="subject" value="Applied for Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.uniqueconsultancyplacements.com/vacancy_968502.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">Do the Maintenance & preventive of Machines.LT Panel & HT control panel, APFC Relay and panel.Maintenance of DG setsTransformers all safety requirements while performing work<br />have knowledge of machine.Maintenance of all pumpsgearbox,centrifugal<br />Required Candidate profile<br />preference industry: polymer, paper, plywood , glass, chemical industry</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 6 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  50 Thousand  To  2  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">Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">Electrician</span>
														<span class="bdr dib p2px10px mr5px mt2px">ITI Electrician</span>
														<span class="bdr dib p2px10px mr5px mt2px">Electrical Maintenance</span>
														<span class="bdr dib p2px10px mr5px mt2px">Electrical Technician</span>
														<span class="bdr dib p2px10px mr5px mt2px">Walk in</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="496915">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="968502"><input type="hidden" name="subject" value="Applied for Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand">
					</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.uniqueconsultancyplacements.com/jobs-in-udham-singh-nagar.htm" title="Jobs in Udham Singh Nagar">Udham Singh Nagar</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.uniqueconsultancyplacements.com/jobs-in-rudrapur.htm" title="Jobs in Rudrapur">Rudrapur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.uniqueconsultancyplacements.com/jobs-in-satara.htm" title="Jobs in Satara">Satara</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.uniqueconsultancyplacements.com/jobs-in-bhopal.htm" title="Jobs in Bhopal">Bhopal</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.uniqueconsultancyplacements.com/jobs-in-pathankot.htm" title="Jobs in Pathankot">Pathankot</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.uniqueconsultancyplacements.com/jobs-in-moradabad.htm" title="Jobs in Moradabad">Moradabad</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="https://www.uniqueconsultancyplacements.com/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="https://www.uniqueconsultancyplacements.com/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">(1)</span><a href="https://www.uniqueconsultancyplacements.com/jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</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>
				
	<?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:93:"Job openings for Electrician in Sitarganj Udham Singh Nagar | Unique Consultancy & Management";i:2;s:368:"Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand Jobs,Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand Jobs in Udham Singh Nagar,Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand Vacancy in Udham Singh Nagar,Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand jobs in India,Manufacturing / Production / Quality jobs in Udham Singh Nagar";i:3;s:416:"Apply for Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand Jobs in Udham Singh Nagar India - Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand Vacancy  in Manufacturing / Production / Quality field with 3 to 6 years Work Experience, Key Skills are Electrician,ITI Electrician,Electrical Maintenance,Electrical Technician,Walk in, Manufacturing / Production / Quality jobs in Udham Singh Nagar  India";i:4;s:2253:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Hiring- Fitter & Electrician (ITI)-sitarganj- Uttarakhand",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Unique Consultancy & Management",
	        "value":  "968502"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Unique Consultancy & Management",
	      "description": "Unique Consultancy & Management is one of the best Recruitment & Placement Consultancy based in Rudrapur  Uttarakhand, India engaged in offering manpower recruitment ,Training  & placement solutions to the various manufacturing industries such as Automobile, Engineering, FMCG , Food processing, Steel, Chemical, Paper, Plastic, Rubber, Polymer, Packaging , Electronics & Real Estate etc. rnWe do Senior level  & Middle level hiring for across the industries.rnWe work with a highly professional team  to fulfill the requirements of the organizations. We offer excellent quality services within the time constraint to the clients. The services offered by us are flexible and we make sure that we exceed their expectations.",
	      "telephone" : "9997210034",
	      "email" : "uniqueconsultancy47@gmail.com"  
	       },
		  "url": "https://www.uniqueconsultancyplacements.com/job-openings-for-electrician-sitarganj-udham-singh-nagar-968502.htm",
          "datePosted": "2022-12-08",
          
		  "baseSalary": " 1  Lac  50 Thousand  To  2  Lac  25 Thousand ",
		  "description": "Do the Maintenance & preventive of Machines.LT Panel & HT control panel, APFC Relay and panel.Maintenance of DG setsTransformers all safety requirements while performing workrnhave knowledge of machin",
		  "educationRequirements": "Diploma",
		  "experienceRequirements": "3 - 6 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttarakhand",
		      "addressRegion": "Udham Singh Nagar, Sitarganj"
		    }
		  },
		 "qualifications": "Diploma",
		     "skills": "Electrician,ITI Electrician,Electrical Maintenance,Electrical Technician,Walk in"
		  }
		</script>
		";i:5;N;}