Резервация

Избраните от госта стая, тип изхранване и цена се изпращат към HMS в структура BookingPushRQ. Същата крайна точка обработва анулации и промени, като в type се изпраща Cancel или Modify. За целия процес вижте ръководството Процес на резервация.

Изпращане на резервация (BookingPushRQ)#

POST/external/online/channel/booking

Удостоверяване: Authorization: Bearer · Тяло: application/json

Записва една или повече резервации в HMS. ID е уникалният код на резервацията, генериран от ваша страна; изпращането на Modify със същия ID обновява записа, а Cancel го анулира. Когато се продават няколко стаи от един и същ тип стая и тип изхранване, всяка стая е отделен елемент в RoomStays с NumberOfUnits 1, 2, 3…

При тип плащане кредитна карта (9) данните на картата се изпращат в PaymentCard; при другите типове плащане пропуснете това поле. Обработката на данни от карти ви поставя в обхвата на PCI DSS.

Тяло на заявката

BookingPushRQ.Bookings[]object[]задължително
Списък с резервации. Обикновено един елемент.
hotelIDstringзадължително
ID на хотела.
IDstringзадължително
Уникален код на резервацията във вашата система. Записва се и като номер на ваучера.
typestringзадължително
Тип операция.
BookModifyCancel
createDateTimedatetime
Кога е създадена резервацията (ISO 8601).
checkinDate / checkoutDatedateзадължително
Дати на настаняване и напускане, YYYY-MM-DD.
RoomStays[]object[]задължително
Продадени стаи.
roomTypeIDstringзадължително
items[].id от списъка със стаи.
roomNamestring
Име на типа стая (информативно).
ratePlanIDstringзадължително
accommodationTypes[].id от списъка със стаи.
ratePlanNamestring
Име на типа изхранване (информативно).
typestring
Тип операция за стаята.
BookModifyCancel
NumberOfUnitsstringзадължително
Пореден номер на стаите от един и същ тип стая/изхранване: 1, 2, 3…
checkinDate / checkoutDatedateзадължително
Дати на настаняване и напускане за стаята.
GuestCountobjectзадължително
Брой adult и child.
PerDayRatesobject
currency и PerDayRate[]: stayDate, baseRate, hotelServiceFees.
Totalobjectзадължително
Обща сума за стаята: amountAfterTaxes, amountOfTaxes, currency.
PaymentCardobject
Само за тип плащане 9 (кредитна карта). CardHolder{fullname, address, country, city}, cardNumber, expireDate (MMYY), cardCode, seriesCode (CVV).
PrimaryGuests[]object[]задължително
Основни гости: name, surname, PhoneNumber, email, CountryCode.
ChildGuests[]object[]
Деца. age е задължително; name, surname, year, date, detail са по избор.
SpecialRequest[]object[]
Бележки на госта и условия за анулиране: text. Добавят се към забележките на резервацията.
extras[]object[]
Продадени допълнителни услуги/пакети: name, note, person, piece, price, priceMode, priceTotal, stockID (id от списъка с пакети).
Totalobjectзадължително
Обща сума: amountAfterTaxes, amountOfTaxes, extraTotal, currency.

Отговор

200 Обект BookingPushRS. При успех — Success: true и ID на резервацията в HMS (HMS_ID); при неуспех — съобщение в Error и BookingConfirmNumbers[].Error[].

Отговори при грешка

  • 200 Error: No available data could be found. (01, празно тяло или тяло, което не може да се анализира) · Hotel registration not found on HMS. (02, хотелът не е свързан с онлайн канала) · Could not register. · Failed to parse information.
Заявка
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": "Стандартна стая",
                        "ratePlanID": "2",
                        "ratePlanName": "Нощувка със закуска",
                        "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": "Късно настаняване, около 23:00."
                    }
                ],
                "extras": [
                    {
                        "name": "Вечеря",
                        "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"
                }
            }
        ]
    }
}'
Отговор · 200
{
    "BookingPushRS": {
        "Success": true,
        "BookingConfirmNumbers": [
            {
                "confirmTime": 1755500000,
                "bookingID": 48213,
                "bookingType": "Book",
                "HMS_ID": 48213
            }
        ]
    }
}
Отговор · 200 (грешка)
{
    "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."
                    }
                ]
            }
        ]
    }
}
Последна актуализация: 21 септември 2026 г.Открихте грешка? Пишете ни