a:6:{i:0;s:5046:"					<div class="h1"><h1>Opening for Floor Cleaner Operator</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.tripleaservices.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.tripleaservices.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Opening for Floor Cleaner Operator</p>
					<br />				
									
				<div class="h headVr large p7px"><b class="b1"></b><h2> <b>VACANCY DETAILS</b></h2></div>
				<table class="w100 formTable">
				<tr>
				<td class="w30 p5px data b">Job Title </td>
				<td class="w70 p5px">Opening for Floor Cleaner Operator</td>
				</tr>
				
									<tr>
					<td class="p5px data b"> Gender Preference </td>
					<td class="p5px">Male</td>
					</tr>
										<tr>
					<td class="p5px data b"> Number Of Vacancy </td>
					<td class="p5px">5</td>
					</tr>
										<tr>
					<td class="p5px data b"> Industry Area </td>
					<td class="p5px">Fresher / Trainee </td>
					</tr>
										<tr>
					<td class="p5px data b"> Key Skills </td>
					<td class="p5px">Good communication skills </td>
					</tr>
										<tr>
					<td class="p5px data b"> Qualification </td>
					<td class="p5px">Higher Secondary </td>
					</tr>
												<tr>
							<td class="p5px data b"> Salary (Per Annum) </td>
							<td class="p5px"> 1  Lac  To  3  Lac  </td>
							</tr>
							
											<tr>
				<td class="p5px data b"> Work Experience </td>
				<td class="p5px">1 - 3 Years</td>
				</tr>
									<tr>
					<td class="p5px data b"> Job Requirement </td>
					<td class="p5px">Based in Mumbai (india), Triple a Housekeeping Service is a Renowned Floor Polishing Service Provider. Our Floor Polishing Service Includes Floor Scrubbing, Buffing, and Policing Services that are Provided By Professionals At Very Affordable Charges. Our Floor Polishing Service is Rendered as per the Requisitions of the Clients to Provide Them Maximum Satisfaction. Our Floor Polishing Service is Delivered Using Top-notch Tools and Equipment for Excellent Results. </td>
					</tr>
									
				</table>
				<br />
				<br />
				<div class="h headVr large p7px"><b class="b1"></b><h2> <b>JOB LOCATION</b></h2></div>
				<table class="w100 formTable">
				
									<tr>
					<td class="w30 p5px data b">Job Country </td>
					<td class="w70 p5px">India</td>
					</tr>
										<tr>
					<td class="w30 p5px data b">Job State / U.T.</td>
					<td class="p5px">Maharashtra</td>
					</tr>
										<tr>
					<td class="w30 p5px data b">Job City</td>
					<td class="p5px">Mumbai</td>
					</tr>
									
				</table>
				
								
					<br />
					<br />
					<div class="h headVr large p7px"><b class="b1"></b><h2> <b>COMPANY PROFILE</b></h2></div>
					<table class="w100 formTable">
					
											<tr>
						<td class="w30 p5px data b">Company Name</td>
						<td class="w70 p5px">Triple A Services</td>
						</tr>
												<tr>
						<td class="w30 p5px data b">Company Website</td>
						<td class="p5px">www.tripleaservices.in</td>
						</tr>
												<tr>
						<td class="w30 p5px data b">About Company</td>
						<td class="p5px">We are rated amongst the distinguished Service Providers of the Housekeeping Services. We hold expertise in handling Housekeeping work such as daily sweeping and moping of all floor area on continuous basis with quality cleaning materials, cleaning of all bathrooms, toilet blocks, wash basins, windows, etc., within frequent intervals with the best quality of liquid detergent floor sanitizers Phenyl &amp; floor acid, etc. Besides, we clean furniture with cleaning furniture with dry clothes. The colle</td>
						</tr>
											</table>
				
									<br />
				<br />
				<div class="h headVr large p7px"><b class="b1"></b><h2> <b>CONTACT DETAILS</b></h2></div>
				<table class="w100 formTable">
				
									<tr>
					<td class="w30 p5px data b">Email ID </td>
					<td class="p5px"><a href="mailto:anandjiwala.aashutosh@gmail.com"> anandjiwala.aashutosh@gmail.com </a> </td>
					</tr>
									
				</table>
				
									
					<div class="p10px ac">
					<form name="frmvacdetail" method="post" action="post-resume-form-new.htm">
					<input class="button p5px10px b" type="submit" value="Apply For Job" />
					<input type="hidden" name="catalog_mi" value="315573">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="376027"><input type="hidden" name="subject" value="Applied for Opening for Floor Cleaner Operator">
					</form>
					</div>
			
						<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'azlmWnQ0UHdYalZUNzJZRWZLTWhMdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:80:"Opening for Floor Cleaner Operator Jobs in Mumbai - Vacancy in Fresher / Trainee";i:2;s:224:"Opening for Floor Cleaner Operator Jobs,Opening for Floor Cleaner Operator Jobs in Mumbai,Opening for Floor Cleaner Operator Vacancy in Mumbai,Opening for Floor Cleaner Operator jobs in India,Fresher / Trainee jobs in Mumbai";i:3;s:255:"Apply for Opening for Floor Cleaner Operator Jobs in Mumbai India - Opening for Floor Cleaner Operator Vacancy  in Fresher / Trainee field with 1 to 3 years Work Experience, Key Skills are Good communication skills, Fresher / Trainee jobs in Mumbai  India";i:4;s:1139:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Opening for Floor Cleaner Operator",
		  "baseSalary": " 1  Lac  To  3  Lac ",
		  "description": "Based in Mumbai (india), Triple a Housekeeping Service is a Renowned Floor Polishing Service Provider. Our Floor Polishing Service Includes Floor Scrubbing, Buffing, and Policing Services that are Provided By Professionals At Very Affordable Charges. Our Floor Polishing Service is Rendered as per the Requisitions of the Clients to Provide Them Maximum Satisfaction. Our Floor Polishing Service is Delivered Using Top-notch Tools and Equipment for Excellent Results.",
		  "educationRequirements": "Higher Secondary",
		  "experienceRequirements": "1 - 3 Years",
		  "industry": "Fresher / Trainee",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai"
		    }
		  },
		 "qualifications": "Higher Secondary",
		     "skills": "Good communication skills"
		  }
		</script>
		";i:5;N;}