Reservasi

Kamar, meal plan, dan tarif yang dipilih tamu dikirim ke HMS dalam struktur BookingPushRQ. Endpoint yang sama juga menangani pembatalan dan perubahan dengan mengirim type berisi Cancel atau Modify. Lihat panduan Alur reservasi untuk proses menyeluruhnya.

Kirim reservasi (BookingPushRQ)#

POST/external/online/channel/booking

Autentikasi: Authorization: Bearer · Body: application/json

Mencatat satu atau beberapa reservasi di HMS. ID adalah kode reservasi unik yang dibuat di sisi Anda; mengirim Modify dengan ID yang sama akan memperbarui data tersebut, sedangkan Cancel membatalkannya. Jika beberapa kamar dengan tipe kamar dan meal plan yang sama terjual, setiap kamar menjadi item RoomStays terpisah dengan NumberOfUnits 1, 2, 3…

Untuk jenis pembayaran kartu kredit (9), detail kartu dikirim di bawah PaymentCard; jangan sertakan field ini untuk jenis pembayaran lain. Dengan menangani data kartu, Anda masuk dalam cakupan PCI DSS.

Body permintaan

BookingPushRQ.Bookings[]object[]wajib
Daftar reservasi. Biasanya satu item.
hotelIDstringwajib
ID hotel.
IDstringwajib
Kode reservasi unik di sistem Anda. Juga disimpan sebagai nomor voucher.
typestringwajib
Jenis operasi.
BookModifyCancel
createDateTimedatetime
Waktu reservasi dibuat (ISO 8601).
checkinDate / checkoutDatedatewajib
Tanggal check-in dan check-out, YYYY-MM-DD.
RoomStays[]object[]wajib
Kamar yang terjual.
roomTypeIDstringwajib
items[].id dari daftar kamar.
roomNamestring
Nama tipe kamar (informatif).
ratePlanIDstringwajib
accommodationTypes[].id dari daftar kamar.
ratePlanNamestring
Nama meal plan (informatif).
typestring
Jenis operasi untuk kamar.
BookModifyCancel
NumberOfUnitsstringwajib
Urutan kamar dengan tipe kamar/meal plan yang sama: 1, 2, 3…
checkinDate / checkoutDatedatewajib
Tanggal check-in dan check-out untuk kamar.
GuestCountobjectwajib
Jumlah adult dan child.
PerDayRatesobject
currency dan PerDayRate[]: stayDate, baseRate, hotelServiceFees.
Totalobjectwajib
Total kamar: amountAfterTaxes, amountOfTaxes, currency.
PaymentCardobject
Hanya untuk jenis pembayaran 9 (kartu kredit). CardHolder{fullname, address, country, city}, cardNumber, expireDate (MMYY), cardCode, seriesCode (CVV).
PrimaryGuests[]object[]wajib
Tamu utama: name, surname, PhoneNumber, email, CountryCode.
ChildGuests[]object[]
Anak-anak. age wajib; name, surname, year, date, detail opsional.
SpecialRequest[]object[]
Catatan tamu dan ketentuan pembatalan: text. Digabungkan ke dalam keterangan reservasi.
extras[]object[]
Ekstra/paket yang terjual: name, note, person, piece, price, priceMode, priceTotal, stockID (id dari daftar paket).
Totalobjectwajib
Total keseluruhan: amountAfterTaxes, amountOfTaxes, extraTotal, currency.

Respons

200 Objek BookingPushRS. Jika berhasil: Success: true dan ID reservasi HMS (HMS_ID); jika gagal: pesan Error dan BookingConfirmNumbers[].Error[].

Respons error

  • 200 Error: No available data could be found. (01, body kosong/tidak dapat diurai) · Hotel registration not found on HMS. (02, hotel tidak terhubung ke channel online) · Could not register. · Failed to parse information.
Permintaan
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": "Kamar Standar",
                        "ratePlanID": "2",
                        "ratePlanName": "Termasuk Sarapan",
                        "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": "Check-in larut malam, sekitar pukul 23:00."
                    }
                ],
                "extras": [
                    {
                        "name": "Makan Malam",
                        "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"
                }
            }
        ]
    }
}'
Respons · 200
{
    "BookingPushRS": {
        "Success": true,
        "BookingConfirmNumbers": [
            {
                "confirmTime": 1755500000,
                "bookingID": 48213,
                "bookingType": "Book",
                "HMS_ID": 48213
            }
        ]
    }
}
Respons · 200 (error)
{
    "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."
                    }
                ]
            }
        ]
    }
}
Terakhir diperbarui: 21 September 2026Menemukan kesalahan? Beri tahu kami