Küçük zincirler için çoklu şube kurulumu: şubeler, personel, müşteriler
Küçük zincirler için çoklu şube kurulumu: şube yapısı, personel rolleri ve paylaşılan müşteriler—her şubenin yalnızca ihtiyacı olan veriyi görmesini sağlayın.

Çoklu şube kurulumunda genelde neler ters gider
Küçük zincirler için çoklu şube kurulumu genellikle basit bir fikirle başlar: herkes için tek bir sistem. Sorunlar, her şubenin aynı ekranları, aynı listeleri ve aynı butonları kullanmasıyla başlar; oysa sorumlulukları aynı değildir.
En yaygın hata görünürlüğün karışmasıdır. A şubesindeki ön büro çalışanı B şubesinin randevularını, notlarını veya faturalarını görebilir. Ya da bir yönetici yerel bir sorunu düzeltmeye çalışırken yanlışlıkla tüm şubeleri etkileyen küresel bir ayarı değiştirir. Başta kullanışlı gibi gelir, sonra hızla gürültü ve risk haline gelir.
Her şubenin olması gerektiğini görmesi basittir: personel yalnızca görevleri ve çalıştıkları konumla eşleşen müşteri, sipariş, program, envanter ve raporları görmelidir. Birisi iki şubede çalışıyorsa her ikisini de görmelidir. Bölgesel yöneticiyseniz her şeyi görürsünüz, ama bu sizin bilinçli tercihiniz olmalıdır.
Hiçbir şey yapmadığınızda (veya resmi olmayan kurallara güvendiğinizde) birkaç öngörülebilir sorun ortaya çıkar:
- Listeler diğer şubeleri de içerdiği için personel yanlış kaydı düzenler.
- Müşteri detayları, notlar veya ödeme durumu şubeler arasında sızar.
- Toplamlar filtrelenmeden karıştığı için raporlar yanlış görünür.
- Destek sürekli olarak "Neden bunu görüyorum?" ve "Bulamıyorum" sorularıyla uğraşır.
Amaç her şeyi kilitlemek değil. Paylaşılan ile ayrılmış olana kasıtlı olarak karar vermektir. Birçok zincir, dönen müşteri her yerde tanınsın diye paylaşılan bir müşteri veritabanı ister; aynı zamanda yerel programlar, dahili notlar ve personel performansı gibi şube-özel verileri ayrı tutmak ister.
No-code bir araç kullanıyorsanız ekranları ve iş akışlarını oluşturmadan önce bu kurallara karar verin. Aksi takdirde insanlar sistemi kullanmaya başladıktan sonra izinleri yamalamaya çalışırsınız.
Önce tanımlamanız gereken temel parçalar
Çoklu şube kurulumları, ekranları, formları veya raporları oluşturmadan önce birkaç temel konuda anlaşmaya varıldığında daha iyi çalışır. Bunu atladıysanız izinler karışır ve veriye güven zorlaşır.
İlk olarak yapı taşlarınızı adlandırarak başlayın. Çoğu küçük zincirin şubelere (lokasyonlar), kullanıcılara (personel hesapları), rollere (iş türleri), müşterilere (paylaşılan kimlik) ve işlemlere (siparişler, randevular, biletler, iadeler) ihtiyacı vardır.
Sonra hangi kayıtların global, hangi kayıtların şube-ait olduğunu kararlaştırın. Global kayıtlar şirket genelinde paylaşılanlardır; örneğin müşteri profili, ürün kataloğu veya kurumsal fiyat kuralları. Şube-ait kayıtlar tek bir şubeye aittir; günlük kasa raporu, yerel program veya şube-spesifik envanter sayımı gibi.
İzinlerin iki boyutu olması gerekir, tek değil:
- Kapsam: bir kişinin hangi şubeyi veya şubeleri görebildiği.
- Eylem: kişinin gördüğü kayıtlar üzerinde ne yapabileceği.
Okuma ve düzenleme erişimi ayrı olmalıdır. Bölgesel bir yönetici tüm şubeleri okuyabilir ama yalnızca kendi şubesinin personel listesini düzenleyebilir. Bir ön büro çalışanı müşteri profillerini okuyabilir ama yalnızca kendi şubesi için randevu oluşturup düzenleyebilir.
Son olarak raporlamanın nasıl çalışacağını kararlaştırın. Çoğu ekip hem günlük yönetim için şube bazlı performans hem de sahipler ve finans için şubeler arası raporlama ister. Bunu erken kararlaştırın ki verileri kafa karıştırıcı şekilde karıştıran raporlar oluşturmayın.
Şubeleri köşeye sıkıştırmadan modelleme
Çoklu şube kurulumu bir kararla başlar: 'şube' işinizde ne anlama geliyor? Bazı ekipler için müşterinin ziyaret ettiği perakende mağazasıdır. Bazıları için klinik, depo veya ayrı tutulması gereken bir bayilik birimidir.
Net bir tanımla başlayın
Bir anlam seçin ve veri modelinizde ona bağlı kalın. Daha sonra departmanlar veya hizmet alanları eklemeniz gerekirse, şube kaydını aşırı yüklemek yerine bunları ayrı kavramlar olarak ekleyin.
Her şubeye adı değişse bile asla değişmeyen sabit bir tanımlayıcı verin. Kısa bir kod ("NYC-01" gibi) adres veya isimden anahtar olarak kullanmaktan genellikle daha kolaydır.
Günlük işlerinizin dayandığı bilgileri saklayın: şube kodu ve gösterim adı, adres, saat dilimi (saatler, rezervasyonlar ve raporlar için kritik), çalışma saatleri (gerekirse tatil istisnalarıyla) ve aktif / geçici kapalı / arşivlenmiş gibi bir durum.
Şimdi personelin şubelerle ilişkisini kararlaştırın. Bazı işletmeler katıdır (bir kişi, bir şube). Diğerleri personeli şubeler arasında hareket ettirir. Hangi yaklaşımı seçerseniz seçin, bu iş atamalarını ve kayıt filtrelemeyi değiştirir.
Pratik bir yaklaşım, sonradan her şeyi yeniden yapılandırmak zorunda kalmamak için ayrı bir Personel-Şube ataması modellemektir; böylece bire-çok ilişkisini destekleyebilirsiniz.
Büyümeyi sorunsuz hale getirin
Yeni lokasyonları özel durum değil veri olarak ele alın. Basit bir test: "7. şubeyi mantık değiştirmeden ekleyebiliyor muyuz?" İdeal olarak, bir lokasyon eklemek yeni bir şube kaydı oluşturmak, saat dilimi ve çalışma saatlerini ayarlamak ve personeli atamak demektir. Çok fazla kural düzenlemesi yapıyorsanız model fazla sıkı bağlı demektir.
Personel erişimi: roller, kapsamlar ve kim ne yapabilir
Temiz bir izin kurulumu bir fikirle başlar: birinin ne yapabileceğini (rol) ne görebileceğinden (kapsam) ayırın. Bunları karıştırırsanız, 'yardımsever' erişim zamanla sessizce aşırı paylaşım haline gelir.
Çoğu küçük zincir rolleri basit tutabilir: sahip, bölgesel yönetici, şube müdürü, personel ve destek. Rol başına varsayılan izinleri tanımlayın ve sıkıcı tutun. Her alan (müşteriler, randevular veya siparişler, envanter, notlar, raporlar) için görüntüleme, oluşturma ve düzenleme ne anlama geliyor karar verin. Sonra dışa aktarma veya yönetici değişiklikleri gibi asla varsayılan olmayan eylemleri belirtin.
Bir kafa karışıklığını önleyen kontrol listesi:
- Kayıtları görüntüleme
- Yeni kayıt oluşturma
- Var olan kaydı düzenleme
- Verileri dışa aktarma veya indirme
- Yönetici işlemleri (kullanıcıları yönetme, kuralları değiştirme, silme)
Kapsam kilidin ikinci yarısıdır. Çoğu ekip sadece üç kapsama ihtiyaç duyar: kendi şubesi yalnızca, atanan şubeler veya tüm şubeler. Bir şube müdürü düzenleme yetkisine sahip olabilir ama yalnızca kendi şubesinde. Bölgesel bir yönetici birkaç şubeyi görüntüleyebilir ama sadece belirlenen alanları düzenleyebilir.
İstisnaları ihtiyaç olmadan önce planlayın. Geçici erişimler otomatik olarak sona ermeli, birinin sonradan hatırlamasına bırakılmamalı. Eğitim hesapları sahte veriler veya kısıtlı bir test ortamı kullanmalı. Müteahhitlere mümkün olan en küçük kapsam verilmeli ve varsayılan olarak dışa aktarmaya izin verilmemeli.
Paylaşılan müşteriler, aşırı paylaşmadan
Paylaşılan bir müşteri veritabanı çoklu şube kurulumunun sıkça istenen noktasıdır, ancak aynı zamanda şubeler arasında veri sızdırmanın en hızlı yolu olabilir. Gerçekte 'bir müşteri, her yerde' olan nedir, bunun kararını verin; ne kalmalı yerel.
Paylaşılan veriler genellikle müşteri profili (isim, iletişim bilgileri), sadakat durumu ve 'arama yapma' veya 'e-postayı tercih eder' gibi genel tercihlerdir. Bunlar her şubenin kişiyi tanımasına ve tutarlı hizmet vermesine yardımcı olur.
Şube-spesifik veriler şubeye bağlanmalıdır: ziyaretler, satın almalar, randevular, servis notları ve 'Şube A için VIP' veya 'haftaya takip gerek' gibi yerel etiketler. Bunları yerel tutmak gürültüyü azaltır ve personelin gereksiz detayları görmesini engeller.
Görüntüleme kurallarını netleştirin
En basit politika şudur: herkes müşteriyi bulabilir, ama herkes her şeyi göremez.
Ön büro personeli profil detaylarını ve iletişim tercihlerinin yanı sıra yalnızca kendi şubesinin ziyaretlerini görebilir. Yöneticiler şubeler arası toplamları (ömrü boyunca harcama gibi) ayrıntılı notlar olmadan görebilir. Genel merkez veya destek rolleri gerektiğinde tam geçmişi görebilir. Pazarlama opt-in durumu ve segmentlere erişebilir, ama özel servis notlarını göremez.
Bu, paylaşılan müşteri veritabanını faydalı tutar, ortak günlük defteri haline getirmez.
Hassas alanları tasarımla koruyun
Hassas veriler (özel notlar, belgeler, şikâyetler, tıbbi veya hukuki detaylar) genel notlardan ayrılmalı ve daha sıkı izinlerin arkasında kilitlenmelidir. Belge saklıyorsanız erişimi açıkça belirleyin: kim yükleyebilir, kim görüntüleyebilir ve görüntüleme aynı şube ile sınırlı mı.
Örnek: müşteri Şube 1'de saç kesimi, Şube 2'de bir ürün satın alır. Şube 2 personeli sadakat düzeyini ve 'parfüme alerjisi var' gibi tercihleri görmeli ama Şube 1'in detaylı şikâyet notunu görmemelidir.
Basit kalan veri ayırma desenleri
Ana karar, veriyi etiketleyerek mi yoksa fiziksel olarak bölerek mi ayıracağınızdır. Çoğu küçük zincir tek bir veritabanıyla ve net kurallarla basit kalabilir.
Desen 1: Tek veritabanı, her kayıt bir BranchID içerir
Bu en yaygın seçimdir. Siparişler, randevular, envanter sayımları ve personel işlemleri aynı tabloda yaşar, ancak her satırda bir BranchID (veya LocationID) bulunur. Paylaşılan müşterileri, şubeler arası raporlamayı ve farklı şubelerde çalışan personeli destekler.
Desen 2: Şube başına ayrı veritabanları
Bu daha "daha güvenli" gibi gelebilir, ama günlük maliyetleri artırır. Taşımalar birçok kez yapılır, raporlar zorlaşır ve paylaşılan müşteriler senkronizasyon problemi olur.
Pratik bir kural:
- Paylaşılan müşteriler, ortak raporlama ve esnek personel kapsaması istiyorsanız bir veritabanı ve BranchID kullanın.
- Yasal veya sözleşmesel sınırlamalar izolasyonu zorunlu kılıyorsa ayrı veritabanlarını kullanın.
Hangi deseni seçerseniz seçin, şube filtrelemeyi otomatik yapın. Her ekranın veya raporun filtreyi hatırlamasına güvenmeyin. Lokasyonu kullanıcı oturumunun bir parçası olarak ele alın ve tek bir yerde zorunlu kılın ki her liste ve işlem varsayılan olarak kapsamlı olsun.
Ayrıca global öğeler ile yerel üstesnalar için plan yapın. Tanımları global tutun (katalog öğeleri, hizmet şablonları, fiyat kuralları), sonra gerekirse şube başına geçersiz kılma alanları ekleyin (şube-spesifik fiyat, stok eşiği, açılış saatleri). Bu, katalogu her şube için kopyalama ihtiyacını azaltır.
Erken audit trail ekleyin. "Bunu kim, nerede değiştirdi?" sorusuna yanıt vermeniz gerekecek. En azından kullanıcı kimliği, şube kimliği, zaman damgası, eylem (oluştur, güncelle, sil) ve hassas alanlar için önce-sonra değerlerini kaydedin.
Adım adım: şubeleri, izinleri ve görünürlük kurallarını kurma
Amaç basit: insanlar işlerini yapmak için sadece ihtiyaç duyduklarını görsün, başka bir şey değil. Buna ulaşmanın en kolay yolu, neyin bir şubeye ait olduğunu, neyin paylaşıldığını ve personelin ekranlarda nasıl dolaştığını belirlemektir.
Pratik kurulum sırası
Veritabanınıza veya uygulama oluşturucunuza dokunmadan önce kağıt üzerinde (veya basit bir hesap tablosunda) başlayın.
- Sakladığınız her veri öğesini listeleyin (randevular, siparişler, envanter, personel notları, müşteri profilleri). Her birini global (paylaşılan) veya şube-ait olarak işaretleyin.
- Rolleri sade bir dille tanımlayın (ön büro, teknisyen, mağaza müdürü, merkez). Her rol için şube kapsamını yazın: tek şube, atanan şubeler veya tüm şubeler.
- Paylaşılan müşteriler için kuralları belirleyin: şubeler arası neler görünür ve neler yerel kalır. Kimlerin paylaşılan alanları düzenleyebileceğine karar verin.
- Personel ve yöneticiler için farklı ekranlar ve raporlar tasarlayın. Personel görünümleri varsayılan olarak 'benim şubem' olmalı. Yönetici görünümleri filtreler ve karşılaştırmalar içerebilir.
- Farklı şubelerden örnek hesaplarla test edin. Gerçek görevleri deneyin (randevu oluştur, iade yap, müşteri güncelle, rapor görüntüle) ve sistemin engellemesi gerekenleri engellediğini doğrulayın.
Test etmeyi atlamayın. Çoğu izin sorunu sadece gerçek bir rolle oturum açıp günlük işleri hızlıca yapmaya çalıştığınızda ortaya çıkar.
Yaygın hatalar ve nasıl kaçınılır
Çoğu çoklu şube sorunu büyük başarısızlıklar değildir. Sessizce veri sızdıran veya insanların işini engelleyen küçük varsayılanlardır. Her ekranın, raporun ve dışa aktarmanın bir konum kuralına ihtiyacı olduğunu varsayın.
Raporlar ve dışa aktarmalar sık kaçan bir noktadır. Ekipler ekranda dikkatlice şube filtrelerken, sonra "tüm müşteriler" veya "geçen ayın satışları" gibi bir dışa aktarma yapıp kazara diğer konumları dahil eder. Dışa aktarmaları ayrı özellikler olarak düşünün; kendi filtreleri ve testleri olmalı. Bir personel uygulamada bir kaydı göremiyorsa, onu dışa aktaramamalıdır.
Diğer bir sorun yönetici rolünün sessizce admin haline gelmesidir. Bu, eylemleri ekrana göre grupladığınızda olur; ekran bazlı yetkilendirme risk bazlı yetkilendirmeyi gizler. Yöneticiler geri ödemelere, vardiya düzenlemelerine veya müşteri notlarına ihtiyaç duyabilir ama kullanıcı oluşturma, izin değiştirme veya şube kurma gibi işlere ihtiyaçları olmayabilir. 'Operasyon yönetimi' ile 'sistem yönetimi'ni ayırın.
Paylaşılan müşteriler de her şeyi tek bir alan setine koyduğunuzda karışır. Eğer şube-özel notları ("burada her zaman indirim ister") global nota koyarsanız aşırı paylaşım oluşturursunuz. Paylaşılan müşteri gerçeklerini şube-spesifik notlar ve ziyaret geçmişinden ayırın.
Denetim izi eksikliği suçlama ve yeniden çalışmaya neden olur. İki şube aynı müşteriyi düzenlediğinde 'kimi, ne zaman, neyi değiştirdi' bilmeniz gerekir. Basit created_by, updated_by ve zaman damgaları bile yardımcı olur.
Son olarak, şubeler arasında dolaşan personel için plan yapın. Personeli 'taşımak' yerine çoklu-şube erişimi vermek gerekiyor; aksi halde programlar ve görünürlük kırılır.
Erken gömülecek pratik düzeltmeler:
- Her veri türü için bir kural yazın: global (paylaşılan) veya şube-özel.
- Rolleri eylemlerle tanımlayın, sonra konum kapsamı ekleyin (tek şube vs birçok).
- Her liste, rapor ve dışa aktarmada şube filtrelerini yerleştirin.
- Şube notlarını ve paylaşılan müşteri verilerini ayrı depolayın.
- Müşteri ve sipariş değişiklikleri için düzenleyen kullanıcı ve zaman bilgilerini kaydedin.
Canlıya almadan önce hızlı kontroller
Her lokasyona erişim açmadan önce test günü yapın. Her şube için en az bir çalışan, artı bir bölgesel yönetici olacak şekilde test hesapları oluşturun. Normal işleri yapın: bir randevu oluşturun, sipariş oluşturun, bir müşteri güncelleyin, rapor çalıştırın.
Bu kontrol listesi en çok kafa karıştıran sorunları yakalamanıza yardımcı olur:
- Bir şube çalışanı olarak giriş yapıp yalnızca kendi şubenizin siparişlerini, randevularını ve görevlerini gördüğünüzden emin olun. Arama, filtreler ve son öğeler diğer konumları ifşa etmemeli.
- Birden fazla şubeyi denetleyen bir yönetici olarak giriş yapın. Birden fazla şubeyi görüntüleyebilmeliler; ancak düzenleme sadece atanan şubelere sınırlı olmalı.
- Aynı müşteri profilini iki farklı şubeden açın. İsim ve iletişim bilgileri her yerde uyumlu olmalı ve güncellemeler kopya oluşturmamalı.
- Yönetici veya raporlama görünümünde aktif şubeyi değiştirin ve toplamları karşılaştırın. Birkaç günü kontrol edin: rakamlar şube değiştirince değişmeli ve tüm-şubeler görünümü toplamlarına eşit olmalı.
- Bir personel hesabını devre dışı bırakın ve erişimin hemen iptal edildiğini doğrulayın (uygulama erişimi ve varsa admin veya API yolları).
Sonra bir uç durum test edin: müşteri Şube A'da alışveriş yaptıktan sonra Şube C'yi arayıp destek istiyor. Şube C personeli paylaşılan müşteri profilini görmeli ancak Şube A'nın dahili notlarını veya kısıtlı kayıtlarını görmemeli.
Örnek senaryo: bir müşteri, üç şube
Üç şubeli küçük bir kuaför zinciri hayal edin: Downtown, Riverside ve Mall. Tek bir müşteri listelerini paylaşıyorlar ki müşteri her yere rezervasyon yapabilsin, ama her şube kendi programını, personelini ve günlük notlarını ayrı tutuyor.
Downtown'da ön büroda çalışan Maya sisteme girer. Yalnızca Downtown'un takvimini, Downtown personelini ve bugünün randevularını görebilir. Müşterileri tüm şubeler arasında arayabilir ama yalnızca temel profil bilgilerini görür: isim, telefon, alerjiler ve sadakat durumu. Riverside'ın programını, personel performansını veya özel notlarını görmez.
Sahip Alex giriş yapar. Alex tüm üç takvimi, şube bazlı gelir raporlarını görebilir ve personel rollerini yönetebilir. Ayrıca büyük indirimler gibi istisnaları onaylayabilir.
Jordan genellikle Downtown'a gider, ama bu hafta Mall'da son dakika bir randevu alır. Mall Jordan'ı check-in yaparken Jordan'ın temel profilini ve servis geçmişini (ne yapıldığı, ne zaman ve kim tarafından) görür. Randevudan sonra Mall yapılan yeni servisi Jordan'ın geçmişine ekler. Downtown bunu daha sonra görebilir, böylece tekrar aynı sorular sorulmaz veya yanlış takip önerilmez.
Zorlu an ödeme sırasında olur. Jordan uzun bekleme nedeniyle %30 indirim ister. Mall ön bürosu indirim isteği girebilir ama %10'dan fazlasını uygulayamaz. İstek Alex'e onaya gider. Alex onaylar, fiş güncellenir ve denetim kaydı isteği kimin yaptığını ve kimin onayladığını gösterir.
Hassas notlar farklı ele alınır. Bir stilist 'müşteri tıbbi bir süreçten geçiyor, saç derisi tedavisinde ekstra dikkat' gibi özel bir not eklediğinde bunu yalnızca stilistler ve sahip görebilir. Ön büro personeli bunun yerine 'özel muamele gerekli' gibi daha güvenli bir bayrak görür ama detayları görmez.
Bunu çalıştıran şey açık birkaç kuraldır: şube kapsamlı programlar ve personel, paylaşılan müşteri temelleri, kısıtlı hassas notlar ve indirimler için onay limitleri.
Sonraki adımlar: kuralları belgeleyin, erişimi test edin, sonra inşa edin
Birçok kural kağıda dökülüp özellikle test edilirse çoklu şube kurulumu düzenli kalır. 'Kim neyi görebilir' kararlarını kısa cümlelere dönüştürün.
Günlük durumları kapsayan 10–15 kısa ifade hedefleyin: rezervasyonlar, müşteri profilleri, ödemeler, iadeler, notlar ve raporlar. Örneğin:
- Bir personel kendi şubesinin müşteri ve siparişlerini görebilir.
- Bir müşterinin iletişim bilgileri tüm şubelere görünür; notlar şube-özel kalır.
- Yöneticiler şube raporlarını görebilir; sadece sahipler tüm-şube toplamlarını görebilir.
- İadeler yönetici onayı gerektirir ve aynı şube içinde yapılmalıdır.
- Fiyat listelerini ve küresel ayarları sadece merkez düzenleyebilir.
Hangi ekranların ve raporların her zaman şube kapsamıyla varsayılan açılması gerektiğine karar verin. Bir ekran tüm şubeleri gösterebiliyorsa, bunu açık bir filtre yapın, varsayılan yapmayın. İyi bir test: bir kasiyer başka bir şubenin günlük gelir raporunu yanlışlıkla açabilir mi? Eğer evetse, varsayılanı sıkılaştırın.
Gerçek rollerle test edin, admin hesaplarla değil. Üç test kullanıcı oluşturun (kasiyer, yönetici, merkez) ve gerçekçi bir akışı deneyin: müşteri Şube A'yı arar, sonraki hafta Şube B'yi ziyaret eder ve Şube C'den iade ister. Her kişinin sadece ihtiyaç duyduğunu gördüğünü doğrulayın.
Aylık izin kontrolü planlayın ki rollerde yeni eklemeler, iş değişiklikleri, yeni şubeler ve rapor erişiminde aşınma olmasın.
Eğer özel bir dahili araç inşa ediyorsanız, AppMaster (appmaster.io) şubeleri, rolleri ve iş kurallarını bir arada modellemenize ve gereksinimler değiştikçe temiz kod üreterek büyürken izin kurallarının tutarlı kalmasına yardımcı olabilir.


