Kamers en tarieven

Twee endpoints die de zoekresultaten van de boekingsmodule voeden: de kamerlijst, die verkoopbare kamertypen, verzorgingstypen en prijzen teruggeeft voor de opgegeven datums en bezetting, en beschikbaarheid, die per dag de beschikbaarheid en tarieven teruggeeft voor kalenderweergaven.

Kamerlijst en tarieven#

POST/external/online/roomType

Authenticatie: Authorization: Bearer · Body: application/x-www-form-urlencoded of multipart/form-data

Geeft de kamertypen van het hotel terug die online te boeken zijn voor de opgegeven datums en bezetting. Per kamertype worden het aantal beschikbare kamers (roomCount), beperkingen (minimaal verblijf, gesloten voor inchecken/uitchecken), verzorgingstypen en prijsopties berekend. Reizen er kinderen mee, stuur dan hun leeftijden mee in childAges[]; kinderprijzen hangen af van de leeftijd.

Validatieregels: incheckdatum vandaag of later, uitcheckdatum na de incheckdatum, maximaal 30 nachten, 1–40 volwassenen, 0–10 kinderen (0–16 jaar).

Formuliervelden

hotelIDintegerverplicht
Hotel-ID. Moet overeenkomen met het hotel van het token.
startDatedateverplicht
Incheckdatum, YYYY-MM-DD.
endDatedateverplicht
Uitcheckdatum, YYYY-MM-DD.
adultCountintegerverplicht
Aantal volwassenen (1–40).
childCountintegerstandaard: 0
Aantal kinderen (0–10). Wijkt dit af van childAges, dan geldt de lengte van de leeftijdenlijst.
childAges[]integer[]
Leeftijd van elk kind (0–16). Wordt als formulierveld herhaald: childAges[]=7&childAges[]=12.
languagestringstandaard: tr
Taal van het antwoord (kamernamen, namen van voorzieningen, foutmeldingen).
buildingIDinteger
Toont alleen kamers in dit gebouw (blok).

Antwoord

200 Lijst met kamertypen. Prijzen staan per verzorgingstype in het object prices, met sleutels van de vorm "<persons>-<1|0>": -1 is het standaardtarief (restitueerbaar), -0 het niet-restitueerbare tarief ([NR]). Bij prijzen per kamer zijn de sleutels 1-1 / 1-0.

items[].id / nameinteger / string
ID en naam van het kamertype. Wordt in de boeking verstuurd als roomTypeID.
items[].capacityAdult / capacityChildren / capacityTotalinteger
Capaciteit voor volwassenen, kinderen en in totaal.
items[].roomCountinteger
Aantal verkoopbare kamers voor deze datums. Bij 0 is het kamertype niet verkoopbaar; de reden staat in roomRestrictionMessage.
items[].roomRestrictionMessagestring | null
Verkoopbeperking.
closed_to_checkinclosed_to_checkoutpassive_salesminimum_staymaximum_stayclosed_to_arrivalprice_not_found
items[].nonRefundable / refundableboolean
Of het kamertype niet-restitueerbare en/of restitueerbare tarieven aanbiedt.
items[].images[]string[]
Afbeeldingspaden, relatief ten opzichte van de basis-URL van de API.
items[].accommodationTypes[]object[]
Verzorgingstypen. id wordt ratePlanID in de boeking. priceType: 0 prijs per persoon, 1 prijs per kamer.
…accommodationTypes[].prices{}object
Prijsopties. Elke optie: total aantal nachten, price totaalbedrag, currency, nonRefundable ("[NR]" betekent niet-restitueerbaar), id selectie-ID, prices[] prijzen per nacht (price, tarih als dd.mm.jjjj).
items[].roomFeatures[]object[]
Kamervoorzieningen: title, icon.
countinteger
Aantal teruggegeven kamertypen.
errorMessage / errorCodestring | integer | null
Gevuld bij een fout. Lijst met codes: Foutcodes.

Foutantwoorden

  • 200 errorCode 10001 hotel niet gevonden · 10002 ontbrekende parameter · 10003 hotel gesloten voor online verkoop · 10004 geen kamertype beschikbaar voor verkoop · 10022 ongeldige parameters voor datum/bezetting · 20001–20004 onvoldoende beschikbaarheid.
Verzoek
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"
Antwoord · 200
{
    "success": true,
    "items": [
        {
            "id": 2,
            "name": "Standaardkamer",
            "capacityAdult": 2,
            "capacityTotal": 3,
            "totalBed": 1,
            "totalBathroom": 1,
            "roomSize": 24,
            "currency": "TRY",
            "detail": "<p>Standaardkamer van 24 m² met uitzicht op de tuin.</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": "Logies en ontbijt",
                    "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": "Airconditioning",
                    "icon": "fa-snowflake"
                },
                {
                    "title": "Gratis wifi",
                    "icon": "fa-wifi"
                }
            ],
            "capacityChildren": 1
        }
    ],
    "count": 1,
    "errorMessage": null,
    "errorCode": null
}
Antwoord · 200 (geen beschikbaarheid)
{
    "success": false,
    "errorMessage": "Onvoldoende beschikbaarheid voor volwassenen.",
    "errorCode": 20001
}

Beschikbaarheidskalender#

GET/external/room/type/hotel/availability

Authenticatie: Authorization: Bearer

Geeft per dag en per kamertype het aantal beschikbare kamers en het basistarief terug. Bedoeld voor kalenderweergaven en tarief-heatmaps; gebruik de kamerlijst voor exacte prijzen en het controleren van beperkingen.

Queryparameters

hotelIDintegerverplicht
Hotel-ID.
startDatedatetimeverplicht
Begin, YYYY-MM-DD of YYYY-MM-DDTHH:MM:SS.
endDatedatetimeverplicht
Einde (inclusief).

Antwoord

200 Dagelijkse lijst per kamertype. availability -1 betekent dat er voor die dag geen beschikbaarheidsgegevens zijn; price "-" betekent dat er geen tarief is ingesteld.

Foutantwoorden

  • 200 hotel_id_is_not_found, start_date_is_not_found, end_date_is_not_found — ontbrekende parameter.
Verzoek
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"
Antwoord · 200
{
    "success": true,
    "roomTypes": [
        {
            "name": "Standaardkamer",
            "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"
}
Laatst bijgewerkt: 21 september 2026Fout gevonden? Laat het ons weten