---
title: "Hotel, rooms and rates"
method: POST
path: "/hotel"
tags: ["PMS/CM endpoints"]
---

# Hotel, rooms and rates

`POST /hotel`

Information about hotel for connection process and structure of room types and rate plans.

Usage:
  - loading hotel info and structure when connecting new hotel to Termino
  - synchronizing hotel structure

## Request body

- object
  - `accessToken` string, required — Access token for authorization
  - `hotelId` union, required — Your hotel id
    - string
    - integer

## Response `200`

OK

- HotelInfo
  - `hotel` Hotel, required
    - `id` string — Your id of the hotel
    - `name` string — Name of the hotel
    - `address` Address
      - `street` string — Street name and number
      - `city` string — City / quarter
      - `country` string — 2-letter country code by ISO-3166-1
  - `roomTypes` RoomType[], required
    - `id` string — Room type id
    - `name` string — Room type name
    - `beds` integer — Count of beds
    - `extraBeds` integer — Count of extra beds
    - `roomsCount` integer — Count of rooms of given type
    - `rooms` object[]
      - `id` string — Your room id
      - `name` string — Name of the room
  - `ratePlans` RatePlan[]
    - `id` string, required — Rate ID or rate code. Should be human readable (eg. DEFAULT, HB). Unique in context of hotel
    - `name` string, required — Name of the rate plan
    - `pricingModel` 'per_room' | 'per_person' | 'per_occupancy', required — Pricing model used for this rate plan. Prices sent in planning updates has to follow this model.

## Other responses

- `400` — Expected error

## Changes

- **2025-11-28** `b2f22ce7f100` — 3 info
  - added the optional property `ratePlans` to the response with the `200` status
  - the response property `hotel` became required for the status `200`
  - the response property `roomTypes` became required for the status `200`
- **2023-12-18** `2449b1b91089` — 3 warning, 1 info
  - removed the optional property `address` from the response with the `200` status
  - removed the optional property `id` from the response with the `200` status
  - removed the optional property `name` from the response with the `200` status
  - added the optional property `hotel` to the response with the `200` status
- **2023-10-31** `371c7c53f22d` — 2 info
  - api tag `PMS/CM endpoints` added
  - api tag `Pull endpoints` removed
- **2023-10-30** `e19082e0fb0f` — 2 breaking, 1 warning, 5 info
  - the response property `roomTypes` became optional for the status `200`
  - removed the required property `hotel` from the response with the `200` status
  - removed the optional property `ratePlans` from the response with the `200` status
  - api tag `Pull endpoints` added
  - …4 more

[Change history](https://skmtc.dev/slevomat/apis/termino-hotel-api/changes/hotel/post.md)

---

[API](https://skmtc.dev/slevomat/apis/termino-hotel-api.md) · [All operations](https://skmtc.dev/slevomat/apis/termino-hotel-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/slevomat/termino-hotel-api/revisions/776409ba477b/schema)
