# Gebetsroither Webservice 2.0 # Introduction Welcome to the Gebetsroither webservice documentation. This REST API webservice gives our partners the opportunity to receive sales offers and more from Gebetsroither. As mentioned, the webservice works as RESTful API. All methods are called via [POST] HTTP call. Please make sure, that the payload is a valid JSON input. The basic structur of the request body is pretty similiar throughout all methods. Important: following parameters are mandatory. Please make sure, that you always send them. ```json "agencyNo": text "your agency number, provided by Gebetsroither" "channel": text "channel code of the touroperator" "language": text "language code, see list below" ``` *NOTE: The actual URL of the webservice and the neccessary credentials are provided seperatly by Gebetsroither.* ## Payload example *Input* ```json { "language": "EN", "agencyNo": "agency", "channel": "touroperatorABC", "pingMessage": "can you hear me?" } ``` *Output* ```json { "pingMessage": "OK: can you hear me?", "language": "EN" } ``` ## Integration Example (Node.js) ```javascript // get data from Gebetsroither async function getCampingDataFromGebetsroither() { // api data const apiUrl = 'https://webservice.gebetsroither.com/.../'; const apiEndpoint = 'GetCamping'; // call webservice const res = await axios.post(apiUrl + apiEndpoint); return res.data; } ``` **The following language codes are currently available.** ```htmlmixed! "DE" Deutsch (German) "EN" Englisch (English) "HR" Kroatisch (Croatian) "IT" Italienisch (Italian) "NL" Niederländisch (Dutch) "SI" Slowenisch (Slovenian) ``` --- # Services There are different kinds of data you can receive and work with, apart from the basic booking platform. Currently you can use these services: [Properties & Accommodations](#Properties-amp-Accommodations) [Availability Cache](#Availability-Cache) [Search & Book](#Search-amp-Book) [Reservation Management](#Reservation-Management) [Content](#Content) --- ## Properties & Accommodations ### getPropertiesInclAccommodationTypes Returns data for properties (e.g. campsites) and accommodations (e.g. mobilehomes). **Example:** *Input* ```json { "channel": "gebetsroither" "language": "EN", } ``` *Output* ```json [ { "propertycode": "101", "description": "CAMPING PARK UMAG, Umag, Istrien", "accommodationtypes": [ "1++", "2+", "2++", "A", "F", "LA", "S" ] }, { "propertycode": "103", "description": "LANTERNA PREMIUM CAMPING RESORT, Porec, Istrien", "accommodationtypes": [ "1++", "1++A", "A", "I" ] }, ... ] ``` --- ## Availability Cache ### getAvailabilityCache Returns ALL possible stays under consideration of filters for the entered date range. You have to define the search by arrivalDateFrom, arrivalDateTill, nightsFrom and nightsTill. *Attention: this function may take some time!* **Parameters** ```json [required] "arrivalDateFrom": date "earliest arrival date" "arrivalDateTill": date "latest departure date" [optional] "propertyCode": text "code of the property" "nightsFrom": integer "night range from" "nightsTill": integer "night range till" ``` **Example:** *Input* ```json { "language": "EN", "arrivalDateFrom": "2024-06-01", "arrivalDateTill": "2024-06-30", "propertyCode": "101", "nightsFrom": 4, "nightsTill": 15 } ``` *Output* ```json [ { "propertycode": "101", "lines": [ { "accommodationtype": "1++", "fromdate": "2024-06-05", "tilldate": "2024-06-09", "nights": "4", "amount": "185", "discount": "5% OFF SEASON", "baseamount": "194.8" }, { "accommodationtype": "2+", "fromdate": "2024-06-05", "tilldate": "2024-06-20", "nights": "15", "amount": "637.2", "discount": "10% OFF SEASON", "baseamount": "708" }, { "accommodationtype": "A", "fromdate": "2024-06-15", "tilldate": "2024-06-19", "nights": "4", "amount": "449.9", "discount": "5% OFF SEASON", "baseamount": "473.6" }, ... ] } ] ``` --- ## Search & Book ### getAvailability Returns the best results under consideration of all filters for the entered date range. *NOTE: If you're using the availability cache (see above) within you system, you can skip this action.* **Parameters** ```json [required] "propertyCode": text "code of the property" "fromDate": date "earliest arrival date" "tillDate": date "latest departure date" "nights": integer "duration of stay" [optional] "accommodationType": text "code of accommodationtype" ``` **Example:** *Input* ```json { "propertyCode": "101", "fromDate": "2024-06-01", "tillDate": "2024-06-30", "nights": 4 } ``` *Output* ```json [ { "propertycode": "101", "lines": [ { "accommodationtype": "1++", "fromdate": "2024-06-05", "tilldate": "2024-06-09", "nights": "4", "amount": "185", "discount": "5% OFF SEASON", "baseamount": "194.8" }, { "accommodationtype": "A", "fromdate": "2024-06-15", "tilldate": "2024-06-19", "nights": "4", "amount": "449.9", "discount": "5% OFF SEASON", "baseamount": "473.6" }, ... ] } ] ``` --- ### createReservation Create a reservation for an availbility line. Use the data of the availability line. When you create a reservation, the availability will be checked again and you'll get the result. **Parameters** ```json [required] "propertyCode": text "code of property" "accommodationType": text "code of accommodationtype" "fromDate": date "arrival date of stay" "tillDate": date "departure date of stay" "nights": integer "duration of stay" ``` **Example:** *Input* ```json { "propertyCode": "116", "accommodationType": "1++", "fromDate": "2024-07-21", "tillDate": "2024-07-28", "nights": "7", } ``` *Output* ```json [ { "code": "100442", "amount": 1150, "fromdate": "2024-07-21", "tilldate": "2024-07-28", "nights": 7, "property": { "code": 116, "country": "HR", "description": "SAN MARINO CAMPING RESORT, Lopar, Insel Rab", "name": "San Marino Camping Resort", "region": "RAB", }, "reservationdate": "2024-01-01", "lines": [ { "type": "accommodation", "description": "Premium \"Plus\" (1++)", "fromdate": "2024-07-21", "tilldate": "2024-07-28", "nights": 7, "accommodation": { "code": 100134, "type": "caravan", "name": "Premium \"Plus\" (1++)", "accommodationtype": "1++", "number": "05-169", "category": "PREMIUM WW PLUS", "provider": "GEBETSROITHER", "numberpersonincluded": 5 }, "amount": 1150, "provider": "GEBETSROITHER" } ], "paymentsteps": [ { "amount": 230, "date": "2024-01-31", "open": 230 }, { "amount": 920, "date": "2024-06-23", "open": 920 } ], "changedate": "2023-01-02 09:39" } ] ``` ### updateReservation After the reservation is created, all entered data for the customer, participants, number of pets, promotioncodes etc. must be submitted. **Parameters** ```json [required] "reservationCode": text "code of the reservation" "customer": { "firstName": text "first name of the reservation owner" "name": text "surname of the reservation owner" "address": text "address of the reservation owner" "postCode": text "post code of the reservation owner" "city": text "city of the reservation owner" "countryCode": text "ISO country code (2 digits) of the reservation owner" "eMail": text "mail address of the reservation owner" [optional] "addressExtra": text "address extra info of the reservation owner" "phoneNo": text "phone no. of the reservation owner" "vatRegistrationNo": text "vat registration number of the reservation owner" [for touroperator] "customerCountryCode": text "ISO country code (2 digits) of the customer" "customerPhoneNo": text "phone no. of the customer" } "participants": array of participant objects [ "firstName": text "first name of the participant" "name": text "surname of the participant" "birthDate": date "birthdate of the participant" ] "numberPets": integer "number of pets (dogs)" [optional] "promotionCode": text "promotion code" "note": text "personal note from the customer" ``` **Example:** *Output* ```json [ { "code": "100442", "amount": 1150, "fromdate": "2024-07-21", "tilldate": "2024-07-28", "nights": 7, "property": { "code": 116, "country": "HR", "description": "SAN MARINO CAMPING RESORT, Lopar, Insel Rab", "name": "San Marino Camping Resort", "region": "RAB" }, "reservationdate": "2024-01-01", "lines": [ { "type": "accommodation", "description": "Premium \"Plus\" (1++)", "fromdate": "2024-07-21", "tilldate": "2024-07-28", "nights": 7, "accommodation": { "code": 100134, "type": "caravan", "name": "Premium \"Plus\" (1++)", "accommodationtype": "1++", "number": "05-169", "category": "PREMIUM WW PLUS", "provider": "GEBETSROITHER", "numberpersonincluded": 5 }, "amount": 1150, "provider": "GEBETSROITHER" } ], "customer": { "name": "Mustermann", "firstname": "Max", "address": "Haupstrasse 6", "postcode": "8940", "city": "Weissenbach/Liezen", "country": "AT", "phone": "01 01 01", "email": "max.mustermann@gmail.com" }, "participants": [ { "name": "Mustermann", "firstname": "Max", "birthdate": "1988-01-01" } ], "paymentsteps": [ { "amount": 230, "date": "2024-01-31", "open": 230 }, { "amount": 920, "date": "2024-06-23", "open": 920 } ], "changedate": "2023-01-02 09:39" } ] ``` --- ### completeReservation Function to complete and submit the reservation. Attention: if the chosen object isn't available at this point any more, the "booked" value is false (there is no pre-reservation before). **Parameters** ```json [required] "reservationCode": text "unique code of your reservation" [optional] "referenceNo": text "your order number / reference no" ``` **Example:** *Input* ```json { "language": "DE", "reservationCode": "100442", "referenceNo": "REF-0815" } ``` *Output* ```json [ { "code": "100442", "booked": true, "referenceno": "REF-0815", "amount": 1150, "fromdate": "2024-07-21", "tilldate": "2024-07-28", "nights": 7, "property": { "code": 116, "country": "HR", "description": "SAN MARINO CAMPING RESORT, Lopar, Insel Rab", "name": "San Marino Camping Resort", "region": "RAB" }, "reservationdate": "2024-01-01", "lines": [ { "type": "accommodation", "description": "Premium \"Plus\" (1++)", "fromdate": "2024-07-21", "tilldate": "2024-07-28", "nights": 7, "accommodation": { "code": 100134, "type": "caravan", "name": "Premium \"Plus\" (1++)", "accommodationtype": "1++", "number": "05-169", "category": "PREMIUM WW PLUS", "provider": "GEBETSROITHER", "numberpersonincluded": 5 }, "amount": 1150, "provider": "GEBETSROITHER" } ], "customer": { "name": "Mustermann", "firstname": "Max", "address": "Haupstrasse 6", "postcode": "8940", "city": "Weissenbach/Liezen", "country": "AT", "phone": "01 01 01", "email": "max.mustermann@gmail.com" }, "participants": [ { "name": "Mustermann", "firstname": "Max", "birthdate": "1988-01-01" } ], "paymentsteps": [ { "amount": 230, "date": "2024-01-31", "open": 230 }, { "amount": 920, "date": "2024-06-23", "open": 920 } ], "changedate": "2023-01-02 09:39" } ] ``` --- ## Reservation Management ### getReservationInfo Returns all infos for a submitted reservation. This method can be used anytime to check the current status. **Parameters** ```json [reguired] "reservationCode": text "unique identifier of a reservation" ``` **Example:** *Input* ```json { "language": "DE", "reservationCode": "100442", "referenceNo": "REF-0815" } ``` *Output* ```json [ { "code": "100442", "booked": true, "referenceno": "REF-0815", "amount": 1150, "fromdate": "2024-07-21", "tilldate": "2024-07-28", "nights": 7, "property": { "code": 116, "country": "HR", "description": "SAN MARINO CAMPING RESORT, Lopar, Insel Rab", "name": "San Marino Camping Resort", "region": "RAB" }, "reservationdate": "2024-01-01", "lines": [ { "type": "accommodation", "description": "Premium \"Plus\" (1++)", "fromdate": "2024-07-21", "tilldate": "2024-07-28", "nights": 7, "accommodation": { "code": 100134, "type": "caravan", "name": "Premium \"Plus\" (1++)", "accommodationtype": "1++", "number": "05-169", "category": "PREMIUM WW PLUS", "provider": "GEBETSROITHER", "numberpersonincluded": 5 }, "amount": 1150, "provider": "GEBETSROITHER" } ], "customer": { "name": "Mustermann", "firstname": "Max", "address": "Haupstrasse 6", "postcode": "8940", "city": "Weissenbach/Liezen", "country": "AT", "phone": "01 01 01", "email": "max.mustermann@gmail.com" }, "participants": [ { "name": "Mustermann", "firstname": "Max", "birthdate": "1988-01-01" } ], "paymentsteps": [ { "amount": 230, "date": "2024-01-31", "open": 230 }, { "amount": 920, "date": "2024-06-23", "open": 920 } ], "changedate": "2023-01-02 09:39" } ] ``` --- ## Content ### getCountriesInclRegions Returns all countries including regions in which properties and accommodations are located. *Input* ```json { "language": "DE" } ``` *Output* ```json [ { "code": "AT", "name": "Österreich", "language": "DE", "regions": [ { "code": "BGL", "name": "Burgenland", "country": "AT" }, { "code": "NOE", "name": "Niederösterreich", "country": "AT" }, { "code": "STMK", "name": "Steiermark", "country": "AT" }, { "code": "TIR", "name": "Tirol", "country": "AT" }, { "code": "KTN", "name": "Kärnten", "country": "AT" } ] }, ... ] ``` --- ### getPropertyInclAccommodationDetails Returns informations like texts, images and more for a property and the accommodationtypes. *Input* ```json { "propertyCode": "201", "language": "EN" } ``` *Output* ```json { "propertyCode": "201", "language": "EN", "description": "Camping Bella Italia", "country": "IT", "territory": "GAR", "latitude": 45.443634, "longitude": 10.675782, "googlePlaceId": "ChIJFamAytLrgUcRSuP9UQssM7k", "urlName": "camping-bella-italia", "introText": "Our campsite Bella Italia is a paradise for families and is located directly on the shore of Lake Garda, with accommodation just a few steps away from the lakeshore. Five pools on the campsite, and of course Lake Garda itself, are perfect for cooling down and having fun. There is plenty on offer for our younger guests, for instance slides, waterfalls, and separate children’s areas. Another highlight of any family holiday with children is the proximity of the complex to leisure parks such as Gardaland or the Caneva Aquapark.", "videoUrl": "", "campsiteMapUrl": "https://gebetsroither-websitepics.s3.amazonaws.com/stellplatzplaene/Italien/2022 Bella Italia.jpg", "campsiteMapDetailUrl": "https://gebetsroither-websitepics.s3.amazonaws.com/stellplatzplaene/Italien/2022 Bella Italia DETAIL.jpg", "accommodationtypes": [ { "code": "A+", "description": "Modell A+", "objectType": 1, "urlName": "mobile-home-type-a-plus", "maxPersons": 6, "maxAdults": 4, "maxKids": 2, "discounts": [], "images": { "header": [ { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/models/mha-plus/mh-aplus-05.jpg", "focus": "bottom" } ], "gallery": [ { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/models_neu/Mobilheime/Mobilheim-A-PLUS/Camping-Bella-Italia/bella-italia-mhaplus-01.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/models_neu/Mobilheime/Mobilheim-A-PLUS/Camping-Bella-Italia/bella-italia-mhaplus-02.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/models_neu/Mobilheime/Mobilheim-A-PLUS/Camping-Bella-Italia/bella-italia-mhaplus-03.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/models_neu/Mobilheime/Mobilheim-A-PLUS/Camping-Bella-Italia/bella-italia-mhaplus-04.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/models_neu/Mobilheime/Mobilheim-A-PLUS/Camping-Bella-Italia/bella-italia-mhaplus-05.jpg", "focus": "center" } ], "floorplan": [ { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/models/mha/mh-a-grundriss.jpg", "focus": "center" } ] }, "features": [ { "name": "ac", "description": "with air conditioning", "infotext": "" }, { "name": "bath", "description": "complete bathroom with shower and toilet", "infotext": "" }, { "name": "dishwasher", "description": "with dishwasher", "infotext": "" }, { "name": "electricity", "description": "Electrical connection with sockets", "infotext": "" }, { "name": "equipment", "description": "Camping table, 6 armchairs and 1 parasol", "infotext": "" }, { "name": "kitchen", "description": "Kitchen with stove (gas or electricity), living area, cook and crockery", "infotext": "" }, { "name": "fridgetv", "description": "with refrigerator", "infotext": "" }, { "name": "microwave", "description": "with microwave", "infotext": "" }, { "name": "terrace", "description": "Covered terrace providing shade", "infotext": "" } ], "icons": [ { "name": "caretaker", "description": "Gebetsroither Accommodation" }, { "name": "beds", "description": "1 double bed, 2 single beds, 1 small bunk bed" }, { "name": "livingarea", "description": "24,0 m² living space" }, { "name": "pax", "description": "4 adults, 2 children" } ], "bookingInformations": [ { "name": "personfeemobilehome", "description": "", "infotext": "camping fees include max. 6 people (mobile home) and 1 car" }, { "name": "cleaningfee", "description": "", "infotext": "[Gebetsroither Service Premium € 100,00](https://www.gebetsroither.com/en/gebetsroither/service\r\n \"Gebetsroither Service Premium\")" }, { "name": "cleaningfeepets", "description": "", "infotext": "incl. bed linen, towels and bath mat" }, { "name": "additionalcosts", "description": "", "infotext": "Tourist tax (€ 1,10 per person/day from 13 years) payable on site" }, { "name": "campsitehire", "description": "", "infotext": "Sale/hire in the name of and for the account of Gebetsroither Italy S.R.L." }, { "name": "prices", "description": "", "infotext": "Prices in € / Accommodation" } ] } ], "images": { "header": [ { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-01.jpg", "focus": "center" } ], "gallery": [ { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-01.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-02.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-03.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-04.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-05.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-06.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-07.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-08.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-09.jpg", "focus": "center" }, { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-10.jpg", "focus": "center" } ] }, "icons": [ { "name": "caretaker", "description": "Gebetsroither staff on site" }, { "name": "swimmingpool", "description": "Swimming pool" }, { "name": "nodogs", "description": "Dogs not permitted" }, { "name": "wlan", "description": "W-LAN" }, { "name": "tv", "description": "TV in the mobile homes" }, { "name": "airconditioning", "description": "Air conditioning in mobile home" } ], "teaser": { "description": "Camping Bella Italia", "countryText": "Italien / Gardasee / Peschiera", "image": { "title": "", "alt": "", "href": "https://gebetsroither-websitepics.s3.amazonaws.com/campings/bella-italia/camping-bella-italia-01.jpg", "focus": "center" }, "infoText": "Bella Italia - that's not just the name of the campsite! Italy offers so many possibilities for a varied and relaxing holiday simultaneously!\r\n", "features": [], "urlCaption": "Discover the campsite", "icons": [ { "name": "caretaker", "description": "Gebetsroither staff on site" }, { "name": "swimmingpool", "description": "Swimming pool" }, { "name": "nodogs", "description": "Dogs not permitted" }, { "name": "wlan", "description": "W-LAN" }, { "name": "tv", "description": "TV in the mobile homes" } ] }, "bookingInformations": [] } ```