How to use the Interhome Distribution API

Our API provide content for different use cases. Please find how you can use it to cover your needs. To support you further we do provide an OpenApi documentation.

Use case 1

If you just need full accommodation overview please cash our content and update frequently.

-> mostly used by Meta searchers / channel managers

Update process:

  1. Import required accommodation content and cache the data (description, media, services, alerts, prices, vacancy). Endpoint: Accommodation 2.x Import full content 1x per week, Update according to below mentioned frequencies.

  2. Update content with "ModifiedSince" parameter to get only updates since your last import

  3. Link to corresponding Landingpage, use forward.aspx links for the dedicated domain.

ModifiedSince is available for the following types:

Query-String ParametersRecommended Update Frequency
ATTRIBUTEhourly
DESCRIPTIONhourly
MEDIAhourly
ACCOMMODATIONhourly
PRICES5 minutes
VACANCY5 minutes
ALERTShourly

Use case 2

If you want to display individual accommodation with price and availability

-> mostly used if a concrete search , trips

Update process:

  1. Import required accommodation content and cash the data (description, media, services, alerts, prices, vacancy). Endpoint: Accommodation 2.x

    You may select all accommodation from a certain country, region, place, house or directly a dedicated property (house or apartment)

  2. Update content with "ModifiedSince" parameter to get only updates since your last import. Complete import is recommended 1x week. Like this you ensure, having all active accommodation and deactivated accommodation won’t be displayed anymore.

  3. Display of final price (after travel date and PAX is selected) for the booking process Endpoint: "/booking/checkPrice/final" as it may have price differences, especially for third party properties

  4. Setup the correct Payment methods as some methods are available only up to certain days before reservation start Endpoint: /salesoffices/{salesOffice} more information in the sales office overview

  5. Send booking request Endpoint: /booking/reservation

  6. For collecting payment, you can forward customers to our iFrame payment website more information in the API documentation, section 6.5.4 Payment iFrame

Additional information

Regions

As new regions codes could be set up at any time, don’t use fix region code for your accommodation requests. Just keep the request on Country and display the regions we provide in our response. As we provide Geo codes you might prefer to display our accommodation in the region you have setup on your website.

Prices

Display for search results/calender: Use /accommodation/pricelistalldur/:accommodationCode?LOS=true" to get all prices for bookable stay durations.

As soon as travel date and PAX is selected in order to display final price in the booking process: Use "/booking/checkPrice/final" as it may have price differences, especially for third party properties).

If you sell in different currencies and don't check prices for single currencies, you may use the Exchange rate endpoint "/exchangerates" to calculate the corresponding prices.

Services

In the response /accommodation/services/ we display the available services according to the following scheme. This is an example of a price per person that must be paid on site. If the parameter "Count" is set to zero, this means that no specific quantity can be booked for a per person service, but that the price per person is automatically calculated with the number transmitted with the parameter PAX.

<Services>
    <ServiceItem>
        <ServiceType>ExtracostOnPlace</ServiceType>
        <Amount>10.15</Amount>
        <Code>FC</Code>
        <Count>0</Count>
        <Currency>EUR</Currency>
        <Description>Final cleaning</Description>
        <PaymentInfo>Payable in resort per person</PaymentInfo>
        <PriceRule>P1</PriceRule>
        <Text>string</Text>
        <ValidFrom>2022-06-15</ValidFrom>
        <ValidTo>2023-06-15</ValidTo>
        <IsDefault>true</IsDefault>
        <IsIncluded>true</IsIncluded>
        <IsInsurance>true</IsInsurance>
        <IsMandatory>true</IsMandatory>
        <IsOnRequest>true</IsOnRequest>
        <IsCalculated>true</IsCalculated>
        <Type>N1</Type>
    </ServiceItem>
</Services>

In case of a service where a quota is available (where a number is displayed under "Count" in /accommodation/services/), the service can be booked more than once by submitting the desired number at "Count".

A service is not always per person, but can also be structured per stay. You can also find the different service types in the API documentation by entering "ServiceTypeEnum" in the search box.

For booking of a "Count=0" service, a "1" must be entered at "Count". Like this the service will be booked for the total number of people. For example the laundry:

<AdditionalServices>
    <AdditionalService>
        <Code>LI</Code>
        <SubCode>string</SubCode>
        <Count>1</Count>
    </AdditionalService>
  </AdditionalServices>

Please note the correct interpret of “IsMandatory=true”. It doesn’t mean that the service is mandatory, but inform that the service have to be displayed on the invoice. The explanation of the Service Types you may find in the documentation by entering "ServiceType" in the search box.

Services bookable and payable on invoice (-> for example N1, Y1) you have to display in the same currency like you display the rental price. Services which have to be paid on place (N4, Y4, Y5) are always in the local currency of the destination. More information in the documentation by typing in “serviceType” in the search box.

Explanation for PriceRule you find in in the documentation by entering "PriceRules" in the search box.

MeaningY2Y4Y5Y6N1N2N4
In Price included Services Y2/N2Services included in Price, provided by HHDFree Services, which have to be booked by the customer during reservation process. Has to be on the invoice
Additional bookable services N1 (no SPO, no PROM) Services which were booked during reservation N1Optional Services which must be added by the customer during reservation process. Has to be on the invoice
Additional bookable services N1, N2, Y4 which can be bookedMandatory fee which must be paid on spotOptional Services which must be added by the customer during reservation process. Has to be on the invoiceFree Services, which have to be booked by the customer during reservation process. They appear on the invoice
Additional bookable services on spot N4Has to be chosen during booking process or before arrival and payable on spot. Availability on spot otherwise not need. Must be mentioned on the invoice
Extra services on spot Y4Mandatory fee which must be paid on spot
Extra Payable on Spot Y5Optional in Resort. Must be mentioned on invoice but paid on spot. No pre-booking necessary
Extra, organized by customer Y6Not provided. Customer has to bring it

Attention: Some services are only available for a certain period. Such services won’t be provided with /accommodation/services/:accommodationCode if you don’t use a Checkin and Checkout date.

Alerts

Use Alert request in order to display at the accommodation details and ensure to display before booking. Update with "ModifiedSince" parameter.

Error messages

In general the error response inform you what element of the request is missing or do have wrong content. But it may happen that the displayed text do not match the real source of the problem.

Test environment

Our test environment do not have all availabilities and prices included, therefore it might happen that you don’t get the expected response. We recommend to do the same request on productive environment in order to check if request works properly. If issue still exists, there is a mistake in the request or a technical problem on our side. In that case please contact us at partners@interhome.group.

Mandatory elements for create reservation request

Partners which send the create reservation request with Fulfillment “partner”, have to transmit at least the salutation, first name and last name of a customer. If you send us also mobile number and e-mail address, you enable us to send the prechecking directly to customer. This information allows for preparation of your customer’s arrival and for the keys to be handed over efficiently. This data is not used for advertising purposes.

Please note that once one element of the address, like “Street, “Zip”, “Place” or “Country” will be provided, the complete Customer details with the elements “Salutation, Firstname, Lastname, Street, Zip, Place, Country and EmailAddress” are mandatory. If an element is missing, you get an error message.

Country Codes

Please make sure to send the element "Country" within the create reservation request with 2 digits from ISO country code list.

In the /search endpoint the rangeFromDate and rangeToDate does not mean, that this accommodation is only valid in this period. It informs that this accommodation is available for all arrival dates within the mentioned period (rangeFromDate until rangeToDate) and bookable for the requested duration which was part of the request.