a:6:{i:0;s:10382:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for crew manager in mumbai navi mumbai</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.singhbusinessservices.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.singhbusinessservices.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for crew manager in mumbai navi mumbai</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="xxxlarge fw6 dif">Crew Manager</div>
									<p class="mt7px fw6">Mumbai, Navi Mumbai</p>
									
				<br>
				<p class="aj mt7px">Manager Ratings Male candidate only<br />
<br />
Location – Seawoods<br />
<br />
Minimum experience – 08 to 09 Year (Shipping main fleet in crewing department with excellent communication and good computer skills).<br />
<br />
Wages –  Depend on interview and experience<br />
<br />
Education – Graduate in any stream<br />
<br />
 <br />
<br />
RESPONSIBILITIES<br />
<br />
      Manage the coordination with sourcing department for selection of officers and ensure timely delivery of qualified applicants.<br />
<br />
      Liaise with manning agents and Marine Operations Manager for crew change arrangement<br />
<br />
      Implementing manning decisions made by the Top Management.<br />
<br />
      Monitoring available ex-hands and schedule deployment, anticipating future Company’s needs for recruitment<br />
<br />
      Manpower Planning<br />
<br />
      Verifying that the qualifications and experience of new recruits are genuine.<br />
<br />
      Checking application forms and previous Company's records for each seagoing personnel prior to engagement.<br />
<br />
      Update & maintain crew database on a daily basis<br />
<br />
      Ensure having organized - documentation for all crewing matters<br />
<br />
      Monitor of documents and licenses validity for officers.<br />
<br />
      Validate completeness and validity of crew documents against company requirement and regulations<br />
<br />
      Manage the process of personnel mobilization and demobilization (travel arrangement, visa, hotel accommodation, etc).<br />
<br />
      Ensure the correct numbers and suitable personnel arrive on time.<br />
<br />
      Ensure company policies and procedures are disseminated and complied by all employees<br />
<br />
      Handle the new crew needs and logistics (safety, services, compensation, benefits, personnel, accommodation, etc).</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">8 - 12 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 6  Lac  To  12  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">HR / Recruitment / Administration / IR / Training & Development / Operations</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Crew Manager</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Crew 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">Gurdeep Singh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Glomax Mall, S-41, Sector 2, Second Floor, Kharghar</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7021106920 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:gurdeep@singhbusinessservices.com"> gurdeep@singhbusinessservices.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="822750">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="871004"><input type="hidden" name="subject" value="Applied for Crew 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-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chandigarh.htm" title="Jobs in Chandigarh">Chandigarh</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mohali.htm" title="Jobs in Mohali">Mohali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-amritsar.htm" title="Jobs in Amritsar">Amritsar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jalandhar.htm" title="Jobs in Jalandhar">Jalandhar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ludhiana.htm" title="Jobs in Ludhiana">Ludhiana</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jaipur.htm" title="Jobs in Jaipur">Jaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-lucknow.htm" title="Jobs in Lucknow">Lucknow</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">(3)</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 "><span class="fr">(2)</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">(2)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</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">(1)</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 "><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 "><span class="fr">(1)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</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: 'R3gxalVZR0hURmZUMmxPdmE0eGdWZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:77:"Job openings for crew manager in mumbai navi mumbai | Singh Business Services";i:2;s:234:"Crew Manager Jobs,Crew Manager Jobs in Mumbai, Navi Mumbai,Crew Manager Vacancy in Mumbai, Navi Mumbai,Crew Manager jobs in India,HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Mumbai, Navi Mumbai";i:3;s:360:"Apply for Crew Manager Jobs in Mumbai, Navi Mumbai India - Crew Manager Vacancy  in HR / Recruitment / Administration / IR / Training & Development / Operations field with 8 to 12 years Work Experience, Key Skills are Crew Manager, Crew Management, HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Mumbai, Navi Mumbai  India";i:4;s:2379:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Crew Manager",
		  "baseSalary": " 6  Lac  To  12  Lac ",
		  "description": "Manager Ratings Male candidate only

Location – Seawoods

Minimum experience – 08 to 09 Year (Shipping main fleet in crewing department with excellent communication and good computer skills).

Wages –  Depend on interview and experience

Education – Graduate in any stream

 

RESPONSIBILITIES

      Manage the coordination with sourcing department for selection of officers and ensure timely delivery of qualified applicants.

      Liaise with manning agents and Marine Operations Manager for crew change arrangement

      Implementing manning decisions made by the Top Management.

      Monitoring available ex-hands and schedule deployment, anticipating future Company’s needs for recruitment

      Manpower Planning

      Verifying that the qualifications and experience of new recruits are genuine.

      Checking application forms and previous Company's records for each seagoing personnel prior to engagement.

      Update & maintain crew database on a daily basis

      Ensure having organized - documentation for all crewing matters

      Monitor of documents and licenses validity for officers.

      Validate completeness and validity of crew documents against company requirement and regulations

      Manage the process of personnel mobilization and demobilization (travel arrangement, visa, hotel accommodation, etc).

      Ensure the correct numbers and suitable personnel arrive on time.

      Ensure company policies and procedures are disseminated and complied by all employees

      Handle the new crew needs and logistics (safety, services, compensation, benefits, personnel, accommodation, etc).",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "8 - 12 Years",
		  "industry": "HR / Recruitment / Administration / IR / Training & Development / Operations",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai, Navi Mumbai"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Crew Manager, Crew Management"
		  }
		</script>
		";i:5;N;}