راهنمای جامع راه‌اندازی

راه‌اندازی سیستم مدیریت مجموعه

این راهنما برای مدیران و کاربران مجموعه نوشته شده — بدون نیاز به دانش فنی. تمام بخش‌ها با عناوینی که دقیقاً در نرم‌افزار می‌بینید توضیح داده شده‌اند.

نتیجه‌ای برای جستجوی شما پیدا نشد.

عبارت دیگری امتحان کنید یا فهرست کنار صفحه را ببینید.

۱

مقدمه — دو سطح تنظیم

پنل مدیریت پلتفرم مدیر سیستم

از منوی کاربر (بالای صفحه) گزینه «پنل مدیریت پلتفرم» را بزنید. مسیر: /admin/clinics

اینجا مجموعه (کلینیک) ساخته می‌شود، ماژول لیزر یا پذیرش کلاسیک روشن می‌شود و کاربران به مجموعه وصل می‌شوند.

تنظیمات مجموعه مدیر مجموعه

از منوی کناری «تنظیمات» — مسیر: /settings

برندینگ، فرم پذیرش، چاپ، مالی، پرونده بیمار و سایر تنظیمات روزمره مجموعه.

بخشمسیرچطور فعال می‌شود
پذیرش کلاسیک/admissionsپنل مدیریت ⁦←⁩ جریان پذیرش ⁦←⁩ «پذیرش کلاسیک»
لیزر/laser-roomپنل مدیریت ⁦←⁩ جریان لیزر ⁦←⁩ «فعال‌سازی ماژول لیزر»
مالیفاکتور و پرداختتنظیمات ⁦←⁩ «تنظیمات مالی» ⁦←⁩ «فعال‌سازی بخش مالی»

تنها پذیرش کلاسیک (بدون لیزر): سوئیچ «پذیرش کلاسیک» در پنل مدیریت فقط وقتی ماژول لیزر فعال باشد دیده می‌شود. اگر فقط پذیرش کلاسیک دارید، منوها و مسیرهای پذیرش کلاسیک به‌طور پیش‌فرض فعال می‌مانند.

تنها لیزر (بدون پذیرش کلاسیک): اگر ماژول لیزر فعال و «پذیرش کلاسیک» خاموش باشد، منوهای «پذیرش‌ها»، «اتاق پزشک»، «اتاق عمل»، «فرم پذیرش» و فیلدهای فرم پذیرش در پرونده بیمار نمایش داده نمی‌شوند.

۲

ترتیب پیشنهادی راه‌اندازی

انتقال از CRM قدیمی؟ ابتدا بخش انتقال داده از CRM قدیمی را انجام دهید، سپس بقیه این راهنما را برای تنظیمات و بهره‌برداری دنبال کنید.

این ترتیب برای اولین بار راه‌اندازی مجموعه پیشنهاد می‌شود:

  1. پنل مدیریت: ساخت مجموعه، اتصال کاربران، فعال‌سازی ماژول لیزر یا پذیرش کلاسیک، ذخیره «جریان پذیرش» و «جریان لیزر»
  2. تنظیمات ⁦←⁩ هویت سایت: عنوان، لوگو، رنگ و فونت
  3. منو ⁦←⁩ فرم پذیرش: طراحی فرم پذیرش (فقط اگر پذیرش کلاسیک فعال است)
  4. تنظیمات ⁦←⁩ استایل پرینت: اندازه کاغذ، سربرگ، سپس «ویرایش استایل پرینت»
  5. تنظیمات ⁦←⁩ فیلدهای پرونده: فیلدهای اطلاعات بیمار
  6. تنظیمات ⁦←⁩ کد پذیرش: قالب شماره پذیرش
  7. تنظیمات ⁦←⁩ تنظیمات مالی و «حساب‌های پیش‌فرض»
  8. تنظیمات ⁦←⁩ اعلان‌ها (در صورت نیاز)
  9. پذیرش کلاسیک: «ویزیت پزشک»، «اسناد پذیرش»، «چک‌لیست جراحی»، «دلایل لغو»
  10. منو: پزشکان، مشاوران، خدمات، انبار
  11. تنظیمات لیزر: شیفت‌های کاری، اپراتورها، دستگاه‌ها، نواحی لیزر، محصولات مصرفی
  12. وب اپلیکیشن (در صورت نیاز): فعال‌سازی در پنل پلتفرم، محتوا، ظاهر، SEO، ورود کاربران — جزئیات
  13. تست: یک پذیرش آزمایشی ثبت کنید
۳

نقش‌های کاربری

نقشمعمولاً چه کسی
مدیر کلمدیر فنی / صاحب پلتفرم — دسترسی به پنل مدیریت
مدیر مجموعهمدیر کلینیک — تنظیمات و کاربران
منشیپذیرش، پرونده، اتاق‌ها
پزشکاتاق پزشک و ویزیت
حسابدارفاکتور و پرداخت (با فعال بودن بخش مالی)
مشاورپذیرش کلاسیک — انتخاب هنگام ثبت پذیرش (کاربر متصل به «مشاوران»)

نقش‌ها از منوی «پرسنل و دسترسی» ⁦←⁩ «نقش‌ها» قابل تنظیم هستند. هر کاربر باید به مجموعه مورد نظر متصل باشد و از بالای صفحه مجموعه فعال را انتخاب کند.

۴

پنل مدیریت پلتفرم

مسیر: /admin/clinics — فقط برای مدیر سیستم.

مجموعه‌ها

با «مجموعه جدید» کلینیک بسازید. فیلدهای فرم:

عنوان در فرمتوضیح
نام مجموعهنام داخلی
نام نمایشی سایتعنوانی که کاربران می‌بینند
شعار / توضیح کوتاهزیرعنوان
ایمیل پشتیبانیتماس
تلفن پشتیبانیتماس
تصویر پشتیبانیتصویر اختیاری (حداکثر ۲ مگابایت)

در هر ردیف: مدیریت مجموعه · جریان پذیرش · جریان لیزر · کاربران مجموعه

جریان پذیرش پذیرش کلاسیک

مسیر: /admin/clinics/.../admission-workflow — دکمه: «ذخیره جریان پذیرش»

تنظیمات کلی

  • فعال‌سازی جریان خودکار پذیرش
  • پذیرش کلاسیک — فقط وقتی ماژول لیزر فعال است نمایش داده می‌شود؛ خاموش = فقط پذیرش لیزر

بدون ماژول لیزر: سوئیچ «پذیرش کلاسیک» در این صفحه نمایش داده نمی‌شود و پذیرش کلاسیک همیشه فعال است. برای حالت «فقط لیزر» ابتدا ماژول لیزر را از بخش جریان لیزر فعال کنید.

هدایت به صفحه (رفتن کاربر)

بعد از هر رویداد (ایجاد پذیرش، ویزیت، تأیید، پرداخت، …) کاربر به کدام صفحه برود: جزئیات پذیرش، اتاق پزشک، ویزیت، تأیید مشتری، فاکتور، تعیین وقت عمل، اتاق عمل، چک‌لیست.

مراحل جریان

مرحلهکاربرد
ویزیت پزشکثبت خدمات در اتاق پزشک
تایید مشتریانتخاب نهایی خدمات
پرداختفاکتور و دریافت وجه
تعیین وقت عملتاریخ و محل جراحی
انتظار عملتا روز عمل
چک‌لیست جراحیقبل و حین عمل

هر مرحله: سوییچ فعال/غیرفعال + «عنوان نمایشی مرحله».

انتقال وضعیت پرونده (مرحله بعدی)

پس از ایجاد، ویزیت، تأیید (با/بدون مالی)، پرداخت، ثبت وقت عمل — وضعیت پرونده به کجا برود.

برچسب وضعیت‌های پذیرش

متن نمایشی هر وضعیت در لیست پذیرش‌ها.

صفحه تعیین وقت عمل

عنوان صفحه، توضیح، برچسب دکمه‌ها، برچسب تاریخ و محل، محل‌های جراحی (لیست + گزینه «سایر»).

برچسب مراحل چک‌لیست جراحی

نام هر مرحله در چک‌لیست عمل.

جریان لیزر لیزر

مسیر: /admin/clinics/.../laser-workflow — دکمه: «ذخیره جریان لیزر»

پیش‌نیاز اتاق لیزر: سوییچ «فعال‌سازی ماژول لیزر» باید روشن باشد.

فقط لیزر: اگر «پذیرش کلاسیک» در بخش جریان پذیرش خاموش باشد، پیام هشدار در بالای این صفحه نمایش داده می‌شود و منوها و مسیرهای پذیرش کلاسیک برای کاربران مجموعه مخفی می‌شوند.

مراحل جریان لیزر

مرحلهتوضیح کوتاه
مشاوره لیزرمشاوره اولیه (اختیاری)
ارزیابی پوستبررسی و فرم ارزیابی (اختیاری)
برنامه‌ریزی جلساتنواحی، تعداد جلسات (اختیاری)
تسویه هزینه جلسهدریافت هزینه — نیاز به «فعال‌سازی بخش مالی»
زمان‌بندی جلسهتاریخ و زمان (اختیاری)
اجرای جلسه لیزرثبت شات، دستگاه، اپراتور — معمولاً فعال
مراقبت پس از درماندستورالعمل مراقبتی (اختیاری)

انتقال بین مراحل

پس از مشاوره، ارزیابی، برنامه‌ریزی، تسویه، زمان‌بندی، اتمام جلسه، مراقبت — مرحله بعدی چیست.

برچسب وضعیت‌ها

متن وضعیت‌های لیزر در اتاق لیزر.

اتاق لیزر

عنوان صفحه و توضیح صفحه در لیست اتاق لیزر.

فیلدهای ارزیابی پوست

فیلدهای دلخواه: برچسب، نوع (متن، متن چندخطی، انتخابی، بله/خیر، عدد)، اجباری بودن.

کاربران مجموعه

مسیر: /admin/clinics/.../users

  • انتخاب از سامانه: کاربر موجود + نقش
  • کاربر جدید: نام، نام کاربری، ایمیل، تلفن، رمز، وضعیت، نقش
۵

تنظیمات مجموعه

منو ⁦←⁩ «تنظیمات»/settings

هر تب دکمه «ذخیره» جداگانه دارد. «چک‌لیست جراحی» و «دلایل لغو» بلافاصله با هر افزودن/ویرایش ذخیره می‌شوند.

تبکی نمایش داده می‌شود
هویت سایتهمیشه
اعلان‌هاهمیشه
فیلدهای پروندههمیشه
استایل پرینتهمیشه
تنظیمات مالیهمیشه (تب همیشه دیده می‌شود؛ گزینه «فعال‌سازی بخش مالی» بقیه بخش‌های پولی را کنترل می‌کند — جزئیات)
کد پذیرشهمیشه
شیفت‌های کاریفقط ماژول لیزر
ویزیت پزشکفقط پذیرش کلاسیک
اسناد پذیرشفقط پذیرش کلاسیک
چک‌لیست جراحیفقط پذیرش کلاسیک
دلایل لغوفقط پذیرش کلاسیک

هویت سایت

اطلاعات عمومی

عنوان سایت · شعار / توضیح کوتاه · ایمیل پشتیبانی · تلفن پشتیبانی

رنگ اصلی سیستم

رنگ حالت روشن · رنگ حالت تیره

فونت سیستم

فونت فارسی و انگلیسی: ایران‌یکان (محلی — بدون Google Fonts)

حالت رنگی

فعال بودن حالت تیره · تم پیش‌فرض (سیستم / روشن / تیره)

تصاویر و برندینگ

لوگو (روشن/تیره) · فاوآیکون (روشن/تیره)

فرم پذیرش (منوی اصلی)

منو ⁦←⁩ «فرم پذیرش»/admission-form

قبل از ثبت اولین پذیرش واقعی، فرم پذیرش را طراحی کنید: فیلدهای سفارشی، ترتیب نمایش و نوع هر فیلد (متن، انتخابی، تاریخ و …).

چرا فقط پذیرش کلاسیک؟ «فرم پذیرش» مربوط به مسیر پذیرش جراحی/کلاسیک است — فیلدهای سفارشی اضافه‌ای که هنگام ثبت پذیرش از منوی «پذیرش‌ها» یا پرونده بیمار پر می‌شود. این منو و صفحه فقط وقتی «پذیرش کلاسیک» در پنل مدیریت فعال باشد در سامانه دیده می‌شود.

پذیرش لیزر مسیر جدا دارد (اتاق لیزر، ارزیابی پوست، برنامه درمان و …) و از این فرم‌ساز استفاده نمی‌کند. اگر فقط لیزر دارید، این مرحله را رد کنید.

اگر «پذیرش کلاسیک» غیرفعال باشد، فیلدهای فرم پذیرش در ایجاد پرونده، ویرایش پرونده، مشاهده پرونده، پرینت پرونده و ویرایش استایل پرینت (گروه «اطلاعات تکمیلی») نمایش داده نمی‌شوند.

استایل پرینت

  • اندازه کاغذ: A4 یا A5
  • تصویر سربرگ پرینت: آپلود تصویر
  • ویرایش استایل پرینت: لینک به /print-style (بعد از آپلود سربرگ)

فیلدهای پرونده

«فیلدهای اطلاعات عمومی پرونده» — برای هر فیلد: نمایش، اجباری، عنوان، عرض، ترتیب (کشیدن و رها کردن).

فیلدها: نام و نام خانوادگی، موبایل، کد ملی، تلفن ثابت، ایمیل، تاریخ تولد، سن، جنسیت، وضعیت تأهل، شغل، آدرس، بیمار VIP، فعال.

«جنسیت» برای فیلتر «نواحی لیزر» بر اساس بیمار استفاده می‌شود.

کد پذیرش

کد پذیرش کلاسیک

پیشوند · پسوند · «استفاده از عدد در کد» · «شروع شماره از» · «دامنه شماره» (این مجموعه / سراسری) · پیش‌نمایش کد

کد پذیرش لیزر

پیشوند · پسوند · «استفاده از عدد در کد» · «شروع شماره از» · «دامنه شماره» (این مجموعه / سراسری) · پیش‌نمایش کد — فقط وقتی ماژول لیزر فعال باشد.

شیفت‌های کاری لیزر

مسیر: /settings?tab=laser-shifts — تب «شیفت‌های کاری»

ساعت پیش‌فرض شیفت صبح و عصر برای همه اپراتورها. در صفحه /laser/operators هنگام تعریف شیفت، «صبح» یا «عصر» همین بازه را اعمال می‌کند.

  • فعال — شیفت صبح/عصر
  • عنوان نمایشی — مثلاً «صبح» یا «شیفت اول»
  • ساعت شروع / پایان — فرمت ۰۸:۰۰

برای ساعات خاص یک اپراتور (مثلاً فقط چهارشنبه عصر)، در /laser/operators شیفت «سفارشی» تعریف کنید.

تنظیمات مالی

مسیر: /settings — تب «تنظیمات مالی»

  • فعال‌سازی بخش مالی — روشن/خاموش کردن کل قابلیت‌های پولی در مجموعه
  • واحد نمایش: ریال یا تومان
  • افزودن مالیات به فاکتور + «نرخ مالیات (درصد)»

حساب‌های پیش‌فرض (در تب تنظیمات مالی)

بانک، صاحب حساب، شماره کارت، شماره حساب، شبا — برای ثبت پرداخت وقتی پزشک حساب اختصاصی ندارد.

وقتی «فعال‌سازی بخش مالی» روشن باشد چه چیزهایی اضافه می‌شود؟

با روشن بودن این گزینه، بخش‌های زیر در سامانه ظاهر یا فعال می‌شوند. با خاموش بودن، قیمت و فاکتور در هیچ‌جا نمایش داده نمی‌شود و ثبت پرداخت ممکن نیست.

بخشبا مالی روشنبا مالی خاموش
پذیرش‌ها تب «مالی» در جزئیات پذیرش · مشاهده فاکتور · ثبت پرداخت · تاریخچه پرداخت‌ها · مانده حساب فقط تب‌های «پذیرش» و «پرونده» — بدون فاکتور و پرداخت
ثبت پذیرش کلاسیک نمایش قیمت خدمات هنگام انتخاب · جمع مبلغ فقط انتخاب خدمت بدون قیمت
اتاق پزشک — ویزیت قیمت هر خدمت · «هزینه بیمارستان» (اگر در تنظیمات ویزیت فعال باشد) انتخاب خدمت بدون قیمت
تکمیل پذیرش قیمت خدمات · هزینه بیمارستان · امکان تغییر قیمت (اگر در تنظیمات ویزیت مجاز باشد) بدون فیلدهای مبلغ
لغو پذیرش / لغو جراحی نمایش مبلغ پرداخت‌شده · غیرقابل‌استرداد · قابل‌استرداد فقط دلیل لغو
خدمات ستون «قیمت» در لیست · فیلد قیمت در ثبت/ویرایش بدون قیمت
انبار ستون‌های «آخرین خرید» و «آخرین فروش» · قیمت در ورود/خروج کالا بدون قیمت
نواحی لیزر قیمت هر شات — برای محاسبه هزینه جلسه تعریف ناحیه بدون قیمت
اتاق لیزر — اتمام جلسه محاسبه هزینه جلسه · پیش‌نمایش کمیسیون · مرحله «تسویه هزینه جلسه» (اگر در جریان لیزر فعال باشد) ثبت جلسه بدون مبلغ و تسویه
پرونده بیمار مبلغ در تاریخچه پذیرش‌ها بدون مبلغ
جریان پذیرش — هدایت گزینه «فاکتور» در انتقال‌ها (بعد از تأیید، پرداخت و …) هدایت به فاکتور غیرفعال
اسناد پذیرش بخش «اسناد پرداخت» (رسید و فیش) در تنظیمات و پرونده پذیرش تنظیمات اسناد پرداخت بی‌اثر (چون پرداختی ثبت نمی‌شود)

«فعال‌سازی بخش مالی» را قبل از ثبت اولین پذیرش واقعی تنظیم کنید. واحد پول (ریال/تومان) و مالیات را همین‌جا مشخص کنید؛ بعداً تغییر واحد روی مبالغ قبلی اثر نمی‌گذارد.

حقوق و مزایا حسابداری داخلی

مسیر: /settings?tab=payroll — تب «حقوق و مزایا»

این بخش مستقل از «تنظیمات مالی بیمار» است. حتی اگر فاکتور و پرداخت بیمار خاموش باشد، می‌توانید حقوق پرسنل را محاسبه کنید.

فعال‌سازی

  • فعال‌سازی محاسبه حقوق — روشن/خاموش کردن کل ماژول حقوق و منوی حسابداری

اپراتورهای لیزر لیزر

فقط وقتی ماژول لیزر فعال باشد.

  • محاسبه حقوق اپراتور
  • مبنای محاسبه — «درآمد جلسه» (هزینه محاسبه‌شده) یا «مبلغ پرداخت‌شده جلسه»
  • درصد پیش‌فرض قرارداد — اگر برای دستگاه/اپراتور درصد اختصاصی نباشد
  • اولویت درصد دستگاه / اپراتور — ترتیب اعمال درصد اختصاصی

فرمول: حقوق = مجموع (مبنای هر جلسه تکمیل‌شده × درصد قرارداد ÷ ۱۰۰)

مشاوران پذیرش کلاسیک

فقط وقتی پذیرش کلاسیک فعال باشد.

  • محاسبه حقوق مشاور
  • روش محاسبه:
    • «درصد از کل مبلغ پذیرش» — یک‌بار روی جمع فاکتور (نه هر پرداخت جدا)
    • «مبلغ ثابت به ازای هر پذیرش»
  • درصد پیش‌فرض / مبلغ ثابت — اگر برای مشاور در صفحه «مشاوران» مقدار اختصاصی ثبت نشده باشد

برای حالت درصدی، پذیرش‌هایی که در بازه انتخابی حداقل یک پرداخت داشته باشند در محاسبه می‌آیند؛ مبنای محاسبه، کل مبلغ فاکتور پذیرش است.

پیش‌نیازها

  • اپراتورها در /laser/operators — درصد اختصاصی (اختیاری)
  • مشاوران در منوی «مشاوران» — درصد یا حالت محاسبه (اختیاری)
  • برای مشاور با حالت درصدی: «فعال‌سازی بخش مالی» و ثبت فاکتور/پرداخت پذیرش

اعلان‌ها

فعال‌سازی توستر · موقعیت · مدت نمایش · حداکثر هم‌زمان · فاصله · تم · رنگ‌های غنی · دکمه بستن · پیش‌نمایش زنده (موفقیت، خطا، اطلاعات، هشدار).

ویزیت پزشک پذیرش کلاسیک

  • توضیحات پزشک — نمایش و عنوان
  • بیمار ویژه
  • هزینه بیمارستان (با مالی فعال)
  • امکان تغییر قیمت در تکمیل پذیرش (با مالی فعال)

اسناد پذیرش

بخشتنظیمات
اسناد پذیرشفرمت‌های مجاز · حداکثر حجم هر فایل
اسناد پرداختفرمت‌های مجاز · حداکثر حجم هر فایل (رسید و فیش پرداخت)
اسناد چک‌لیست جراحیفقط پذیرش کلاسیک

چک‌لیست جراحی پذیرش کلاسیک

دسته جدید / ویرایش دسته: نام، مرحله، اجباری، فعال

آیتم جدید / ویرایش آیتم: برچسب، توضیح، اجباری، فعال

دلایل لغو پذیرش کلاسیک

دلایل لغو پذیرش — عنوان، گزینه «سایر»، ترتیب

دلایل لغو جراحی — عنوان، گزینه «سایر»، ترتیب

ترتیب پیشنهادی راه‌اندازی وب‌اپ

بعد از فعال‌سازی در پنل پلتفرم، این ترتیب برای اولین بار پیشنهاد می‌شود:

  1. پنل پلتفرم: فعال‌سازی، Slug، دامنه اختصاصی (در صورت production) — /admin/clinics/.../web-app
  2. Deploy / env: build وب‌اپ، اتصال به CRM — جزئیات
  3. زبان‌ها: تب «زبان‌ها» — زبان پیش‌فرض، RTL/LTR، پرچم
  4. محتوا: تب «محتوا» — عنوان Hero، زیرعنوان، متن دکمه‌ها، شمارنده‌های آمار — جزئیات
  5. ظاهر: تم آماده، رنگ‌ها، استایل بخش‌ها، Hero، تصاویر — جزئیات
  6. شبکه‌های اجتماعی: لینک پلتفرم‌ها + استایل نمایش — جزئیات
  7. تماس، فوتر، SEO: تب‌های مربوط در همان صفحه
  8. ورود کاربران: OTP، Google، بازیابی رمز — در صورت نیاز
  9. مشاوران: تعریف مشاور + جایگاه صف — اگر مودال مشاوره فعال است
  10. نمونه کارها و FAQ: دسته، رسانه، سؤال/پاسخ
  11. تست نهایی: باز کردن وب‌اپ روی موبایل، ورود، FAQ، نمونه کارها

در تب «طراحی و پیش‌نمایش»، پیش‌نمایش زنده سمت چپ (یا بالا در موبایل) تغییرات را قبل از ذخیره نشان می‌دهد. دکمه «ذخیره» پایین صفحه برای هر تب جدا است — بعد از هر تغییر مهم حتماً ذخیره کنید.

دسترسی‌های وب اپلیکیشن

منوی «وب اپلیکیشن» در CRM فقط با دسترسی مناسب دیده می‌شود:

دسترسیکاربرد
web-app.viewمشاهده تنظیمات، پیش‌نمایش، لیست کاربران وب‌اپ
web-app.manageویرایش و ذخیره محتوا، ظاهر، SEO، ورود، FAQ، نمونه کارها و …

از منوی «پرسنل و دسترسی» ← «نقش‌ها» این دسترسی‌ها را به «مدیر مجموعه» یا نقش اختصاصی بدهید.

تب محتوا — متن‌ها و شمارنده‌ها

مسیر: /settings/web-app — تب استودیو «محتوا»

ابتدا زبان محتوا را انتخاب کنید؛ متن‌ها برای همان زبان ذخیره می‌شوند. برای چند زبان، از تب «زبان‌ها» زبان اضافه کنید و محتوا را برای هر زبان جداگانه ویرایش کنید.

بخش‌های متنی مهم صفحه اصلی

بخش در فرمنمایش در وب‌اپ
صفحه اصلی ← عنوان سکشن بالاعنوان Hero (مثلاً نام پزشک)
صفحه اصلی ← توضیحات سکشن بالازیرعنوان Hero (تخصص)
صفحه اصلی ← متن دکمه مشاورهدکمه اصلی پایین صفحه
صفحه اصلی ← متن دکمه سوالات متداولدکمه ثانویه FAQ
صفحه اصلی ← متن دکمه نمونه کارهادکمه بالای بخش آمار (نیاز به ورود)
هدر ← عنوان دکمه ورود (پیامک/رمز)دکمه ورود بالای صفحه
شمارنده‌ها۴ کارت آمار (مقدار، پیشوند، پسوند، برچسب)

برای طرح کلینیکی با فونت نستعلیق، عنوان Hero را اینجا بنویسید و در تب ظاهر فونت عنوان را «ایران نستعلیق» انتخاب کنید.

تب ظاهر — Theme، Hero و رسانه

تب استودیو «ظاهر» — چهار زیرتب دارد:

۱. استایل بخش‌ها

تغییرات بلافاصله در پیش‌نمایش دیده می‌شوند. قبل از انتشار حتماً ذخیره کنید.

تنظیماثرگزینه‌های مهم
استایل پس‌زمینه Hero پس‌زمینه بخش بالای صفحه کلینیکی (سبز + اشکال نرم)، گرادیان، باند تیره، تخت، مش، نورافکن
استایل شبکه‌های اجتماعی نوار آیکون‌های social زیر Hero Glass، Floating، Card، Bar، Inline، Outline، Soft، Gradient و …
استایل بخش آمار کارت شمارنده‌ها + تصویر سایه‌دار، حاشیه‌دار، تخت
استایل دکمه‌های پایین شکل دکمه مشاوره و FAQ قرصی (Pill)، گوشه ملایم، تیز (Sharp)

طرح نمونه کلینیک: تم آماده Clinical + استایل Hero کلینیکی + شبکه اجتماعی Glass. رنگ ثانویه را سبز و رنگ اصلی را بوردو تنظیم کنید.

۲. Hero — تصویر، چیدمان و تایپوگرافی

  • جایگاه تصویر Hero: سمت چپ (پیش‌فرض) یا سمت راست
  • چیدمان متن: کلاسیک، ادیتوریال (خط عمودی)، فشرده، اسپات‌لایت
  • تراز عمودی: بالا / وسط / پایین — برای چسباندن متن به بالا یا پایین Hero
  • خط افقی / خط عمودی: ضخامت، رنگ، ارتفاع خط عمودی، فاصله از متن
  • فاصله‌گذاری:
    • فاصله بلوک متن از تصویر — مقدار منفی = چسبیدن عنوان به عکس
    • فاصله بین متن و تصویر — فاصله مستقیم دو بلوک
    • فاصله بخش از بالا/پایین/چپ و راست
  • عنوان / زیرعنوان: فونت جدا (مثلاً ایران نستعلیق)، اندازه، رنگ، فاصله از راست
  • تصویر: حاشیه، سایه، پس‌زمینه پشت عکس، گردی گوشه‌ها

۳. تم و رنگ

  • استایل آماده (Preset): Modern، Classic، Clinical، Luxury و … — با تغییر preset، رنگ‌ها و layout پیش‌فرض عوض می‌شود
  • فونت پیش‌فرض، مقیاس فاصله‌گذاری، گوشه کارت‌ها و دکمه‌ها
  • پالت رنگ: primary، secondary، accent، background، surface، text و …

۴. رسانه و آمار

  • لوگو، Favicon، تصویر Hero، تصویر بخش آمار — بلافاصله پس از انتخاب آپلود می‌شوند
  • چیدمان آمار: کنار آمار یا زیر آمار · جایگاه تصویر · مقیاس و گردی

دکمه ذخیره پایین صفحه فقط فونت، رنگ‌ها و استایل را ذخیره می‌کند — تصاویر با انتخاب فایل خودکار ذخیره شده‌اند.

شبکه‌های اجتماعی

تب استودیو «شبکه‌های اجتماعی»

  • استایل بخش: همان تنظیم «استایل شبکه‌های اجتماعی» در تب ظاهر — هر دو یک مقدار را تغییر می‌دهند
  • برای هر پلتفرم (اینستاگرام، تلگرام، واتساپ، …): فعال/غیرفعال، شناسه/لینک، انتخاب آیکون

در مودال مشاوره آنلاین، کاربر فقط شبکه‌های اجتماعی مشاور اختصاص‌یافته را می‌بیند — از منوی «مشاوران» شبکه هر مشاور را پر کنید.

Deploy و Build وب‌اپ

پیش‌نیاز سرور

  • CRM روی HTTPS در دسترس باشد (API برای bootstrap و auth)
  • Node.js برای build (روی CI یا محلی)
  • وب‌سرور برای فایل‌های static (Nginx، Cloudflare Pages، …)

Build

در پوشه webapp/:

npm install
npm run build

خروجی در پوشه webapp/dist/ — همین را روی دامنه وب‌اپ deploy کنید.

فونت‌ها (محلی — بدون Google Fonts)

فونت‌های فارسی و انگلیسی داخل CRM در مسیر crm/resources/fonts/ نگهداری می‌شوند (یکان‌باخ، وزیرمتن، ایران‌یکان، ایران نستعلیق و …). وب‌اپ و رزرو آنلاین فونت را از API سرور CRM می‌گیرند:

  • /api/web-app/fonts/{font-key}.css — فایل CSS با @font-face
  • /api/web-app-fonts/… — فایل‌های woff/woff2

پنل CRM هم از همین فونت‌های محلی استفاده می‌کند (resources/css/fonts.css). نیازی به اتصال اینترنت یا Google Fonts API نیست.

متغیرهای env (Production)

متغیرالزامتوضیح
VITE_CRM_API_URL بله آدرس عمومی CRM — مثال: https://crm.example.com
VITE_WEB_APP_SLUG فقط localhost با دامنه اختصاصی در پنل پلتفرم معمولاً لازم نیست

توسعه محلی

cd webapp
npm install
npm run dev

پورت پیش‌فرض Vite معمولاً 5174 است. CRM باید همزمان در حال اجرا باشد (php artisan serve یا معادل).

دامنه اختصاصی

  1. در پنل پلتفرم فیلد «دامنه اختصاصی» را پر کنید — مثال: app.clinic.com
  2. DNS را به سرور وب‌اپ اشاره دهید
  3. VITE_CRM_API_URL را هنگام build روی آدرس CRM تنظیم کنید
  4. فایل‌های dist را deploy کنید — SPA باید fallback به index.html داشته باشد

CORS: CRM باید درخواست از دامنه وب‌اپ را بپذیرد. در محیط production معمولاً از همان تنظیمات سرور Laravel/CORS استفاده می‌شود — اگر bootstrap خطای شبکه داد، با مدیر فنی بررسی کنید.

تنظیمات عمومی Booking

مسیر: /settings/booking

تنظیمتوضیح
فعال‌سازی رزروروشن/خاموش کل Booking
مدت Hold موقت Slotدقیقه — زمان رزرو موقت قبل از پرداخت/تأیید (پیش‌فرض: ۵)
فرم قبل از رزروغیرفعال / چند فیلد / کل فرم پذیرش
پرداخت ویزیتفعال/غیرفعال — درگاه‌ها
پیامک تأییدپنل SMS، قالب، پیش‌نمایش
لینک اختصاصی منشیتولید لینک برای هر منشی
نمایش خدماتفعال/غیرفعال هر دسته (مثلاً لیزر)
ظاهررنگ، لوگو — مستقل از WebApp

تعطیلی پزشک: مرخصی و تعطیلی هر پزشک از منوی پزشکان ← تایم کاری و تعطیلی ثبت می‌شود. این تعطیلی‌ها مستقیماً روی تقویم Booking و Slotهای خالی اثر می‌گذارند — روز/بازه در تعطیلی غیرقابل انتخاب است.

پس از رزرو موفق: اگر بیمار پرونده نداشت، پرونده ایجاد می‌شود. پذیرش (Admission) ایجاد نمی‌شود — فقط نوبت (Appointment) ثبت می‌شود.

درگاه‌های پرداخت Booking

مسیر: /settings/booking?tab=payment

درگاه‌های پشتیبانی‌شده: زرین‌پال و زیبال. هر درگاه با لوگوی رسمی در صفحه انتخاب پرداخت نمایش داده می‌شود.

درگاهفیلدهای CRMمستندات رسمی
Zarinpalزرین‌پال Merchant ID (۳۶ کاراکتر) · فعال/غیرفعال · حالت Sandbox zarinpal.com/docs
Zibalزیبال Merchant · فعال/غیرفعال · حالت تست (zibal) help.zibal.ir/IPG/API
  • اگر فقط یک درگاه فعال باشد، کاربر مستقیماً به همان هدایت می‌شود
  • اگر چند درگاه فعال باشد، کاربر درگاه را با لوگوی رسمی انتخاب می‌کند
  • Callback URL هر درگاه: https://crm.example.com/api/booking/payments/callback/{gateway}

راه‌اندازی درگاه زرین‌پال

  1. در zarinpal.com ثبت‌نام و احراز هویت پذیرنده
  2. از پنل زرین‌پال، Merchant ID (کد ۳۶ کاراکتری درگاه) را دریافت کنید
  3. در CRM: تنظیمات رزرو آنلاین ⁦←⁩ تب پرداخت ⁦←⁩ زرین‌پال را فعال و Merchant ID را وارد کنید
  4. برای تست: حالت Sandbox را روشن کنید — API: sandbox.zarinpal.com
  5. Callback URL را در پنل زرین‌پال (در صورت نیاز) مطابق آدرس CRM تنظیم کنید

جریان API: POST /pg/v4/payment/request.json → هدایت به payment.zarinpal.com/pg/StartPay/{Authority} → بازگشت با Authority و Status=OKPOST /pg/v4/payment/verify.json

راه‌اندازی درگاه زیبال

  1. در zibal.ir ثبت‌نام و درخواست درگاه اینترنتی
  2. پس از تأیید شاپرک، Merchant اختصاصی دریافت کنید (برای تست: zibal)
  3. در CRM: تنظیمات رزرو آنلاین ⁦←⁩ تب پرداخت ⁦←⁩ زیبال را فعال و Merchant را وارد کنید
  4. Callback URL: آدرس CRM — پس از پرداخت، trackId و success برمی‌گردد
  5. تأیید نهایی با POST https://gateway.zibal.ir/v1/verify

جریان API: POST /v1/request → هدایت به https://gateway.zibal.ir/start/{trackId} → بازگشت به callback → POST /v1/verify با trackId

انتقال داده از CRM قدیمی

این بخش برای مدیر سیستم یا پشتیبانی فنی است — انتقال از نسخه قدیمی CRM (MySQL + فایل‌های آپلود) به ساختار جدید ۱st Solutions.

فرآیند انتقال در دو فاز انجام می‌شود:

  1. بارگذاری بکاپ SQL در یک دیتابیس موقت (اتصال legacy)
  2. Import داده‌ها از دیتابیس legacy به دیتابیس اصلی CRM (اتصال DB_CONNECTION)

برای انتقال کامل معمولاً یک دستور کافی است؛ برای تکرار یا رفع نقص، می‌توانید مراحل را جداگانه اجرا کنید.

خلاصه سریع — انتقال کامل

از پوشه crm در ترمینال:

php artisan clinic:migrate-legacy-data ^
  --sql="C:\path\to\backup.sql" ^
  --uploads="C:\path\to\uploads" ^
  --fresh-target ^
  --force

در PowerShell از ^ برای ادامه خط استفاده کنید. در bash از \ استفاده کنید.

پیش‌نیازها

  • فایل بکاپ SQL از CRM قدیمی (مثلاً drnegahi.sql)
  • پوشه فایل‌های آپلود legacy (اسناد پذیرش، رسید پرداخت و …) — در صورت وجود
  • PHP، Composer و MySQL/MariaDB روی سرور یا محیط توسعه
  • دسترسی به ترمینال در پوشه پروژه CRM
  • فضای کافی روی دیسک برای کپی فایل‌ها به storage/app/public

هشدار: گزینه --fresh-target تمام جداول دیتابیس هدف را پاک و از نو می‌سازد. فقط روی دیتابیس خالی یا محیط تست استفاده کنید — نه روی دیتابیس production که داده زنده دارد.

دو دیتابیس جدا

اتصالنقشنام پیش‌فرض
DB_*دیتابیس هدف — CRM جدیدfirst (یا مقدار DB_DATABASE)
LEGACY_DB_*دیتابیس موقت — بکاپ قدیمیcrm_legacy

تنظیمات .env

در فایل crm/.env این مقادیر را تنظیم کنید:

# دیتابیس هدف (CRM جدید)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=first
DB_USERNAME=root
DB_PASSWORD=

# دیتابیس موقت legacy (بکاپ قدیمی)
LEGACY_DB_HOST=127.0.0.1
LEGACY_DB_PORT=3306
LEGACY_DB_DATABASE=crm_legacy
LEGACY_DB_USERNAME=root
LEGACY_DB_PASSWORD=

# مسیر پوشه uploads قدیمی (اختیاری — می‌توان با --uploads هم داد)
LEGACY_UPLOADS_PATH=C:\path\to\legacy\uploads

# آدرس پایه رسانه legacy (برای portfolio و موارد وابسته به URL)
LEGACY_MEDIA_BASE_URL=https://example-old-crm.com

اگر LEGACY_UPLOADS_PATH تنظیم نشود، داده‌های متنی import می‌شوند اما فایل‌های اسناد پذیرش کپی نمی‌شوند.

بعد از تنظیم env، یک‌بار migrationهای CRM را اجرا کنید (اگر از --fresh-target استفاده نمی‌کنید):

php artisan migrate --force
php artisan storage:link

دستورات انتقال

۱. انتقال کامل (پیشنهادی)

SQL را در legacy بارگذاری می‌کند، در صورت نیاز دیتابیس هدف را fresh می‌کند، سپس همه مراحل import را اجرا می‌کند:

php artisan clinic:migrate-legacy-data --sql="C:\path\backup.sql" --uploads="C:\path\uploads" --fresh-target --force

گزینه‌های مهم

گزینهکاربرد
--sql=مسیر فایل بکاپ .sql
--uploads=مسیر پوشه uploads قدیمی (جایگزین LEGACY_UPLOADS_PATH)
--fresh-targetاجرای migrate:fresh روی دیتابیس هدف قبل از import
--seed-targetبعد از fresh، seeder پیش‌فرض هم اجرا شود (معمولاً لازم نیست)
--skip-sql-importبارگذاری SQL را رد کن — legacy از قبل restore شده
--only=stepفقط مراحل انتخاب‌شده (چندبار قابل تکرار)
--dry-runفقط شمارش و گزارش — بدون نوشتن در دیتابیس
--forceبدون تأیید تعاملی اجرا شود
--legacy-connection=نام اتصال legacy (پیش‌فرض: legacy)
--connection=اتصال دیتابیس هدف (پیش‌فرض: DB_CONNECTION)

۲. پیش‌نمایش (dry run)

قبل از import واقعی، حجم داده را ببینید:

php artisan clinic:migrate-legacy-data --sql="C:\path\backup.sql" --dry-run --force

۳. Import جزئی (legacy از قبل restore شده)

وقتی SQL قبلاً در crm_legacy بارگذاری شده:

php artisan clinic:import-legacy --uploads="C:\path\uploads" --only=admission_documents

یا با همان دستور migrate و رد کردن SQL:

php artisan clinic:migrate-legacy-data --skip-sql-import --uploads="C:\path\uploads" --only=patients --only=admissions --force

۴. فقط بارگذاری SQL در legacy

برای restore دستی بکاپ بدون import به هدف:

php artisan clinic:migrate-legacy-data --sql="C:\path\backup.sql" --dry-run --force
# سپس بدون --dry-run و بدون --fresh-target فقط SQL:
php artisan clinic:migrate-legacy-data --sql="C:\path\backup.sql" --force

دستور clinic:import-legacy فقط مرحله import را اجرا می‌کند و فرض می‌کند دیتابیس legacy از قبل پر است.

مراحل import (ترتیب اجرا)

مراحل به‌صورت خودکار به ترتیب وابستگی اجرا می‌شوند. با --only= می‌توانید یک یا چند مرحله را جداگانه تکرار کنید.

کلید --onlyمحتواجداول legacy (نمونه)
clinicsمجموعه‌ها (کلینیک)complexes
usersکاربران CRM و دسترسی به کلینیکusers, complex_user
rolesنقش‌ها و مجوزهاroles, …
doctorsپزشکان، برنامه کاری، حساب بانکیdoctors
consultantsمشاوران (با حفظ IDهای legacy)consultants
servicesدسته و خدماتservice_categories, services
patientsبیماران و پروفایل کلینیکpatients, complex_patient
admissionsدلایل لغو، پذیرش‌ها، خدمات پذیرشadmissions, …
inventoryانبار، موجودی، گردشinventory_*
financialفاکتورها و پرداخت‌هاinvoices, payments
admission_documentsدسته و فایل اسناد پذیرشdocuments
checklistsچک‌لیست جراحیقالب و پاسخ‌ها
formsطرح فرم پذیرشform_schemas
webapp_settingsتنظیمات وب‌اپ از optionsoptions
faqسوالات متداولoptions
webapp_usersکاربران وب‌اپ و ارتباط با مشاورwebapp_users
portfolioنمونه کارهادسته و رسانه
booking_settingsتنظیمات رزرو آنلاینoptions
bookingsنوبت‌های رزرو شدهreserved_dates

رفتارهای ویژه import

  • اگر جدول complexes خالی باشد، کلینیک پیش‌فرض با id=1 و نام از options.site_title ساخته می‌شود
  • اگر complex_patient یا complex_user خالی باشد، همه بیماران و کاربران import‌شده به کلینیک پیش‌فرض وصل می‌شوند
  • IDهای legacy در جدول import_maps نگه‌داری می‌شوند تا import تکراری idempotent باشد
  • پذیرش‌های legacy با وضعیت pending (status=0) طبق گزارش skip می‌شوند
  • رزروهای گذشته confirmed ممکن است به no-show نگاشت شوند

فایل‌های آپلود (اسناد پذیرش)

جدول legacy documents به دسته‌های اسناد پذیرش و فایل‌های جدا در ساختار جدید تبدیل می‌شود.

مسیر مقصد در CRM جدید

storage/app/public/clinics/{clinicId}/admissions/{admissionId}/documents/{uuid}.ext

URL عمومی: /storage/clinics/... — نیاز به php artisan storage:link

جستجوی فایل در پوشه legacy

اگر مسیر دقیق در JSON فایل نباشد، import در این مسیرها هم جستجو می‌کند:

  • مسیر نسبی همان‌طور که در legacy ذخیره شده
  • uploads/admission/{id}/
  • uploads/tmp/default/ و زیرپوشه‌های tmp/*/
  • uploads/payment_documents/*/

انواع سند

نوع legacyرفتار در CRM جدید
سند پذیرش (Admission)دسته اسناد پذیرش با فایل‌های مرتبط
رسید پرداخت (Payment)دسته مرتبط با پرداخت؛ اگر payment در هدف نباشد → دسته manual
چک‌لیست (Checklist)دسته با منبع checklist

فایل‌هایی که روی دیسک نیستند (مثلاً پوشه tmp/ پاک شده) در گزارش import با دلیل missing_file skip می‌شوند. برای تکمیل، فایل‌ها را در پوشه uploads قرار دهید و فقط مرحله admission_documents را دوباره اجرا کنید.

php artisan clinic:import-legacy --uploads="C:\path\uploads" --only=admission_documents

بررسی و تأیید بعد از انتقال

در پایان import، جدول شمارش entityها و بخش IMPORT REPORT در خروجی ترمینال نمایش داده می‌شود.

چک‌لیست UI

  • پنل مدیریت → مجموعه‌ها: کلینیک با نام درست وجود دارد
  • کاربران: همه کاربران legacy به کلینیک وصل شده‌اند — یک‌بار logout/login کنید
  • بیماران (/patients): تعداد با legacy مطابقت دارد
  • پذیرش‌ها: وضعیت، مشاور، خدمات و تاریخ‌ها
  • حسابداری: جمع فاکتورها و پرداخت‌ها
  • اسناد پذیرش: باز کردن یک پذیرش و مشاهده فایل‌ها
  • مشاوران ↔ وب‌اپ: ارتباط کاربران وب‌اپ با مشاور
  • وب‌اپ / Booking: Slug، تنظیمات و نوبت‌ها (در صورت استفاده)

بررسی سریع در دیتابیس (اختیاری)

SELECT COUNT(*) FROM patients;
SELECT COUNT(*) FROM clinic_patient;
SELECT COUNT(*) FROM admissions;
SELECT COUNT(*) FROM admission_documents;
SELECT COUNT(*) FROM clinic_user;

تعداد patients و clinic_patient باید برابر باشد. اگر clinic_patient کمتر بود، مرحله patients را دوباره اجرا کنید.

بعد از import

  1. php artisan storage:link — اگر قبلاً اجرا نشده
  2. تنظیمات مجموعه را در /settings مرور کنید (هویت، مالی، فرم پذیرش)
  3. در پنل پلتفرم: ماژول لیزر/پذیرش کلاسیک، Slug وب‌اپ و Booking
  4. یک پذیرش نمونه باز کنید و چاپ / اسناد را تست کنید

عیب‌یابی مشکلات رایج

مشکلعلت محتملراه‌حل
تعداد بیماران در UI کمتر از legacy فقط بیماران دارای رابطه clinic_patient نمایش داده می‌شوند اجرای مجدد --only=patients — import خودکار لینک همه بیماران را می‌سازد
کاربر بعد از import به کلینیک دسترسی ندارد جدول complex_user در legacy خالی بوده اجرای مجدد --only=users یا اتصال دستی در پنل مدیریت
خطای PrintConfig / current_clinic null session قدیمی بعد از fresh import logout/login — یا انتخاب مجدد کلینیک از منوی کاربر
اسناد import نشدند مسیر uploads تنظیم نشده یا فایل روی دیسک نیست تنظیم --uploads= و re-import مرحله admission_documents
مشاور وب‌اپ اشتباه است ID مشاور در import قبلی overwrite شده بود اجرای مجدد --only=consultants و --only=webapp_users روی دیتابیس تازه
Memory exhausted هنگام import اسناد فایل‌های بزرگ نسخه فعلی به‌صورت chunk پردازش می‌کند — PHP memory_limit را افزایش دهید
SQL file not found مسیر اشتباه یا فاصله در path مسیر کامل درون کوتیشن: --sql="C:\full\path\backup.sql"
Legacy connection not configured اتصال legacy در config نیست مقادیر LEGACY_DB_* را در .env تنظیم و php artisan config:clear

دلایل skip در گزارش import

کد گزارشمعنی
missing_fileفایل فیزیکی در پوشه uploads پیدا نشد
missing_uploads_rootمسیر uploads تنظیم نشده
admission_not_importedپذیرش والد import نشده
missing_payment_to_manualپرداخت نبود — سند به دسته manual رفت
inactive_patientبیمار غیرفعال در legacy
pending_statusپذیرش ناتمام (status=0)
duplicate_constraintرکورد تکراری — معمولاً import قبلی انجام شده

برای import مجدد روی دیتابیس تمیز، از --fresh-target استفاده کنید. برای تکمیل جزئی بدون پاک کردن هدف، فقط مرحله مورد نیاز را با --only= و --skip-sql-import اجرا کنید.

۷

شروع کار — اتاق لیزر

منو ⁦←⁩ «اتاق لیزر»/laser-room

  • «فعال‌سازی ماژول لیزر» روشن باشد
  • «اجرای جلسه لیزر» و مراحل مورد نیاز فعال باشند
  • شیفت صبح/عصر در /settings?tab=laser-shifts تنظیم شده باشد
  • اپراتور با دستگاه‌های مجاز و (در صورت نیاز) شیفت کاری تعریف شده باشد
  • دستگاه‌ها و نواحی با قیمت شات تعریف شده باشند
  • یک بیمار و پذیرش لیزر ثبت شده باشد

در پنل جزئیات: جلسات · ارزیابی پوست · برنامه درمان · مراقبت پس از درمان · اسناد پذیرش · ثبت جلسه لیزر (بسته به مراحل فعال).

شروع کار — پذیرش کلاسیک

  • «پذیرش کلاسیک» و «جریان پذیرش» فعال
  • فرم پذیرش طراحی شده (در صورت فعال بودن پذیرش کلاسیک)
  • پزشکان، مشاوران و خدمات ثبت شده
  • تنظیمات ویزیت، اسناد، چک‌لیست، دلایل لغو
  • در صورت نیاز به فاکتور: «فعال‌سازی بخش مالی» و حساب‌های پیش‌فرض

منو: «پذیرش‌ها» · «اتاق پزشک» · «اتاق عمل»

چک‌لیست نهایی

پنل مدیریت

  • مجموعه ساخته شد
  • کاربران متصل شدند
  • جریان پذیرش و جریان لیزر ذخیره شد

تنظیمات

  • هویت سایت
  • فرم پذیرش (پذیرش کلاسیک)
  • استایل پرینت و سربرگ
  • فیلدهای پرونده و کد پذیرش
  • تنظیمات مالی و حساب‌های پیش‌فرض
  • حقوق و مزایا (تب تنظیمات)

وب اپلیکیشن (در صورت استفاده)

  • فعال‌سازی و Slug در پنل پلتفرم
  • دامنه یا env محلی تنظیم شده
  • build و deploy انجام شده
  • محتوا (Hero، دکمه‌ها، شمارنده‌ها)
  • ظاهر (تم، Hero، استایل social و دکمه‌ها)
  • لوگو، favicon، تصویر Hero
  • SEO و robots
  • ورود OTP / Google (در صورت نیاز)
  • FAQ و نمونه کارها (در صورت نیاز)

آماده بهره‌برداری

  • پزشکان، مشاوران و خدمات (کلاسیک) یا تنظیمات لیزر
  • یک پذیرش آزمایشی
  • یک دوره حقوق آزمایشی (اختیاری)
  • در صورت انتقال از CRM قدیمی: چک‌لیست تأیید import