Kısa cevap: spor salonu yazılımı bir randevu programı değildir. Randevu programı tek bir saat dilimi satar ve o saat geçtiğinde kayıt kapanır; spor salonu ise süre satar — üyelik bir gün başlar, her gün kendiliğinden tüketilir ve bir gün biter. Bir programı değerlendirirken ilk sorulacak soru ekranların görüntüsü değil şudur: üyelik dondurulduğunda, devredildiğinde ya da ortasında paket yükseltildiğinde bitiş tarihi ve kalan alacak doğru hesaplanıyor mu? Bu tek soru hazır paketlerin yarısını eler.
Üyelik randevu değildir: satılan şey süredir
Genel amaçlı bir online randevu sistemi takvimi yönetir: boş slot, dolu slot, iptal. Spor salonunda takvim yalnızca grup derslerini ve PT seanslarını ilgilendirir; asıl ürün serbest kullanım hakkıdır ve o hak tarihe bağlı erir. Bu yüzden üyelik kaydının üzerinde en az üç tarih bulunur: sözleşme tarihi, başlangıç tarihi ve bitiş tarihi. Bunları tek bir "kayıt tarihi" alanında birleştiren yazılım, ön satışta (salon açılmadan satılan üyelikte) ilk günden yanlış cevap verir.
İkinci ayrım, üyeliğin süreli mi kontenjanlı mı satıldığıdır. Aylık sınırsız üyelik süre tüketir; 10 seanslık PT paketi ise adet tüketir ve genellikle bir son kullanma tarihi de taşır. Aynı üyede ikisi birden bulunabilir. Bu iki modeli tek bir alanla anlatmaya çalışan yazılımlar, seans paketi yarım kaldığında "kalan hak" sorusunu cevaplayamaz ve personel Excel tutmaya geri döner.
Programı gerçekten zorlayan üç durum: dondurma, devir, yükseltme
Salon işletmesinde günlük hayatın tamamı istisnalardan oluşur. Bir yazılımın ciddi olup olmadığı, demo sırasında bu üç senaryonun canlı olarak denenmesiyle anlaşılır:
- Dondurma: üyelik durdurulduğunda bitiş tarihi otomatik ötelenmeli, dondurulan gün sayısı kayda geçmeli ve yıllık dondurma hakkı sınırı tanımlanabilmeli. Elle tarih düzeltmek hata değil, denetlenemeyen bir açık kapıdır.
- Devir: üyeliğin başkasına aktarılması sözleşmeye bağlı bir işlemdir. Yeni üye açıp eskisini silmek geçmişi ve tahsilat bağını koparır; doğru yöntem kaydın devredilmesi ve iki tarafın da kayıtta görünmesidir.
- Yükseltme/düşürme: paket ortasında değişen üyelikte kalan gün parasal karşılığına çevrilip yeni pakete mahsup edilmeli. Bu hesabı yapmayan program farkı kasada elle toplatır.
- İptal ve iade: hangi kalemin iade edilebilir olduğu (kayıt ücreti, kalan süre, kullanılmış seans) baştan tanımlanmalı ve rapora düşmeli.
- Deneme/misafir girişi: ücretsiz denemeler de kayıt üretmeli; yoksa dönüşüm oranını ölçmek mümkün olmaz.
Spor salonu yazılımı projelerinde en pahalı hata, dondurma ve devir kurallarını "sonra ekleriz" diye ertelemektir. Bu kurallar üyelik süresini hesaplayan çekirdek mantığın içindedir; sonradan eklenince mevcut binlerce üyeliğin bitiş tarihi yeniden hesaplanmak zorunda kalır.
Giriş kontrolü: turnike bir donanımdır, yazılım değil
Salon sahiplerinin en sık karıştırdığı nokta budur. Turnike, kart okuyucu ya da yüz tanıma terminali kapıyı açar; kimin geçebileceğine karar veren yazılımdır. Çoğu salonda donanım zaten mevcuttur ve eksik olan cihazın veri verdiği katmanın üyelik kaydıyla eşlenmesidir. Bu yüzden teklif aşamasında sorulacak ilk teknik soru şudur: elimdeki cihazın bir API ya da veritabanı arayüzü var mı, giriş kaydını gerçek zamanlı mı yoksa toplu mu veriyor?
Kapı kararı basit bir kurallar dizisidir ve yazılımın bunu kendi başına verebilmesi gerekir: üyelik aktif mi, bugün tarih aralığında mı, dondurulmuş mu, borç eşiğini aşmış mı, o saatte geçerli mi (öğrenci/gündüz üyeliği gibi), aynı kart birkaç dakika içinde ikinci kez mi okutuluyor. Son maddeyi atlayan sistemlerde tek kart birkaç kişiyi içeri alır ve kaçağın boyutu aylarca fark edilmez. Aynı ayrımı personel tarafında PDKS ve puantaj yazısında da ele almıştık: cihaz ham geçiş üretir, anlamı yazılım kurar.
Tahsilat: asıl kayıp aidatta değil, takipsiz kalan ödemededir
Üyelik iş modeli tekrarlayan tahsilat üzerine kuruludur ve gelirin sessizce eridiği yer burasıdır. Kredi kartından otomatik çekim, senetli/taksitli satış ve nakit ödeme aynı üyede bir arada bulunabilir; program hepsini tek bir cari hesapta toplamalı, vadesi geçen ödemeyi ayrı bir listede biriktirmelidir. Ödeme altyapısı tarafını web sitesine ödeme entegrasyonu yazısında, fatura tarafını e-fatura entegrasyonu yazısında ayrıntılandırdık.
- Başarısız çekim bir hata değil, bir iş akışıdır: yeniden deneme sırası, üyeye bildirim ve kaç gün sonra girişin kapanacağı önceden yazılmalı.
- Borçlu üyenin kapıda durdurulması bir politika kararıdır — eşiği yazılımda tanımlayın, kapıdaki görevlinin insafına bırakmayın.
- Her tahsilat bir gelire, her gelir bir döneme yazılmalı: peşin alınan yıllık üyelik o ayın cirosu değildir, aylara dağılır.
- Hatırlatma mesajı üyelik bitiminden önce gitmelidir; bittikten sonra gönderilen mesaj yenileme değil, geri kazanım kampanyasıdır.
Grup dersi ve PT: kontenjan, bekleme listesi, no-show
Ders rezervasyonu salonun tek gerçek randevu modülüdür ve üç kuralla ayakta durur: kontenjan dolduğunda bekleme listesi açılmalı, iptal edildiğinde bekleme listesindeki ilk kişi otomatik çağrılmalı ve gelmeyen üye (no-show) kayda geçmelidir. No-show sayısı ölçülmezse kontenjan planlaması tahmine dayanır. Rezervasyon üyeye mobil tarafta açılacaksa bildirim mekaniği baştan planlanmalıdır; nedenleri push bildirim yazısında anlattık — bildirimin gitmesi görüldüğü anlamına gelmez, bu yüzden ders iptali yalnızca push ile duyurulmaz.
PT tarafında ikinci bir katman vardır: seans eğitmene bağlıdır ve eğitmenin hak edişi seans başına hesaplanır. Kaydedilen seansın hem üyenin paketinden düşmesi hem de eğitmenin prim tablosuna yazılması gerekir. İki kaydı ayrı tutan salonlarda ay sonu mutabakatı her seferinde elle yapılır.
Üye verisi ve sağlık bilgisi
Spor salonu, sıradan bir müşteri listesinden fazlasını tutar: ölçüm kayıtları, sağlık beyanı, sakatlık geçmişi ve kullanılıyorsa parmak izi/yüz verisi. Bunların bir kısmı özel nitelikli kişisel veridir; toplanması amaçla sınırlı olmalı, saklama süresi tanımlanmalı ve biyometrik yöntem tercih edilecekse üyeye kart gibi bir alternatif sunulmalıdır. Aydınlatma metni, açık rıza ve saklama/imha planı için KVKK uyumlu web sitesi yazısındaki çerçeve doğrudan uygulanabilir. Bu yazı hukuki danışmanlık değildir; kurumsal uygulamayı avukatınızla netleştirin.
Hazır paket mi özel yazılım mı?
Uydurma bir fiyat vermenin anlamı yok; karar üç soruyla verilir. Birincisi: üyelik ve fiyat kurallarınız standart mı? Tek şubeli, aylık/yıllık paket satan bir salon hazır bir programla rahat çalışır. İkincisi: kaç sistemle konuşmanız gerekiyor? Turnike, muhasebe, sanal POS, mobil uygulama ve şube arası üye geçişi bir araya geldiğinde hazır paketin entegrasyon sınırı belirleyici olur. Üçüncüsü: verinizi dışarı alabiliyor musunuz? Üye listesini, ödeme geçmişini ve giriş kayıtlarını dışa aktaramıyorsanız programı değiştirme maliyeti her yıl büyür.
Üç sorunun da cevabı "hayır" ise hazır paketle başlayın — bu aşamada özel yazılım gereksiz maliyettir. Kararın genel çerçevesini özel yazılım mı hazır çözüm mü yazısında, maliyet kalemlerini ise özel yazılım maliyeti yazısında karşılaştırdık.
Devreye alma sırası
Doğru sıra her şeyi aynı anda açmak değil, en pahalı sorunu önce çözmektir. Birinci adım üyelik ve tahsilat: kim aktif, kim borçlu, kimin üyeliği bu ay bitiyor. İkinci adım giriş kontrolü — kaçak girişi ancak üyelik verisi doğruyken kapatabilirsiniz. Üçüncü adım ders/PT rezervasyonu ve üye uygulaması. Stok tarafı (takviye, içecek, ürün satışı) ayrı bir eksendir ve stok takip programı yazısında ele alınmıştır; ilk fazın dışında bırakın.
Sonuç
Spor salonunda doğru soru "hangi programın ekranı daha güzel" değil, "üyelik süresini ve alacağı her istisnada doğru hesaplıyor mu"dur. Dondurmayı, devri, otomatik tahsilatı ve kapı kararını tek kayıttan besleyen bir sistem, en sade arayüzle bile işletmeyi toparlar. İhtiyacınızı birlikte gözden geçirip hangi modülün önce gerektiğine karar verebiliriz: kurumsal çözümler ve özel yazılım hizmetlerimize bakabilir ya da doğrudan teklif alabilirsiniz.