a:6:{i:0;s:8298:"				<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 camp manager 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 camp manager in saudi arabia</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Camp Manager</div>
								
				<br>
				<p class="aj mt7px">1.Responsible for operational activities in the camp or rig under his supervision,<br />
Ensuring the daily good management of the location.<br />
2. Carry out the daily, weekly and monthly duties as laid out by the Company and below detailed<br />
.<br />
3. Fill and keep record of administrative forms in accordance with the Company rules.<br />
4. Manage the team of expatriate’s staff working at the camp and increase his motivation.<br />
5. Supervise and take part to the training of staff according to the rules of HSE, Food Hygiene and Safety, HACCP, etc.<br />
6. Responsible for requests warehouse, stocking and stock checking in addition to cost control reporting according to the rules made by the Company, always ensuring a minimum stock quantity for each item.<br />
7. Responsible for cold and dry stores in the location He is the only person<br />
Entitled to keep the keys and will be responsible for any eventual shortages.<br />
8. The Camp Boss must be clean, tidy and shall follow diligently the disciplinary <br />
rules laid out in his contract.<br />
9. Monthly Inventory with reported expiry date of all products<br />
.<br />
10. Inventory and record of sales of mini - market or bonded store (in case<br />
it exists), filling the relative form.<br />
11. P.O.B. duly signed by the Client or his Representative.<br />
12. Records of extra services and sales rendered to Clients, duly signed by the Client, reporting the number of budgeted Projects or refer to object or person<br />
, in order to be invoiced<br />
.<br />
13. Keep a record and recap of the weekly menu agreed with the Client, duly signed by the Client and Camp Boss and sent to the main office, with all documents.<br />
14. Fill a record with the weekly consumption divided by family.<br />
.<br />
15. Keep a record and recap of: Daily presences of the Client, Daily inventory, <br />
Cash and market movement in proper forms, <br />
Recap of extra sales to the Client.<br />
16. Fill the Local staff Time sheet and attendance register.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">6 - 8 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">Hotel / Travel / Airlines</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Advanced/Higher Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Camp Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Camp Boss Activities</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Supervising</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Camp Operations</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Team Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> stocking </span>
												<span class="bdr dib p2px10px mr5px mt2px">stock checking</span>
												<span class="bdr dib p2px10px mr5px mt2px">Inventory MAnagement</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">Dominic Savio</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Shop 6/C, Green Lawns Building, Off L J Road, Opp. Al-Saudia Hotel, Near Paradise Cinema, Mahim(W), Mumbai, Maharashtra, India - 400016</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9930524413 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:cv.taexpo@gmail.com"> cv.taexpo@gmail.com </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="297667">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="784831"><input type="hidden" name="subject" value="Applied for Camp Manager">
					</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-saudi-arabia.htm" title="Jobs in Saudi Arabia">Saudi Arabia</a> <b class="alpha50 bn small">(8)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-uae.htm" title="Jobs in United Arab Emirates">United Arab Emirates</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">(6)</span><a href="jobs-in-transportation-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping Jobs">Cargo / Freight / Transportati...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hotel-travel-fid.htm" title="Hotel / Travel / Airlines Jobs">Hotel / Travel / Airlines</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="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>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'VkZvR20yM2hVakFJditsWDBrdmkrQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:79:"Job openings for camp manager in saudi arabia | T. A. Expo & Placement Services";i:2;s:133:"Camp Manager Jobs,Camp Manager Jobs in ,Camp Manager Vacancy in ,Camp Manager jobs in Saudi Arabia,Hotel / Travel / Airlines jobs in ";i:3;s:335:"Apply for Camp Manager Jobs in  Saudi Arabia - Camp Manager Vacancy  in Hotel / Travel / Airlines field with 6 to 8 years Work Experience, Key Skills are Camp Management, Camp Boss Activities, Supervising, Camp Operations, Team Management, stocking ,stock checking,Inventory MAnagement, Hotel / Travel / Airlines jobs in   Saudi Arabia";i:4;s:2621:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Camp Manager",
		  "baseSalary": "",
		  "description": "1.Responsible for operational activities in the camp or rig under his supervision,
Ensuring the daily good management of the location.
2. Carry out the daily, weekly and monthly duties as laid out by the Company and below detailed
.
3. Fill and keep record of administrative forms in accordance with the Company rules.
4. Manage the team of expatriate’s staff working at the camp and increase his motivation.
5. Supervise and take part to the training of staff according to the rules of HSE, Food Hygiene and Safety, HACCP, etc.
6. Responsible for requests warehouse, stocking and stock checking in addition to cost control reporting according to the rules made by the Company, always ensuring a minimum stock quantity for each item.
7. Responsible for cold and dry stores in the location He is the only person
Entitled to keep the keys and will be responsible for any eventual shortages.
8. The Camp Boss must be clean, tidy and shall follow diligently the disciplinary 
rules laid out in his contract.
9. Monthly Inventory with reported expiry date of all products
.
10. Inventory and record of sales of mini - market or bonded store (in case
it exists), filling the relative form.
11. P.O.B. duly signed by the Client or his Representative.
12. Records of extra services and sales rendered to Clients, duly signed by the Client, reporting the number of budgeted Projects or refer to object or person
, in order to be invoiced
.
13. Keep a record and recap of the weekly menu agreed with the Client, duly signed by the Client and Camp Boss and sent to the main office, with all documents.
14. Fill a record with the weekly consumption divided by family.
.
15. Keep a record and recap of: Daily presences of the Client, Daily inventory, 
Cash and market movement in proper forms, 
Recap of extra sales to the Client.
16. Fill the Local staff Time sheet and attendance register.",
		  "educationRequirements": "Advanced/Higher Diploma",
		  "experienceRequirements": "6 - 8 Years",
		  "industry": "Hotel / Travel / Airlines",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "Advanced/Higher Diploma",
		     "skills": "Camp Management, Camp Boss Activities, Supervising, Camp Operations, Team Management, stocking ,stock checking,Inventory MAnagement"
		  }
		</script>
		";i:5;N;}