Zimmer und Preise

Zwei Endpunkte liefern die Suchergebnisse der Buchungsmaschine: die Zimmerliste, die verkaufbare Zimmertypen, Verpflegungsarten und Preise für den angegebenen Zeitraum und die Belegung zurückgibt, und die Verfügbarkeit, die tageweise Verfügbarkeit und Preise für Kalenderansichten liefert.

Zimmerliste und Preise#

POST/external/online/roomType

Authentifizierung: Authorization: Bearer · Body: application/x-www-form-urlencoded oder multipart/form-data

Gibt die für den Online-Verkauf freigegebenen Zimmertypen des Hotels für den angegebenen Zeitraum und die Belegung zurück. Für jeden Zimmertyp werden die verfügbare Anzahl (roomCount), Einschränkungen (Mindestaufenthalt, für Anreise/Abreise geschlossen), Verpflegungsarten und Preisoptionen berechnet. Reisen Kinder mit, senden Sie ihr Alter in childAges[]; die Kinderpreise richten sich nach dem Alter.

Validierungsregeln: Anreise heute oder später, Abreise nach der Anreise, höchstens 30 Nächte, 1–40 Erwachsene, 0–10 Kinder (0–16 Jahre).

Formularfelder

hotelIDintegererforderlich
Hotel-ID. Muss mit dem Hotel des Tokens übereinstimmen.
startDatedateerforderlich
Anreisedatum, YYYY-MM-DD.
endDatedateerforderlich
Abreisedatum, YYYY-MM-DD.
adultCountintegererforderlich
Anzahl der Erwachsenen (1–40).
childCountintegerStandard: 0
Anzahl der Kinder (0–10). Weicht sie von childAges ab, gilt die Länge der Altersliste.
childAges[]integer[]
Alter jedes Kindes (0–16). Wird als Formularfeld wiederholt: childAges[]=7&childAges[]=12.
languagestringStandard: tr
Antwortsprache (Zimmernamen, Ausstattungsbezeichnungen, Fehlermeldungen).
buildingIDinteger
Listet nur Zimmer in diesem Gebäude (Block).

Antwort

200 Liste der Zimmertypen. Die Preise stehen je Verpflegungsart im Objekt prices, mit Schlüsseln der Form "<persons>-<1|0>": -1 ist die Standardrate (erstattbar), -0 die nicht erstattbare Rate ([NR]). Bei Preisen pro Zimmer lauten die Schlüssel 1-1 / 1-0.

items[].id / nameinteger / string
ID und Name des Zimmertyps. Wird in der Buchung als roomTypeID gesendet.
items[].capacityAdult / capacityChildren / capacityTotalinteger
Kapazität für Erwachsene, Kinder und insgesamt.
items[].roomCountinteger
Im Zeitraum verkaufbare Zimmer. 0 bedeutet nicht verkaufbar; der Grund steht in roomRestrictionMessage.
items[].roomRestrictionMessagestring | null
Verkaufsbeschränkung.
closed_to_checkinclosed_to_checkoutpassive_salesminimum_staymaximum_stayclosed_to_arrivalprice_not_found
items[].nonRefundable / refundableboolean
Ob der Zimmertyp nicht erstattbare und/oder erstattbare Raten anbietet.
items[].images[]string[]
Bildpfade, relativ zur Basis-URL der API.
items[].accommodationTypes[]object[]
Verpflegungsarten. id wird in der Buchung zu ratePlanID. priceType: 0 Preis pro Person, 1 Preis pro Zimmer.
…accommodationTypes[].prices{}object
Preisoptionen. Jede Option: total Anzahl der Nächte, price Gesamtbetrag, currency, nonRefundable ("[NR]" bedeutet nicht erstattbar), id Auswahl-ID, prices[] Preise pro Nacht (price, tarih als TT.MM.JJJJ).
items[].roomFeatures[]object[]
Zimmerausstattung: title, icon.
countinteger
Anzahl der zurückgegebenen Zimmertypen.
errorMessage / errorCodestring | integer | null
Bei Fehlschlag gesetzt. Liste der Codes: Fehlercodes.

Fehlerantworten

  • 200 errorCode 10001 Hotel nicht gefunden · 10002 Parameter fehlt · 10003 Hotel für den Online-Verkauf geschlossen · 10004 kein Zimmertyp zum Verkauf freigegeben · 10022 ungültige Datums- oder Belegungsparameter · 20001–20004 nicht genügend Verfügbarkeit.
Anfrage
curl "https://test.hms.gen.tr/external/online/roomType" \
  -H "Authorization: Bearer $HMS_TOKEN" \
  -d "hotelID=1000" \
  -d "startDate=2026-08-18" \
  -d "endDate=2026-08-20" \
  -d "adultCount=2" \
  -d "childCount=1" \
  -d "childAges[]=7" \
  -d "language=tr"
Antwort · 200
{
    "success": true,
    "items": [
        {
            "id": 2,
            "name": "Standardzimmer",
            "capacityAdult": 2,
            "capacityTotal": 3,
            "totalBed": 1,
            "totalBathroom": 1,
            "roomSize": 24,
            "currency": "TRY",
            "detail": "<p>Standardzimmer mit Gartenblick, 24 m².</p>",
            "roomCount": 5,
            "roomRestrictionMessage": null,
            "nonRefundable": false,
            "refundable": true,
            "images": [
                "images/1000/odatipi/standart-1.jpg",
                "images/1000/odatipi/standart-2.jpg"
            ],
            "accommodationTypes": [
                {
                    "id": 2,
                    "title": "Übernachtung mit Frühstück",
                    "priceType": 0,
                    "roomRestriction": 1,
                    "roomRestrictionMessage": null,
                    "roomRestrictionValue": null,
                    "prices": {
                        "2-1": {
                            "total": 2,
                            "title": 2,
                            "nonRefundable": "",
                            "price": "1930.00",
                            "currency": "TRY",
                            "id": "2/2",
                            "prices": [
                                {
                                    "price": "965.00",
                                    "tarih": "18.08.2026"
                                },
                                {
                                    "price": "965.00",
                                    "tarih": "19.08.2026"
                                }
                            ]
                        },
                        "2-0": {
                            "total": 2,
                            "title": 2,
                            "nonRefundable": "[NR]",
                            "price": "1737.00",
                            "currency": "TRY",
                            "id": "2-0/2",
                            "prices": [
                                {
                                    "price": "868.50",
                                    "tarih": "18.08.2026"
                                },
                                {
                                    "price": "868.50",
                                    "tarih": "19.08.2026"
                                }
                            ]
                        }
                    }
                }
            ],
            "roomFeatures": [
                {
                    "title": "Klimaanlage",
                    "icon": "fa-snowflake"
                },
                {
                    "title": "Kostenloses WLAN",
                    "icon": "fa-wifi"
                }
            ],
            "capacityChildren": 1
        }
    ],
    "count": 1,
    "errorMessage": null,
    "errorCode": null
}
Antwort · 200 (keine Verfügbarkeit)
{
    "success": false,
    "errorMessage": "Nicht genügend Verfügbarkeit für Erwachsene.",
    "errorCode": 20001
}

Verfügbarkeitskalender#

GET/external/room/type/hotel/availability

Authentifizierung: Authorization: Bearer

Gibt für jeden Zimmertyp die verfügbare Zimmeranzahl und den Basispreis pro Tag zurück. Gedacht für Kalender- und Preis-Heatmap-Ansichten; für exakte Preise und die Prüfung von Einschränkungen verwenden Sie die Zimmerliste.

Abfrageparameter

hotelIDintegererforderlich
Hotel-ID.
startDatedatetimeerforderlich
Beginn, YYYY-MM-DD oder YYYY-MM-DDTHH:MM:SS.
endDatedatetimeerforderlich
Ende (einschließlich).

Antwort

200 Tägliche Liste je Zimmertyp. availability -1 bedeutet, dass für diesen Tag keine Verfügbarkeitsdaten vorliegen; price "-" bedeutet, dass kein Preis definiert ist.

Fehlerantworten

  • 200 hotel_id_is_not_found, start_date_is_not_found, end_date_is_not_found — Parameter fehlt.
Anfrage
curl "https://test.hms.gen.tr/external/room/type/hotel/availability?hotelID=1000&startDate=2026-08-18&endDate=2026-08-21" \
  -H "Authorization: Bearer $HMS_TOKEN"
Antwort · 200
{
    "success": true,
    "roomTypes": [
        {
            "name": "Standardzimmer",
            "id": 2,
            "rate": 2,
            "availability": [
                {
                    "id": 20260818,
                    "start": "2026-08-18 12:00:00",
                    "end": "2026-08-19 12:00:00",
                    "availability": 5,
                    "price": "965.00"
                },
                {
                    "id": 20260819,
                    "start": "2026-08-19 12:00:00",
                    "end": "2026-08-20 12:00:00",
                    "availability": 3,
                    "price": "965.00"
                },
                {
                    "id": 20260820,
                    "start": "2026-08-20 12:00:00",
                    "end": "2026-08-21 12:00:00",
                    "availability": 0,
                    "price": "1,100.00"
                },
                {
                    "id": 20260821,
                    "start": "2026-08-21 12:00:00",
                    "end": "2026-08-22 12:00:00",
                    "availability": -1,
                    "price": "-"
                }
            ]
        }
    ],
    "currency": "TRY"
}
Zuletzt aktualisiert: 21. September 2026Fehler gefunden? Schreiben Sie uns