a:6:{i:0;s:4871:"				<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 travel consultant in uttar pradesh ghaziabad</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.onegroupholidays.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.onegroupholidays.com/career-with-us.htm" title="Career with Us">Career with Us</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for travel consultant in uttar pradesh ghaziabad</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Travel Consultant</div>
									<p class="mt7px fw6">Ghaziabad</p>
									
				<br>
				<p class="aj mt7px">Female Candidate for Domestic Sales<br />
 Calls to Confirm Clients<br />
 Maintain Daily Data<br />
 Daily Incentive On Every Booking<br />
 Fixed Week-off<br />
 Company Payroll</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  25 Thousand  To  1  Lac  75 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Hotel / Restaurants /Travel / Airlines</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Sales Agent</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Travel Consultant</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Travel Consultation</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
								
				<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="910190">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="905674"><input type="hidden" name="subject" value="Applied for Travel Consultant">
					</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-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</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-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</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: 'ZnBNazRpWDBpQ1hlbGdDak45c09NUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:81:"Job openings for travel consultant in uttar pradesh ghaziabad | Onegroup Holidays";i:2;s:186:"Travel Consultant Jobs,Travel Consultant Jobs in Ghaziabad,Travel Consultant Vacancy in Ghaziabad,Travel Consultant jobs in India,Hotel / Restaurants /Travel / Airlines jobs in Ghaziabad";i:3;s:295:"Apply for Travel Consultant Jobs in Ghaziabad India - Travel Consultant Vacancy  in Hotel / Restaurants /Travel / Airlines field with 0 to 1 years Work Experience, Key Skills are Sales Agent, Travel Consultant, Travel Consultation, Hotel / Restaurants /Travel / Airlines jobs in Ghaziabad  India";i:4;s:892:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Travel Consultant",
		  "baseSalary": " 1  Lac  25 Thousand  To  1  Lac  75 Thousand ",
		  "description": "Female Candidate for Domestic Sales
 Calls to Confirm Clients
 Maintain Daily Data
 Daily Incentive On Every Booking
 Fixed Week-off
 Company Payroll",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Hotel / Restaurants /Travel / Airlines",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Ghaziabad"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Sales Agent, Travel Consultant, Travel Consultation"
		  }
		</script>
		";i:5;N;}