Bi Teslimat
Ana Sayfa
Teknik & İş Süreci Dokümantasyonu

Bi Teslimat
Platform Dokümantasyonu

Bu belge; platformun sunduğu hizmetleri, kullanıcı rollerini, sipariş ve ödeme süreçlerini ile yazılım mimarisini ve kod yapısını özetler. Destek başvuruları, yatırım sunumları ve teknik değerlendirmeler için hazırlanmıştır.

ŞirketHacı Emin Özer Tarım Sanayi Ticaret İthalat ve İhracat Ltd. Şti.
Hizmet BölgesiTürkiye
Oluşturulma05.11.2026 10:33
YazılımLaravel 9.52.21 · PHP 8.3.36

1. Platform Özeti

Bi Teslimat, Türkiye genelinde faaliyet gösteren, çok taraflı bir dijital teslimat ve hizmet aracılık platformudur. Platform; müşteriler, yerel işletmeler ve bağımsız kuryeleri tek bir ekosistemde buluşturur. Yalnızca yemek siparişi değil; market alışverişi, kurye çağırma, taksi/yol yardımı, ev-iş hizmetleri ve nöbetçi eczane bilgisi gibi geniş bir hizmet yelpazesini kapsar.

Platform aracı konumundadır: ürün/hizmetin sahibi veya taşıyıcısı değildir; taraflar arasındaki iletişim, konum, sipariş takibi ve ödeme altyapısını sağlar.

Çok rollü yapı

Müşteri, işletme, kurye ve yönetici panelleri ayrı URL ve yetki katmanlarında çalışır.

Konum tabanlı

Leaflet haritaları, Haversine mesafe hesabı ve Türkiye sınır kontrolü ile çalışır.

Türk POS entegrasyonları

Ödeal, PayTR, iyzico, Param ve Sipay ile kartlı ödeme altyapısı.

PWA desteği

Mobil cihazlara ana ekrana eklenebilir; responsive Bootstrap 5 arayüzü.

PDF indirme: Sağ üstteki «PDF Olarak İndir» düğmesine tıklayın veya Ctrl+P (Mac: ⌘+P) ile yazdır penceresinden «PDF olarak kaydet» seçin.

2. Sunulan Hizmetler & Kategoriler

Kategori ağacı PublicBrowseController::groups() ve BrowseCatalog sınıflarında tanımlıdır. Her kategori bir hizmet tipi ile eşleştirilir:

  • catalog — İşletme ürün kataloğu + kurye teslimatı
  • courier — Doğrudan kurye çağırma (evrak, paket, anahtar vb.)
  • direct — Kuryesiz doğrudan hizmet (taksi, çekici, temizlik vb.)
  • on_duty — Nöbetçi eczane listesi (EczaneAPI)

Yeme & İçme

Restoran & Lokanta Burger & Fast Food Pizza Kafe & Kahve Tatlı & Pastane

Market & Alışveriş

Market & Bakkal Su & İçecek Çiçekçi Eczane & Medikal Nöbetçi Eczane Tütün & Büfe

Kurye & Taşıma

Evrak Teslimi Anahtar Teslimi Paket & Koli Gönderimi Acil / Aynı Gün Gönderi Unutulan Eşya Getir

Ulaşım & Taksi

Taksi Çağır

Yol & Araç Yardım

Yol Yardım Çekici & Kurtarıcı Lastik & Oto Tamir Akü Takviye

Ev & İş Hizmetleri

Temizlik Teknik Servis Nakliyat & Evden Eve Tadilat & Usta

3. Kullanıcı Rolleri

Rol Panel URL Temel işlevler
Müşteri /uygulama İşletme keşfi, sipariş verme, kurye çağırma, adres yönetimi, sipariş takibi, teslim onayı
İşletme /isletme Ürün/kategori yönetimi, sipariş kabul, kurye çağırma, POS ayarları, hizmet talebi yönetimi
Kurye /kurye Çevrimiçi/çevrimdışı, konum paylaşımı, çağrı havuzu, teslimat durumu güncelleme, kazanç takibi
Yönetici /yonetim Kullanıcı yönetimi, sipariş denetimi, platform ödemeleri, CMS, destek talepleri, POS/IBAN ayarları

Kayıt süreci

Kayıt /register üzerinden rol seçimi ile başlar. E-posta doğrulama kodu (6 hane, 15 dk geçerlilik) gönderilir. İşletme ve kurye kayıtlarında harita üzerinden konum seçimi zorunludur ve konum Türkiye sınırları içinde olmalıdır (Geo::isInServiceArea()). Müşteri kaydında T.C. kimlik numarası opsiyoneldir.

4. Sipariş Türleri & İş Akışları

Tür Kod Kurye Açıklama
İşletme Siparişi business_order Evet Müşteri işletme kataloğundan ürün seçer; işletme hazırlar, kurye teslim eder.
Kurye Çağrısı courier_call Evet Evrak, paket, anahtar vb. için doğrudan kurye talebi.
Hizmet Talebi service_request Hayır Taksi, çekici, temizlik gibi doğrudan hizmetler; işletme durumu günceller.

Kuryeli sipariş durum akışı

Beklemede → Kabul edildi → Alındı → Yolda → Müşteri onayı bekleniyor → Teslim edildi

Her sipariş benzersiz bir public_token ile /takip/{token} adresinden giriş yapmadan takip edilebilir. Kurye «teslim etti» işaretledikten sonra müşteri «teslim aldım» onayı verir (çift onaylı teslimat).

Kurye eşleştirme

CourierMatcher sınıfı, alım noktasına en yakın ve müsait kuryeleri Haversine formülü ile sıralar. Kurye müsaitliği: aktif hesap, çevrimiçi durum ve devam eden teslimatı olmaması koşullarına bağlıdır.

5. Ödeme Sistemleri

İşletme siparişlerinde ödeme ayrımı

Kalem Ödeyen Yöntemler
Ürün tutarı Müşteri → İşletme Kart (sanal POS), havale/EFT, nakit
Teslimat ücreti Müşteri veya işletme Nakit, kurye IBAN'ına havale
Platform ücreti İşletme / Kurye Aylık 200 TL — kart (Ödeal) veya havale

Desteklenen sanal POS sağlayıcıları

IYZICO PAYTR ODEAL PARAM SIPAY

İşletmeler kendi POS bilgilerini /ayarlar/odeme ekranından girer; kimlik bilgileri veritabanında şifreli saklanır (encrypted:array). Platform aylık ücret tahsilatı için yönetici panelinde tanımlanan merkezi POS kullanılır (PlatformFeeCharger — Ödeal).

Ödeme akışı (kart)

Müşteri checkout → Gateway yönlendirme → Banka/POS → Callback / webhook → Sipariş güncelleme

6. Dış Entegrasyonlar

Entegrasyon Servis sınıfı Amaç
EczaneAPI OnDutyPharmacyService Türkiye geneli nöbetçi eczane listesi (81 il); 1 saat önbellek, günlük «Bugün» verisi
Ödeal / PayTR / iyzico / Param / Sipay PaymentGatewayManager Sanal POS ödeme başlatma ve callback işleme
OpenStreetMap / Leaflet Frontend CDN Harita, konum seçimi, kurye takibi
Google Maps Deep link Eczane/adres yol tarifi açma
SMTP / Mail OrderNotifier Sipariş takip linki ve doğrulama kodu e-postaları
Google Ads partials/head.blade.php Dönüşüm izleme etiketi (AW-18348727053)

7. Yazılım Mimarisi

Teknoloji yığını

KatmanTeknoloji
Backend frameworkLaravel 9.52.21 (PHP 8.3.36)
VeritabanıMySQL / MariaDB
Kimlik doğrulamaLaravel Breeze (oturum tabanlı), rol middleware
FrontendBlade şablonları, Bootstrap 5.3, Bootstrap Icons
HaritaLeaflet 1.9.4
HTTP istemcisiGuzzle (API çağrıları)
DerlemeLaravel Mix, Tailwind (Breeze iskelet)

Katmanlı kod yapısı

app/
├── Http/Controllers/     → İstek yönlendirme (Customer, Business, Courier, Admin, Auth)
├── Models/               → Eloquent ORM (User, Order, BusinessProfile, …)
├── Services/             → İş mantığı (OnDutyPharmacyService, Payment/*Gateway)
├── Support/              → Yardımcılar (Geo, CourierMatcher, BrowseCatalog, RegistrationHelper)
├── Http/Middleware/      → EnsureRole, CSRF, throttle
resources/views/          → Blade arayüz şablonları (role bazlı layout'lar)
routes/web.php            → Tüm web rotaları
config/                   → payment, pharmacy, area, legal

Önemli servis sınıfları

  • PaymentGatewayManager — POS sağlayıcı seçimi, ödeme başlatma, callback
  • OnDutyPharmacyService — EczaneAPI veri çekme ve normalizasyon
  • CourierMatcher — En yakın müsait kurye sıralaması
  • Geo — Mesafe hesabı, Türkiye sınır kontrolü
  • BrowseCatalog — Kategori hizmet tipi belirleme
  • OrderNotifier — Takip e-postası gönderimi
  • PlatformFeeCharger — Aylık platform ücreti tahsilatı

8. Veri Modeli

User (merkez)
├── BusinessProfile      → İşletme bilgileri, sektör, vergi, konum
├── CourierProfile       → Araç tipi, ücret tarifeleri, canlı konum
├── Address              → Müşteri adresleri
├── Category / Product   → İşletme katalog yönetimi
├── Order                → Sipariş (customer, business, courier ilişkileri)
│   └── OrderItem        → Sipariş kalemleri
├── PlatformPayment      → Aylık platform ücreti kayıtları
├── BusinessPaymentProvider → Şifreli POS kimlik bilgileri
└── SupportTicket        → Destek talepleri

CMS: Slide, Faq, SitePage
Ayarlar: platform_settings (Setting modeli, şifreli POS)

Sipariş tablosu — kritik alanlar

type, status, public_token, delivery_fee, items_total, payment_method, items_payment_method, koordinat alanları (pickup_lat/lng, dropoff_lat/lng) ve çift onay zaman damgaları (courier_delivered_at, customer_received_at).

9. Güvenlik & Uyumluluk

  • Rol middleware — Her panel yalnızca ilgili role açık (EnsureRole)
  • CSRF koruması — Tüm formlar; PayTR webhook istisna
  • Rate limiting — Giriş, kayıt ve kod gönderme istekleri sınırlandırılır
  • Şifreli credentials — POS API anahtarları Laravel Crypt ile saklanır
  • Coğrafi sınır — Kayıt ve siparişler Türkiye bbox içinde doğrulanır
  • E-posta doğrulama kodu — Kayıt öncesi 6 haneli kod, önbellekte 15 dk
  • Yasal onay — Kayıtta sözleşme sürümü (legal_version) kaydedilir
  • KVKK — Aydınlatma metni ve gizlilik politikası /yasal altında

10. URL & Modül Haritası

URLModülErişim
/Ana sayfa, kategori vitrinHerkese açık
/kesfetİşletme keşfi, kategori listesiHerkese açık
/takip/{token}Sipariş takibiToken ile
/uygulamaMüşteri paneliMüşteri
/isletmeİşletme paneliİşletme
/kuryeKurye paneliKurye
/yonetimYönetici paneliAdmin
/odemeÖdeme checkout & callbackKarma
/ayarlarProfil, banka, POS, güvenlikGiriş gerekli
/destekYardım merkezi, SSSHerkese açık
/yasalSözleşme, gizlilik, KVKKHerkese açık
/dokumantasyonBu teknik belgeHerkese açık