Κράτηση

Το δωμάτιο, ο τύπος διατροφής και η τιμή που επέλεξε ο επισκέπτης αποστέλλονται στο HMS σε δομή BookingPushRQ. Το ίδιο τελικό σημείο χειρίζεται ακυρώσεις και τροποποιήσεις, με τιμή Cancel ή Modify στο πεδίο type. Για την πλήρη διαδικασία, δείτε τον οδηγό Ροή κράτησης.

Αποστολή κράτησης (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υποχρεωτικό
Αναγνωριστικό ξενοδοχείου.
IDstringυποχρεωτικό
Μοναδικός κωδικός κράτησης στο σύστημά σας. Αποθηκεύεται και ως αριθμός voucher.
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 (HMS_ID)· σε αποτυχία ένα μήνυμα Error και BookingConfirmNumbers[].Error[].

Αποκρίσεις σφαλμάτων

  • 200 Error: No available data could be found. (01, κενό σώμα ή σώμα που δεν αναλύεται) · Hotel registration not found on HMS. (02, το ξενοδοχείο δεν είναι συνδεδεμένο με το online κανάλι) · 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": "Standard Δωμάτιο",
                        "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Βρήκατε κάποιο λάθος; Ενημερώστε μας