a:6:{i:0;s:7201:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for business development executive in ghaziabad</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.rightrecruitjobs.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.rightrecruitjobs.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for business development executive in ghaziabad</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">Urgent Opening For Business Development Executive In Ghaziabad (Mohan Nagar); Only For Females</div>
									<p class="mt7px fw6">Ghaziabad</p>
									
				<br>
				<p class="aj mt7px">• Handle New Business Development for the Company So as to Get New Clients Through Networking or Surfing Internet; Field Work Not to Be Done, Only Desk Job<br />
• Address Issues or Concerns of Existing Clients & Provide Proper Resolution On Day to Day Basis; Maintain Daily Reports & MIS as per requirement<br />
• Ensure Proper Documentation of Work & Follow the Time-lines as Required<br />
• Any other Assignment Allocated as per Organizational Requirements.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 3 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">Sales/Marketing</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.A, B.B.A, B.Com, B.Sc, M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Sales</span>
												<span class="bdr dib p2px10px mr5px mt2px">Marketing</span>
												<span class="bdr dib p2px10px mr5px mt2px">Business Development</span>
												<span class="bdr dib p2px10px mr5px mt2px">Client Management Skills</span>
												<span class="bdr dib p2px10px mr5px mt2px">Customer Service</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 vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Confidential</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Our client is a well-known  is the Largest Single Window Sweetener Company of India since year 2009 & is exclusive partner in India associated with World’s Largest Sweetener companies such as JK Sucralose Inc., HSWT France, Aoxing Stevia etc for Raw Material and Technical Support. It is based in Ghaziabad (near Mohan Nagar Metro Station).</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Vipul Ranjan</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Ghaziabad</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8808643936 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:vipul@rightrecruitjobs.com"> vipul@rightrecruitjobs.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="530181">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="893111"><input type="hidden" name="subject" value="Applied for Urgent Opening for Business Development Executive in Ghaziabad (Mohan Nagar); Only for Females">
					</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-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(4)</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">(2)</span><a href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</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: 'aFBkT2dheEhqb0ZiTEo3ZDRacklGZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:90:"Job openings for business development executive in ghaziabad | RightRecruit HR Consultants";i:2;s:471:"Urgent Opening for Business Development Executive in Ghaziabad (Mohan Nagar); Only for Females Jobs,Urgent Opening for Business Development Executive in Ghaziabad (Mohan Nagar); Only for Females Jobs in Ghaziabad,Urgent Opening for Business Development Executive in Ghaziabad (Mohan Nagar); Only for Females Vacancy in Ghaziabad,Urgent Opening for Business Development Executive in Ghaziabad (Mohan Nagar); Only for Females jobs in India,Sales/Marketing jobs in Ghaziabad";i:3;s:430:"Apply for Urgent Opening for Business Development Executive in Ghaziabad (Mohan Nagar); Only for Females Jobs in Ghaziabad India - Urgent Opening for Business Development Executive in Ghaziabad (Mohan Nagar); Only for Females Vacancy  in Sales/Marketing field with 0 to 3 years Work Experience, Key Skills are Sales,Marketing,Business Development,Client Management Skills,Customer Service, Sales/Marketing jobs in Ghaziabad  India";i:4;s:1258:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Urgent Opening for Business Development Executive in Ghaziabad (Mohan Nagar); Only for Females",
		  "baseSalary": "",
		  "description": "• Handle New Business Development for the Company So as to Get New Clients Through Networking or Surfing Internet; Field Work Not to Be Done, Only Desk Job
• Address Issues or Concerns of Existing Clients & Provide Proper Resolution On Day to Day Basis; Maintain Daily Reports & MIS as per requirement
• Ensure Proper Documentation of Work & Follow the Time-lines as Required
• Any other Assignment Allocated as per Organizational Requirements.",
		  "educationRequirements": "B.A, B.B.A, B.Com, B.Sc, M.B.A/PGDM",
		  "experienceRequirements": "0 - 3 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Ghaziabad"
		    }
		  },
		 "qualifications": "B.A, B.B.A, B.Com, B.Sc, M.B.A/PGDM",
		     "skills": "Sales,Marketing,Business Development,Client Management Skills,Customer Service"
		  }
		</script>
		";i:5;N;}