integrations.sh
← all integrations

impala.travel – hotels

OpenAPI apis-guru ecommerce

Add room selling to your app with ease, or expand your existing hotel portfolio. Access all the marketing material you need to sell a room, from hotel amenities to images. Constantly updated, ever expanding and always correct. Impala allows you to start selling hotel rooms and earn a commission with every booking in hours.

Getting started is easy:

1. Sign-up within seconds: Head to the , enter your details and receive your sandbox API key immediately (no credit card needed).

2. Start building within minutes: Build against a sandbox API with realistic test data. Use a to see what's possible. Check for available hotels and their rates. Make and manage fake bookings without any risk. Add room booking to your existing website or app, or start an online travel agency from scratch.

3. Go live within hours: Once your app or integration is ready for prime time, move to production within your Impala dashboard and start making real hotel bookings for your customers right away.

Want to see how it all works? Watch of the two API requests you need to make a booking, and a demo of one of our customer's apps.

Homepage
https://api.apis.guru/v2/specs/impala.travel:hotels/1.003.json
Provider
impala.travel:hotels / hotels
OpenAPI version
3.0.0
Spec (JSON)
https://api.apis.guru/v2/specs/impala.travel/hotels/1.003/openapi.json
Spec (YAML)
https://api.apis.guru/v2/specs/impala.travel/hotels/1.003/openapi.yaml

Tools (12)

Extracted live via the executor SDK.

  • bookings.cancelBooking

    Cancels the specified booking with immediate effect. This action might result in a cancellation charge being charged.

    Submitting this request means we'll notify the hotel of the cancellation and that they won't expect your guest.

    You can use GET /bookings/{bookingId}to see the cancellation policies that apply to a booking at a given point in time. Please note that cancelling a booking will incur a cancellation fee according to the rules that apply at the time of cancellation. You can find the cancellation fee that has been charged in the response of this call in the cancellation.fee object.

    If the booking you cancelled allows for a partial or full refund, we'll credit your Impala balance with the amount we charged you as the seller of this booking – meaning we'll deduct the amount the next time we're requesting payment for the sum of all the bookings you made.

  • bookings.createBooking

    Creates a booking for for the rate and dates you specify in the request body.

    You'll need a roomTypes[].rates[].rateId that's bookable for those dates, which you can find using the endpoint.

    If you have provided a credit card on the dashboard then Impala will send the booking to the hotel immediately. We'll ensure payment is taken care of before your guest arrives at the hotel.

    • Your guest needs to be paying you the rate specified in retailRate (as listed in the response) before you submit this request.
    • Once your request is received and the booking is confirmed, Impala will charge you as the seller this retailRate minus the sellerCommissionPercentage (which is the affiliate commission you get to keep). We'll use the business credit card you've added to your account as payment method for this.
    • The difference between the amount you charge your guest (retailRate, e.g. 200 €) and what Impala charges you (retailRate minus sellerCommissionPercentage, e.g. 200 €) is your commission (in this example: 20 €) to keep.

    You can find more information on how money flows between your guest and you, and you and Impala,

    This request might take up to 20 seconds to load. While we work to return a response to your request within milliseconds in most cases, some bookings require us to re-verify current pricing in real-time and doing so might take up to 20 seconds. Please make sure your app handles this waiting state appropriately.

  • bookings.listBookings

    Returns a list of all the bookings you've made.

    You can filter the list based on when bookings were created or last updated, as well as their arrival (start) and departure (end). These date-based filters allow to narrow down the result with modifiers for less than (lt), greater than (gt), lower than or equal to (lte), greater than or equal to (gte) and equal to (eq).

    Example: Adding the query parameters start[gt]=2021-05-20&updated[lte]=2020-11-20T11:11:00.000Z would return bookings arriving after May 20th, 2020 that were updated before or on November 20th, 2020 at 11:11 am UTC.

    You can specify the sorting order in which bookings are returned:

    • This is done by using the sortBy query parameter.
    • Results can be sorted by createdAt and updatedAt
    • The parameter allows for a comma-separated list of arguments with :asc (ascending, the default if no sorting is specified) and :desc (descending) modifiers.
  • bookings.retrieveBooking

    Returns all details for the specified booking.

  • bookings.updateBooking

    Updates the specified booking with immediate effect. This action might result in a cancellation charge being charged.

    Please note that if you wish to change the contact details associated with a booking, you should use the endpoint.

    Changes / updates a confirmed booking with the details you provide in the request body.

    When your guest needs to change their booking, you can use this endpoint to change any of the details you initially supplied when you , e.g. you'll need to query for availability and use the roomTypes[].rates[].rateId that are available currently for their new stay dates. Any new rates selected must be for the same hotel as the original booking.

    A booking cannot be updated on or after the check in day of the original or new stay.

    In addition, we require you do supply a updateBookingVersionAtTimestamp field with the updatedAt timestamp of the booking. You can find this value by looking up the booking via the endpoint. This is to avoid race conditions where another update might have happened since the last time you have checked for the current details of this booking.

    The status of this booking will switch back to PENDING until we have submitted and confirmed the new details with the hotel.

    This request might take up to 20 seconds to load. While we work to return a response to your request within milliseconds in most cases, some bookings require us to re-verify current pricing in real-time and doing so might take up to 20 seconds. Please make sure your app handles this waiting state appropriately.

  • bookings.updateBookingContact

    Updates a confirmed booking with the booking contact details you provide in the request body.

    In addition, we require you to supply a updateBookingVersionAtTimestamp field with the updatedAt timestamp of the booking. You can find this value by looking up the booking via the endpoint. This is to avoid race conditions where another update might have happened since the last time you have checked for the current details of this booking.

  • hotels.listHotels

    Returns a list of all hotels worldwide that can be booked through Impala.

    You can filter the results:

    • Adding longitude, latitude and a radius (in meters) query parameters will filter the results to hotels around this location.

    • Adding start and end dates (in ISO 8601 notation, e.g. 2021-12-31) for the expected arrival and departure dates of your guests will limit the results to hotels that have at least one room bookable for this timeframe.

    • Adding starRating, name or country allows you to filter to hotels based on these values (e.g. ?starRating[gte]=4&name[like]=palace for hotels with a rating of 4 or up with a name containing "palace")

    • Adding hotelIds allows you to limit the results to include only hotels with the ids listed. Its value should be a comma-separated list of hotel ids (e.g. ?hotelIds[]=hotelIdA,hotelIdB)

    • Adding contractable allows you to filter to hotels that you can directly negotiate with through our . (e.g ?contractable=true or ?contractable=false)

    You can specify the sorting order in which hotels are returned:

    • This is done by using the sortBy query parameter.
    • Results can be sorted by name alphabetically, star rating and distance_m (in meters from the specified latitude/longitude location).
    • The parameter allows for a comma-separated list of arguments with optional :asc (ascending, the default if the modifier is omitted) and :desc (descending) modifiers.

    If no hotels match your filter criteria, an empty array will be returned.

  • hotels.retrieveHotel

    Returns the full content, room types and rates for the specified hotel.

    When querying the hotels API you can query with or without dates. Where querying with dates requires providing valid values for the start and end parameters. Requests without these values will be considered a query without dates.

    Querying without dates:

    When you query without dates, the search result will include all properties that match your request. Including all content that is associated with those properties. However you will find that the rates attribute for each room will always be empty.

    Querying with dates:

    When you query with dates, the search result will include all properties that match your request, including all content that is associated with those properties. Rooms which do not have available prices for the provided dates will appear with an empty rates array.

    For rooms where there are available prices the rates array will include both the public rates of the hotel, along with prices that come from deals in which you are participating. This would include private deals which you have negotiated with a hotel, along with Impala deals which you have been verified for.

    Using the rateId of any of those rates, you can use the endpoint to make a booking.

  • rateCalendar.listRatePlanForHotelForRatePlanId

    Returns a single rate plan available for you for a hotel.

    Rate plans are products the hotel is offering. They typically consist of a combination of restrictiveness in case of cancellations or changes, the time they're bookable, minimum or maximum length of stay restrictions (e.g. week-long bookings), included components like breakfast or dinner and/or the conditions under which the room can be sold (e.g. private rates that can only be offered and sold to a closed user group behind login).

    Examples of rate plans:

    • Non-refundable room rate that includes breakfast
    • Room-only rate with free cancellation up to 14 days before arrival

    This endpoint returns a singular available rate plan.

  • rateCalendar.listRatePlansForHotel

    Returns a list of all rate plans available for you for a hotel.

    Rate plans are products the hotel is offering. They typically consist of a combination of restrictiveness in case of cancellations or changes, the time they're bookable, minimum or maximum length of stay restrictions (e.g. week-long bookings), included components like breakfast or dinner and/or the conditions under which the room can be sold (e.g. private rates that can only be offered and sold to a closed user group behind login).

    Examples of rate plans:

    • Non-refundable room rate that includes breakfast
    • Room-only rate with free cancellation up to 14 days before arrival

    For each such rate plan this endpoint returns the room types it's available for, alongside prices for each date and occupancy that can be sold – or the information that the room isn't available (closed) for a certain date.

    For the vast majority of our customers, availability searches using the endpoint are the best choice. It accepts the dates your guest is looking for and provides the rates to display.

    This endpoint can help augment this for two additional use cases:

    This endpoint allows you to query rate prices for all future dates in one go, making it a great choice to feed availability information and prices into your own system or displaying a rate calender to guide your guests to gain an overview of future availability and prices.

  • openapi.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools