a:6:{i:0;s:4783:"				<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 business development manager in north delhi delhi</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.kosmetikaenterprises.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.kosmetikaenterprises.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for business development manager in north delhi delhi</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Business Development Manager</div>
									<p class="mt7px fw6">Delhi, North Delhi</p>
									
				<br>
				<p class="aj mt7px">Increase our sales. Meeting with purchase manager from the manufacturing companies in different areas or cities. No fixed salary initially. We offer 5% commission on total sales. No need to come office daily. Work from your home. Sell our materials with our decided prices. If sell with extra price it will be yours except 5% commission.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 3 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px">Less than  50 Thousand  P.A.</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</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Business Development</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
								
				<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="875842">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="871872"><input type="hidden" name="subject" value="Applied for Business Development 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-delhi.htm" title="Jobs in Delhi">Delhi</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">(1)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</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: 'NnRrcUNyc3lGNU0xUmN1QmJ3VUwyQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:90:"Job openings for business development manager in north delhi delhi | Kosmetika Enterprises";i:2;s:195:"Business Development Manager Jobs,Business Development Manager Jobs in Delhi,Business Development Manager Vacancy in Delhi,Business Development Manager jobs in India,Sales/Marketing jobs in Delhi";i:3;s:232:"Apply for Business Development Manager Jobs in Delhi India - Business Development Manager Vacancy  in Sales/Marketing field with 2 to 3 years Work Experience, Key Skills are Business Development, Sales/Marketing jobs in Delhi  India";i:4;s:983:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Business Development Manager",
		  "baseSalary": "Less than  50 Thousand ",
		  "description": "Increase our sales. Meeting with purchase manager from the manufacturing companies in different areas or cities. No fixed salary initially. We offer 5% commission on total sales. No need to come office daily. Work from your home. Sell our materials with our decided prices. If sell with extra price it will be yours except 5% commission.",
		  "educationRequirements": "B.A",
		  "experienceRequirements": "2 - 3 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": "Delhi, North Delhi"
		    }
		  },
		 "qualifications": "B.A",
		     "skills": "Business Development"
		  }
		</script>
		";i:5;N;}