Camere e tariffe

Due endpoint che alimentano i risultati di ricerca del motore di prenotazione: l’elenco camere, che restituisce tipologie di camera vendibili, trattamenti e prezzi per le date e l’occupazione indicate, e la disponibilità, che restituisce disponibilità e tariffe giorno per giorno per le viste a calendario.

Elenco camere e tariffe#

POST/external/online/roomType

Autenticazione: Authorization: Bearer · Corpo: application/x-www-form-urlencoded o multipart/form-data

Restituisce le tipologie di camera dell’hotel aperte alla vendita online per le date e l’occupazione indicate. Per ogni tipologia vengono calcolati il numero di camere disponibili (roomCount), le restrizioni (soggiorno minimo, chiusura all’arrivo/alla partenza), i trattamenti e le opzioni di prezzo. Se viaggiano bambini, invia le loro età con childAges[]: il prezzo per i bambini dipende dall’età.

Regole di validazione: check-in oggi o in una data successiva, check-out dopo il check-in, al massimo 30 notti, 1–40 adulti, 0–10 bambini (età 0–16).

Campi del form

hotelIDintegerobbligatorio
ID dell’hotel. Deve corrispondere all’hotel del token.
startDatedateobbligatorio
Data di check-in, YYYY-MM-DD.
endDatedateobbligatorio
Data di check-out, YYYY-MM-DD.
adultCountintegerobbligatorio
Numero di adulti (1–40).
childCountintegerpredefinito: 0
Numero di bambini (0–10). Se non corrisponde a childAges, prevale la lunghezza dell’elenco delle età.
childAges[]integer[]
Età di ciascun bambino (0–16). Si ripete come campo del form: childAges[]=7&childAges[]=12.
languagestringpredefinito: tr
Lingua della risposta (nomi delle camere, titoli delle caratteristiche, messaggi di errore).
buildingIDinteger
Elenca solo le camere di questo edificio (blocco).

Risposta

200 Elenco delle tipologie di camera. I prezzi si trovano sotto ogni trattamento, nell’oggetto prices, con chiavi "<persons>-<1|0>": -1 è la tariffa standard (rimborsabile), -0 la tariffa non rimborsabile ([NR]). Con il prezzo per camera le chiavi sono 1-1 / 1-0.

items[].id / nameinteger / string
ID e nome della tipologia di camera. Da inviare come roomTypeID nella prenotazione.
items[].capacityAdult / capacityChildren / capacityTotalinteger
Capacità per adulti, bambini e totale.
items[].roomCountinteger
Camere vendibili per queste date. 0 significa non vendibile; il motivo è in roomRestrictionMessage.
items[].roomRestrictionMessagestring | null
Restrizione di vendita.
closed_to_checkinclosed_to_checkoutpassive_salesminimum_staymaximum_stayclosed_to_arrivalprice_not_found
items[].nonRefundable / refundableboolean
Indica se la tipologia di camera offre tariffe non rimborsabili e/o rimborsabili.
items[].images[]string[]
Percorsi delle immagini, relativi all’URL di base dell’API.
items[].accommodationTypes[]object[]
Trattamenti. id diventa ratePlanID nella prenotazione. priceType: 0 prezzo per persona, 1 prezzo per camera.
…accommodationTypes[].prices{}object
Opzioni di prezzo. Ogni opzione: total notti, price importo totale, currency, nonRefundable ("[NR]" indica non rimborsabile), id ID di selezione, prices[] tariffe per notte (price, tarih nel formato gg.mm.aaaa).
items[].roomFeatures[]object[]
Caratteristiche della camera: title, icon.
countinteger
Numero di tipologie di camera restituite.
errorMessage / errorCodestring | integer | null
Presente in caso di errore. Elenco dei codici: Codici di errore.

Risposte di errore

  • 200 errorCode 10001 hotel non trovato · 10002 parametro mancante · 10003 hotel chiuso alla vendita online · 10004 nessuna tipologia di camera aperta alla vendita · 10022 parametri di data/occupazione non validi · 20001–20004 disponibilità insufficiente.
Richiesta
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"
Risposta · 200
{
    "success": true,
    "items": [
        {
            "id": 2,
            "name": "Camera Standard",
            "capacityAdult": 2,
            "capacityTotal": 3,
            "totalBed": 1,
            "totalBathroom": 1,
            "roomSize": 24,
            "currency": "TRY",
            "detail": "<p>Camera standard di 24 m² con vista giardino.</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": "Pernottamento e colazione",
                    "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": "Aria condizionata",
                    "icon": "fa-snowflake"
                },
                {
                    "title": "Wi-Fi gratuito",
                    "icon": "fa-wifi"
                }
            ],
            "capacityChildren": 1
        }
    ],
    "count": 1,
    "errorMessage": null,
    "errorCode": null
}
Risposta · 200 (nessuna disponibilità)
{
    "success": false,
    "errorMessage": "Disponibilità insufficiente per gli adulti.",
    "errorCode": 20001
}

Disponibilità a calendario#

GET/external/room/type/hotel/availability

Autenticazione: Authorization: Bearer

Restituisce, per ogni tipologia di camera, il numero di camere disponibili e la tariffa base giorno per giorno. È pensato per viste a calendario e mappe di calore delle tariffe; per prezzi esatti e controlli sulle restrizioni usa l’elenco camere.

Parametri di query

hotelIDintegerobbligatorio
ID dell’hotel.
startDatedatetimeobbligatorio
Inizio, YYYY-MM-DD o YYYY-MM-DDTHH:MM:SS.
endDatedatetimeobbligatorio
Fine (inclusa).

Risposta

200 Elenco giornaliero per tipologia di camera. availability -1 indica che per quel giorno non ci sono dati di disponibilità; price "-" indica che non è definita alcuna tariffa.

Risposte di errore

  • 200 hotel_id_is_not_found, start_date_is_not_found, end_date_is_not_found — parametro mancante.
Richiesta
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"
Risposta · 200
{
    "success": true,
    "roomTypes": [
        {
            "name": "Camera 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"
}
Ultimo aggiornamento: 21 settembre 2026Hai trovato un errore? Segnalacelo