Δωμάτια και τιμές

Δύο τελικά σημεία που τροφοδοτούν τα αποτελέσματα αναζήτησης της μηχανής κρατήσεων: η λίστα δωματίων, που επιστρέφει τους τύπους δωματίων που μπορούν να πωληθούν, τους τύπους διατροφής και τις τιμές για τις δεδομένες ημερομηνίες και αριθμό ατόμων, και η διαθεσιμότητα, που επιστρέφει διαθεσιμότητα και τιμές ανά ημέρα για προβολές ημερολογίου.

Λίστα δωματίων και τιμές#

POST/external/online/roomType

Έλεγχος ταυτότητας: Authorization: Bearer · Σώμα: application/x-www-form-urlencoded ή multipart/form-data

Επιστρέφει τους τύπους δωματίων του ξενοδοχείου που είναι ανοιχτοί για online πώληση για τις δεδομένες ημερομηνίες και αριθμό ατόμων. Για κάθε τύπο δωματίου υπολογίζονται ο αριθμός διαθέσιμων δωματίων (roomCount), οι περιορισμοί (ελάχιστη διαμονή, κλειστό για άφιξη/αναχώρηση), οι τύποι διατροφής και οι επιλογές τιμής. Αν ταξιδεύουν παιδιά, στείλτε τις ηλικίες τους με childAges[]· η τιμολόγηση των παιδιών εξαρτάται από την ηλικία.

Κανόνες επικύρωσης: άφιξη σήμερα ή αργότερα, αναχώρηση μετά την άφιξη, έως 30 διανυκτερεύσεις, 1–40 ενήλικες, 0–10 παιδιά (ηλικίες 0–16).

Πεδία φόρμας

hotelIDintegerυποχρεωτικό
Αναγνωριστικό ξενοδοχείου. Πρέπει να συμφωνεί με το ξενοδοχείο του token.
startDatedateυποχρεωτικό
Ημερομηνία άφιξης, YYYY-MM-DD.
endDatedateυποχρεωτικό
Ημερομηνία αναχώρησης, YYYY-MM-DD.
adultCountintegerυποχρεωτικό
Αριθμός ενηλίκων (1–40).
childCountintegerπροεπιλογή: 0
Αριθμός παιδιών (0–10). Αν δεν συμφωνεί με το childAges, υπερισχύει το μήκος της λίστας ηλικιών.
childAges[]integer[]
Ηλικία κάθε παιδιού (0–16). Επαναλαμβάνεται ως πεδίο φόρμας: childAges[]=7&childAges[]=12.
languagestringπροεπιλογή: tr
Γλώσσα απόκρισης (ονόματα δωματίων, τίτλοι χαρακτηριστικών, μηνύματα σφάλματος).
buildingIDinteger
Εμφανίζει μόνο τα δωμάτια αυτού του κτιρίου (μπλοκ).

Απόκριση

200 Λίστα τύπων δωματίων. Οι τιμές βρίσκονται κάτω από κάθε τύπο διατροφής, στο αντικείμενο prices, με κλειδιά "<persons>-<1|0>": το -1 είναι η κανονική (επιστρέψιμη) τιμή, το -0 η μη επιστρέψιμη ([NR]) τιμή. Με τιμολόγηση ανά δωμάτιο τα κλειδιά είναι 1-1 / 1-0.

items[].id / nameinteger / string
Αναγνωριστικό και όνομα τύπου δωματίου. Αποστέλλεται ως roomTypeID στην κράτηση.
items[].capacityAdult / capacityChildren / capacityTotalinteger
Χωρητικότητα ενηλίκων, παιδιών και συνολική.
items[].roomCountinteger
Δωμάτια διαθέσιμα προς πώληση για αυτές τις ημερομηνίες. Το 0 σημαίνει ότι δεν πωλείται· η αιτία βρίσκεται στο roomRestrictionMessage.
items[].roomRestrictionMessagestring | null
Περιορισμός πώλησης.
closed_to_checkinclosed_to_checkoutpassive_salesminimum_staymaximum_stayclosed_to_arrivalprice_not_found
items[].nonRefundable / refundableboolean
Αν ο τύπος δωματίου προσφέρει μη επιστρέψιμες ή/και επιστρέψιμες τιμές.
items[].images[]string[]
Διαδρομές εικόνων, σχετικές με το βασικό URL του API.
items[].accommodationTypes[]object[]
Τύποι διατροφής. Το id γίνεται ratePlanID στην κράτηση. priceType: 0 τιμολόγηση ανά άτομο, 1 ανά δωμάτιο.
…accommodationTypes[].prices{}object
Επιλογές τιμής. Κάθε επιλογή: total διανυκτερεύσεις, price συνολικό ποσό, currency, nonRefundable ("[NR]" σημαίνει μη επιστρέψιμη), id αναγνωριστικό επιλογής, prices[] τιμές ανά διανυκτέρευση (price, tarih σε μορφή dd.mm.yyyy).
items[].roomFeatures[]object[]
Χαρακτηριστικά δωματίου: title, icon.
countinteger
Αριθμός τύπων δωματίων που επιστράφηκαν.
errorMessage / errorCodestring | integer | null
Ορίζεται σε περίπτωση αποτυχίας. Λίστα κωδικών: Κωδικοί σφαλμάτων.

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

  • 200 errorCode 10001 δεν βρέθηκε το ξενοδοχείο · 10002 λείπει παράμετρος · 10003 το ξενοδοχείο είναι κλειστό για online πωλήσεις · 10004 κανένας τύπος δωματίου ανοιχτός για πώληση · 10022 μη έγκυρες παράμετροι ημερομηνιών/ατόμων · 20001–20004 ανεπαρκής διαθεσιμότητα.
Αίτημα
curl "https://test.hms.gen.tr/external/online/roomType" \
  -H "Authorization: Bearer $HMS_TOKEN" \
  -d "hotelID=1000" \
  -d "startDate=2026-08-18" \
  -d "endDate=2026-08-20" \
  -d "adultCount=2" \
  -d "childCount=1" \
  -d "childAges[]=7" \
  -d "language=tr"
Απόκριση · 200
{
    "success": true,
    "items": [
        {
            "id": 2,
            "name": "Standard Δωμάτιο",
            "capacityAdult": 2,
            "capacityTotal": 3,
            "totalBed": 1,
            "totalBathroom": 1,
            "roomSize": 24,
            "currency": "TRY",
            "detail": "<p>Standard δωμάτιο 24 m² με θέα στον κήπο.</p>",
            "roomCount": 5,
            "roomRestrictionMessage": null,
            "nonRefundable": false,
            "refundable": true,
            "images": [
                "images/1000/odatipi/standart-1.jpg",
                "images/1000/odatipi/standart-2.jpg"
            ],
            "accommodationTypes": [
                {
                    "id": 2,
                    "title": "Με πρωινό",
                    "priceType": 0,
                    "roomRestriction": 1,
                    "roomRestrictionMessage": null,
                    "roomRestrictionValue": null,
                    "prices": {
                        "2-1": {
                            "total": 2,
                            "title": 2,
                            "nonRefundable": "",
                            "price": "1930.00",
                            "currency": "TRY",
                            "id": "2/2",
                            "prices": [
                                {
                                    "price": "965.00",
                                    "tarih": "18.08.2026"
                                },
                                {
                                    "price": "965.00",
                                    "tarih": "19.08.2026"
                                }
                            ]
                        },
                        "2-0": {
                            "total": 2,
                            "title": 2,
                            "nonRefundable": "[NR]",
                            "price": "1737.00",
                            "currency": "TRY",
                            "id": "2-0/2",
                            "prices": [
                                {
                                    "price": "868.50",
                                    "tarih": "18.08.2026"
                                },
                                {
                                    "price": "868.50",
                                    "tarih": "19.08.2026"
                                }
                            ]
                        }
                    }
                }
            ],
            "roomFeatures": [
                {
                    "title": "Κλιματισμός",
                    "icon": "fa-snowflake"
                },
                {
                    "title": "Δωρεάν Wi-Fi",
                    "icon": "fa-wifi"
                }
            ],
            "capacityChildren": 1
        }
    ],
    "count": 1,
    "errorMessage": null,
    "errorCode": null
}
Απόκριση · 200 (χωρίς διαθεσιμότητα)
{
    "success": false,
    "errorMessage": "Δεν υπάρχει επαρκής διαθεσιμότητα για ενήλικες.",
    "errorCode": 20001
}

Διαθεσιμότητα ημερολογίου#

GET/external/room/type/hotel/availability

Έλεγχος ταυτότητας: Authorization: Bearer

Επιστρέφει τον αριθμό διαθέσιμων δωματίων και τη βασική τιμή ανά ημέρα για κάθε τύπο δωματίου. Σχεδιασμένο για προβολές ημερολογίου και θερμικού χάρτη τιμών· για ακριβείς τιμές και ελέγχους περιορισμών χρησιμοποιήστε τη λίστα δωματίων.

Παράμετροι ερωτήματος

hotelIDintegerυποχρεωτικό
Αναγνωριστικό ξενοδοχείου.
startDatedatetimeυποχρεωτικό
Έναρξη, YYYY-MM-DD ή YYYY-MM-DDTHH:MM:SS.
endDatedatetimeυποχρεωτικό
Λήξη (συμπεριλαμβάνεται).

Απόκριση

200 Ημερήσια λίστα ανά τύπο δωματίου. Το availability -1 σημαίνει ότι δεν υπάρχουν δεδομένα διαθεσιμότητας για εκείνη την ημέρα· το price "-" σημαίνει ότι δεν έχει οριστεί τιμή.

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

  • 200 hotel_id_is_not_found, start_date_is_not_found, end_date_is_not_found — λείπει παράμετρος.
Αίτημα
curl "https://test.hms.gen.tr/external/room/type/hotel/availability?hotelID=1000&startDate=2026-08-18&endDate=2026-08-21" \
  -H "Authorization: Bearer $HMS_TOKEN"
Απόκριση · 200
{
    "success": true,
    "roomTypes": [
        {
            "name": "Standard Δωμάτιο",
            "id": 2,
            "rate": 2,
            "availability": [
                {
                    "id": 20260818,
                    "start": "2026-08-18 12:00:00",
                    "end": "2026-08-19 12:00:00",
                    "availability": 5,
                    "price": "965.00"
                },
                {
                    "id": 20260819,
                    "start": "2026-08-19 12:00:00",
                    "end": "2026-08-20 12:00:00",
                    "availability": 3,
                    "price": "965.00"
                },
                {
                    "id": 20260820,
                    "start": "2026-08-20 12:00:00",
                    "end": "2026-08-21 12:00:00",
                    "availability": 0,
                    "price": "1,100.00"
                },
                {
                    "id": 20260821,
                    "start": "2026-08-21 12:00:00",
                    "end": "2026-08-22 12:00:00",
                    "availability": -1,
                    "price": "-"
                }
            ]
        }
    ],
    "currency": "TRY"
}
Τελευταία ενημέρωση: 21 Σεπτεμβρίου 2026Βρήκατε κάποιο λάθος; Ενημερώστε μας