ჯავშანი

სტუმრის მიერ არჩეული ოთახი, კვების ტიპი და ტარიფი HMS-ს გადაეცემა BookingPushRQ სტრუქტურით. იგივე ენდპოინტი ამუშავებს გაუქმებასა და ცვლილებასაც — ამისთვის type ველში გაგზავნეთ Cancel ან Modify. სრული პროცესისთვის იხილეთ სახელმძღვანელო დაჯავშნის პროცესი.

ჯავშნის გადაცემა (BookingPushRQ)#

POST/external/online/channel/booking

ავთენტიფიკაცია: Authorization: Bearer · ტანი: application/json

HMS-ში აღრიცხავს ერთ ან მეტ ჯავშანს. ID თქვენს მხარეს გენერირებული უნიკალური ჯავშნის კოდია; როცა იმავე ID მნიშვნელობით აგზავნით Modify, ჩანაწერი განახლდება, 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 და HMS-ის ჯავშნის ID (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იპოვეთ შეცდომა? შეგვატყობინეთ