---
title: "Tadilat.app: ilan ve teklif var, otomatik ihale yok"
canonical: https://dnyazilim.com/blog/tadilat-pazaryeri-ilan-teklif-otomatik-ihale-yok
source: html
published: "2026-08-07T10:00:00.000Z"
updated: "2026-08-16 15:58:52"
---

# Tadilat.app: ilan ve teklif var, otomatik ihale yok

Geliştiriliyor, canlı vitrin yok. İki taraf, dar coğrafya, durum makinesi. İlk teklife iş verilmez. Komisyon hikâyesi yokken platform ekonomisi yazmıyoruz.

Yayın: 2026-08-07T10:00:00.000Z

Ev sahibi üç ustayı arıyor, biri dönmüyor. Usta da iş bekliyor, WhatsApp grubunda ilan kayboluyor. [Tadilat.app](/isler/tadilat) ikisini aynı yere getirmeyi deniyor: ilan, teklif, anlaşma. Stüdyo işidir; durumu dürüst yazalım: geliştiriliyor, canlı vitrin yok. Bu yazı “pazaryeri açtık, komisyon akıyor” değil. İki taraflı bir ürünü erken kurunca nerede patladığını biliyoruz; onu yazıyoruz.

## Kim önce gelecek

Usta yoksa ev sahibi ilan açmaz. İlan yoksa usta gelmez. İlk gün herkese açık bir pazar hayaldir. Dar coğrafya, dar iş tipi: Bandırma’da tadilat, boya, tesisat. Ülke çapında “her usta” ilk sürümde moderasyonu öldürür.

İlk tarafta kim duracak, onu seçin. Ev sahibi ilanı kolaydır, usta profili zordur. Profilsiz teklif spam olur, ustasız ilan mezarlığı olur. Bizde yön şöyle: önce doğrulanmış usta (telefon, iş fotoğrafı, ilçe), sonra ev sahibine “bu ilçede şu kadar usta bakıyor” demeden ilan açtırmamak. Sayı yoksa cümle kurmayın.

## İlk teklife iş verilmez

Ev sahibi bakmadan “kazandı” demek hem ustayı hem evi yakar. Durumlar sıkıcı ve yeterlidir: ilan açık, verildi, iptal, süresi bitti. Teklif bekliyor, kabul, red, çekildi. Kazananı ev sahibi veya yönetici seçer.

```typescript
type ListingStatus = "open" | "awarded" | "cancelled" | "expired";
type BidStatus = "pending" | "accepted" | "declined" | "withdrawn";

function award(listing: Listing, bid: Bid, actor: Role) {
  if (listing.status !== "open") throw new Error("ilan kapalı");
  if (bid.status !== "pending") throw new Error("teklif durmuyor");
  if (actor !== "homeowner" && actor !== "admin") throw new Error("yetki yok");
  listing.status = "awarded";
  bid.status = "accepted";
}
```

Ödeme ve komisyon ilk günden şart değil. [Pazar yeri hizmetinde](/hizmetler/web-uygulamalari/pazar-yeri) de yazıyoruz: önce küçük çalışan hali, trafik artınca büyütürüz. Emanet ödeme ve uyuşmazlık ikinci katmandır. Birinci katman mesaj, teklif ve kim kazandı. Ödemeyi erken bağlamak, henüz iş akışı yokken pos entegrasyonu demektir. Moderasyon baştan vardır. “Acil 500 lira villa tadilatı” ilanı ve “her işe giderim” usta profili kuyruğa düşer. MotoRiders’ta ticaretin forumu boğmaması gibi; burada ilan kalitesi pazarı boğar veya yaşatır.

## Fotoğraf baştan, puan sonra

Usta profiline iş fotoğrafı isteriz. Stok fotoğraf ve “örnek villa” reddedilir. Ev sahibi ilanına da oda fotoğrafı koyulsun; ölçüsüz “komple tadilat” teklifi şişirir. Puan sistemi ilk günden şart değil. Puan yokken sahte 4.9 üretmek, olmayan şantiyeyi portföye koymaya benzer. Önce eşleşme, sonra isterseniz puan. İlan süresi bitsin. Otuz gün açık kalan “boya ustası aranıyor” mezarlığı yeni ustayı kovar. Süresi biten ilanı yeniden açma elle olsun.

## WhatsApp’ı kapatmayın, orada bırakmayın

Ev sahibi yine mesaj atacak. Ürün o mesajı iş kartına alsın, grupta kaybetmesin. “WhatsApp yasak” diye başlayan pazar yerleri Türkiye’de açılmadan biter. Yasa şudur: pazar yerinde fiyat ve teslim konuşulduysa iş orada kapansın. Dışarı kaçışı tamamen kesemezsiniz; kesmeye çalışmak sansür gibi durur. Bildirim yeni teklif, kabul ve red için gelsin. Her mesajda bildirim basmak ustayı uygulamadan düşürür. Özet, günde birkaç kez yeter.

Geliştirme aşamasında bakılacak sayı şudur: ilan açıldı mı, teklif geldi mi, kabul edildi mi. Ciro hikâyesi yok. Yokken “platform ekonomisi” yazmayız. Canlı olunca adresi [işler](/isler)e koyarız; koymadan koyduk demeyiz. İki taraflı iş konuşacaksanız [pazar yeri](/hizmetler/web-uygulamalari/pazar-yeri) veya [iletişim](/iletisim). Tadilat.app ortak üründür; size özel panel ayrı durur. İkisini karıştırmayalım.