a:6:{i:0;s:6306:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Telesales Executive</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.sdbtravel.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.sdbtravel.co.in/career-with-us.htm" title="Career with Us">Career with Us</a>
																
					<b class="ffv p2px">&rsaquo;</b> Telesales Executive</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-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 0 - 3 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Kolkata, Dumdum</p>
										
					<div>
					<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="857190">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="850360"><input type="hidden" name="subject" value="Applied for Telesales Executive">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Tele calling to tour and travel related customer get the booking done</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 80 Thousand  To  90 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Hotel / Travel / Airlines</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">0 - 3 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Telecalling</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> BPO</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Telemarketing</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Telesales</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Voice Process</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">Saurabh Banerjee</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">Kolkata~~~</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="857190">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="850360"><input type="hidden" name="subject" value="Applied for Telesales Executive">
					</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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-kolkata.htm" title="Jobs in Kolkata">Kolkata</a> <b class="alpha50 bn small">(2)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-hotel-travel-fid.htm" title="Hotel / Travel / Airlines Jobs">Hotel / Travel / Airlines</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a> <b class="alpha50 bn small">(1)</b></span>
									
				</div>
				</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: 'OUgyWlVFbjNKbjNDVXdrN3lldWIwZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:74:"Telesales Executive Jobs in Kolkata - Vacancy in Hotel / Travel / Airlines";i:2;s:175:"Telesales Executive Jobs,Telesales Executive Jobs in Kolkata,Telesales Executive Vacancy in Kolkata,Telesales Executive jobs in India,Hotel / Travel / Airlines jobs in Kolkata";i:3;s:275:"Apply for Telesales Executive Jobs in Kolkata India - Telesales Executive Vacancy  in Hotel / Travel / Airlines field with 0 to 3 years Work Experience, Key Skills are Telecalling, BPO, Telemarketing, Telesales, Voice Process, Hotel / Travel / Airlines jobs in Kolkata  India";i:4;s:795:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Telesales Executive",
		  "baseSalary": " 80 Thousand  To  90 Thousand ",
		  "description": "Tele calling to tour and travel related customer get the booking done",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "0 - 3 Years",
		  "industry": "Hotel / Travel / Airlines",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "West Bengal",
		      "addressRegion": "Kolkata, Dumdum"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Telecalling, BPO, Telemarketing, Telesales, Voice Process"
		  }
		</script>
		";i:5;N;}