a:6:{i:0;s:9773:"				<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 relation manager in gurgaon</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.realjobsconsultingservices.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.realjobsconsultingservices.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for relation manager in gurgaon</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Relation Manager</div>
									<p class="mt7px fw6">Gurgaon</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="995988">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1028707"><input type="hidden" name="subject" value="Applied for Relation Manager">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="https://www.realjobsconsultingservices.com/vacancy_1028707.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">Customer Engagement:<br />
- Continuous engagement with the portfolio customers mapped as per the contact policy, with accurate & complete capture of interaction details.<br />
- Call handling as per defined standards.<br />
- Accurate resolution for customer queries.<br />
- Promoting Digital Banking services for a superior customer service experience.<br />
- Profiling of customers in order to aid right cross-servicing of Bank products<br />
- Accurate logging and resolution of complaints.<br />
- Attrition control of customers.<br />
- Regular interactions with the customers and pro-actively assessing customer needs.<br />
- Deepening relationship by cross selling 'sticky products' like Demat, Bill Pay, Advisory etc. <br />
- Ensure portfolio quality of relationship while racing considering eligibility.<br />
- Monitor large amount movements and account closure from the deposit accounts.<br />
- Ensure retention of customers<br />
<br />
Achievement of portfolio parameters :<br />
- Meet the defined objectives of the Portfolio managed by the respective VRM. <br />
<br />
Sales :<br />
- Right cross-sell of products basis profiling and engagement.<br />
- Penetration of products across groups.<br />
- Sales across all product segments-TPP, Assets, Cards etc.<br />
- Acquiring & grouping of all related IDs of the Primary ID. <br />
- Ensure Staff are trained on product knowledge and requisite certifications.<br />
- Income to be generated at a customer level.<br />
<br />
Interaction Quality :<br />
- Achieve Quality benchmarks defined from time to time.<br />
- Complete and accurate capture of call interactions, including profiling thereby aiding relationship management.<br />
<br />
Audit and Service Quality<br />
- Ensure all laid down system and process are followed as stipulated by Audit and Senior Management <br />
- Ensure accurate and timely submission of financial transactions.& requests.<br />
- Adherence to set processes of updating customer interactions in CRM next.<br />
<br />
MIS - Reporting:<br />
- Ensure timely submission of Customer base re</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 3 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  To  4  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Financial Services / Banking, Investments / Insurance / stock market / Loan</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree, B.A, B.B.A, B.Com, B.Sc</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Sales</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Relationship Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Relation Manager</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Customer Relationship</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Client Relationship</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Customer Care</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Customer Support</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Customer Service</span>
												<span class="bdr dib p2px10px mr5px mt2px"></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 vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">PolicyBazaar.com</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Policybazaar is an Indian insurance aggregator and multinational financial technology company based in Gurgaon. The company was founded in June 2008 by Yashish Dahiya,Alok Bansal and Avaneesh Nirjar. It provides a digital platform - website and app - where users can compare insurance policies and other financial services from major insurance companies. The company is India's largest insurance aggregator, and has expanded its operations to the United Arab Emirates.
Policybazaar is the flagship subsidiary of PB Fintech Ltd which also owns the credit product aggregator Paisabazaar.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Sunil Kumar</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7065580947 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:sunilghodewal1@gmail.com"> sunilghodewal1@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="995988">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1028707"><input type="hidden" name="subject" value="Applied for Relation 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-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</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-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</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: 'Yno1Mko0TEFWbHBVS2gvN3V4V1hGZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:76:"Job openings for relation manager in gurgaon | Real Jobs Consulting Services";i:2;s:213:"Relation Manager Jobs,Relation Manager Jobs in Gurgaon,Relation Manager Vacancy in Gurgaon,Relation Manager jobs in India,Financial Services / Banking, Investments / Insurance / stock market / Loan jobs in Gurgaon";i:3;s:456:"Apply for Relation Manager Jobs in Gurgaon India - Relation Manager Vacancy  in Financial Services / Banking, Investments / Insurance / stock market / Loan field with 1 to 3 years Work Experience, Key Skills are Sales, Relationship Management, Relation Manager, Customer Relationship, Client Relationship, Customer Care, Customer Support, Customer Service,, Financial Services / Banking, Investments / Insurance / stock market / Loan jobs in Gurgaon  India";i:4;s:3893:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Relation Manager",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "PolicyBazaar.com",
	        "value":  "1028707"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "PolicyBazaar.com",
	      "description": "Policybazaar is an Indian insurance aggregator and multinational financial technology company based in Gurgaon. The company was founded in June 2008 by Yashish Dahiya,Alok Bansal and Avaneesh Nirjar. It provides a digital platform - website and app - where users can compare insurance policies and other financial services from major insurance companies. The company is India's largest insurance aggregator, and has expanded its operations to the United Arab Emirates.
Policybazaar is the flagship subsidiary of PB Fintech Ltd which also owns the credit product aggregator Paisabazaar.",
	      "telephone" : "7065580947",
	      "email" : "sunilghodewal1@gmail.com"  
	       },
		  "url": "https://www.realjobsconsultingservices.com/job-openings-for-relation-manager-gurgaon-1028707.htm",
          "datePosted": "2022-01-03",
          
		  "baseSalary": " 3  Lac  To  4  Lac  50 Thousand ",
		  "description": "Customer Engagement:
- Continuous engagement with the portfolio customers mapped as per the contact policy, with accurate & complete capture of interaction details.
- Call handling as per defined standards.
- Accurate resolution for customer queries.
- Promoting Digital Banking services for a superior customer service experience.
- Profiling of customers in order to aid right cross-servicing of Bank products
- Accurate logging and resolution of complaints.
- Attrition control of customers.
- Regular interactions with the customers and pro-actively assessing customer needs.
- Deepening relationship by cross selling 'sticky products' like Demat, Bill Pay, Advisory etc. 
- Ensure portfolio quality of relationship while racing considering eligibility.
- Monitor large amount movements and account closure from the deposit accounts.
- Ensure retention of customers

Achievement of portfolio parameters :
- Meet the defined objectives of the Portfolio managed by the respective VRM. 

Sales :
- Right cross-sell of products basis profiling and engagement.
- Penetration of products across groups.
- Sales across all product segments-TPP, Assets, Cards etc.
- Acquiring & grouping of all related IDs of the Primary ID. 
- Ensure Staff are trained on product knowledge and requisite certifications.
- Income to be generated at a customer level.

Interaction Quality :
- Achieve Quality benchmarks defined from time to time.
- Complete and accurate capture of call interactions, including profiling thereby aiding relationship management.

Audit and Service Quality
- Ensure all laid down system and process are followed as stipulated by Audit and Senior Management 
- Ensure accurate and timely submission of financial transactions.& requests.
- Adherence to set processes of updating customer interactions in CRM next.

MIS - Reporting:
- Ensure timely submission of Customer base re",
		  "educationRequirements": "Other Bachelor Degree, B.A, B.B.A, B.Com, B.Sc",
		  "experienceRequirements": "1 - 3 Years",
		  "industry": "Financial Services / Banking, Investments / Insurance / stock market / Loan",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Gurgaon"
		    }
		  },
		 "qualifications": "Other Bachelor Degree, B.A, B.B.A, B.Com, B.Sc",
		     "skills": "Sales, Relationship Management, Relation Manager, Customer Relationship, Client Relationship, Customer Care, Customer Support, Customer Service,"
		  }
		</script>
		";i:5;N;}