reservation.com API'si ile otel arama, rezervasyon, ödeme ve iptal süreçlerini kendi sisteminize entegre edebilirsiniz. Aşağıda uçtan uca entegrasyon akışı ve teknik adımlar yer almaktadır.
Canlı API dokümanı core-api.reserwation.comUç noktalar dakikalık kotalarla korunur. Kota, aşağıdaki kapsamda sayılır; kotayı aşan istekler reddedilir.
| Uç Nokta | Kota |
|---|---|
| POST /api/Auth/get-token | 10 / 5 dk |
| POST /api/Auth/refresh-token | 10 / 5 dk |
| GET /api/Hotel/autocomplete | 120 / 1 dk |
| POST /api/Hotel/search | 60 / 1 dk |
| POST /api/Hotel/catalog | 60 / 1 dk |
API isteklerinde ve yanıtlarında kullanılan sabit değerler. Sayısal kod ile sabit adını birlikte kullanabilirsiniz.
| Kod | Sabit | Açıklama |
|---|---|---|
| 1 | TRY |
Türk Lirası |
| 2 | USD |
Amerikan Doları |
| 3 | EUR |
Euro |
| 4 | GBP |
İngiliz Sterlini |
| Kod | Sabit | Açıklama |
|---|---|---|
| 1 | TR |
Türkçe |
| 2 | EN |
İngilizce |
| 3 | ES |
İspanyolca |
| Kod | Sabit | Açıklama |
|---|---|---|
| 1 | PreReservation |
Ön rezervasyon (opsiyon) |
| 2 | SucceededReservation |
Kesin rezervasyon |
| 3 | CanceledBySucceededReservation |
Kesin rezervasyondan iptal |
| 4 | CanceledByPreReservation |
Ön rezervasyondan iptal |
| Kod | Sabit | Açıklama |
|---|---|---|
| 1 | Male |
Erkek |
| 2 | Female |
Kadın |
| Kod | Sabit | Açıklama |
|---|---|---|
| 1 | Hotel |
Otel |
| Kod | Sabit | Açıklama |
|---|---|---|
| 1 | Id |
Otel kimliği ile arama |
| 2 | Hotel |
Otel |
| 4 | State |
İl / Bölge (tüm il) |
| 5 | District |
Yerleşim (şehir / ilçe / belde) |
| Kod | Sabit | Açıklama |
|---|---|---|
| 0 | PriceAsc |
Fiyat (artan) |
| 1 | PriceDesc |
Fiyat (azalan) |
| 2 | NameAsc |
Ad (A→Z) |
| 3 | NameDesc |
Ad (Z→A) |
| 4 | StarAsc |
Yıldız (artan) |
| 5 | StarDesc |
Yıldız (azalan) |
| 6 | RatingAsc |
Puan (artan) |
| 7 | RatingDesc |
Puan (azalan) |
| Kod | Sabit | Açıklama |
|---|---|---|
| 1 | Cash |
Nakit |
| 2 | Current |
Cari (acente bakiyesi) |
| 3 | CreditCard |
Kredi kartı |
| 4 | Transfer |
Havale / EFT |
| Kod | Sabit | Açıklama |
|---|---|---|
| 1 | Adult |
Yetişkin |
| 2 | Child |
Çocuk |
| 3 | Infant |
Bebek |
| Kod | Sabit | Açıklama |
|---|---|---|
| 1 | Waiting |
Otelden teyit bekleniyor |
| 2 | Confirmed |
Otel teyit etti (konfirme numarası dolar) |
| 3 | NotConfirmed |
Otel teyit etmedi |
| 4 | WaitingChanges |
Otel değişiklik istiyor |
Tüm yanıtlar aynı zarf yapısını kullanır. responseStatus alanı JSON'da sayısal değerdir; iş sonucunu buradan kontrol edin (HTTP durum kodundan değil).
{
"message": "string",
"responseStatus": 0,
"data": { ... }
}
| Kod | Sabit | Açıklama |
|---|---|---|
| 0 | Success | Başarılı |
| 1 | Info | Bilgi |
| 2 | Warning | Uyarı (iş kuralı; örn. yetersiz bakiye) |
| 3 | Error | Hata |
Aşağıdaki örnekler TEK bir rezervasyonun baştan sona akışıdır: her adımın yanıtındaki kimlik, bir sonraki adımın isteğinde kullanılır. Örnek senaryo: 2 oda (2 yetişkin + 1 çocuk / 1 yetişkin), 4 gece, EUR. Alan adları gerçektir; değerler temsilîdir.
{
"email": "api-user@example.com",
"password": "********"
}
{
"message": "...",
"responseStatus": 0,
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6...",
"expiresAt": "2026-09-01T12:30:00.1234567+03:00",
"refreshToken": "b7f3c2a1-9d4e-4f21-8a55-..."
}
}
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6...
{
"checkIn": "2026-09-10",
"checkOut": "2026-09-14",
"currencyCode": "EUR",
"nationalityCode": "TR",
"culture": "tr-TR",
"showCheapestPrice": true,
"orderBy": 0,
"searchTypes": [ { "id": 1000133, "type": 2 } ],
"rooms": [
{ "adultCount": 2, "childBirthdates": [ "2018-06-10" ] },
{ "adultCount": 1, "childBirthdates": [] }
]
}
{
"message": "...",
"responseStatus": 0,
"data": [
{
"id": 1000133,
"name": "Old Stone Hotel Skopje",
"star": 4,
"rating": 4.90,
"countryName": "MAKEDONYA",
"stateName": "Grad Skopje",
"districtName": "Skopje",
"thumbnailUrl": "https://.../hotel-images/1000133/0.jpg",
"roomTypes": [
{
"id": "STD",
"name": "Standard Room",
"mealTypes": [
{
"id": "RO",
"name": "Room Only",
"priceItemId": "3f2a9c7d-5b41-4e88-9a2f-7c6d1e0b4a51",
"totalPrice": 1240.00,
"pricePerRoom": 620.00,
"currencyCode": "EUR",
"inclusion": "Room Only",
"promotions": [],
"cancellationPolicies": [
{
"fromDate": "2026-09-07T00:00:00",
"toDate": null,
"penaltyAmount": 124.00,
"penaltyRate": 10.00,
"currencyCode": "EUR",
"description": "..."
}
],
"extraCharges": [
{
"description": "City Tax",
"amount": 28.00,
"currencyCode": "EUR",
"payableAtProperty": true,
"roomIndex": 1
}
]
}
]
}
],
"rateConditions": []
}
]
}
{
"priceItemId": "3f2a9c7d-5b41-4e88-9a2f-7c6d1e0b4a51"
}
{
"message": "...",
"responseStatus": 0,
"data": {
"priceItemId": "3f2a9c7d-5b41-4e88-9a2f-7c6d1e0b4a51",
"isAvailable": true,
"priceChanged": false,
"totalPrice": 1240.00,
"currencyCode": "EUR",
"inclusion": "Room Only",
"promotions": [],
"amenities": [
"Smoking and Non-Smoking",
"Free WiFi",
"..."
],
"extraCharges": [
{
"description": "City Tax",
"amount": 28.00,
"currencyCode": "EUR",
"payableAtProperty": true,
"roomIndex": 1
}
],
"rateConditions": [
"CheckIn Time-Begin: 1:00 PM",
"Minimum CheckIn Age : 18",
"..."
]
}
}
{
"customers": [
{
"firstName": "Ahmet",
"lastName": "Yilmaz",
"birthDate": "1988-04-12",
"gender": 1,
"type": 1,
"nationality": "TR",
"identityNumber": "12345678901",
"passportNo": null,
"phone": "+905321234567",
"email": "ahmet.yilmaz@example.com",
"isLeader": true
},
{
"firstName": "Elif",
"lastName": "Yilmaz",
"birthDate": "1990-11-02",
"gender": 2,
"type": 1,
"nationality": "TR",
"isLeader": false
},
{
"firstName": "Deniz",
"lastName": "Yilmaz",
"birthDate": "2018-06-10",
"gender": 2,
"type": 2,
"nationality": "TR",
"isLeader": false
},
{
"firstName": "Mehmet",
"lastName": "Demir",
"birthDate": "1975-01-27",
"gender": 1,
"type": 1,
"nationality": "TR",
"passportNo": "U12345678",
"isLeader": false
}
]
}
{
"message": "...",
"responseStatus": 0,
"data": {
"basketId": "8c5f1d92-0a37-4c6b-9d55-2e91f4b7c308",
"customers": [
{ "customerId": "a1e7b3c4-9f20-4d51-8b6a-11c2d3e4f501", "firstName": "Ahmet", "lastName": "Yilmaz" },
{ "customerId": "b2f8c4d5-8e31-4a62-9c7b-22d3e4f5a602", "firstName": "Elif", "lastName": "Yilmaz" },
{ "customerId": "c3a9d5e6-7d42-4b73-8a8c-33e4f5a6b703", "firstName": "Deniz", "lastName": "Yilmaz" },
{ "customerId": "d4b0e6f7-6c53-4c84-9b9d-44f5a6b7c804", "firstName": "Mehmet", "lastName": "Demir" }
]
}
}
{
"basketId": "8c5f1d92-0a37-4c6b-9d55-2e91f4b7c308",
"priceItemId": "3f2a9c7d-5b41-4e88-9a2f-7c6d1e0b4a51",
"rooms": [
{
"customerIds": [
"a1e7b3c4-9f20-4d51-8b6a-11c2d3e4f501",
"b2f8c4d5-8e31-4a62-9c7b-22d3e4f5a602",
"c3a9d5e6-7d42-4b73-8a8c-33e4f5a6b703"
]
},
{
"customerIds": [ "d4b0e6f7-6c53-4c84-9b9d-44f5a6b7c804" ]
}
]
}
{
"message": "...",
"responseStatus": 0,
"data": {
"basketId": "8c5f1d92-0a37-4c6b-9d55-2e91f4b7c308"
}
}
"8c5f1d92-0a37-4c6b-9d55-2e91f4b7c308"
{
"message": "...",
"responseStatus": 0,
"data": {
"basketId": "8c5f1d92-0a37-4c6b-9d55-2e91f4b7c308",
"bkgNumber": "20260901412837",
"bookingId": 1284
}
}
"8c5f1d92-0a37-4c6b-9d55-2e91f4b7c308"
{
"message": "...",
"responseStatus": 0,
"data": {
"basketId": "8c5f1d92-0a37-4c6b-9d55-2e91f4b7c308",
"bkgNumber": "20260901412837",
"bookingId": 1284
}
}
{
"bookingId": 1284,
"amount": 600.00,
"paymentType": 2
}
{
"message": "...",
"responseStatus": 0,
"data": {
"bookingId": 1284,
"totalAmount": 1240.00,
"paidAmount": 600.00,
"remainingAmount": 640.00,
"isFullyPaid": false,
"currencyCode": "EUR",
"confirmedAsDefinite": false,
"convertMessage": null
}
}
{
"bookingId": 1284,
"amount": 640.00,
"paymentType": 2
}
{
"message": "...",
"responseStatus": 0,
"data": {
"bookingId": 1284,
"totalAmount": 1240.00,
"paidAmount": 1240.00,
"remainingAmount": 0.00,
"isFullyPaid": true,
"currencyCode": "EUR",
"confirmedAsDefinite": true,
"convertMessage": null
}
}
{
"bkgNumber": "20260901412837"
}
{
"message": "...",
"responseStatus": 0,
"data": {
"bkgNumber": "20260901412837",
"isCancelable": true,
"currencyCode": "EUR",
"options": [
{
"optionId": "DEFAULT",
"description": "...",
"penaltyAmount": 124.00,
"refundAmount": 1116.00,
"penaltyRate": 10.00
}
]
}
}
{
"bkgNumber": "20260901412837",
"optionId": "DEFAULT"
}
{
"message": "...",
"responseStatus": 0,
"data": {
"bkgNumber": "20260901412837",
"penaltyAmount": 124.00,
"refundedAmount": 1116.00,
"currencyCode": "EUR"
}
}
Akışın parçası değildir; rezervasyon takibi, raporlama ve arama öncesi referans verileri içindir.
{
"bkgNumber": "20260901412837"
}
{
"message": "...",
"responseStatus": 0,
"data": {
"id": 1284,
"bkgNumber": "20260901412837",
"bookingStateId": 2,
"bookingStateName": "Kesin rezervasyon",
"saleDate": "2026-09-01T09:14:22",
"totalAmount": 1240.00,
"currencyCode": "EUR",
"penaltyAmount": null,
"cancelDate": null,
"creatorName": "api-user@example.com",
"cancelledByName": null,
"items": [
{
"id": 3011,
"productTypeId": 1,
"productName": "Old Stone Hotel Skopje",
"hotelId": 1000133,
"hotelStar": 4,
"checkIn": "2026-09-10",
"checkOut": "2026-09-14",
"nights": 4,
"totalPrice": 1240.00,
"currencyCode": "EUR",
"bookingConfirmStateId": 2,
"bookingConfirmStateName": "Onaylandı",
"confirmationCode": "HTL-99213",
"confirmLogs": [],
"rooms": [
{ "id": 5501, "roomTypeName": "Standard Room", "boardName": "Room Only", "totalPrice": 820.00, "currencyCode": "EUR", "adultCount": 2, "childCount": 1 },
{ "id": 5502, "roomTypeName": "Standard Room", "boardName": "Room Only", "totalPrice": 420.00, "currencyCode": "EUR", "adultCount": 1, "childCount": 0 }
],
"hotel": {
"countryName": "MAKEDONYA",
"stateName": "Grad Skopje",
"districtName": "Skopje",
"address": "Str. Lazar Tanev No. 1, 1000 Skopje",
"phoneNumber": "+389 2 512 2800",
"website": "https://oldstonehotel.com.mk/",
"rating": 4.90
}
}
],
"customers": [
{
"id": 7801,
"bookingRoomId": 5501,
"firstName": "Ahmet",
"lastName": "Yilmaz",
"birthDate": "1988-04-12",
"gender": 1,
"passengerType": 1,
"isLeader": true,
"nationality": "TR",
"phone": "+905321234567",
"email": "ahmet.yilmaz@example.com"
}
],
"payments": [
{ "id": 9101, "amount": 600.00, "currencyCode": "EUR", "method": 2, "methodName": "Cari", "paymentDate": "2026-09-01T09:20:10", "euroAmount": 600.00, "exchangeRate": 1 },
{ "id": 9102, "amount": 640.00, "currencyCode": "EUR", "method": 2, "methodName": "Cari", "paymentDate": "2026-09-02T11:05:47", "euroAmount": 640.00, "exchangeRate": 1 }
]
}
}
{
"bookingStateId": 2,
"currencyCode": "EUR",
"checkInFrom": "2026-09-01",
"checkInTo": "2026-09-30",
"pageNumber": 1,
"pageSize": 20
}
{
"message": "...",
"responseStatus": 0,
"data": {
"pageNumber": 1,
"pageSize": 20,
"pageCount": 1,
"items": [
{
"id": 1284,
"bkgNumber": "20260901412837",
"bookingStateId": 2,
"bookingStateName": "Kesin rezervasyon",
"productName": "Old Stone Hotel Skopje",
"checkIn": "2026-09-10",
"checkOut": "2026-09-14",
"saleDate": "2026-09-01T09:14:22",
"totalAmount": 1240.00,
"currencyCode": "EUR",
"bookingConfirmStateId": 2,
"bookingConfirmStateName": "Onaylandı",
"confirmationCode": "HTL-99213",
"customerNames": "Ahmet Yilmaz, Elif Yilmaz, Deniz Yilmaz, Mehmet Demir",
"totalPax": 4,
"adultCount": 3,
"childCount": 1,
"infantCount": 0
}
]
}
}
(gövde yok — GET)
{
"message": "...",
"responseStatus": 0,
"data": [
{ "id": 11398357, "name": "Skopje, MAKEDONYA", "typeId": 4, "typeName": "State" },
{ "id": 1000133, "name": "Old Stone Hotel Skopje", "typeId": 2, "typeName": "Hotel" }
]
}
(gövde yok — GET)
{
"message": "...",
"responseStatus": 0,
"data": [
{ "id": 129, "name": "MAKEDONYA", "nameEN": "North Macedonia", "code": "MK" }
]
}
(gövde yok — GET)
{
"message": "...",
"responseStatus": 0,
"data": [
{ "id": 11398357, "name": "Grad Skopje" }
]
}
(gövde yok — GET)
{
"message": "...",
"responseStatus": 0,
"data": [
{ "id": 785842, "name": "Skopje" }
]
}
{
"search": "old stone",
"countryId": 129,
"stateId": 11398357,
"districtId": 785842,
"star": 4,
"isActive": true,
"pageNumber": 1,
"pageSize": 20
}
{
"message": "...",
"responseStatus": 0,
"data": {
"pageNumber": 1,
"pageSize": 20,
"pageCount": 1,
"items": [
{
"id": 1000133,
"giataId": null,
"name": "Old Stone Hotel Skopje",
"countryId": 129,
"countryName": "MAKEDONYA",
"countryCode": "MK",
"stateId": 11398357,
"stateName": "Grad Skopje",
"districtId": 785842,
"districtName": "Skopje",
"address": "Str. Lazar Tanev No. 1, 1000 Skopje",
"latitude": "42.00172",
"longitude": "21.43678",
"star": 4,
"rating": 4.90,
"buildYear": null,
"description": "<p>...</p>",
"phoneNumber": "+389 2 512 2800",
"website": "https://oldstonehotel.com.mk/",
"isActive": true,
"thumbnailUrl": "https://.../hotel-images/1000133/0.jpg",
"images": [ { "url": "https://...", "isThumbnail": true, "sortOrder": 0 } ],
"facilities": [ { "name": "Havuz", "isPaid": false } ],
"roomFacilities": [ { "name": "Klima", "isPaid": false } ],
"distances": [ { "name": "Havalimanı", "distanceMeters": 19000 } ]
}
]
}
}
Akış boyunca taşınan, bize ait kimlikler:
PriceItemIdBasketIdCustomerIdBkgNumberBookingIdOptionIdAccessToken