Otaqlar və qiymətlər

Rezervasiya mühərrikinin axtarış nəticələrini təmin edən iki son nöqtə: verilmiş tarixlər və qonaq sayı üçün satışa açıq otaq tiplərini, qidalanma tiplərini və qiymətləri qaytaran otaq siyahısı, həmçinin təqvim görünüşləri üçün gün-gün mövcudluq və qiymətləri qaytaran mövcudluq.

Otaq siyahısı və qiymətlər#

POST/external/online/roomType

Autentifikasiya: Authorization: Bearer · Gövdə: application/x-www-form-urlencoded və ya multipart/form-data

Verilmiş tarixlər və qonaq sayı üçün otelin onlayn satışa açıq otaq tiplərini qaytarır. Hər otaq tipi üçün boş otaq sayı (roomCount), məhdudiyyətlər (minimum qalma müddəti, check-in/check-out üçün bağlı günlər), qidalanma tipləri və qiymət variantları hesablanır. Uşaqlar varsa, onların yaşlarını childAges[] ilə göndərin; uşaq qiyməti yaşdan asılıdır.

Yoxlama qaydaları: giriş tarixi bu gün və ya daha gec, çıxış tarixi girişdən sonra, ən çox 30 gecə, 1–40 böyük, 0–10 uşaq (0–16 yaş).

Forma sahələri

hotelIDintegerməcburi
Otel ID-si. Tokenin oteli ilə eyni olmalıdır.
startDatedateməcburi
Giriş tarixi, YYYY-MM-DD.
endDatedateməcburi
Çıxış tarixi, YYYY-MM-DD.
adultCountintegerməcburi
Böyüklərin sayı (1–40).
childCountintegerdefolt: 0
Uşaqların sayı (0–10). childAges ilə uyğun gəlmirsə, yaş siyahısının uzunluğu əsas götürülür.
childAges[]integer[]
Hər uşağın yaşı (0–16). Forma sahəsi kimi təkrarlanır: childAges[]=7&childAges[]=12.
languagestringdefolt: tr
Cavabın dili (otaq adları, xüsusiyyət başlıqları, xəta mesajları).
buildingIDinteger
Yalnız bu binadakı (blokdakı) otaqları siyahıya alır.

Cavab

200 Otaq tiplərinin siyahısı. Qiymətlər hər qidalanma tipinin altında, prices obyektində "<persons>-<1|0>" açarları ilə gəlir: -1 standart (geri qaytarıla bilən), -0 isə geri qaytarılmayan ([NR]) qiymətdir. Otaq üzrə qiymətləndirmədə açarlar 1-1 / 1-0 olur.

items[].id / nameinteger / string
Otaq tipinin ID-si və adı. Rezervasiyada roomTypeID kimi göndərilir.
items[].capacityAdult / capacityChildren / capacityTotalinteger
Böyük, uşaq və ümumi tutum.
items[].roomCountinteger
Bu tarixlər üçün satıla bilən otaq sayı. 0 otağın satıla bilmədiyini bildirir; səbəbi roomRestrictionMessage sahəsindədir.
items[].roomRestrictionMessagestring | null
Satış məhdudiyyəti.
closed_to_checkinclosed_to_checkoutpassive_salesminimum_staymaximum_stayclosed_to_arrivalprice_not_found
items[].nonRefundable / refundableboolean
Otaq tipinin geri qaytarılmayan və/və ya geri qaytarıla bilən qiymətlər təklif edib-etmədiyi.
items[].images[]string[]
Şəkil yolları, API-nin əsas URL-inə nisbətən.
items[].accommodationTypes[]object[]
Qidalanma tipləri. id rezervasiyada ratePlanID olur. priceType: 0 nəfər üzrə, 1 otaq üzrə qiymət.
…accommodationTypes[].prices{}object
Qiymət variantları. Hər variant: total gecə sayı, price ümumi məbləğ, currency, nonRefundable ("[NR]" geri qaytarılmayan deməkdir), id seçim ID-si, prices[] gecəlik qiymətlər (price, tarih dd.mm.yyyy formatında).
items[].roomFeatures[]object[]
Otaq xüsusiyyətləri: title, icon.
countinteger
Qaytarılan otaq tiplərinin sayı.
errorMessage / errorCodestring | integer | null
Uğursuz cavablarda doldurulur. Kodların siyahısı: Xəta kodları.

Xəta cavabları

  • 200 errorCode 10001 otel tapılmadı · 10002 parametr çatışmır · 10003 otel onlayn satış üçün bağlıdır · 10004 satışa açıq otaq tipi yoxdur · 10022 tarix/qonaq sayı parametrləri yanlışdır · 20001–20004 kifayət qədər boş otaq yoxdur.
Sorğu
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"
Cavab · 200
{
    "success": true,
    "items": [
        {
            "id": 2,
            "name": "Standart otaq",
            "capacityAdult": 2,
            "capacityTotal": 3,
            "totalBed": 1,
            "totalBathroom": 1,
            "roomSize": 24,
            "currency": "TRY",
            "detail": "<p>Bağ mənzərəli, 24 m² standart otaq.</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": "Səhər yeməyi daxil",
                    "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": "Kondisioner",
                    "icon": "fa-snowflake"
                },
                {
                    "title": "Pulsuz Wi-Fi",
                    "icon": "fa-wifi"
                }
            ],
            "capacityChildren": 1
        }
    ],
    "count": 1,
    "errorMessage": null,
    "errorCode": null
}
Cavab · 200 (boş otaq yoxdur)
{
    "success": false,
    "errorMessage": "Not enough adult availability.",
    "errorCode": 20001
}

Təqvim üzrə mövcudluq#

GET/external/room/type/hotel/availability

Autentifikasiya: Authorization: Bearer

Hər otaq tipi üçün gün-gün boş otaq sayını və əsas qiyməti qaytarır. Təqvim və qiymət istilik xəritəsi görünüşləri üçün nəzərdə tutulub; dəqiq qiymətlər və məhdudiyyətlərin yoxlanması üçün otaq siyahısından istifadə edin.

Sorğu sətri parametrləri

hotelIDintegerməcburi
Otel ID-si.
startDatedatetimeməcburi
Başlanğıc, YYYY-MM-DD və ya YYYY-MM-DDTHH:MM:SS.
endDatedatetimeməcburi
Son (daxil olmaqla).

Cavab

200 Otaq tipləri üzrə günlük siyahı. availability -1 həmin gün üçün mövcudluq məlumatı olmadığını, price "-" isə qiymətin təyin edilmədiyini bildirir.

Xəta cavabları

  • 200 hotel_id_is_not_found, start_date_is_not_found, end_date_is_not_found — parametr çatışmır.
Sorğu
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"
Cavab · 200
{
    "success": true,
    "roomTypes": [
        {
            "name": "Standart otaq",
            "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"
}
Son yenilənmə: 21 sentyabr 2026Səhv tapdınız? Bizə bildirin