اگر تیمتان در چند شعبه پخش است، سادهترین قاعده این است: هر نفر فقط همان بخشها و همان ساختمانهایی را ببیند که کارش به آنها گره خورده. پذیرش شعبهی شمال لازم نیست سود سهامداران را ببیند، و مسئول نظافت لازم نیست مبلغ رزروها را بداند. این قاعده در ادبیات امنیت اطلاعات «حداقل دسترسی» نام دارد؛ NIST آن را اینطور تعریف میکند که کاربر فقط به چیزی دسترسی بگیرد که برای انجام کار تعیینشدهاش لازم است. راهنمای OWASP هم یادآوری میکند که اضافهکردن دسترسی بعداً آسان است و پسگرفتنش سخت.
این نوشته دو لایه دارد: اول اصول تقسیم کار بین پذیرش، نظافت و مدیر شعبه که به هر ابزاری ربط دارد؛ بعد اینکه در شاهکلید دقیقاً چه چیزی برای کنترل دسترسی وجود دارد و چه چیزی ندارد. اگر هنوز در مرحلهی تصمیمگیری برای رشد هستید، نقشهی بزرگتر در راهنمای از یک اقامتگاه تا چند مجتمع آمده است.

چرا با رشد، «همهچیز دست مدیر» از کار میافتد؟
با یک واحد، مالک خودش پیام میدهد، کلید تحویل میدهد و پول را چک میکند. با سه مجتمع، سه مشکل همزمان پیدا میشود:
گلوگاه شدن مالک. هر تغییر رزرو، هر پرسش دربارهی واحد خالی و هر تأیید واریز باید از او رد شود.
اطلاعات بیدلیل پخش میشود. شمارهی مهمانها، مبلغها و حساب شرکا اگر برای همه باز باشد، هم خطای ناخواسته زیاد میشود و هم بعداً نمیتوانید بفهمید مشکل از کجا بوده.
مسئولیت گم میشود. وقتی دو نفر همزمان رزرو را ویرایش میکنند و هیچکس نمیداند چه کسی چه چیزی را عوض کرده، پیدا کردن علت یک اشتباه ساده هم نیمساعت وقت میبرد.
راهحل «همه را قابلاعتماد فرض کردن» نیست. راهحل این است که اشتباه محتمل هر نفر، از همان ابتدا دامنهی کوچکی داشته باشد.
هر نقش در یک مجموعهی چندشعبه چه کاری میکند؟
تقسیم زیر یک الگوی پیشنهادی است، نه قانون؛ اسم و تعداد نقشها را با اندازهی تیم خودتان تنظیم کنید.
نقش | کار اصلی | چه چیزی باید ببیند | چه چیزی لازم نیست ببیند |
|---|---|---|---|
مالک / مدیر کل | تصمیمهای مالی و ساختاری | همهچیز | — |
مدیر شعبه | رزرو، نرخ، هزینهی روزمرهی یک مجتمع | رزرو، واحد، هزینهی همان ساختمان | سهم شرکا، ساختمانهای دیگر |
پذیرش | ثبت رزرو، ورود و خروج، پیگیری مانده | رزرو و میز پذیرش همان شعبه | گزارش سود، تسویه شرکا، تنظیمات |
نظافت و خدمات | آمادهسازی واحد بعد از خروج | برنامهی ورود و خروج | مبلغها، مشخصات کامل مهمان |
حسابدار / همکار مالی | هزینهها و گزارش | هزینهها و گزارش درآمد | ثبت و ویرایش رزرو |
یک نکته دربارهی ستون آخر: کمتر دیدن، فقط «امنیت» نیست. پذیرشی که فقط رزرو و تحویل را میبیند، حواسش پرت صدها عدد دیگر نمیشود.
در شاهکلید کنترل دسترسی دقیقاً چطور کار میکند؟
سیستم سه لایه دارد و هرکدام کار جدایی میکند. چیزی که در ادامه میخوانید همان است که در خود برنامه وجود دارد.
لایه ۱: نقش (چه کاری بتواند بکند)
صفحهی نقشها فقط برای مدیر کل در منو دیده میشود. هر نقش یک نام، توضیحات و کلید «نقش فعال است» دارد، و فهرست دسترسیها در چند گروه آمده است:
رزرو و اقامت: رزروها (که رزرو سریع و تقویم را هم شامل میشود)، منابع رزرو، روشهای پرداخت، کارتهای واریز، نرخهای روزانه، روزهای خاص، رویدادها
ساختمان و واحد: ساختمانها و واحدها
مالی: گزارش درآمد و سهامداران و تسویهها، هزینهها، دستهبندی هزینهها، مسئولین خرید
کاربران و نیرو: مرخصیها
لیست سیاه: لیست سیاه مجموعه و شبکه
مدیریت سیستم: کاربران، گزارش فعالیتها
برای هر بخش عملیاتهای مشاهده، ایجاد، ویرایش، حذف (و در چند بخش «مدیریت کامل») جدا تیک میخورد. اگر عملیاتی مثل ویرایش را روشن کنید، «مشاهده» همان بخش هم خودکار روشن میشود، چون بدون دیدن، ویرایش معنا ندارد. برای پیدا کردن سریع، کادر جستجوی بخش و دکمههای «انتخاب همه» و «پاککردن همه» هست.
چند محدودیت مهم که در کد اعمال میشود:
بخشهایی مثل مدیریت بدهیها، مدیریت اعلانها و نقشها فقط مال مدیر کل است و به نقش دیگر قابل واگذاری نیست.
نقشی که به کاربری داده شده، حذف نمیشود؛ ابتدا باید کاربران را جابهجا کنید.
نقش غیرفعال یعنی کاربرانش نمیتوانند وارد شوند.
کسی که مدیر کل نیست نمیتواند به دیگری نقشی بدهد که دسترسیاش از دسترسیهای خودش بیشتر باشد؛ و هیچکس نقش خودش را عوض یا حساب خودش را غیرفعال نمیکند.
لایه ۲: ساختمان (کدام شعبه را ببیند)
این لایه برای چندشعبهها مهمترین است. در صفحهی کاربران، با باز کردن «جزئیات و تنظیمات» هر کاربر، تب ساختمانها را میبینید که دو حالت دارد: «همه ساختمانها» (حالت پیشفرض، و ساختمانهای جدید هم خودکار دیده میشوند) یا «فقط ساختمانهای انتخابشده».
وقتی محدود کنید، کاربر فقط دادهی همان ساختمانها را در رزروها، واحدها، مالی و داشبورد میبیند و فقط در همانها میتواند ثبت کند. این محدودیت روی سرور اعمال میشود، یعنی فقط پنهانکردن یک دکمه نیست. اگر پذیرش شعبهی شمال بخواهد رزروی را به واحدی در شعبهی دیگر منتقل کند، سیستم قبول نمیکند.
دو استثنا را حتماً بدانید. سهامداران، کاربران و گزارش فعالیتها بر اساس ساختمان فیلتر نمیشوند؛ دسترسی به آنها را فقط «نقش» تعیین میکند. پس اگر به کسی دسترسی «مشاهدهی کاربران» بدهید، همهی کاربران را میبیند. تنظیم ساختمانهای مجاز برای مدیر کل هم نمیشود؛ او همیشه همه را میبیند.
لایه ۳: اعلان (چه چیزی را بشنود)
در تب اعلانهای هر کاربر، مدیر میتواند هر نوع اعلان (رزرو جدید، ویرایش رزرو، لغو رزرو) را فقط برای همان نفر خاموش کند، یا کانال درونبرنامه و پوش را جداگانه ببندد. پذیرش یک شعبه که ساختمانهای دیگر برایش نامربوط است، با این تنظیم از غرقشدن در اعلان نجات پیدا میکند. خود کاربر هم میتواند اعلان ساختمانهایی را که نمیخواهد از پروفایلش خاموش کند.
تنظیم عملی: چند نقش بسازیم؟
برای اغلب مجموعهها سه یا چهار نقش کافی است. یک ترتیب ساده:
نقش را از «کار» شروع کنید، نه از آدم. اول بنویسید پذیرش در یک شیفت چه میکند: رزرو ثبت میکند، ورود و خروج را علامت میزند، واریز مانده را ثبت میکند.
در صفحهی نقشها، «ایجاد نقش جدید» را بزنید. برای نمونه، نقش پذیرش: «رزروها» با مشاهده، ایجاد و ویرایش؛ «ساختمانها» و «واحدها» فقط مشاهده؛ «لیست سیاه» برای استعلام. حذف رزرو را روشن نکنید.
کاربر را بسازید. در صفحهی کاربران گزینهی افزودن کاربر، نام و نام خانوادگی، شمارهی موبایل، رمز عبور (حداقل ۶ کاراکتر)، نقش و وضعیت را میخواهد.
بلافاصله ساختمانها را محدود کنید. تب ساختمانها، «فقط ساختمانهای انتخابشده». این گام را کسی فراموش میکند که تا آخر هفته منتظر میماند.
اعلانها را تنظیم کنید تا هر نفر فقط رویدادهای مربوط به خودش را بگیرد.
برای حسابدار یا همکار مالی، دسترسی «مدیریت کامل» در بخش مالی را با احتیاط بدهید: راهنمای خود برنامه میگوید این گزینه عملیات حساس مالی را هم شامل میشود.
نظافت و خدمات: واقعیتی که باید بدانید
شاهکلید برای نظافت خانهداری و نظافت در شاهکلید دارد و برای آن سه دسترسی جدا تعریف میشود: مدیریت کارها، «اجرای نظافت» برای نیروی میدانی (شروع و پایان، چکلیست، عکس و گزارش مشکل، بدون ویرایش و حذف) و «بازرسی» برای سرپرست. پس ساختن حساب برای نیروی نظافت با نقش فقط-اجرا ممکن و معمولاً بهتر است. میز پذیرش و رزروها مبلغها و ماندهی پرداخت را هم نشان میدهند، و دسترسی به آنها را بخشبهبخش میشود بست، اما نه فیلدبهفیلد.
راه سادهتر و بیخطر: تقویم واحدها در صفحهی رزروها خروجی تصویر و خروجی اکسل دارد، و میشود تصویرش را کپی کرد. میتوانید برنامهی ورود و خروج هفته را برای نیروی نظافت بفرستید، بدون اینکه به مبلغ و مشخصات مهمان دسترسی داشته باشد. اگر هم میخواهید خود نیرو حساب داشته باشد، به او فقط مشاهدهی رزروها و فقط ساختمان خودش را بدهید و بدانید که مبلغها برایش دیده میشود.
گفتگوی داخلی شاهکلید هم از همین دسترسیها پیروی میکند: اگر گروه هر ساختمان را روشن کنید، هر نفر فقط عضو گروه ساختمانهایی است که به آنها دسترسی دارد و با غیرفعال شدن کاربر از گروههای خودکار بیرون میرود (گفتگوی داخلی تیم در شاهکلید).
برای هماهنگی خود تحویل و تخلیه، چکلیست تحویل و تخلیه و ثبت خسارت را که میتوانید روی کاغذ یا پیامرسان استفاده کنید ببینید.
چطور بفهمیم چه کسی چه کرده؟
بدون ردپا، تقسیم مسئولیت بیمعناست. در شاهکلید چند ردپا هست:
میز پذیرش: بخشهای خروجی، ورودی، تسویه و خالی را دارد و بهازای هر رزرو میشود «انجام شد» را ثبت کرد؛ نام و عکس کسی که ورود یا خروج را علامت زده کنار آن میماند. فیلتر ساختمان هم دارد.
گزارش فعالیتها: فهرست ایجاد، ویرایش، لغو و حذف رکوردها با فیلتر کاربر، نوع موجودیت، نوع عملیات و بازهی تاریخ. اگر کسی مبلغ یا تاریخ رزرو را عوض کند، مقدار قبل و بعد را میبینید. این صفحه با دسترسی «گزارش فعالیتها» باز میشود.
صفحهی کاربران: وضعیت آنلاین هر کاربر و آخرین صفحهای که باز کرده، بهعلاوهی «سیستمهای وارد شده». اگر موبایل یک نیرو گم شد یا از شعبه رفت، با غیرفعالکردن حسابش همهی نشستهای بازش بسته میشود.
رسید رزرو: کاربری که رزرو را ثبت کرده روی آن ثبت میشود.
مرخصی و جایگزینی در چند شعبه
وقتی پذیرش شعبهی دوم مرخصی میگیرد، مدیر باید ساعتی یا روزی را از قبل بداند. صفحهی مرخصیها درخواست روزانه یا ساعتی با تاریخ، تعداد روز یا ساعت و دلیل را میپذیرد و درخواست در وضعیت «در انتظار تأیید» میماند. تأیید و رد فقط با مدیر کل است. این صفحه تقویم شیفت نیست و جایگزینی را خودش پیشنهاد نمیدهد؛ فقط ثبت و تأیید مرخصی را مرتب میکند.
اشتباههای رایج
یک حساب مشترک برای کل پذیرش. وقتی سه نفر با یک شماره وارد میشوند، گزارش فعالیت دیگر چیزی را نشان نمیدهد. برای هر نفر یک حساب.
نقش «همهکاره» برای راحتی. معمولاً با شعار «فعلاً موقت» شروع میشود و تا ماهها میماند.
فراموشکردن غیرفعالسازی نیروی رفته. این کار یک کلیک است، ولی نکردنش یک در باز است.
دادن دسترسی مالی به پذیرش برای اینکه «مانده را ببیند». ماندهی رزرو را از میز پذیرش میبیند؛ گزارش سود و تسویهی شرکا لازم نیست. نحوهی کار آنها را در حسابوکتاب شرکا و سهامداران اقامتگاه میتوانید بخوانید.
دسترسی مشاهدهی کاربران برای نقشهایی که فقط باید رزرو را ببینند.
اگر چند واحد در یک مجتمع دارید و میخواهید ببینید رزروهای کنار هم چطور مدیریت میشود، مدیریت رزرو چند واحد در یک مجتمع را هم نگاه کنید.
سؤالهای پرتکرار
آیا میتوانم برای هر شعبه یک مدیر جدا تعریف کنم؟
بله. یک نقش «مدیر شعبه» بسازید و در تب ساختمانهای هر کاربر، فقط ساختمان خودش را انتخاب کنید. محدودیت در همهی بخشها (رزرو، واحد، مالی، داشبورد) اعمال میشود.
اگر پذیرش یک شعبه بخواهد رزرو شعبهی دیگری را ببیند چه میشود؟
اگر ساختمان آن شعبه جزو ساختمانهای مجازش نباشد، رزروها، واحدها و مالی آن را نمیبیند و نمیتواند رزروی در آن ثبت یا به آن منتقل کند. برای دسترسی موقت باید ساختمان را به او اضافه کنید.
فرق نقش و دسترسی ساختمان چیست؟
نقش میگوید کاربر چه کاری میتواند بکند (مثلاً رزرو ثبت کند ولی حذف نکند)؛ دسترسی ساختمان میگوید کجا. هر دو باید درست تنظیم شوند.
نقشها را چه کسی میسازد؟
ساخت و ویرایش نقشها فقط برای مدیر کل فعال است. بقیه میتوانند، با دسترسی «کاربران»، حساب بسازند، به شرطی که نقشی بزرگتر از نقش خودشان ندهند.
آیا برای نیروی نظافت حساب لازم است؟
الزامی نیست. چون بخش جداگانهی نظافت در نرمافزار نیست، خیلی از مجموعهها برنامهی ورود و خروج را از تقویم خروجی میگیرند و میفرستند. حساب فقط وقتی لازم است که نیرو خودش ورود و خروج را علامت بزند.
مطالب مرتبط
مدیریت چند اقامتگاه؛ از یک واحد تا چند مجتمع — با رشد از یک واحد به چند واحد و بعد چند مجتمع، چیزهایی که تا دیروز با حافظه و گوشی اداره میشد از هم میپاشد. این…
قیمتگذاری فصلی و تعطیلات اقامتگاه — برای چند واحد، یک قیمت ثابت یا چند عدد بیمنطق جواب نمیدهد. این راهنما نشان میدهد چطور با یک قیمت پایه، چند ضریب و…
راهاندازی شاهکلید؛ آموزش گامبهگام — از ورود به پنل تا اولین رزرو، نرخها، هزینهها و تسویه شرکا. این راهنمای گامبهگام برای سه گروه میزبان نوشته شده…




نظرها