a:6:{i:0;s:8367:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Opening For Backend Executive In Indusind Bank</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.kgnrecruiter.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.kgnrecruiter.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Opening For Backend Executive In Indusind Bank</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 - 1 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Delhi</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="806827">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="823736"><input type="hidden" name="subject" value="Applied for Opening For Backend Executive In Indusind Bank">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Bank- IndusInd Bank<br />
Designation- Backend Executive<br />
Qualification- Only Graduates with Good Communication Skills<br />
Salary- 18000 to 19000<br />
Location- Delhi NCR<br />
* Male / Female Both can apply. <br />
<br />
Duties & Responsibilities:<br />
<br />
1. Assist and support administrative staff in their day to day operations.<br />
2. Assist and coordinate with sales and marketing teams.<br />
3. Conduct marketing research, document and report to the marketing department.<br />
4. Support sales staff in handling and documenting customer accounts.<br />
<br />
5. Perform competitor product analysis and prepare reports.<br />
6. Prepare and reconcile customer balances.<br />
7. Correct discrepancies in customer account balances.<br />
8. Assist inventory controlling staff in maintaining inventory records.<br />
9. Assist front office staff in maintaining the office premises clean and neat.<br />
10.Assist front office in preparing, scheduling and organizing meetings, events and appointments.</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  To  3  Lac  25 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Banking / Investments / Stock Market / Financial Services</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Other Master 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">Backend Executive</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Data Entry</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">Email ID</td>
						<td class="p5px"><a href="mailto:kgnrecruiter@gmail.com"> kgnrecruiter@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="806827">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="823736"><input type="hidden" name="subject" value="Applied for Opening For Backend Executive In Indusind Bank">
					</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-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(60)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(49)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</a> <b class="alpha50 bn small">(23)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(35)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-greaternoida.htm" title="Jobs in Greater Noida">Greater Noida</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(10)</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-banking-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock Market / Financial Services</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Customer Service / Operations</a> <b class="alpha50 bn small">(165)</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: 'a0lzRWtQRXdRM0JyUXc1TkNHQUtSQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:131:"Opening For Backend Executive In Indusind Bank Jobs in Delhi - Vacancy in Banking / Investments / Stock Market / Financial Services";i:2;s:309:"Opening For Backend Executive In Indusind Bank Jobs,Opening For Backend Executive In Indusind Bank Jobs in Delhi,Opening For Backend Executive In Indusind Bank Vacancy in Delhi,Opening For Backend Executive In Indusind Bank jobs in India,Banking / Investments / Stock Market / Financial Services jobs in Delhi";i:3;s:361:"Apply for Opening For Backend Executive In Indusind Bank Jobs in Delhi India - Opening For Backend Executive In Indusind Bank Vacancy  in Banking / Investments / Stock Market / Financial Services field with 0 to 1 years Work Experience, Key Skills are Backend Executive, Data Entry, Banking / Investments / Stock Market / Financial Services jobs in Delhi  India";i:4;s:1652:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Opening For Backend Executive In Indusind Bank",
		  "baseSalary": " 2  Lac  To  3  Lac  25 Thousand ",
		  "description": "Bank- IndusInd Bank
Designation- Backend Executive
Qualification- Only Graduates with Good Communication Skills
Salary- 18000 to 19000
Location- Delhi NCR
* Male / Female Both can apply. 

Duties & Responsibilities:

1. Assist and support administrative staff in their day to day operations.
2. Assist and coordinate with sales and marketing teams.
3. Conduct marketing research, document and report to the marketing department.
4. Support sales staff in handling and documenting customer accounts.

5. Perform competitor product analysis and prepare reports.
6. Prepare and reconcile customer balances.
7. Correct discrepancies in customer account balances.
8. Assist inventory controlling staff in maintaining inventory records.
9. Assist front office staff in maintaining the office premises clean and neat.
10.Assist front office in preparing, scheduling and organizing meetings, events and appointments.",
		  "educationRequirements": "Other Master Degree",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Banking / Investments / Stock Market / Financial Services",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": "Delhi"
		    }
		  },
		 "qualifications": "Other Master Degree",
		     "skills": "Backend Executive, Data Entry"
		  }
		</script>
		";i:5;N;}