> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spaportal.cz/llms.txt
> Use this file to discover all available pages before exploring further.

# Price from

> The lowest price of a complete stay at a hotel or in a package: amount, original price, nights, occupancy, and references.

A price minimum describes one complete stay selected by the
[pricing rules](https://docs.spaportal.cz/api/prices.md). The same object appears in hotel prices,
package prices, and package-at-hotel prices.
[Price periods](https://docs.spaportal.cz/api/objects/price-from-period.md) have their own price object.

## Minimum fields

| Field | Meaning |
| - | - |
| `amount` | [`Money`](https://docs.spaportal.cz/api/currencies) amount of the offer after its promotions. |
| `original` | Amount of the same offer before its promotions, or `null` when no promotion lowers this minimum's rounded amount. |
| `nights` | Number of nights of the offer. |
| `occupancy` | Standard occupancy of the offer's room type. `perStay` amounts cover this many guests. |
| `hotel` | The offer's hotel: `id` and localized `name`. |
| `visitType` | The offer's visit type: `id` and localized `name`. |

A minimum identifies the hotel and package of the offer. It does not include
its room type, arrival date, or applied promotion ids. Display the amount
together with its `nights` and `occupancy`.
Both names follow [Localization](https://docs.spaportal.cz/api/localization.md) and fall back to Czech.

The following minimum is a seven-night stay for one guest at EUR 504.00,
discounted from EUR 560.00:

```json theme={null}
{
  "amount": {
    "amountMinor": 50400,
    "currency": "EUR",
    "currencyExponent": 2
  },
  "original": {
    "amountMinor": 56000,
    "currency": "EUR",
    "currencyExponent": 2
  },
  "nights": 7,
  "occupancy": 1,
  "hotel": {
    "id": "6720c0a1b2c3d4e5f6a7c101",
    "name": {
      "cs-CZ": "Hotel Pramen",
      "de": "Hotel Pramen"
    }
  },
  "visitType": {
    "id": "6720c0a1b2c3d4e5f6a7b801",
    "name": {
      "cs-CZ": "Klasická lázeňská léčba",
      "de": "Klassische Kur"
    }
  }
}
```

A non-null `original` is always greater than `amount`. Rounding applies to
each minimum separately: a small discount can produce an `original` on
`perStay` while `perPersonPerNight.original` stays `null`, because the
rounded average does not change.

## Pairs of minima

Prices are grouped by currency (`CZK`, `EUR`). A currency is present only when
a complete stay has a price in it. Each currency holds two independently
selected minima:

| Minimum | Selection |
| - | - |
| `perPersonPerNight` | The lowest average price per guest per night. |
| `perStay` | The lowest total for the whole room and stay at its standard occupancy. |

The two minima can be different offers with different hotels, rooms, nights,
and occupancy. Never derive one from the other; see
[Two independent minima](https://docs.spaportal.cz/api/prices.md#two-independent-minima).

## Where minima appear

| Object | Path | Compared offers |
| - | - | - |
| [Hotel](https://docs.spaportal.cz/api/objects/hotel.md) | `priceFrom.{currency}.all`, `.health`, `.wellness` | All packages the hotel sells, or one category. A category group is omitted when it has no complete stay. |
| [Visit type](https://docs.spaportal.cz/api/objects/visit-type.md) | `priceFrom.{currency}` | The package at all its hotels. |
| Visit type hotel listing | `hotelListings[].priceFrom.{currency}` | The package at that hotel. |

A whole `priceFrom` is `null` when no complete stay exists in its scope.
Visit type prices also cover packages booked on request and packages switched
off in SpaPortal (`unavailableReason: "disabled"`). Hotel prices include only
available packages with `bookingMode: "instant"`.

## Fields


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.