XML Guide Hotelcareer | Gastrojobs

(1) Basic nodes

1.1 xml (document header)

All listings must be provided in encoding UTF-8. Your XML document should also start with UTF-8 header:

<!--?xml version="1.0" encoding="UTF-8"?-->


Please make sure that you have no invisible characters (BOM chracters, non breaking spaces from editor) in your document.


1.2 jobfeed (root node)

Root node/first node after encoding is , example:

<!--?xml version="1.0" encoding="UTF-8"?-->
<jobfeed>
...
</jobfeed>

1.3 joblisting (main listing node)

Each new listing starts with a main node . This node must contain a unique @reference_id.
JobFeed uses this reference to ensure that actions are addressed correctly to the proper listing. Please check PUSH and PULL documentation for more details.
xpath to unique reference_id: /jobfeed/joblisting/@reference_id

<!--?xml version="1.0" encoding="UTF-8"?-->
<jobfeed>
<joblisting reference_id="123456ABCD" hot_id="12345" action="INSERT">
</joblisting>
</jobfeed>

The @hot_id is provided by your contact person of Hotelcareer | Gastrojobs. This ID is linked to the company that is shown in the listing.
xpath to organisation_id: /jobfeed/joblisting/@hot_id

The @action attribute is used only for PUSH-JobFeed-integrations. Possible values are:

  • INSERT – inserts a new offer
  • OFFLINE – takes an offer offline, but does not delete it
  • UPDATE – updates an offer

You find additional details in the PUSH-section of this documentation.
xpath to action: /jobfeed/joblisting/@action


1.4 employment (mandatory)

The employment ID is necessary to categorize the correct worktype for the listing. Multiple values are supported when separated with comma.
Possible values are:

  • ID:1 – Full time
  • ID:2 – Apprenticeship
  • ID:3 – Contract duration specified
  • ID:4 – Part time
  • ID:5 – Trainee / Internship
  • ID:6 – Temporary
  • ID:7 – Freelance
...
<joblisting reference_id="123456ABCD" hot_id="12345" action="INSERT">
...
<employment id="1,3"/>
</joblisting>
...

(2) Offer information

2.1 jobdetails

This is the most important node inside the main node joblisting. The subnodes contain the necessary information to post a basic offer on Hotelcareer | Gastrojobs. Please do not put in any value directly inside this node but use the subnodes instead.

...
<joblisting reference_id="123456ABCD" hot_id="12345" action="INSERT">
...
<jobdetails>...</jobdetails>
</joblisting>
...

2.2 language

The language is detected automatically by processing and cannot be controlled through provided value (DE, EN, FR). However, the information about language can be a benefit in case individual settings are required.

...
<jobdetails>
<language><!--[CDATA[DE]]--></language>
</jobdetails>
...

xpath to language: /jobfeed/joblisting/jobdetails/language (CDATA declared)


2.3 job title (mandatory)

The node contains the title of the position. This title is visible on Hotelcareer | Gastrojobs search result list.
Maximum number of characters: 200 including spaces and entities.

...
<jobdetails>
...
<jobtitle><!--[CDATA[offer jobtitle]]--></jobtitle>
</jobdetails>
...


xpath to jobtitle: /jobfeed/joblisting/jobdetails/jobtitle (CDATA declared)


2.4 introduction (mandatory)

The node contains information about the company. Note: part of this text is also visible in the search result list on Hotelcareer | Gastrojobs.

...
<jobdetails>
...
<introduction title=""><!--[CDATA[company's introduction text]]--></introduction>
</jobdetails>
...


xpath to introduction: /jobfeed/joblisting/jobdetails/introduction (CDATA declared)

Please define a headline for the introduction block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional, but if not provided in the data, the headline is not displayed.

xpath to headline description of introduction: /jobfeed/joblisting/jobdetails/introduction/@title


2.5 tasks (mandatory)

What is the “to do” for the candidate in the new job? Please describe the field of work and list here the candidate’s tasks and responsibilities. Do not put any other information into this node.

...
<jobdetails>
...
<tasks title=""><!--[CDATA]--></tasks>
</jobdetails>
...


xpath to tasks: /jobfeed/joblisting/jobdetails/tasks (CDATA declared)

Please define a headline for the tasks block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional, but if not provided in the data, the headline is not displayed.

xpath to headline description of tasks: /jobfeed/joblisting/jobdetails/tasks/@title


2.6 profile

What skills and qualification should the candidate possess? The node contains the requirements of your candidate. Do not put any other information into this node.

...
<jobdetails>
...
<profile title=""> <!--[CDATA[candidate's profile text]]--></profile>
</jobdetails>
...


xpath to profile: /jobfeed/joblisting/jobdetails/profile (CDATA declared)

Please define a headline for the profile block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional, but if not provided in the data, the headline is not displayed.

xpath to headline description of profile: /jobfeed/joblisting/jobdetails/profile/@title


2.7 offer

describes the benefits of your company. What can the applicant look forward to?

...
<jobdetails>
...
<offer title=""><!--[CDATA[company's benefits text]]--></offer>
</jobdetails>
...


xpath to offer: /jobfeed/joblisting/jobdetails/offer (CDATA declared)

Please define a headline for the offer block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional, but if not provided in the data, the headline is not displayed.

xpath to headline description of offer: /jobfeed/joblisting/jobdetails/offer/@title


2.8 contactInfo

contains the visible contact information inside the listing.

...
<jobdetails>
...
<contactinfo title=""><!--[CDATA[contact information text]]--></contactinfo>
</jobdetails>
...


xpath to contactinfo: /jobfeed/joblisting/jobdetails/contactinfo (CDATA declared)

Please define a headline for the contact block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional, but if not provided in the data, the headline is not displayed.

xpath to headline description of contact: /jobfeed/joblisting/jobdetails/contactinfo/@title


2.9 job locations (mandatory)

is the main node for joblocation specific details. This details are provided in subnodes. Do not put in any value directly inside this node, please use the subnodes instead.

...
<joblocations>
...
</joblocations>
...


xpath to joblocation: /jobfeed/joblisting/jobdetails/joblocations


2.10 location

is the top node for each location where the candidate will work. Full address details are provided in further subnodes. We read subnode “city” (2.12) and add all its appearances to a string that is stored for joblocation(s).

...
<joblocations>
<location>...</location>
<location>...</location>
</joblocations>
...


xpath to joblocation: /jobfeed/joblisting/jobdetails/joblocations/location


2.11 location – country code

Country code specific value.

...
<joblocations>
<location>
<countrycode><!--[CDATA[DE]]--></countrycode>
</location>
</joblocations>
...


xpath to country code: /jobfeed/joblisting/jobdetails/joblocations/location/countrycode (CDATA declared)


2.12 location – city

contains the information about the city the candidate will be working. The number of characters for this information is limited to 100 including spaces and entities.

...
<joblocations>
<location>
<city><!--[CDATA[Berlin]]--></city>
</location>
</joblocations>
...


xpath to municipality: /jobfeed/joblisting/jobdetails/joblocations/location/city (CDATA declared)


2.13 location – postal code

Postal or ZIP code.

...
<joblocations>
<location>
	<postalcode><!--[CDATA[10969]]--></postalcode>
	</location>
</joblocations>
...


xpath to postal code: /jobfeed/joblisting/jobdetails/joblocations/location/postalcode (CDATA declared)


2.14 location – street name

Street’s name.

...
<joblocations>
<location>
<streetname><!--[CDATA[Lindenstraße]]--></streetname>
</location>
</joblocations>
...


xpath to street name: /jobfeed/joblisting/jobdetails/joblocations/location/streetname (CDATA declared)


2.15 location – building number

Building’s number.

...
<joblocations>
<location>
<buildingnumber><!--[CDATA[123]]--></buildingnumber>
</location>
</joblocations>
...


xpath to building number: /jobfeed/joblisting/jobdetails/joblocations/location/buildingnumber (CDATA declared)


2.2 apply (mandatory)

is the top node of the section containing possible apply-data. Do not put in any value directly inside this node, please use the subnodes instead. The node that should be used for all applications is defined individually in each feed. At least one apply method is required.

...
<jobdetails>
<apply>...</apply>
</jobdetails>
...


xpath to applybutton: /jobfeed/joblisting/jobdetails/apply


2.21 url

This node is used for an online application form.

...
<jobdetails>
<apply>
<url><!--[CDATA[https://www.applyhere.com]]--></url>
</apply>
</jobdetails>
...


xpath to applybutton: /jobfeed/joblisting/jobdetails/apply/url (CDATA declared)


(3) Layout informations

3.1 layoutdetails

contains all layout specific values that can be used on Hotelcareer | Gastrojobs. Do not put in any value directly inside this node, please use the subnodes instead.

...
<layoutdetails>
...
</layoutdetails>
...


xpath to layoutdetails: /jobfeed/joblisting/layoutdetails


3.2 images

This is the base node for all image related data. Do not put in any value directly inside this node, please use the subnodes instead.

...
<layoutdetails>
<images>...</images>
</layoutdetails>
...


xpath to images: /jobfeed/joblisting/layoutdetails/images


3.21 header

It is possible to set one header picture via jobfeed.

  • Recommended size 750px * 350px.
...
<layoutdetails>
<images>
  <header><!--[CDATA[https://www.exampleimage/images/headerpicture.jpg]]--></header>
</images>
</layoutdetails>
...


xpath to header: /jobfeed/joblisting/layoutdetails/images/header (CDATA declared)


In case you wish to have more than the header picture, it is possible to add 3 more images to the listing. These images will be displayed at the bottom of the listing.

  • 1 image: 750px * 350px
  • 2 images 375px * 350px
  • 3 images 250px * 350px
...
<layoutdetails>
<images>
  ...
  <image1><!--[CDATA[https://www.exampleimage/images/picture01.jpg]]--></image1>
  <image2><!--[CDATA[https://www.exampleimage/images/picture02.jpg]]--></image2>
  <image3><!--[CDATA[https://www.exampleimage/images/picture02.jpg]]--></image3>	
</images>
</layoutdetails>
...

xpath to header: /jobfeed/joblisting/layoutdetails/images/image(1,2,3) (CDATA declared)


3.3 video

A video link (Youtube or Vimeo) can be added in this node.

...
<layoutdetails>
<video><!--[CDATA[https://www.youtube.com/embed/hEcnAi5kQbM]]--></video>
</layoutdetails>
...


xpath to video: /jobfeed/joblisting/layoutdetails/video (CDATA declared)


(4) Company information

4.1 company details

This is the main node for providing all company related information. Do not put in any value directly inside this node, please use the subnodes instead.

...
<joblisting reference_id="123456ABCD">
<companydetails>...</companydetails>
</joblisting>
...


xpath to company details: /jobfeed/joblisting/companydetails


4.2 company name

This node provides the name of the company / subsidiary and should match the hot_id that refers to the account on Hotelcareer | Gastrojobs where the listing will be published.

...
<companydetails>
<companyname><!--[CDATA[Max Mustermann GmbH]]--></companyname>
</companydetails>
...


xpath to company name: /jobfeed/joblisting/companydetails/companyname (CDATA declared)


4.3 recruiter

This node contains a recruiter’s contact information. Do not put in any value directly inside this node, please use the subnodes instead.

...
<companydetails>
<recruiter>
...
</recruiter>
</companydetails>
...


xpath to recruiter: /jobfeed/joblisting/companydetails/recruiter


4.31 recruiter – id

Recruiter ID is not used for automatic processing.


4.32 recruiter – position

The recruiter’s position title.

...
<recruiter>
...
<position><!--[CDATA[Recruiting Manager]]--></position>
</recruiter>
...


xpath to recruiter position: /jobfeed/joblisting/companydetails/recruiter


4.33 recruiter – gender

The recruiter’s gender, please use M or F in upper case.

...
<recruiter>
...
<gender><!--[CDATA[F]]--></gender>
</recruiter>
...


xpath to recruiter gender: /jobfeed/joblisting/companydetails/recruiter/gender (CDATA declared)


4.34 recruiter – first name

The recruiter’s first name.

...
<recruiter>
...
<firstname><!--[CDATA[Marlene]]--></firstname>
</recruiter>
...


xpath to recruiter first name: /jobfeed/joblisting/companydetails/recruiter/firstname (CDATA declared)


4.35 recruiter – last name

The recruiter’s last name.

...
<recruiter>
...
<lastname><!--[CDATA[Mustermann]]--></lastname>
</recruiter>
...


xpath to recruiter last name: /jobfeed/joblisting/companydetails/recruiter/lastname (CDATA declared)


4.36 recruiter – email

The recruiter’s email. Please insert a valid email-address.

...
<recruiter>
...
<email><!--[CDATA[mustermann@company-group.de]]--></email>
</recruiter>
...


xpath to recruiter email: /jobfeed/joblisting/companydetails/recruiter/email (CDATA declared)


4.37 recruiter – phone

The recruiter’s phone number.

...
<recruiter>
...
	<phone><!--[CDATA[+4912356789]]--></phone>
</recruiter>
...


xpath to recruiter email: /jobfeed/joblisting/companydetails/recruiter/phone (CDATA declared)