a:6:{i:0;s:12859:"				<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 Medical Representative in Asansol</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.jobmartasansol.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.jobmartasansol.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for Medical Representative in Asansol</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">Medical Representative</div>
									<p class="mt7px fw6">Asansol</p>
								
				</div>
				<div class="dtc w200px ar">
				<div class="ShareDropdown dib">	
				<div class="copyLinkPopup">Link Copied</div>		  
				<span class="data"><i class="fa fa-share-alt xxlarge vam"></i></span>
				<ul class="shareList data bdr0">
				<li><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://www.jobmartasansol.in/job-openings-for-medical-representative-asansol-915570.htm" class="facebook" title="Facebook"><i class="fa fa-facebook-official"></i></a></li> 
				<li><a target="_blank" href="https://www.instagram.com/?url=https://www.jobmartasansol.in/job-openings-for-medical-representative-asansol-915570.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.jobmartasansol.in/job-openings-for-medical-representative-asansol-915570.htm" class="whatsapp" title="Whatsapp"><i class="fa fa fa-whatsapp"></i></a></li>  
				<li><a target="_blank" href="https://X.com/intent/tweet?text=Medical Representative&url=https://www.jobmartasansol.in/job-openings-for-medical-representative-asansol-915570.htm" class="twitter" title="Twitter"><img src="https://catalog.wlimg.com/mobile/social-networking-img/1002.svg" alt="Twitter" style="width:22px;height:22px;vertical-align:middle;margin-right:6px;"></a></li> 
				<li><a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.jobmartasansol.in/job-openings-for-medical-representative-asansol-915570.htm&title=Medical Representative" class="linkedin" title="Linkedin"><i class="fa fa-linkedin-square"></i></a></li>
				<li><a target="_blank" href="https://pinterest.com/pin/create/button/?url=https://www.jobmartasansol.in/job-openings-for-medical-representative-asansol-915570.htm&description=Medical Representative" class="pinterest" title="Pinterest"><i class="fa fa-pinterest-square"></i></a></li>	
				<li><a href="javascript:;" title="Copy Link" class="copy" onclick="copyURL()"><i class="fa fa-clone"></i></a></li>
				</ul>
				</div>
				<script>
				$(document).ready(function(){
				$('.ShareDropdown span').click(function(){
				 $('.ShareDropdown').toggleClass("active");
				}); 
				});
				</script>
				<script>
				  function copyURL() {
				    const url = window.location.href;
					const textarea = document.createElement("textarea");
					textarea.value = url;
					textarea.style.position = "fixed";
					document.body.appendChild(textarea);
					textarea.focus();
					textarea.select();
			
					try {
					  document.execCommand("copy");
					//  alert("URL copied (fallback)!");
					  $(".copyLinkPopup").show();		 
			          setTimeout(function(){$(".copyLinkPopup").hide();}, 2000);
				      $('.ShareDropdown').removeClass("active");
					  
					} catch (err) {
					  console.error("Fallback copy failed:", err);
					}
			
					document.body.removeChild(textarea);
				  }
				</script>
				<div class="mt7px ml7px dib">
									
					<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="669666">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="915570"><input type="hidden" name="subject" value="Applied for Medical Representative">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.jobmartasansol.in/vacancy_915570.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px lh18em">Requirement for asansol.west bengal <br />Salary 9 to 12 with insentive and ta <br />Bike requiere</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 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">Health Care / Pharmaceuticals / Medical</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.A, Higher Secondary, Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">Medical Representative</span>
														<span class="bdr dib p2px10px mr5px mt2px">Medical Sales</span>
														<span class="bdr dib p2px10px mr5px mt2px">Pharmacy Sales</span>
												</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div>
				<!--p class="large fw6">About Company</p-->
				<div>
				
								
				<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="669666">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="915570"><input type="hidden" name="subject" value="Applied for Medical Representative">
					</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="https://www.jobmartasansol.in/jobs-in-asansol.htm" title="Jobs in Asansol">Asansol</a> <b class="alpha50 bn small">(16)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-kolkata.htm" title="Jobs in Kolkata">Kolkata</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-bardhaman.htm" title="Jobs in Bardhaman">Bardhaman</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-bhubaneswar.htm" title="Jobs in Bhubaneswar">Bhubaneswar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-jamshedpur.htm" title="Jobs in Jamshedpur">Jamshedpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-muzaffarpur.htm" title="Jobs in Muzaffarpur">Muzaffarpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.jobmartasansol.in/jobs-in-durgapur.htm" title="Jobs in Durgapur">Durgapur</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="https://www.jobmartasansol.in/jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="https://www.jobmartasansol.in/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">(5)</span><a href="https://www.jobmartasansol.in/jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="https://www.jobmartasansol.in/jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception / Computer Operator / Assistant Jobs">Front Office / Reception / Com...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.jobmartasansol.in/jobs-in-defence-forces-security-forces-fid.htm" title="Defence Forces Jobs">Defence Forces</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.jobmartasansol.in/jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering / Engineering Design / R&D / Quality Jobs">Engineering / Engineering Desi...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.jobmartasansol.in/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="https://www.jobmartasansol.in/jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.jobmartasansol.in/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="https://www.jobmartasansol.in/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">(1)</span><a href="https://www.jobmartasansol.in/jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="https://www.jobmartasansol.in/jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="https://www.jobmartasansol.in/jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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>
				
	<?php
	$source_type="";
	if (!empty($_REQUEST["utm_campaign"]) && ($_REQUEST["utm_campaign"]=="google_jobs_apply" || $_REQUEST["utm_campaign"]=="JobApplyPI")) {
		$source_type=$_REQUEST["utm_campaign"];
	}
	?>
	";i:1;s:79:"Job openings for Medical Representative in Asansol | Job Mart Asansol Placement";i:2;s:201:"Medical Representative Jobs,Medical Representative Jobs in Asansol,Medical Representative Vacancy in Asansol,Medical Representative jobs in India,Health Care / Pharmaceuticals / Medical jobs in Asansol";i:3;s:303:"Apply for Medical Representative Jobs in Asansol India - Medical Representative Vacancy  in Health Care / Pharmaceuticals / Medical field with 0 to 1 years Work Experience, Key Skills are Medical Representative,Medical Sales,Pharmacy Sales, Health Care / Pharmaceuticals / Medical jobs in Asansol  India";i:4;s:1865:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Medical Representative",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Job Mart Asansol Placement",
	        "value":  "915570"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Job Mart Asansol Placement",
	      "description": "Job Mart Asansol is a noted entity in the placement space of West Bengal. Operating since 2013 in Asansol (West Bengal), this company is steered by Sh. Rajiv Kumar. He’s an expert in the industry and has been guiding the company towards success since inception. We provide all the services that bridge the gap between jobseekers and employers. The services for HR consultancy, placement consultancy, career consultancy, and work at home are offered by us. Besides, security services and housekeeping services are also rendered by us.",
	      "telephone" : "7699690367",
	      "email" : "rajivpathak1556@gmail.com"  
	       },
		  "url": "https://www.jobmartasansol.in/job-openings-for-medical-representative-asansol-915570.htm",
          "datePosted": "2025-05-22",
          
		  "baseSalary": "",
		  "description": "Requirement for asansol.west bengal rnSalary 9 to 12 with insentive and ta rnBike requiere",
		  "educationRequirements": "B.A, Higher Secondary, Other Bachelor Degree",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Health Care / Pharmaceuticals / Medical",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "West Bengal",
		      "addressRegion": "Asansol"
		    }
		  },
		 "qualifications": "B.A, Higher Secondary, Other Bachelor Degree",
		     "skills": "Medical Representative,Medical Sales,Pharmacy Sales"
		  }
		</script>
		";i:5;N;}