DE | ES
Help us grow our integration pool and get access to a large amount of potential customers which might be interested in your products and services.
For the best possible UX and acceptance of your integration among our customers please read the following instructions carefully.
Our API uses graphQL. If you´re not familiar with graphQL please visit https://graphql.org. Use a compliant tool to query it.
Contact us and explain us your usecase. We´ll hook up a demohotel and provide you with an api_key so you can start querying and build your integration.
Your are done, great! Depending on the type of your integration we might ask you to demonstrate to us some capabilities and/or functions. Don´t worry, we don´t bite. We only want to make sure that our customers will enjoy the best UX.
As with many situations, there is a few do´s and dont´s we´re asking you to adhere to:
Data privacy is essential. Although customers have to authorize your integration for you being able to actually query data, we expect you to comply to GDPR and handle data with care.
Throttling applies. Don´t query the API >200x per minute or your IP will be banned temporarily. And no, it doesn´t mean you have to query it up to threshold level. We recomend using webhooks instead of constantly querying to check for updates of existing data.
Keep your integration up to date. We´re happy to support you promoting your integration to our customers through various channels such as listing on our website, newsletters, social media and other marketing channels.
However we´d like to ask you to make sure your integration works seamless and is well maintained. If you decide to discontinue offering your integration please let us know.
There is some particularities that is important to understand:
[client] is referring to the reservation owner, which can be a company or a person.
If the reservation owner is a company, a person can optionally be assigned as contact person [contact].
Keep in mind that the reservation owner is the legal contracting party responsible for the reservation but doesn't necessarily be the traveller which will eventually arrive at the hotel.
[guests] returns the name of the persons which will eventually physically arrive at the hotel, therefore [guests] can only be a person, never a company. [first_guest] is the name of the maintraveller the room is booked on, other names are co-travellers.
Please keep in mind that any reservation may contain one (= single room booking) or more (= group booking) rooms.
It´s possible to add [additionalSales] to each room which are not included in the room price.
If your integration is related to e. g. in-room devices such as digital guest folders or smart-TV´s or tied to particular guests you might want to consider adding Online Check-In and/or Self-checkout capabilities to it to add additional value to your integration.
[selfcheckinUrl] returns a url to a reservation specific page in which guests can execute their check-In online before physical arrival at the hotel. Depending on a hotels settings, a payment can be collected on Online Check-In.
[selfcheckout_url] returns a url which leads to a page displaying all room orders in a invoice preview and enables to execute the checkout himself including the payment. Self-Checkout happens on room-level not reservation level.
Keep in mind that graphQL´s main principle is: you get what you ask for, so it´s up to you to ask the right questions.
{
{
room_stays(filter: { date: "2019-09-18" }, first: 2) {
edges {
node {
id
room_setup {
name
}
guests {
...Guest
}
first_guest {
...Guest
}
reservation_from
reservation_to
check_in
check_out
selfcheckout_enabled
selfcheckout_url
}
cursor
}
pageInfo {
startCursor
endCursor
hasNextPage
hasPreviousPage
}
}
}
fragment Guest on Client {
firstname
lastname
}
{
{
room_stays(filter: { date: "2019-09-18" }, first: 2) {
edges {
node {
id
room_setup {
name
}
guests {
...Guest
}
first_guest {
...Guest
}
reservation_from
reservation_to
check_in
check_out
selfcheckout_enabled
selfcheckout_url
}
cursor
}
pageInfo {
startCursor
endCursor
hasNextPage
hasPreviousPage
}
}
}
fragment Guest on Client {
firstname
lastname
}
you´re done, great! Let´s get productive.
Once you have completed building your integration, depending on what your integration is build for, we might ask you to demonstrate certain capabilities of it.
If your integration shall be made available publically:
Please provide us a short company description (max 400 characters) for our partner listing page.
As better we understand what your product is doing, as better we can advice our customers and share with them the benefits of your product(s). Therefore please provide a integration description for our sales team so they understand what your integration does and to whom it may be helpful.