Bu proje, YHT tren bileti alımını otomatikleştiren bir Java tabanlı otomasyon sistemidir. Belirli istasyonlar, saatler ve yolcu bilgileri girilerek tek seferde bilet alınabilir.
Bu projenin en büyük özelliği istediğiniz saatte tren bileti bulana kadar çalışıyor olmasıdır. Tren bileti bulunca sizden tek beklediği mail aracılığı ile bankanızın sizlere göndermiş olduğu güvenlik kodudur.
📩 Bilet alımı sonrası güvenlik kodu mail ile alınarak otomatik işlenecektir..
- ✅ Tek kişi için bilet alımı
- ✅ Bir veya birden fazla saat tercihiyle sefer kontrolü
- ✅ Eklenebilir yolcu tipi sistemi
- ✅ Eklenebilir istasyon listesi
- ✅ Ziraat Bankası kredi kartı ile ödeme
- ✅ Güvenlik kodu içeren mail kontrolü ve otomatik kod okuma
Aşağıdaki sınıflardaki istek (request) metotlarında kendi sistem bilgilerinizi girmeniz gerekir:
ReleaseSeatRequest.javaSelectSeatRequest.javaTrainCarsInfoRequest.javaTrainInfoRequest.java
connection.setRequestProperty("Authorization", "your auth");
connection.setRequestProperty("Cookie", "your cookie");
connection.setRequestProperty("unit-id", "your unit-id");
🚨 TCDD, bilet alım işlemi sırasında güvenlik sebebiyle bir Security Code (Güvenlik Kodu) isteyebilir.
Bu sistemde kullanıcıdan kodu manuel almak yerine, sizin belirlediğiniz mail adresine gönderilen mailden bu kod otomatik olarak çekilip bilet alım işlemi tamamlanır. Şu anda sadece Ziraat Bankası ile işlem yapılabilmektedir.
Mail Adresi: - EmailServer.java içinde belirlenir.
String email = "your wanted mail";
String pass = "your mail aouth";
Konu (Subject): TCDD
İçerik (Body): Security code (yalnızca kod)
Program sadece bu formattaki mailleri kontrol eder.
✅ Gelen mailde sadece security code olmalıdır.
📌 Mailin konusu mutlaka TCDD olmalı, aksi durumda sistem kodu okuyamaz ve işlem iptal olur.
| Tip | Açıklama |
|---|---|
| TAM | Tam bilet |
| GENÇ | Genç bileti |
| ÖĞRETMEN | Öğretmen bileti |
📌 İstek üzerine yeni yolcu tipleri kolayca eklenebilir.
| İstasyon Adı |
|---|
| ANKARA |
| ESKİŞEHİR |
| İSTANBUL_SÖĞÜTLÜÇEŞME |
| ERYAMAN_YHT |
📌 İstek üzerine yeni istasyonlar kolayca eklenebilir.
| Banka |
|---|
| ZIRAAT |
📌 İleride yeni banka eklemeleri yapılabilir.
| Tip | Açıklama |
|---|---|
| CC | Kredi Kartı ile ödeme |
| OT | Diğer (ileride eklenecek) |
Çift yönlü (gidiş-dönüş) bilet alımıBirden fazla kişi için aynı anda bilet alımıFarklı yolcu tiplerini aynı işlemde arama ve alabilmeYeni banka ve ödeme yöntemleri entegrasyonuConfig dosyası ile dışarıdan parametre okuma
Geliştirme ve öneriler için bana ulaşabilirsin: 📧 eyserengn@gmail.com