{"success":true,"message":"RezervasyonAPI hazır ","description":"Oda verilerini ayrı bir serviste tutmak için hazırlanmış mikro API katmanı.","authentication":{"type":"Bearer","headers":["Authorization: Bearer {API_KEY}","X-Domain: {FrontendDomain}"],"note":"API anahtarınızı Rezervasyon Servisi ayarlarından oluşturup saklayın."},"routes":[{"method":"GET","path":"/rooms","description":"Tüm rezervasyon odalarını paginasyon olmadan döndürür."},{"method":"GET","path":"/rooms/list","description":"GET /rooms ile aynıdır, okunabilir rota."},{"method":"GET","path":"/rooms/detail/{id}","description":"Tek oda kaydını id ile döndürür."},{"method":"POST","path":"/rooms/create","description":"Yeni rezervasyon odası oluşturur.","body":{"room_code":"string (zorunlu, benzersiz)","name":"string (zorunlu)","description":"string (zorunlu)","status":"available|maintenance|unavailable","room_type_id":"int (zorunlu)","has_view":"int (0|1)"}},{"method":"PUT","path":"/rooms/{id}","description":"Mevcut oda kaydını günceller."},{"method":"DELETE","path":"/rooms/{id}","description":"Oda kaydını kalıcı olarak siler."},{"method":"GET","path":"/room-seasonal-prices/list","description":"Dönemsel fiyat listesini getirir. Query params: room_id, status, date"},{"method":"GET","path":"/room-seasonal-prices/detail/{id}","description":"Tek dönemsel fiyat kaydını id ile döndürür."},{"method":"POST","path":"/room-seasonal-prices/create","description":"Yeni dönemsel fiyat oluşturur.","body":{"room_id":"int (zorunlu)","name":"string (zorunlu)","start_date":"string (YYYY-MM-DD, zorunlu)","end_date":"string (YYYY-MM-DD, zorunlu)","price":"float (zorunlu)","status":"int (0|1)"}},{"method":"PUT","path":"/room-seasonal-prices/{id}","description":"Dönemsel fiyat kaydını günceller."},{"method":"DELETE","path":"/room-seasonal-prices/{id}","description":"Dönemsel fiyat kaydını siler."},{"method":"GET","path":"/blocked-date-ranges/list","description":"Kapalı tarih aralıklarını listeler. Query params: date, start_date, end_date"},{"method":"GET","path":"/blocked-date-ranges/detail/{id}","description":"Tek kapalı tarih aralığını id ile döndürür."},{"method":"POST","path":"/blocked-date-ranges/create","description":"Yeni kapalı tarih aralığı oluşturur.","body":{"label":"string (opsiyonel)","start_date":"string (YYYY-MM-DD, zorunlu)","end_date":"string (YYYY-MM-DD, zorunlu)","notes":"string (opsiyonel)"}},{"method":"POST","path":"/blocked-date-ranges/sync","description":"Kapalı tarih aralıklarının tüm listesini topluca senkronize eder."},{"method":"PUT","path":"/blocked-date-ranges/{id}","description":"Kapalı tarih aralığını günceller."},{"method":"DELETE","path":"/blocked-date-ranges/{id}","description":"Kapalı tarih aralığını siler."},{"method":"GET","path":"/seasons/list","description":"Sezon listesini getirir. Query params: status"},{"method":"GET","path":"/seasons/detail/{id}","description":"Tek sezon kaydını id ile döndürür."},{"method":"POST","path":"/seasons/create","description":"Yeni sezon oluşturur.","body":{"name":"string (zorunlu)","start_date":"string (YYYY-MM-DD, zorunlu)","end_date":"string (YYYY-MM-DD, zorunlu)","status":"int (0|1, zorunlu)"}},{"method":"PUT","path":"/seasons/{id}","description":"Sezon kaydını günceller."},{"method":"DELETE","path":"/seasons/{id}","description":"Sezon kaydını siler (ilişkili dönemler ve fiyatlar pasif hale gelir)."},{"method":"GET","path":"/periods/list","description":"Dönem listesini getirir. Query params: status, season_id"},{"method":"GET","path":"/periods/detail/{id}","description":"Tek dönem kaydını id ile döndürür."},{"method":"POST","path":"/periods/create","description":"Yeni dönem oluşturur.","body":{"name":"string (zorunlu)","start_date":"string (YYYY-MM-DD, zorunlu)","end_date":"string (YYYY-MM-DD, zorunlu)","season_id":"int (opsiyonel)","status":"int (0|1, zorunlu)"}},{"method":"PUT","path":"/periods/{id}","description":"Dönem kaydını günceller."},{"method":"DELETE","path":"/periods/{id}","description":"Dönem kaydını siler (ilişkili dönemsel fiyatlar pasif hale gelir)."},{"method":"GET","path":"/reservations/list","description":"Rezervasyon listesini getirir. Query params: status, room_id"},{"method":"GET","path":"/reservations/search","description":"Rezervasyon sorgusu yapar (availability check). Query params: check_in (YYYY-MM-DD), check_out (YYYY-MM-DD), adults, children_0_6, children_6_12"},{"method":"GET","path":"/reservations/detail/{id}","description":"Tek rezervasyon kaydını UUID id ile döndürür (public site anahtarı ile erişilebilir; onay/detay sayfaları)."},{"method":"POST","path":"/reservations/create","description":"Yeni rezervasyon oluşturur.","body":{"room_id":"int (zorunlu)","check_in":"string (YYYY-MM-DD, zorunlu)","check_out":"string (YYYY-MM-DD, zorunlu)","guest_name":"string (zorunlu)","guest_email":"string","guest_phone":"string","guest_id_number":"string","guest_count":"int","children_0_6":"int","children_6_12":"int","total_price":"float","notes":"string"}},{"method":"PUT","path":"/reservations/{id}","description":"Rezervasyon kaydını günceller."},{"method":"DELETE","path":"/reservations/{id}","description":"Rezervasyon kaydını siler."},{"method":"GET","path":"/per-person-prices/list","description":"Kişi başı ücret listesini getirir. Query params: period_id, status"},{"method":"GET","path":"/per-person-prices/detail/{id}","description":"Tek kişi başı ücret kaydını id ile döndürür."},{"method":"POST","path":"/per-person-prices/create","description":"Yeni kişi başı ücret oluşturur.","body":{"period_id":"int (zorunlu)","price_per_person":"float (zorunlu)","status":"int (0|1)"}},{"method":"PUT","path":"/per-person-prices/{id}","description":"Kişi başı ücret kaydını günceller."},{"method":"DELETE","path":"/per-person-prices/{id}","description":"Kişi başı ücret kaydını siler."},{"method":"GET","path":"/multipliers/list","description":"Çarpan listesini getirir. Query params: period_id, status"},{"method":"GET","path":"/multipliers/detail/{id}","description":"Tek çarpan kaydını id ile döndürür."},{"method":"POST","path":"/multipliers/create","description":"Yeni çarpan oluşturur.","body":{"period_id":"int (zorunlu)","adults":"int (zorunlu)","children_6_12":"int","children_0_6":"int","multiplier":"float (zorunlu)","status":"int (0|1)"}},{"method":"PUT","path":"/multipliers/{id}","description":"Çarpan kaydını günceller."},{"method":"DELETE","path":"/multipliers/{id}","description":"Çarpan kaydını siler."},{"method":"GET","path":"/period-room-limits/list","description":"Oda limiti listesini getirir. Query params: period_id, room_type_id, status"},{"method":"GET","path":"/period-room-limits/detail/{id}","description":"Tek oda limiti kaydını id ile döndürür."},{"method":"GET","path":"/period-room-limits/by-period/{period_id}","description":"Belirli dönem için limitleri getirir."},{"method":"POST","path":"/period-room-limits/create","description":"Yeni oda limiti oluşturur.","body":{"period_id":"int (zorunlu)","room_type_id":"int (zorunlu)","max_available_rooms":"int (zorunlu)","status":"int (0|1)"}},{"method":"PUT","path":"/period-room-limits/{id}","description":"Oda limiti kaydını günceller."},{"method":"DELETE","path":"/period-room-limits/{id}","description":"Oda limiti kaydını siler."}],"meta":{"version":"v1.0","environment":"local","timestamp":"2026-07-09T21:38:53+08:00"}}