Minimum Price

OpenBooking provides additional meta-data about accommodation objects through Hooks. One of the Hooks that is available to any API user automatically is the “minPrice”-Hook.

Minimum Prices are calculated dynamically

OpenBooking routinely calculates the Minimum or From-Prices for every Accommodation based on actual bookable offers flowing through

OpenBooking ignores any arbitrary “Min-Price” information from the Booking providers

If accommodations never appear as bookable, there is no reason to display a Minimum Price, hence we do not provide this information for these objects.

Locate the Minimum Price

You can locate the Minimum Price in the hookData.minPrice field in the accommodation object. Here is an example:

{
    "executed": "2026-02-24T10:00:00.000000",
    "statusCode": 200,
    "data": {
        "price_per_night": 214,
        "price_per_person_per_night": 107,
        "base_price": 1498,
        "min_price_seen": 214,
        "min_price_week": 1498,
        "currency": "CHF",
        "type": "hotel",
        "version": "20260224"
    }
}
  • statusCode200 if a minimum price could be calculated, 204 if no minimum price is available
  • executed – Timestamp when this data was last calculated
  • data.price_per_night – Price per night for the unit (use for apartments)
  • data.price_per_person_per_night – Price per person per night (use for hotels, bnb, hostel, grac)
  • data.currency – Currency code (currently always CHF)
  • data.type – Type of the accommodation, determines which price field to display
  • data.version – Version of the MinPrice calculation algorithm

Deprecated fields

The following fields are still available for backward compatibility but are deprecated. We recommend migrating to the fields listed above.

  • data.base_price – Total price of the cheapest result found (use price_per_night instead)
  • data.min_price_seen – Same value as price_per_night (use price_per_night instead)
  • data.min_price_weekprice_per_night * 7 (use price_per_night and calculate as needed)

All prices are currently in Swiss Francs only.

How the Minimum Price is calculated

The algorithm differs based on the accommodation type:

Hotel-like (hotel, bnb, hostel, grac)

  1. We consider all search results for this accommodation where:
    1. Check-in date is today or in the future
    2. Currency is CHF
    3. Number of adults is 2
  2. We deduplicate results: for each unique combination of (checkin, checkout, rooms, currency), only the most recent result is kept. This ensures stale prices from repeated searches do not drag the minimum down.
  3. From the deduplicated set, we find the single result with the lowest price per person per night.
  4. All output fields are computed from that one result, ensuring internal consistency.

Apartment-like (apartment, camping, and all other types)

  1. We consider all search results for this accommodation where:
    1. Check-in date is today or in the future
    2. Currency is CHF
    3. No filter on number of adults (apartments are rented as a unit)
    4. No filter on stay length (all durations are considered)
  2. We deduplicate results the same way as for hotels.
  3. From the deduplicated set, we find the single result with the lowest price per night for the unit.
  4. price_per_person_per_night is set to half of price_per_night for backward compatibility in sorting.