3RPMS® GENERAL API
INTEGRATION GUIDE

Help us grow our integration pool and get access to a large amount of potential customers which might be interested buying your products.

In order to create the best possible UX and help you to increase the acceptance of your integration among our customers please read the following instructions carefully.

STEP 1


Our API uses graphQL. If you´re not familiar with graphQL please visit https://graphql.org. Use a compliant tool to query it.

STEP 2


Read the doc in the IDE (integrated development environment) under https://3rpms.de/graphql/ide. If you need help contact us and we´ll be happy to assist you.

STEP 3


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.

STEP 4


Once you are done please inform us. Depending on your integration we might ask you to demonstrate 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.


before you start...

As with many situations in life, there is a few do´s and dont´s we´d like you to follow:

Data privacy is a human right. Even though our 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.

Keep in mind that throttling applies. Don´t query the API >30x per minute or your IP will be banned for some minutes. And no, it doesn´t mean you have to query it up to threshold level.

Keep your integration up to date. We´re happy to promote your integration to our customers through all possible channels like listings on our website, newsletters, social media, recommendation during our online demo presentations, and mich more.

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. 


understand the datastructure!

There is some particularities about the datastructure that is important to understand:

Reservation owner
Guests
Self Checkout
More fields

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 promote it.

 

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.

 

Parallel to it please provide us a short company description (max 400 chars) 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.