8 dk

Park Uygulaması Nasıl Yapılır: Canlı Kullanılabilirlik ve Ödemeler

Gerçek zamanlı park yeri kullanılabilirliği, rezervasyonlar ve güvenli ödemeler içeren bir mobil park uygulamasını MVP'den lansmana kadar nasıl planlayıp tasarlayacağınızı öğrenin.

Park Uygulaması Nasıl Yapılır: Canlı Kullanılabilirlik ve Ödemeler

Kullanım Durumunu ve Başarı Metriklerini Tanımlayın

Bir park kullanılabilirlik uygulaması herkes için gibi gelebilir ama başarılı ürünler tek bir açık vaatle başlar. Sürücülere daha hızlı spot bulmalarını mı sağlıyorsunuz, daha az adımla ödeme yapmalarını mı, yoksa operatörlerin envanter ve uyumu yönetmesine mi yardımcı olacaksınız?

İlk sürümünüz tek bir ana iş için odaklanmalı; diğer her şey bunu desteklesin.

Hangi problemi çözüyorsunuz?

Çoğu park ürünü şu çıktılardan birine (veya birkaçının birleşimine) odaklanır:

  • Daha hızlı park bulma: nerede şu an park yeri olduğunu göstererek “dolaşmayı” azaltma.
  • Hızlı ödeme: kaldırımda veya bariyerde sürtünmeyi azaltan güvenilir bir ödeme deneyimi sunma.
  • Ceza almaktan kaçınma: kuralları daha net gösterme, oturumu kolayca uzatma ve ödemenin ispatını sağlama.
  • Tıkanıklığı azaltma: taleple bölgeler arasında dağıtım yaparak şehirler ve operatörlere yardımcı olma.

Acının nerede olduğunu spesifik hale getirin. “Öğle saatlerinde şehir merkezi sokak parkı” gereksinimleri “rezervasyonlu havalimanı garajı”ndan farklı olacaktır.

Kim için?

Kullanım durumunuz birincil kullanıcıyı ve destekleyen paydaşları belirtmelidir:

  • Sürücüler: doğru gerçek zamanlı park verisi, basit ödeme ve uyum güvencesi isterler.
  • Garajlar/otoparklar: doluluk görünürlüğü, fiyat kontrolü, daha az anlaşmazlık ve öngörülebilir ödemeler isterler.
  • Şehirler/operatörler: daha iyi kullanım, politika uygulama ve raporlama isterler.
  • Denetim ekipleri: hızlı doğrulama (plaka, bölge veya oturum bazında) ve net durum bilgisi ister.

Birincil kullanıcıyı seçmek, UI'da neyin “harika” olduğunu ve hangi verilerin güvenilir olması gerektiğini belirlemenize yardımcı olur.

Tipik uygulama türleri (başlamak için birini seçin)

  1. Sokak park uygulaması: zonlar, süre limitleri, kural karmaşıklığı ve denetim entegrasyonu genelde kritik olur.
  2. Garaj uygulaması: tesis bazlı envanter, giriş/çıkış akışları, makbuzlar, bazen QR veya plaka tanıma.
  3. Karışık pazar yeri: sokak + garajları birleştirir, arama, filtreler ve opsiyonel rezervasyon ekler.

Odaklanmış bir park uygulaması MVP'si daha sonra genişleyebilir—ilk sürümü her modeli destekliyormuş gibi tasarlamayın.

Başarı metriklerini vaate göre tanımlayın

Kullanıcı değeri ve iş performansına bağlanan metrikler kullanın:

  • Park yeri bulma süresi: uygulama açılmasından "navigasyon/park edildi"ye medyan dakika.
  • Ödemeye dönüşüm: arama/sonuçtan checkout'a ulaşan oturum yüzdesi.
  • Ödeme başarı oranı: tamamlanan denemelerin yüzdesi (yönteme göre hataları izleyin).
  • Retansiyon: haftalık/aylık aktif kullanıcılar ve bölge/zon başına tekrar park edenler.

Eğer bir kullanılabilirlik uygulaması inşa ediyorsanız, doğruluk da ölçün: "mevcut" gösterilen yerin ne sıklıkla başarılı park ile sonuçlandığı. Bu tür metrikler, özellikler ve ortaklıklar genişledikçe ürün kararlarını sağlam tutar.

Özellikleri Seçin: MVP vs Sonrasında

Bir park kullanılabilirlik uygulaması hızla “herkes için her şey”e dönüşebilir. Göndermenin (ve öğrenmenin) en hızlı yolu, sürücünün bugün park edip ödemesi için olmazsa olmaz olanları sonradan değer katacak olandan ayırmaktır.

Sürücünün kritik yoluyla başlayın (MVP)

Bir park ödeme uygulaması için MVP, basit bir vaatle örtüşmelidir: bir yer bulun, fiyatı anlayın ve stressiz ödeyin. Öncelik verin:

  • Harita + arama: yakın tesisleri ve zonları net pinler ve filtrelerle gösterin (fiyat, saatler, yükseklik limitleri).
  • Gerçek zamanlı kullanılabilirlik: erken aşamada basit bir “boş/az/dolu” göstergesi çoğunlukla yeterlidir—görsellikten çok doğruluk önemlidir.
  • Fiyat şeffaflığı: saatlik/günlük tarifeler, minimumlar, maksimumlar ve varsa ek ücretler kullanıcı taahhüt etmeden önce gösterilsin.
  • Navigasyon: seçilen girişe tek dokunuşla yol tarifi (Apple/Google Maps'e derin bağlantı).
  • Öde + uzat: oturumu başlat, süreyi uzat, izin verildiğinde bitir.
  • Makbuzlar: uygulama içi geçmiş ve giderler için e-posta makbuzları.

Bu, insanların tekrar tekrar kullanabileceği güvenilir bir MVP verir ve gerçek zamanlı park verisinin kalitesiyle ödeme dönüşümünü doğrulamanıza olanak tanır.

Arzı açan operatör özellikleri

Operatörleri başarılı kılmazsanız, kullanılabilirlik ve fiyatlandırma sürüklenir. Operatör için tipik “minimum uygulanabilir konsol” şunları içerir:

  • Envanter yönetimi: zonlar, spot sayıları, çalışma saatleri, kısıtlamalar.
  • Fiyat kuralları: saatlik/farklı zaman dilimi tarifeleri, etkinlik fiyatlandırması, izin süreleri, maksimum kalış.
  • Promosyonlar: benimsemeyi artırmak için promo kodlar veya indirim pencereleri.
  • Raporlama: doluluk eğilimleri, gelir, en iyi lokasyonlar, anlaşmazlıklar.

Başlangıçta bunları hafif bir web panosunun arkasında tutmak bile akıllı park uygulamanızın doğruluğunu korumaya yardımcı olur.

Yönetici ihtiyaçları (bunu atlamayın)

İlk günden temel arka ofis iş akışlarına ihtiyacınız olacak:

  • Kullanıcı arama ve destek araçları
  • İadeler/iptaller ve makbuz yeniden gönderimleri
  • Anlaşmazlık işlemleri notları ve denetim izi

Sonradan eklenebilecek özellikler

Çekirdek akışlar güvenilir çalıştıktan sonra şunları düşünün:

  • Rezervasyonlar (güçlü ama iptal/no-show kuralları gerektirir)
  • İzin/permits ve aylık erişim
  • EV şarj durumu ve fiyatlandırma
  • Vale teslim alma akışları
  • Abonelikler sık park edenler için

Kararsızsanız, tekrarlayan park oturumlarını destekleyen en küçük özellik setini yayınlayın, sonra gerçek kullanım verisine göre genişletin.

Gerçek Zamanlı Kullanılabilirlik Verisini Nasıl Sağlayacağınızı Planlayın

Gerçek zamanlı kullanılabilirlik, kullanıcıların anında yargıladığı özelliktir: harita bir yer açık gösteriyor ama açık değilse güven düşer. İnşa etmeden önce doluluk sinyallerinin nereden geleceğini, ne sıklıkla yenileneceğini ve belirsizliği nasıl iletişim kuracağınızı kararlaştırın.

Yaygın sinyal kaynakları (ve ne işe yararlar)

Sokak parkı için genellikle birden çok girişin harmanlanması gerekir:

  • Sensörler (yer altı veya kaldırım): alan başına yüksek doğruluk, ancak konuşlandırma maliyetli.
  • Kameralar + bilgisayarlı görü: iyi kapsama sağlar, ama hava, parlama ve çift park ile zorlanabilir.
  • Sayaç olayları (başlat/durdur, süresi dolma): yararlı bir vekil olabilir, ama ödenen süre her zaman gerçek doluluğu göstermez.
  • Denetim taramaları (plaka okumaları): güçlü bir doğrulama sinyali, ama sürekli değildir.
  • Kullanıcı raporları: hızlı ve ucuz, ama teşvik ve sahtekarlık kontrolü gerekir.

Garajlar ve lotlar için doluluk genelde daha basittir:

  • Kapı sayaçları (giriş/çıkış): güvenilir toplamlar, seviye/zon hakkında daha az detay.
  • Biletleme sistemleri / POS: kullanılabilirliği ödemeler ve doğrulamalarla ilişkilendirir.
  • Operatör veya agregatör API'leri: mevcutsa en hızlı yol.

Tazelik ve güven: beklentileri ayarlayın

Her kaynak için bir tazelik hedefi belirleyin (ör. garajlar için 30–60s, sokak proxy'leri için 2–5dk). UI'da “X dakika önce güncellendi” ve sinyal kalitesine göre bir güven puanı (Yüksek/Orta/Düşük) gösterin.

Veri eksik olduğunda tahmin yapmayın

Net bir geri dönüş politikası olsun:

  • "Bilinmiyor" gösterin, "mevcut" demeyin.
  • Yakındaki alternatifleri önerin (garajlar, bitişik bloklar, düşük talep saatleri).
  • Aceleniz varsa kullanıcıların yüksek güven bölgelerine filtrelemesini sağlayın.

Bu planlama adımı ortaklıklarınızı ve daha sonra inşa edeceğiniz veri modelini de şekillendirir—erken yazıya dökün ve bunu mühendislik detayı değil ürün gereksinimi olarak ele alın.

Entegrasyonlar ve Ortaklıklar Kontrol Listesi

Park kullanılabilirlik uygulamanız, arkasındaki veri ve ortaklar kadar doğrudur. Entegrasyonları inşa etmeden önce, kime güveneceğinizi, ne teslim edebileceklerini ve bu veriyle ne yapmanıza izin verildiğini netleştirin.

Kiminle ortaklık kurmanız gerekebilir

Çoğu akıllı park projesi birden çok kaynağın karışımını kullanır:

  • Şehirler ve belediyeler (kaldırım kuralları, zonlar, izinler, denetim sinyalleri)
  • Park operatörleri (garajlar/lotlar: envanter, tarifeler, saatler, giriş/çıkış olayları)
  • Donanım satıcıları (sensörler, bariyerler, LPR, sayaçlar, kiosklar)
  • Veri agregatörleri (birçok sağlayıcıdan gelen gerçek zamanlı park verisi)

Özellikle ödeme yapılan noktaya (pay-by-plate, QR, bilet tabanlı vb.) operatörler hakim olduğu için onlar önemlidir.

Önden sormanız gereken entegrasyon soruları

Bunu bir ön uçuş kontrol listesi gibi ele alın—bu cevaplar MVP kapsamınızı ve zaman çizelgenizi şekillendirir.

API erişimi & dokümantasyon

  • Stabil bir API, webhook'lar var mı yoksa sadece toplu dışa aktarma mı?
  • Sandbox ortamı ve test kimlik bilgileri var mı?

Kapsama & tazelik

  • Hangi tesisler/zonlar bugün dahil (hangileri planlanmış)?
  • Kullanılabilirlik güncelleme sıklığı nedir?

Rate limit, uptime ve destek

  • Rate limitler ve çağrı başı fiyatlama nedir?
  • Uptime ve yanıt süresi için SLA sunuyorlar mı?
  • Olay/destek süreci ve beklenen yanıt penceresi nedir?

Maliyet ve ticari model

  • Konum başı, işlem başı, gelir paylaşımı veya sabit lisanslama mı?
  • Tarifeleri gösterme, rezervasyon veya ödeme işleme için ek ücret var mı?

Atlamamanız gereken sözleşme maddeleri

Pilot aşamasında bile yazılı şartlar gerekir—özellikle gerçek zamanlı veriyi yeniden dağıtmayı planlıyorsanız.

  • Veri sahipliği: türetilmiş veriler (tahminler, doluluk tahminleri) kimin olur?
  • Yeniden dağıtım hakları: uygulamada gösterebilir, depolayabilir ve modelleri eğitmek için kullanabilir misiniz?
  • Gizlilik ve güvenlik: plaka numaraları, cihaz ID'leri ve ödeme tokenları—kimin neyi işlediği?
  • Değişiklik yönetimi: API değişiklikleri ve depreceation için önceden bildirim süresi
  • Sorumluluk: kullanılabilirlik yanlış veya tarifeler beklenmedik değişirse ne olur?

Pilot stratejisi: doğrula, sonra genişlet

1–2 alanla başlayın (ör. bir garaj operatörü + bir şehir kaldırım bölgesi). Tutarlı veri sağlayabilecek ve çıktıları ölçebileceğiniz (dönüşüm, ödeme tamamlanması, anlaşmazlık oranı) lokasyonları seçin. Güvenirlik ve birim ekonomiyi doğruladıktan sonra, bir tesis bazında genişleyin; entegrasyon türlerini aynı anda çok fazla eklemeyin.

Kullanıcı Deneyimini Tasarlayın (Akışlar ve Ekranlar)

Park uygulaması ilk 30 saniyede kazanır veya kaybeder. İnsanlar genelde hareket halinde, zaman baskısı altında ve seçenekleri hızlı karşılaştırıyor. UX, yazmayı en aza indirmeli, karar yorgunluğunu azaltmalı ve “öde + git” hissini zahmetsiz kılmalıdır.

Harita-öncelikli akışla başlayın

Çoğu sürücü için en hızlı zihinsel model görseldir. Pratik bir çekirdek akış:

alanı ara → seçenekleri gör → seç → öde → uzat.

Varsayılan görünümü harita tabanlı tutun, net pin durumları ekleyin (available, limited, full, unknown). Fiyat veya yürüyüş mesafesi karşılaştırması yapmak isterlerse kullanıcıların liste görünümüne geçebilmesi için bir harita/liste geçişi ekleyin.

Erken tasarlanacak ana ekranlar

Sürtünmeyi azaltan ve güven inşa eden ekranlara odaklanın:

  • Onboarding: hangi verileri kullandığınızı (konum, ödeme) ve kullanıcının ne kazanacağını kısa anlatın (canlı kullanılabilirlik, makbuzlar).
  • İzinler (konum): gerektiğinde isteyin, sade dil kullanın ve konum reddedilirse alternatif yol sunun.
  • Arama + harita/list: fiyat, mesafe, EV, yükseklik limiti gibi hızlı filtreler.
  • Yer detayları: fiyat dökümü, saatler, kurallar (maks süre, geceleme) ve “Ödedikten sonra ne olur?” bölümü.
  • Ödeme: kaydedilmiş ödeme yöntemleri, promosyon kodu ve belirgin bir onay durumu.

Erişilebilirlik ve hata durumları zorunludur

Park gerçek dünya görevidir; UI bir bakışta okunabilir olmalı. Temel gereksinimleri sağlayın:

  • Okunabilir kontrast ve font boyutları
  • Büyük dokunma hedefleri (pinler ve birincil eylemler için)
  • Net hata durumları (ödeme başarısız, yer artık yok, zayıf sinyal) ve bir sonraki adım önerisi

Şeffaf fiyatlandırma ile güven inşa edin

Güven sinyalleri akışın içine gömülü olmalı. Ücretleri erken gösterin, iade edilebilir olanı açıklayın ve ödeme sırasında güvenli ödeme göstergeleri ekleyin.

Ödemeden sonra basit bir makbuz görünümü sunun: zaman, yer, ücret ve bir “Parkı uzat” düğmesi.

Teknoloji Yığını ve Yüksek Seviye Mimariyi Seçin

Set Up the Core Backend
Create services for sessions, pricing rules, receipts, and idempotent payments with Go + Postgres.

Teknoloji yığını, MVP'yi ne kadar hızlı yayınlayacağınızı, gerçek zamanlı veriyi ne kadar güvenilir sunacağınızı ve uygulama içi ödemeleri ne kadar güvenli çalıştıracağınızı belirler.

Mobil: iOS, Android veya çapraz platform

  • Native (Swift/Kotlin): en iyi harita performansı, arka plan konum davranışı ve platforma özgü UX gerektiğinde iyi seçim. İki kod tabanı olduğu için maliyet artar.
  • Çapraz (Flutter/React Native): paylaşılan UI ve iş mantığıyla teslimatı hızlandırabilir. Apple Pay/Google Pay, derin bağlantılar ve yüksek doğruluk konum için "native bridge" planı gerekebilir.
  • Yaygın uzlaşma: ana uygulama çapraz platform, ödeme ve konum kritik özellikleri için küçük native modüller.

Erken prototiplerde daha hızlı ilerlemek isterseniz, sohbet tabanlı hızlı kod üretim araçları prototipleme döngüsünü hızlandırabilir. Örneğin Koder.ai ekiplerin React tabanlı bir web paneli (operatör konsolu) ve backend servisleri (Go + PostgreSQL) sohbet yoluyla taslaklandırmasını sağlar; bu pilot sürecinde faydalı olabilir.

Yüksek seviye mimari: çekirdek servisleri ayırın

Backend'i modüler tutun ki prototipten akıllı park uygulamasına geçerken yeniden yazım gerekmesin:

  • Kimlik & kullanıcı hesapları: giriş, araçlar, kaydedilmiş ödeme yöntemleri.
  • Park oturumları servisi: başlat/durdur oturumlar, uzatmalar, makbuzlar.
  • Fiyat motoru: tarifeler, zaman kuralları, kaplar, tatiller (parayı yöneten mantığı oturum kodundan ayırın).
  • Ödeme servisi: tokenizasyon, iadeler, chargeback, PCI uyumlu ödeme sağlayıcıları (PSP) kullanın.
  • Bildirimler: push/SMS/e-posta için bitiş zaman bildirimleri, makbuzlar, rezervasyon hatırlatmaları.

Veri depoları: işlem ve hız için optimize edin

  • İlişkisel DB (PostgreSQL/MySQL): oturumlar, ödemeler ve denetim izleri için.
  • Önbellek (Redis): hızlı okuma için (ör. zon kullanılabilirlik snapshotları).
  • Zaman serisi/olay depolama: sensör akışları ve güncellemeler için (ileride denetim entegrasyonu veya analiz eklerken faydalı).

Barındırma, ortamlar ve güvenilirlik

Ayrı dev/stage/prod ortamları ve otomatik dağıtımlar kullanın.

Gizli anahtar yöneticisi, zamanlı yedekler ve net rollback prosedürleri kullanın. Gerçek zamanlı veri için izleme, rate limiting ve zarif bozulma ("kullanılabilirlik X dakika önce güncellendi" gösterme) her zaman "her zaman canlı" varsayımından daha iyidir.

Veriyi Modelleyin: Spotlar, Zonlar, Tarifeler ve Oturumlar

Park uygulaması veritabanı modelinizle ayakta kalır. İlişkileri doğru kurarsanız, gerçek zamanlı veriniz arama, navigasyon, rezervasyon ve ödeme akışında tutarlı kalır.

Çekirdek varlıklar (ve ilişkileri)

Başlangıç için genişletilebilir küçük bir tablo/collection setiyle başlayın:

  • User → bir veya daha fazla Vehicle kaydı sahibi
  • PaymentMethodToken → kullanıcı başına saklanan token
  • Location/Zone → mantıksal alan (garaj seviyesi, sokak segmenti, kampüs lotu)
  • Spot/Facility → enstrümante edilmiş tek bir spot veya kapasitesi olan bir tesis
  • Rate → zone/facility ile ilişkilendirilmiş fiyat kuralları
  • Session → aktif ödenmiş park dönemi (başlangıç/bitiş, durum)
  • Reservation (opsiyonel MVP için) → oturum başlamadan önce envanteri tutar
  • Receipt → değiştirilemez ödeme kanıtı (kalemler, vergiler/ücretler, sağlayıcı ID'leri)

Rates'i Sessions'dan bağımsız tutun. Bir oturum satın alma anında kullanılan "rate snapshot"ını yakalasın ki sonraki fiyat değişiklikleri geçmişi yeniden yazmasın.

Kullanılabilirliği doğru şekilde temsil etme

Hem spot hem zon seviyesinde kullanılabilirlik modelleyin:

  • current_occupancy veya available_count hızlı UI için
  • predicted_availability (isteğe bağlı, ETA tabanlı arama için değerli)
  • Her kullanılabilirlik kaydında last_update_at olsun ki uygulama "2 dk önce güncellendi" gösterip sensör sessiz kaldığında düzgün davranabilsin

İdempotensi ve denetim izleri (vazgeçilmez)

Ödemeler ve oturum başlatmalarında bir idempotency_key kullanın (kullanıcı eylemi başına) çift faturalamayı önlemek için.

Finansal veya operasyonel her değişiklik için denetim alanları/olayları ekleyin:

  • kim ne zaman tarife değiştirdi ve ne değişti
  • iadeler, oturum düzenlemeleri, denetimle ilgili geçersiz kılmalar

Bu yapı akıllı park uygulamanızı bugünden destekler ve ileride zor göçleri önler.

Güvenli Ödemeler ve Makbuzlar

Get a Pilot Live Quickly
Deploy and host your pilot so partners can test real availability and payment flows.

Ödemeler, park ödeme uygulamasının ya güven kazanacağı ya da kaybedeceği yerdir. Hedefiniz basit: ödeme hızlı, öngörülebilir ve güvenli olsun; MVP kapsamında gerçekçi kalın.

Kullanıcıların beklediği ödeme seçenekleri

Önce çoğu sürücüyü kapsayan temel seçenekleri sunun:

  • Kartlar (kredi/banka kartı)
  • Apple Pay / Google Pay tek dokunuş için
  • Geri dönen kullanıcılar için saklanmış tokenlar

Dijital cüzdanlar dönüşümü artırır çünkü sürücü acele eder ve garajda zayıf bağlantı olabilir.

PCI yaklaşımı: dokunduğunuz şeyi minimize edin

Ham kart numaralarını depolamayın. PSP kullanın ve tokenizasyona güvenin.

Uygulamada genelde şöyle olur:

  • Uygulama ödeme ayrıntılarını sağlayıcının SDK/UI bileşeniyle toplar
  • Sağlayıcı bir token (veya payment method ID) döner
  • Backend bu token ile ücretlendirir
  • Ham kart verilerini saklamazsınız—sadece token ve destek için gerekli metadata

Bu riskleri azaltır ve uyumluluk işlerini hızlandırır.

Park için ana ödeme akışları

Park, standart tek seferlik bir satın alma değildir. Bu akışları planlayın:

  • Ön yetkilendirme vs capture: tahmini maksimum için ön-otorize edin, oturum bittiğinde nihai tutarı capture edin.
  • Kullan-olarak-öde: uzun kalışlar için artımlı ücretlendirme (ör. her 30–60dk).
  • Uzantılar: kullanıcıların yeni bir oturum oluşturmadan süre eklemesine izin verin.
  • Aşım yönetimi: kullanıcı ödenen süreyi aşarsa ne olacak—izin verilmişse otomatik uzatma, ücret uygulama ve net bildirim gönderme.

Makbuzlar, iadeler ve anlaşmazlıklar

Makbuzlar otomatik ve kolay erişilebilir olmalı:

  • Uygulama içi makbuz geçmişi ve e-posta makbuzları
  • Kalem detayları (yer, zaman, tarife, vergiler/ücretler, ön yetki vs nihai ücret)
  • İade araçları: void (aynı gün), kısmi iadeler ve basit anlaşmazlık iş akışı

İleride denetim entegrasyonu planlıyorsanız, makbuz ve oturum ID'lerini tutarlı tutun ki destek, ödemeleri gerçek zamanlı veri ve denetim kayıtlarıyla eşleştirebilsin.

Fiyat Kuralları ve Kenar Durumlarını Yönetme

Fiyatlandırma, bir park uygulamasının kullanıcı güvenini hızla kaybetmesine neden olabilir. Toplam tutar checkout'ta veya oturum sırasında değişirse kullanıcılar kandırıldıklarını hisseder. Fiyatı birinci sınıf ürün özelliği olarak ele alın.

Her fiyat girdisini tanımlayın (ve kim kontrol ediyor)

İnşa etmeden önce fiyatı belirleyen tam girdileri belgeleyin:

  • Zone/lot (farklı operatörler farklı kurallar uygular)
  • Günün saati / gün türü (hafta içi vs etkinlik geceleri)
  • Süre (saatlik, günlük, kesirli faturalama, yuvarlama kuralları)
  • Talep kuralları (dinamik fiyat tetikleyicileri varsa)
  • Kaplar ve maksimum kalış (ör. “günlük max $18” veya “2 saat limit”)

Hangi değerlerin sisteminizden, hangilerinin operatörden veya şehir akışından geldiğini netleştirin. Bu açıklık daha sonra anlaşmazlıkları önler.

Ücretleri ödemeden önce açık gösterin

Rezervasyon veya "Parkı başlat" akışında basit bir döküm gösterin:

  • Temel tarife
  • Vergiler (varsa)
  • Servis ücreti
  • Operatör ücreti (varsa)

Basit dil kullanın: "Şimdi $X tahsil edilecek" veya "1s 30dk için tahmini toplam: $X" ve kullanıcı süreyi değiştirince anında güncelleyin.

Zor anları yönetme

Kenar durumlar öngörülebilir—bunları önceden planlayın:

  • Oturum ortasında tarife değişiklikleri: başlangıçta tarife kilitlenir mi, belirli bir noktadan sonra yeni tarife mi uygulanır, yoksa her zaman güncel tarifemi uygulanır—kuralı makbuzda belirtin.
  • Gecikme süreleri: giriş/çıkış tamponları yaygındır. Bu pencerenin ücretsiz mi, indirimli mi yoksa sadece denetimi engelleyen mi olduğunu açıklayın.
  • Denetim kuralları: denetimle entegre olacaksanız, "ödendiği süre" zaman damgaları, plaka/spot kimlikleri ve durumun ne kadar hızlı yayılması gerektiği konusunda uyum sağlayın.

Fiyatlandırmayı finans gibi test edin

Gerçek senaryolar ve sınır zamanlar için birim testleri ekleyin (11:59→12:00, DST değişimleri, zone geçişleri). Küçük bir fiyat testi paketi, MVP sonrası destek maliyetlerini düşürür.

Bildirimler, Konum ve Güvenlik Özellikleri

Uygulama kullanıcıları bilgilendirdiğinde "canlı" hissi verir ama spam yapmamalıdır. Bildirimler ve konum izinleri güven kazanma veya kaybetme yerleridir—bu yüzden kasıtlı tasarlayın.

Yardımcı push bildirimleri (spam olmasın)

Destek ve terk edilmiş oturumları azaltmak için push bildirimleri kullanın:

  • Süre bitişi hatırlatmaları (örn. 10 ve 2 dakika önce) ve net bir "Uzat" eylemi.
  • Uzatma istemleri kullanıcı hala yakındaysa veya araca yönlendiriliyorsa.
  • Ödeme onayları başarılı ödeme sonrası hemen gönderilsin (makbuz erişimini içerir).
  • İade ve anlaşmazlık güncellemeleri kullanıcıları belirsiz durumda bırakmasın.

Ayarlar içinde kullanıcıların bildirim tercihini değiştirmesine izin verin. Mesajları spesifik tutun: zon/garaj adı, bitiş zamanı ve bir sonraki adım.

Konum izinleri için açık açıklamalar

Konum iznini sadece gerçek değer kattığında isteyin:

  • Uygulamayı Kullanırken: yakın zonları gösterme, yürüme yönlendirmesi ve giriş otomatik algılama.
  • Arka planda konum (opsiyonel): "bölgeyi terk etme" hatırlatmaları veya daha akıllı uzatma istemleri için.

Sistem istemi göstermeden önce sade dilde ne toplandığını, ne zaman ve nasıl kullanıldığını açıklayın. Konum reddedilse işleyen bir yol sunun (adresle arama, kod tara).

Güvenlik ve sahtekarlık önlemleri

Yoğun yerlerde güvenilirliği artıracak ekler düşünebilirsiniz:

  • Plaka tanıma (LPR) desteği hızlı giriş/doğrulama için
  • QR kodları tabelada veya bariyerde check-in için
  • Kiosk yedekleme bağlantı sorunlarında ödemelerin devam etmesi için

Güvenlik adına erken ekleyebileceğiniz kontroller: velocity check (kısa sürede çok fazla uzatma/ödeme), şüpheli tekrar uzatmalar için bayraklama ve hafif cihaz sinyalleri (yeni cihaz + yüksek değerli işlem). Meşru kullanıcı deneyimini yumuşak tutun ve müşteri destek iş akışlarıyla kenar durumlarını gözden geçirin.

Test, QA ve Uyum Hazırlığı

Prototype the Critical Path
Test map, search, and checkout screens early so you learn what drivers actually need.

Park kullanılabilirlik + ödeme uygulamasını test etmek sadece "çalışıyor mu" değil—"gerçek dünya koşullarında güvenilir mi" sorusuna da cevap olmalıdır: hızla değişen envanter, zayıf bağlantı ve kullanıcıların anında onay beklemesi.

Fonksiyonel testler gerçek davranışla eşleşsin

Tam müşteri yolculuğunu uçtan uca test edin:

  • Arama ve filtre (fiyat, mesafe, saatler, araç tipi)
  • Checkout (kaydedilmiş kartlar, Apple/Google Pay varsa)
  • Oturum uzatmaları (tarife oturum ortasında değiştiğinde dahil)
  • Makbuzlar (e-posta + uygulama içi geçmiş)
  • İadeler ve iptaller (kısmi vs tam, zamanlama kuralları)

Operatör akışlarını (tarife güncelleme, bölge kapatma, bakım işaretleme) da test edin.

Veri doğruluğu ve "gerçek" testleri

Kullanılabilirlik sorunları güveni her şeyden hızlı kırar. QA'da şunları simüle edin:

  • Eski kullanılabilirlik (uygulama bir yeri birkaç dakika önce alınmış gösteriyor)
  • Uyumsuz envanter (operatör 50 spot diyor, sensör 42 gösteriyor)
  • Sağlayıcı kesintileri (harita yükleniyor ama kullanılabilirlik API'leri başarısız)

Her durumda uygulamanın ne yapması gerektiğini tanımlayın: kullanıcıyı uyar, belirsiz envanteri gizle veya rezervasyonu yalnızca onayla izin ver gibi.

Ölçülebilir performans hedefleri

Lansmandan önce açık eşiklerle test edin, orta seviye telefonlarda deneyin:

  • Harita yükleme süresi (ilk anlamlı görünüm)
  • API gecikmesi (arama ve kullanılabilirlik yenileme)
  • Ödeme tamamlama süresi ("Öde"ye dokunmaktan onaylı oturuma kadar)

Uyum, gizlilik ve destek erişimi

Konum takibi için izin ve gizlilik açıklamalarını doğrulayın, veri saklama kurallarını belirleyin ve destek araçlarını rol tabanlı erişim ve denetim izleriyle kilitleyin.

Ödemeler için PCI uyumlu sağlayıcı kullanın ve ham kart verisi saklamaktan kaçının. Her sürüm için bir lansman kontrol listesi çalıştırın.

Lansman Planı ve Sürekli İyileştirme

Bir park kullanılabilirlik ve ödeme uygulaması asla tamamen "biter". Lansman planınız riski en aza indirmeli, kullanıcıları korumalı ve geliştirilecek temiz sinyaller vermelidir.

Yayın öncesi kontrol listesi (mağaza & güven)

Göndermeden önce app store gereksinimlerini doğrulayın: doğru ekran görüntüleri, net özellik açıklamaları, yaş derecelendirmesi ve gerçekten yanıt veren bir destek iletişim bilgisi.

Gizlilik açıklamaları beklenenden daha önemlidir. Konumu gerçek zamanlı veri için kullanıyorsanız, neden, nasıl saklandığı ve nasıl çıkılacağı konusunda açıklayın. Gizlilik politikası uygulama davranışıyla eşleşmeli.

Aşamalı açılış, hepsi birden değil

Sınırlı bir coğrafyayla başlayın (bir şehir, birkaç garaj veya birkaç yol bölgesi) ki veri kalitesi ve ödeme güvenilirliğini doğrulayabilesiniz.

Davet kodları, feature flag'ler ve kademeli sürümler kullanın. Bu, sorunlu bir sağlayıcı akışını veya ödeme yöntemini acil güncelleme gerektirmeden devre dışı bırakmanızı sağlar.

Eğer küçük bir ekipseniz, dahili araçlar ve pilotlar için daha hızlı bir üretim döngüsü düşünün. Ekipler sıkça Koder.ai gibi araçlarla operatör panosu, yönetici destek konsolu veya entegrasyon test ortamı hızlıca kurup pilot metriklerini doğruladıktan sonra kaynak kodu dışarı aktarır ve productionize eder.

Hangi şeylerin önce bozulduğunu izleyin

İlk günden operasyon panoları kurun:

  • Ödeme hataları (kart tipi, issuer cevap kodları, ağ, uygulama versiyonu)
  • Kullanılabilirlik güncelleme gecikmesi (sensör/sağlayıcı değişiminden kullanıcıya yansıyana kadar geçen süre)
  • Çökme raporları ve yavaş ekranlar (özellikle checkout ve oturum başlatma)

Uyarılar oluşturun. Kullanılabilirlik gecikmesindeki küçük bir artış güveni büyük ölçüde zedeleyebilir.

Lansman sonrası yol haritası

Geliştirmeleri gerçek kullanım verisine göre planlayın. Park uygulaması MVP için yaygın sonraki adımlar: rezervasyonlar, abonelikler ve izinler—her biri net fiyat kuralları ve makbuz gerektirir.

Fiyatlandırmayı güncel tutun ve ortaklar ile kullanıcılar için öğrenimleri ve sürüm notlarını blog üzerinden paylaşarak güven inşa edin.

SSS

What’s the first decision to make when building a parking app?

Birinci sürüm için tek bir ana işi seçin ve diğer her şey bunu desteklesin:

  • Parkı daha hızlı bulmak (kullanılabilirlik + navigasyon)
  • Hızlı ödeme (sürtünmesiz ödeme akışı)
  • Ceza almaktan kaçınmak (kurallar açık + kolay uzatma)
  • Operatörlerin envanteri/fiyatlandırmayı yönetmesine yardımcı olmak

Açık bir vaat, kapsamı, UX'i ve veri gereksinimlerini belirlemeyi çok daha kolaylaştırır.

Which success metrics matter most for a parking availability + payments app?

Uygulamanızın temel vaadine bağlı metrikler kullanın:

  • Bir park yeri bulma süresi (uygulama açılmasından parketmeye/rota başlamaya kadar medyan dakika)
  • Ödemeye dönüşüm (sonuçlardan → ödeme ekranına ulaşan oran)
  • Ödeme başarı oranı (denenen → tamamlanan işlemler)
  • Retansiyon (bölge/zon bazında tekrar eden park edenler)

Kullanılabilirlik gösteriyorsanız, ayrıca doğruluk ("mevcut" gösterilen yerin gerçekten park edilip edilmediği) ölçün.

What features should be in a parking app MVP?

Sürücünün kritik yolunu önceleyin:

  • Harita + arama (harita/list toggle ile)
  • Kullanılabilirlik göstergesi (available/limited/full/unknown)
  • Şeffaf fiyatlandırma (tarifeler, üst sınırlar, ücretler)
  • Tek dokunuşla giriş noktasına navigasyon
  • Başlat/uzat/bitir ödeme akışı
  • Makbuzlar (uygulama içi + e-posta)

Tekrarlayan oturumları destekleyecek en küçük seti gönderin; rezervasyon gibi ekstra özellikleri sonra ekleyin.

Why is real-time availability so hard, and how do you keep users’ trust?

Çünkü kullanılabilirlik güven oluşturur. Kullanıcılar buna güvenemiyorsa, ödeme düzgün olsa bile uygulamayı kullanmayı bırakırlar.

Pratik adımlar:

  • Kaynak başına yenileme hedefleri belirleyin (ör. garajlar için 30–60s, sokak proxy'leri için 2–5dk)
  • "X dakika önce güncellendi" gösterin
  • Bir güven seviyesi ekleyin (Yüksek/Orta/Düşük)
  • Veri eksikse tahmin yapmaktansa "bilinmiyor" gösterin
Where does real-time parking availability data usually come from?

Yaygın kaynaklar şunlardır:

  • Sokak parkı: sensörler, kameralar/görüntü işleme, sayaç olayları, denetim taramaları, kullanıcı raporları
  • Garajlar/otoparklar: giriş/çıkış sayaçları, POS/bilet sistemleri, operatör/agregatör API'leri

Güçlü bir yaklaşım, birden çok sinyali harmanlamak ve "mevcut" göstermeden önce tazelik ve tutarlılığı çapraz kontrol etmektir.

What should I ask cities/operators/data providers before integrating?

Entegrasyonlar hem kapsam hem de güvenilirlik açısından belirleyicidir. Sormanız gerekenler:

  • API, webhook yoksa yalnızca toplu ihracat mı? (sandbox/test kimlik bilgileri var mı?)
  • Hangi alanlar şu an aktif, hangileri planlanıyor?
  • Verinin tazeliği nedir, gecikme bekleniyor mu?
  • Rate limitler, çağrı başı fiyatlandırma, SLA/uptime taahhüdü var mı?
  • Ticari model (konum başı, işlem başı, gelir paylaşımı vs.)

Ayrıca veri hakları ve yeniden dağıtım izinlerini doğrulayın.

What contract terms are most important for parking data and payments partnerships?

Erken pilotlar için bile yazılı şartlar şarttır:

  • Veri sahipliği (türev tahminler dahil)
  • Yeniden dağıtım hakları (veriyi gösterebilir, depolayabilir ve analiz için kullanabilir misiniz?)
  • Gizlilik ve güvenlik (plaka, cihaz kimlikleri, ödeme tokenları kimin sorumluluğunda?)
  • API değişiklik bildirimi ve deprecate süreci
  • Sorumluluk (kullanılabilirlik yanlışsa veya tarifeler beklenmedik değişirse ne olur?)
How do I build parking payments safely without taking on PCI risk?

PCI riskini en aza indirin:

  • Bir PSP kullanın (ör. Stripe/Adyen/Braintree) ve tokenizasyona güvenin
  • Kart bilgilerini sağlayıcının SDK'sı/arayüzüyle toplayın
  • Yalnızca token ve gerekli metadata'yı saklayın
  • Apple Pay/Google Pay destekleyin

Ayrıca oturum başlatma/ödeme işlemlerinde çift faturalamayı önlemek için idempotency key kullanın.

What pricing edge cases should a parking app handle from day one?

Erken dönemde ele almanız gerekenler:

  • Oturum ortasında tarife değişiklikleri (başlangıçta kilitleme mi, belirli bir noktadan sonra yeni tarifeyi mi uygularsınız?)
  • Gecikme süreleri (grace period) — ücretsiz mi, indirimli mi, yoksa sadece denetimi engeller mi
  • Yuvarlama ve kesirli faturalandırma kuralları
  • Üst sınırlar ve maksimum kalış süreleri
  • Aşım durumları (izin verilmişse otomatik uzatma vs. ücret + bildirim)

Sınır durumlarını (11:59→12:00, DST, tatiller) test edin.

How should I launch a parking app and avoid scaling problems too early?

Aşamalı dağıtımlar riski azaltır ve öğrenmeyi hızlandırır:

  • 1–2 coğrafi alanda başlayın (bir operatör + bir yol bölgesi gibi)
  • Feature flag'ler ve kademeli sürümler kullanın ki bozuk bir beslemeyi veya ödeme yöntemini hızlıca devre dışı bırakabilesiniz
  • İzleyin:
    • Ödeme hataları (yöntem, issuer kodu, app versiyonu)
    • Kullanılabilirlik gecikmesi (sağlayıcı → kullanıcı görünür)
    • Çökme ve yavaş ekranlar (özellikle checkout sırasında)

Güvenilirlik ve birim ekonomisi doğrulanınca tesis bazında genişleyin.

Related posts