امکانات و رزرو ساختمان
هدف مدل
این مدل مشخص میکند هر امکان ساختمان چگونه تعریف و فعال میشود، چه کسانی مجاز به استفاده هستند، قیمت و محدودیتها چگونه اعمال میشوند و Reservation چه چرخهای دارد.
اصل مدل
Important
Facility بدون حداقل قواعد استفاده نباید فعال شود. هر Facility تنظیمات مستقل دارد و انتخاب نام آن بهتنهایی مجوز استفاده، رزرو یا دسترسی ایجاد نمیکند.
موجودیتهای اصلی
| موجودیت | مسئولیت |
|---|---|
| Facility | تعریف امکان ساختمان و وضعیت Draft یا Active |
| Usage Model | قابل رزرو، استفاده آزاد، درخواست و تأیید یا فقط اطلاعرسانی |
| Eligibility Rule | گروههای مجاز استفاده |
| Pricing Rule | مدل رایگان، ثابت، ساعتی، نفری، ودیعه یا سفارشی |
| Availability Rule | روزها، ساعتها، ظرفیت و بازههای مسدود |
| Booking Policy | افق رزرو، مدت، تعداد مجاز و تداخل |
| Approval Policy | نیاز به تأیید و Role تأییدکننده |
| Cancellation Policy | مهلت لغو، بازپرداخت، جریمه و No-show |
| Restriction Rule | سن، مهمان، بدهی، Membership و مدارک |
| Reservation | درخواست استفاده یک کاربر یا واحد از Facility |
| Facility Role Assignment | مسئول مدیریت یا تأیید Reservation در Scope همان Facility |
روابط
flowchart LR
BUILDING["ساختمان"] --> FACILITY["امکان"]
FACILITY --> USAGE["مدل استفاده"]
FACILITY --> ELIGIBILITY["گروههای مجاز"]
FACILITY --> PRICING["قاعده قیمت"]
FACILITY --> AVAILABILITY["زمانبندی و ظرفیت"]
FACILITY --> BOOKING["قواعد رزرو"]
FACILITY --> APPROVAL["قاعده تأیید"]
FACILITY --> CANCELLATION["قاعده لغو"]
FACILITY --> RESTRICTION["محدودیتها"]
FACILITY --> RESERVATION["رزرو"]
RESERVATION --> PAYMENT["پرداخت"]
RESERVATION --> USER_SCOPE["کاربر یا واحد"]
APPROVAL --> ROLE_ASSIGNMENT["مسئول تأیید"]
مدلهای استفاده
- قابل رزرو
- استفاده آزاد
- درخواست و تأیید
- فقط اطلاعرسانی
گروههای مجاز
- مالکان
- مستأجران
- ساکنان
- اعضای خانواده
- کارکنان
- مهمانان
- گروه سفارشی
مجازبودن باید بر اساس Membership، رابطه با واحد و Current Context معتبر بررسی شود.
مدلهای قیمت
- رایگان
- مبلغ ثابت هر Reservation
- ساعتی
- بر اساس تعداد نفر
- ودیعه
- مدل سفارشی
حداقل قواعد فعالسازی
حداقل تنظیمات لازم بر اساس Usage Model تعیین میشوند، اما هر Facility پیش از Active شدن باید دستکم این موارد مرتبط را داشته باشد:
- مدل استفاده
- گروه مجاز
- قیمت یا رایگانبودن
- زمانبندی و ظرفیت
- Approval Policy
- Cancellation Policy
- محدودیتهای اصلی
قواعد دسترسی
- تعریف Facility بهتنهایی Role یا Permission ایجاد نمیکند.
- مدیر یا تأییدکننده باید Membership و Role Assignment معتبر داشته باشد.
- Permission مدیریت Facility از Permission استفاده یا رزرو آن جدا است.
- Scope دسترسی میتواند به یک Facility مشخص محدود شود.
وضعیت Facility
DRAFTACTIVEINACTIVE
Facility ناقص در وضعیت DRAFT باقی میماند.
وضعیت Reservation
PENDING_APPROVALAPPROVEDREJECTEDCANCELEDCOMPLETEDNO_SHOW
قواعد مشترک
- سیستم باید از تداخل Reservationهای ناسازگار جلوگیری کند.
- تغییر قواعد Facility نباید Reservation قبلی را بیصدا بازنویسی کند.
- قواعد مؤثر باید هنگام ایجاد یا تأیید Reservation Snapshot شوند.
- Payment موفق فقط برای Reservation معتبر ثبت میشود.