a:6:{i:0;s:8273:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for crew assistant in mumbai thane 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 assistant in mumbai thane 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 Assistant / Fleet Personnel Assistant For Ratings Department</div>
									<p class="mt7px fw6">Mumbai, Thane, Navi Mumbai</p>
									
				<br>
				<p class="aj mt7px">Please find below Job Description for MNC into Shipping Industry, incase you are interested for below job send your updated cv<br />
Work Experience -<br />
Current CTC -<br />
Expected CTC -<br />
Notice Period -<br />
<br />
Salary as per market standard.<br />
Job Location - Mumbai / Navi Mumbai / Delhi / Chennai.<br />
<br />
Job Description:<br />
Officers & crew joiners documentation & paperwork clearing.<br />
Crew change plan.<br />
Liaising with vessels for day to day queries.<br />
Liaising with agent for sign on & sign off formalities.<br />
Liaising with Branch offices & overseas offices for officers joining formalities. (Courses, medicals, visa, licenses etc..)<br />
Updating every candidate record in system<br />
Knowledge of crew joining and off singing formalities, ticketing and flag state documentation.<br />
<br />
Job specific:<br />
Flexible to work under pressure<br />
Good administrative and computer skills<br />
Always willing to guide colleagues to ensure good teamwork and supporting<br />
Reasonably good command of the English language, both verbal and written<br />
<br />
Thanks and Warm Regards,<br />
Gurdeep Singh</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 7 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  To  5  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Cargo / Freight / Transportation / Packaging / Shipping/Logistic</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">Fleet Personnel Assistant</span>
												<span class="bdr dib p2px10px mr5px mt2px">Crew Assistant</span>
												<span class="bdr dib p2px10px mr5px mt2px">Crew Operator</span>
												<span class="bdr dib p2px10px mr5px mt2px">Marine Executive</span>
												<span class="bdr dib p2px10px mr5px mt2px">Personnel Officer</span>
												<span class="bdr dib p2px10px mr5px mt2px">Personnel Executive</span>
												<span class="bdr dib p2px10px mr5px mt2px">Fleet Personnel Executive</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">8355977658 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:singhbusinessservices@gmail.com"> singhbusinessservices@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="822750">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="978537"><input type="hidden" name="subject" value="Applied for Crew Assistant / Fleet Personnel Assistant for Ratings Department">
					</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">(11)</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-thane.htm" title="Jobs in Thane">Thane</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">(7)</span><a href="jobs-in-cargo-freight-transportation-packaging-shipping-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping/Logistic Jobs">Cargo / Freight / Transportati...</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-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</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: 'aVEydjR0QVoxK0EycWg4dUJMMnN5UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:85:"Job openings for crew assistant in mumbai thane navi mumbai | Singh Business Services";i:2;s:455:"Crew Assistant / Fleet Personnel Assistant for Ratings Department Jobs,Crew Assistant / Fleet Personnel Assistant for Ratings Department Jobs in Mumbai, Thane, Navi Mumbai,Crew Assistant / Fleet Personnel Assistant for Ratings Department Vacancy in Mumbai, Thane, Navi Mumbai,Crew Assistant / Fleet Personnel Assistant for Ratings Department jobs in India,Cargo / Freight / Transportation / Packaging / Shipping/Logistic jobs in Mumbai, Thane, Navi Mumbai";i:3;s:561:"Apply for Crew Assistant / Fleet Personnel Assistant for Ratings Department Jobs in Mumbai, Thane, Navi Mumbai India - Crew Assistant / Fleet Personnel Assistant for Ratings Department Vacancy  in Cargo / Freight / Transportation / Packaging / Shipping/Logistic field with 1 to 7 years Work Experience, Key Skills are Fleet Personnel Assistant,Crew Assistant,Crew Operator,Marine Executive,Personnel Officer,Personnel Executive,Fleet Personnel Executive, Cargo / Freight / Transportation / Packaging / Shipping/Logistic jobs in Mumbai, Thane, Navi Mumbai  India";i:4;s:1899:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Crew Assistant / Fleet Personnel Assistant for Ratings Department",
		  "baseSalary": " 2  Lac  To  5  Lac ",
		  "description": "Please find below Job Description for MNC into Shipping Industry, incase you are interested for below job send your updated cv
Work Experience -
Current CTC -
Expected CTC -
Notice Period -

Salary as per market standard.
Job Location - Mumbai / Navi Mumbai / Delhi / Chennai.

Job Description:
Officers & crew joiners documentation & paperwork clearing.
Crew change plan.
Liaising with vessels for day to day queries.
Liaising with agent for sign on & sign off formalities.
Liaising with Branch offices & overseas offices for officers joining formalities. (Courses, medicals, visa, licenses etc..)
Updating every candidate record in system
Knowledge of crew joining and off singing formalities, ticketing and flag state documentation.

Job specific:
Flexible to work under pressure
Good administrative and computer skills
Always willing to guide colleagues to ensure good teamwork and supporting
Reasonably good command of the English language, both verbal and written

Thanks and Warm Regards,
Gurdeep Singh",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "1 - 7 Years",
		  "industry": "Cargo / Freight / Transportation / Packaging / Shipping/Logistic",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai, Thane, Navi Mumbai"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Fleet Personnel Assistant,Crew Assistant,Crew Operator,Marine Executive,Personnel Officer,Personnel Executive,Fleet Personnel Executive"
		  }
		</script>
		";i:5;N;}