a:6:{i:0;s:7643:"				<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 microsoft dynamics crm consultant in ahmedabad</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.unionjobhub.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.unionjobhub.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for microsoft dynamics crm consultant in ahmedabad</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Microsoft Dynamics CRM Consultant (Mid- Level Experience)</div>
									<p class="mt7px fw6">Ahmedabad</p>
									
				<br>
				<p class="aj mt7px"> Provide knowledge of Microsoft Dynamics CRM and<br />
evaluate the customer’s business processes against<br />
the standard Microsoft Dynamics CRM functionality.<br />
 Provide knowledge of Microsoft Dynamics 365<br />
Unified Interface.<br />
 Provide knowledge of Microsoft Dynamics 365<br />
Customer Service, Field Service and Sales<br />
apps.<br />
 Walk through set up of new Dynamics CRM environment<br />
with Customers staff.<br />
 Analyze and evaluate Microsoft Dynamics solutions to<br />
meet business problems.<br />
 Perform assessment, installation and testing.<br />
 Participate in development, implementations,<br />
and customizations.<br />
 Participate in systems<br />
integrations. Perform data<br />
migration activities.<br />
 Perform testing and acceptance activities.<br />
 Apply problem solving skills to troubleshoot and<br />
resolve CRM technical problems.<br />
 Support the deployment of CRM/Integration<br />
customizations by creating installation procedures and<br />
documentation.<br />
 Experience with configurations of CRM including, but not<br />
limited to, forms, workflows, business rules, record<br />
security, business process flows.<br />
 Train/knowledge transfer on the implementation of<br />
Dynamics CRM modules/applications.<br />
 Support the deployment of CRM/Integration<br />
customizations by creating installation procedures and<br />
documentation.<br />
 Experience with configurations of CRM including, but not<br />
limited to, forms, workflows, business rules, record security,<br />
business process flows.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">4 - 5 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">IT Software - Application Programming / Maintenance</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Tech/B.E</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Dynamics CRM</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Dynamics 365</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Field Service</span>
												<span class="bdr dib p2px10px mr5px mt2px"> CRM cosultant</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Field Service</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">Zehra Unawala</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Flat 5 Gulistan E Hind  Chsl  , Juhu Circle , JVPD Scheme, Mumbai-40049</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7900181318 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:unionjobhub@gmail.com"> unionjobhub@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="875863">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="915160"><input type="hidden" name="subject" value="Applied for Microsoft Dynamics CRM Consultant (Mid- Level Experience)">
					</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-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(8)</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="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</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: 'T2tJV2lIUHVMeDNGcFNHZUd1N29Ydz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:79:"Job openings for microsoft dynamics crm consultant in ahmedabad | Union Job Hub";i:2;s:359:"Microsoft Dynamics CRM Consultant (Mid- Level Experience) Jobs,Microsoft Dynamics CRM Consultant (Mid- Level Experience) Jobs in Ahmedabad,Microsoft Dynamics CRM Consultant (Mid- Level Experience) Vacancy in Ahmedabad,Microsoft Dynamics CRM Consultant (Mid- Level Experience) jobs in India,IT Software - Application Programming / Maintenance jobs in Ahmedabad";i:3;s:421:"Apply for Microsoft Dynamics CRM Consultant (Mid- Level Experience) Jobs in Ahmedabad India - Microsoft Dynamics CRM Consultant (Mid- Level Experience) Vacancy  in IT Software - Application Programming / Maintenance field with 4 to 5 years Work Experience, Key Skills are Dynamics CRM, Dynamics 365, Field Service, CRM cosultant, Field Service, IT Software - Application Programming / Maintenance jobs in Ahmedabad  India";i:4;s:2196:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Microsoft Dynamics CRM Consultant (Mid- Level Experience)",
		  "baseSalary": " 3  Lac  To  4  Lac  50 Thousand ",
		  "description": " Provide knowledge of Microsoft Dynamics CRM and
evaluate the customer’s business processes against
the standard Microsoft Dynamics CRM functionality.
 Provide knowledge of Microsoft Dynamics 365
Unified Interface.
 Provide knowledge of Microsoft Dynamics 365
Customer Service, Field Service and Sales
apps.
 Walk through set up of new Dynamics CRM environment
with Customers staff.
 Analyze and evaluate Microsoft Dynamics solutions to
meet business problems.
 Perform assessment, installation and testing.
 Participate in development, implementations,
and customizations.
 Participate in systems
integrations. Perform data
migration activities.
 Perform testing and acceptance activities.
 Apply problem solving skills to troubleshoot and
resolve CRM technical problems.
 Support the deployment of CRM/Integration
customizations by creating installation procedures and
documentation.
 Experience with configurations of CRM including, but not
limited to, forms, workflows, business rules, record
security, business process flows.
 Train/knowledge transfer on the implementation of
Dynamics CRM modules/applications.
 Support the deployment of CRM/Integration
customizations by creating installation procedures and
documentation.
 Experience with configurations of CRM including, but not
limited to, forms, workflows, business rules, record security,
business process flows.",
		  "educationRequirements": "B.Tech/B.E",
		  "experienceRequirements": "4 - 5 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Ahmedabad"
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": "Dynamics CRM, Dynamics 365, Field Service, CRM cosultant, Field Service"
		  }
		</script>
		";i:5;N;}