a:6:{i:0;s:8291:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Job openings for admission cousellor in delhi ncr</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.srhrecruitment.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.srhrecruitment.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for admission cousellor in delhi ncr</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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">Admission Cousellor</div>
								
				<br>
				<p class="aj mt7px">Job Description : - <br />
1) To Handle New Candidate Query<br />
2) Having excellent Communication & Convincing Skills. <br />
3) Having excellent Presentations Skills<br />
4) Calling to all the Prospective Students and convincing them for taking admission with various Institutions.  <br />
5) Counsel student/Parents or Calls and attend walk-in’s.<br />
6) Provide information to student’s enquiring about various technical and non-technical courses. <br />
7) We provide fixed salary and UNLIMITED INCENTIVE or you can choose target base options with the Big Salary. <br />
8) Comfortable in converting cold data to positive leads. <br />
9) Converting enquiries into admission. <br />
10) Candidate should be able to make follow ups calls. <br />
11) Should be able to achieved clear targets set Daily, Weekly and Monthly.<br />
12) Suggest action plans when things are deviating from the standard or actual Goal. <br />
13) Provide daily, Weekly & Monthly Progress reports on Students Counseling, Enquiry Follows up, Positive Enquiry, New Admission and Fees follow ups to the Management.  <br />
<br />
Selection Procedure: - <br />
1) Enroll for SRH Psychometric E-Learning Program from www.srhrecuitment.com<br />
2) Qualify the assessment and attend the interview for salary negotiation. <br />
3) Work for Home (Optional). <br />
<br />
For any further query or information kindly Contact : - <br />
Rahul Kumar <br />
Head-HR/CRM<br />
SRH Recruitment & Resources Pvt. Ltd.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 4 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  To  5  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Education / Teaching / Training / Counselling / Academic</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Diploma, Professional Degree, Other Bachelor Degree, B.A, B.C.A, B.B.A, B.Com, M.A, M.B.A/PGDM, M.Com</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Good communication</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Admission Cousellor</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Career counselor</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Academic counselor</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Education sales</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">Contact Person</td>
						<td class="p5px">Rahul Kumar</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">RZ-49a ,street no.-7, kailashpuri main ,Palam colony</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7876422889 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:rahul.worldwide@gmail.com"> rahul.worldwide@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="878608">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="931497"><input type="hidden" name="subject" value="Applied for Admission Cousellor">
					</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>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-meerut.htm" title="Jobs in Meerut">Meerut</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-dehradun.htm" title="Jobs in Dehradun">Dehradun</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-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">(1)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</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: 'YnNUR0daMUMzanIyN0NCeUNLREdqUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:97:"Job openings for admission cousellor in delhi ncr | SRH RECRUITMENT AND RESOURCES PRIVATE LIMITED";i:2;s:185:"Admission Cousellor Jobs,Admission Cousellor Jobs in ,Admission Cousellor Vacancy in ,Admission Cousellor jobs in India,Education / Teaching / Training / Counselling / Academic jobs in ";i:3;s:360:"Apply for Admission Cousellor Jobs in  India - Admission Cousellor Vacancy  in Education / Teaching / Training / Counselling / Academic field with 0 to 4 years Work Experience, Key Skills are Good communication, Admission Cousellor, Career counselor, Academic counselor, Education sales, Education / Teaching / Training / Counselling / Academic jobs in   India";i:4;s:2278:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Admission Cousellor",
		  "baseSalary": " 3  Lac  To  5  Lac ",
		  "description": "Job Description : - 
1) To Handle New Candidate Query
2) Having excellent Communication & Convincing Skills. 
3) Having excellent Presentations Skills
4) Calling to all the Prospective Students and convincing them for taking admission with various Institutions.  
5) Counsel student/Parents or Calls and attend walk-in’s.
6) Provide information to student’s enquiring about various technical and non-technical courses. 
7) We provide fixed salary and UNLIMITED INCENTIVE or you can choose target base options with the Big Salary. 
8) Comfortable in converting cold data to positive leads. 
9) Converting enquiries into admission. 
10) Candidate should be able to make follow ups calls. 
11) Should be able to achieved clear targets set Daily, Weekly and Monthly.
12) Suggest action plans when things are deviating from the standard or actual Goal. 
13) Provide daily, Weekly & Monthly Progress reports on Students Counseling, Enquiry Follows up, Positive Enquiry, New Admission and Fees follow ups to the Management.  

Selection Procedure: - 
1) Enroll for SRH Psychometric E-Learning Program from www.srhrecuitment.com
2) Qualify the assessment and attend the interview for salary negotiation. 
3) Work for Home (Optional). 

For any further query or information kindly Contact : - 
Rahul Kumar 
Head-HR/CRM
SRH Recruitment & Resources Pvt. Ltd.",
		  "educationRequirements": "Diploma, Professional Degree, Other Bachelor Degree, B.A, B.C.A, B.B.A, B.Com, M.A, M.B.A/PGDM, M.Com",
		  "experienceRequirements": "0 - 4 Years",
		  "industry": "Education / Teaching / Training / Counselling / Academic",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "Diploma, Professional Degree, Other Bachelor Degree, B.A, B.C.A, B.B.A, B.Com, M.A, M.B.A/PGDM, M.Com",
		     "skills": "Good communication, Admission Cousellor, Career counselor, Academic counselor, Education sales"
		  }
		</script>
		";i:5;N;}