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 you Hotelcareer|Gastrojobs contact person. 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 neccessary 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"/>
</joblisting>
...

(2) Offer information

2.1 jobdetails

This is the most important node inside the main node joblisting. The subnodes of contain the necessary information to post a basic offer on StepStone. 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 (mandatory)

Contains country code in which language the offer is published. Valid options depending on the used channel (check 1.4) are

  • AT = DE / EN
  • DE = DE / EN
...
<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 stepstone 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 StepStone.

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


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

If required, you can define your own headline for the introduction block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional and not mandatory.
Default titles:

  • AT/DE: Einleitung
  • EN: Introduction

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 in node , 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)

If required, you can define your own headline for the tasks block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional and not mandatory.
Default titles:

  • AT/DE: Deine Aufgaben
  • EN: Your tasks

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)

If required, you can define your own headline for the profile block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional and not mandatory.
Default titles:

  • AT/DE: Dein Profil
  • EN: Your profile

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)

If required, you can define your own headline for the offer block. Use @title for declaration. All special chars must be converted to entities. This attribute is also optional and not mandatory.
Default titles:

  • AT/DE: Wir bieten
  • EN: We offer

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)

If required, you can define your own headline for the contact block. Use @title for declaration. All special chars must be converted to entities. This attribute is also optional and not mandatory.
Default titles:

  • AT/DE: Kontakt
  • EN: Contact

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. The data contained in its sub nodes are used on StepStone’s own jobsearch and as additional display on Google Maps. A minimum of 1 location is mandatory.
Please note: only the first location node contains data for Google Maps on listing view. If you provide multiple -nodes, Google Maps is not possible on listing view.

...
<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 StepStone. 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 a 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. Theese 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, Vimeo or Wistia) 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 thus the dataset on StepStone) 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)