Rezervasyon

Misafirin seçtiği oda, konaklama tipi ve fiyat, BookingPushRQ yapısıyla HMS’e aktarılır. Aynı uç nokta, type alanı Cancel veya Modify gönderilerek iptal ve değişiklik için de kullanılır. Uçtan uca akış için Rezervasyon akışı rehberine bakın.

Rezervasyon aktar (BookingPushRQ)#

POST/external/online/channel/booking

Kimlik doğrulama: Authorization: Bearer · Gövde: application/json

Bir veya daha fazla rezervasyonu HMS’e kaydeder. ID alanı sizin tarafınızda üretilen benzersiz rezervasyon kodudur; aynı ID ile Modify gönderildiğinde mevcut kayıt güncellenir, Cancel gönderildiğinde iptal edilir. Aynı oda tipi ve konaklama tipinden birden fazla oda satıldığında her oda ayrı bir RoomStays öğesi olur ve NumberOfUnits 1, 2, 3… şeklinde artar.

Ödeme tipi kredi kartı (9) ise kart bilgisi PaymentCard altında gönderilir; diğer ödeme tiplerinde bu alan gönderilmez. Kart verisi taşıdığınız için PCI DSS gereksinimlerini karşılamanız gerekir.

İstek gövdesi

BookingPushRQ.Bookings[]object[]zorunlu
Rezervasyon listesi. Genellikle tek öğe.
hotelIDstringzorunlu
Otel kimliği.
IDstringzorunlu
Sizin sisteminizdeki benzersiz rezervasyon kodu. Voucher numarası olarak da kaydedilir.
typestringzorunlu
İşlem türü.
BookModifyCancel
createDateTimedatetime
Rezervasyonun oluşturulma zamanı (ISO 8601).
checkinDate / checkoutDatedatezorunlu
Giriş ve çıkış tarihleri, YYYY-MM-DD.
RoomStays[]object[]zorunlu
Satılan odalar.
roomTypeIDstringzorunlu
Oda listesindeki items[].id.
roomNamestring
Oda tipi adı (bilgi amaçlı).
ratePlanIDstringzorunlu
Oda listesindeki accommodationTypes[].id.
ratePlanNamestring
Konaklama tipi adı (bilgi amaçlı).
typestring
Odanın işlem türü.
BookModifyCancel
NumberOfUnitsstringzorunlu
Aynı oda/konaklama tipindeki odaların sırası: 1, 2, 3…
checkinDate / checkoutDatedatezorunlu
Odanın giriş ve çıkış tarihi.
GuestCountobjectzorunlu
adult ve child sayıları.
PerDayRatesobject
currency ve PerDayRate[]: stayDate, baseRate, hotelServiceFees.
Totalobjectzorunlu
Oda toplamı: amountAfterTaxes, amountOfTaxes, currency.
PaymentCardobject
Yalnızca ödeme tipi 9 (kredi kartı). CardHolder{fullname, address, country, city}, cardNumber, expireDate (AAYY), cardCode, seriesCode (CVV).
PrimaryGuests[]object[]zorunlu
Ana misafir(ler): name, surname, PhoneNumber, email, CountryCode.
ChildGuests[]object[]
Çocuklar. age zorunlu; name, surname, year, date, detail isteğe bağlı.
SpecialRequest[]object[]
Misafir notları ve iptal koşulu metni: text. Rezervasyon açıklamasına birleştirilir.
extras[]object[]
Satılan ek hizmet/paketler: name, note, person, piece, price, priceMode, priceTotal, stockID (paket listesindeki id).
Totalobjectzorunlu
Genel toplam: amountAfterTaxes, amountOfTaxes, extraTotal, currency.

Yanıt

200 BookingPushRS nesnesi. Başarıda Success: true ve HMS rezervasyon kimliği (HMS_ID); hatada Error metni ve BookingConfirmNumbers[].Error[].

Hata yanıtları

  • 200 Error: No available data could be found. (01, gövde boş/ayrıştırılamadı) · Hotel registration not found on HMS. (02, otel online kanala bağlı değil) · Could not register. · Failed to parse information.
İstek
curl -X POST "https://test.hms.gen.tr/external/online/channel/booking" \
  -H "Authorization: Bearer $HMS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "BookingPushRQ": {
        "Bookings": [
            {
                "hotelID": "1000",
                "ID": "4811174883",
                "type": "Book",
                "createDateTime": "2026-08-01T08:32:11:293Z",
                "checkinDate": "2026-08-18",
                "checkoutDate": "2026-08-20",
                "RoomStays": [
                    {
                        "roomTypeID": "2",
                        "roomName": "Standart Oda",
                        "ratePlanID": "2",
                        "ratePlanName": "Kahvaltı Dahil",
                        "type": "Book",
                        "NumberOfUnits": "1",
                        "checkinDate": "2026-08-18",
                        "checkoutDate": "2026-08-20",
                        "GuestCount": {
                            "adult": 2,
                            "child": 1
                        },
                        "PerDayRates": {
                            "currency": "TRY",
                            "PerDayRate": [
                                {
                                    "stayDate": "2026-08-18",
                                    "baseRate": "965.00",
                                    "hotelServiceFees": "0"
                                },
                                {
                                    "stayDate": "2026-08-19",
                                    "baseRate": "965.00",
                                    "hotelServiceFees": "0"
                                }
                            ]
                        },
                        "Total": {
                            "amountAfterTaxes": "1930.00",
                            "amountOfTaxes": "175.45",
                            "currency": "TRY"
                        }
                    }
                ],
                "PrimaryGuests": [
                    {
                        "name": "Ayşe",
                        "surname": "Demir",
                        "PhoneNumber": "+905551112233",
                        "email": "[email protected]",
                        "CountryCode": "TR"
                    }
                ],
                "ChildGuests": [
                    {
                        "age": 7
                    }
                ],
                "SpecialRequest": [
                    {
                        "text": "Geç giriş, 23:00 civarı."
                    }
                ],
                "extras": [
                    {
                        "name": "Akşam Yemeği",
                        "note": "",
                        "person": 2,
                        "piece": 1,
                        "price": "400.00",
                        "priceMode": null,
                        "priceTotal": "400.00",
                        "stockID": 12
                    }
                ],
                "Total": {
                    "amountAfterTaxes": "2330.00",
                    "amountOfTaxes": "211.82",
                    "extraTotal": "400.00",
                    "currency": "TRY"
                }
            }
        ]
    }
}'
Yanıt · 200
{
    "BookingPushRS": {
        "Success": true,
        "BookingConfirmNumbers": [
            {
                "confirmTime": 1755500000,
                "bookingID": 48213,
                "bookingType": "Book",
                "HMS_ID": 48213
            }
        ]
    }
}
Yanıt · 200 (hata)
{
    "BookingPushRS": {
        "Error": "Hotel registration not found on HMS.",
        "BookingConfirmNumbers": [
            {
                "bookingID": null,
                "bookingType": null,
                "confirmTime": 1755500000,
                "Error": [
                    {
                        "code": "02",
                        "text": "Hotel registration not found on HMS."
                    }
                ]
            }
        ]
    }
}
Son güncelleme: 8 Eylül 2026Bu sayfada bir hata mı var? Bize yazın