Proje: Okul Platform · Hub: Okul Platform — Domain

GET /admin/schools Filtreleri

Sıralama

sort=school-name veya sort=-school-name (DESC):

school-id, school-name, status

Filtreler

filter[school-id]      → School ID
filter[campus-id]      → Campus ID
filter[customer-id]    → Customer ID (firma)
filter[college-id]     → Kolej ID
filter[location-1/2/3] → İl/İlçe/Mahalle ID
filter[type-id]        → SchoolType ID
filter[sector-id]      → Sektör ID
filter[school-name]    → İsim filtresi (like)
filter[sector]         → Sektör slug
filter[type]           → Okul tipi slug
filter[city]           → Şehir
filter[district]       → İlçe
filter[mernis-address-code] → MERNİS adres kodu
filter[search]         → Genel arama
filter[status]         → enum: 1,2,3,4
filter[school-closed-id] → Kapatılma tipi
filter[trashed]        → with|only (soft delete)

GET /admin/schools/churn-risky Filtreleri

filter[school_id], filter[location_level_1/2/3]
filter[school_type_id], filter[py_user_id]
filter[starts-on], filter[ends-on], filter[search]
filter[trashed]

sort: id, school_id, school_name, school_churn_risk_date

Not: churn-risky’de TODO: Gate koy yorumu var — izin kontrolü eksik.

İki Farklı Filter Format

Admin okul listesinde filter[school-name] (kebab-case)
Churn risky’de filter[school_id] (snake_case) — tutarsızlık.