a:6:{i:0;s:9682:"				<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 General Mechanical Technician in Saudi Arabia</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.taexpo.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.taexpo.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for General Mechanical Technician in Saudi Arabia</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current)</div>
							
				</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.taexpo.in/job-openings-for-general-mechanical-technician-saudi-arabia-1002423.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.taexpo.in/job-openings-for-general-mechanical-technician-saudi-arabia-1002423.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.taexpo.in/job-openings-for-general-mechanical-technician-saudi-arabia-1002423.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=GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current)&url=https://www.taexpo.in/job-openings-for-general-mechanical-technician-saudi-arabia-1002423.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.taexpo.in/job-openings-for-general-mechanical-technician-saudi-arabia-1002423.htm&title=GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current)" 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.taexpo.in/job-openings-for-general-mechanical-technician-saudi-arabia-1002423.htm&description=GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current)" 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="297667">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1002423"><input type="hidden" name="subject" value="Applied for GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current)">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.taexpo.in/vacancy_1002423.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">Experience: Fire Fighting, Fire Alarm, Central AC, Chillers/Package etc.</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"> 4  Lac  To  5  Lac  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, Advanced/Higher Diploma, Professional Degree, Vocational Course</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">Mechanical Maintenance</span>
														<span class="bdr dib p2px10px mr5px mt2px">Utility Maintenance</span>
														<span class="bdr dib p2px10px mr5px mt2px">Preventive Maintenance</span>
														<span class="bdr dib p2px10px mr5px mt2px">MAINTENANCE ENGINEER</span>
														<span class="bdr dib p2px10px mr5px mt2px">MECHANICAL 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="297667">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1002423"><input type="hidden" name="subject" value="Applied for GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current)">
					</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.taexpo.in/jobs-in-saudi-arabia.htm" title="Jobs in Saudi Arabia">Saudi Arabia</a> <b class="alpha50 bn small">(5)</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">(1)</span><a href="https://www.taexpo.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.taexpo.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.taexpo.in/jobs-in-architecture-interior-design-fid.htm" title="Architecture / Interior Design Jobs">Architecture / Interior Design</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.taexpo.in/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 "><span class="fr">(1)</span><a href="https://www.taexpo.in/jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</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:96:"Job openings for General Mechanical Technician in Saudi Arabia | T. A. Expo & Placement Services";i:2;s:336:"GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current) Jobs,GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current) Jobs in ,GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current) Vacancy in ,GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current) jobs in Saudi Arabia,Manufacturing / Production / Quality jobs in ";i:3;s:438:"Apply for GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current) Jobs in  Saudi Arabia - GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current) Vacancy  in Manufacturing / Production / Quality field with 5 to 8 years Work Experience, Key Skills are Mechanical Maintenance,Utility Maintenance,Preventive Maintenance,MAINTENANCE ENGINEER,MECHANICAL TECHNICIAN,Walk in, Manufacturing / Production / Quality jobs in   Saudi Arabia";i:4;s:1824:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "GENERAL MECHANICAL TECHNICIAN (Electro Mechanic-Low Current)",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "T. A. Expo & Placement Services",
	        "value":  "1002423"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "T. A. Expo & Placement Services",
	      "description": "T. A. Expo & Placement Services is a reputed Recruiting Agency in Mumbai (India). We are specialized manpower consultants for overseas jobs. Our agency is managed by CEO Mr. Taufique Ahmed. We have an experience of more than a decade in this specialized field. We provide manpower resources to our clients in Gulf region mainly in Saudi Arabia.",
	      "telephone" : "9930524413",
	      "email" : "cv.taexpo@gmail.com"  
	       },
		  "url": "https://www.taexpo.in/job-openings-for-general-mechanical-technician-saudi-arabia-1002423.htm",
          "datePosted": "2022-10-18",
          
		  "baseSalary": " 4  Lac  To  5  Lac ",
		  "description": "Experience: Fire Fighting, Fire Alarm, Central AC, Chillers/Package etc.",
		  "educationRequirements": "Diploma, Advanced/Higher Diploma, Professional Degree, Vocational Course",
		  "experienceRequirements": "5 - 8 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "Diploma, Advanced/Higher Diploma, Professional Degree, Vocational Course",
		     "skills": "Mechanical Maintenance,Utility Maintenance,Preventive Maintenance,MAINTENANCE ENGINEER,MECHANICAL TECHNICIAN,Walk in"
		  }
		</script>
		";i:5;N;}