سامانه سراسری مدیریت ثبتنام و نصب — از کاغذ و تلفن تا فرایند خودکار
شرکت سدنا مجری طرح سراسری تعویض کولر آبی با کولر گازی است؛ هزاران متقاضی و دهها نصاب میدانی در شهرهای مختلف کشور. تا پیش از این سامانه، کل فرایند — ثبتنام متقاضی، هماهنگی با نصاب، پیگیری نصب و صدور گارانتی — روی کاغذ و با تماس تلفنی انجام میشد. امروز همان فرایند روی یک افزونه اختصاصی وردپرس اجرا میشود که تاکنون بیش از ۲۰۰۰ ثبتنام و ۷۰۰ نصب را مدیریت کرده است.

چه چالشی وجود داشت
طرحی با مقیاس ملی که تمام هماهنگیاش روی کاغذ و تلفن انجام میشد.
خطای انسانی اجتنابناپذیر بود. اطلاعات متقاضی تلفنی گرفته و روی کاغذ ثبت میشد؛ آدرس اشتباه یادداشت میشد، شماره تماس ناقص میماند، و نصاب گاهی به آدرسی میرفت که با واقعیت نمیخواند. هر خطا یعنی یک سفر بینتیجه و یک مشتری ناراضی.
هیچ تصویر لحظهای از وضعیت طرح وجود نداشت. برای دانستن اینکه چند نفر ثبتنام کردهاند، چند نصب انجام شده، کدام سفارشها معطل ماندهاند و کدام شهرها نصاب کم دارند، باید یادداشتها دستی جمع و شمرده میشد.
اعتبارسنجی متقاضی، فرایندی دستی و پروندهبهپرونده بود. بررسی اینکه متقاضی واجد شرایط طرح است، وقتگیر و مستعد خطا بود.
توزیع کار بین نصابان قاعده مشخصی نداشت. تخصیص با تماس تلفنی و بر اساس حافظه هماهنگکننده انجام میشد؛ نه تضمینی برای عدالت بار وجود داشت، نه برای اینکه هیچ سفارشی از قلم نیفتد.
و هیچ افزونه آمادهای این فرایند را پوشش نمیداد — نه به این دلیل که فرایند عجیب بود، بلکه چون ترکیبی از چند نیاز همزمان بود: استعلام از سرویسهای بیرونی، پنل کاری برای کاربری که نباید حساب وردپرس داشته باشد، توزیع جغرافیایی کار بین نیروی میدانی، و چرخه گارانتی.
چه کاری انجام دادیم
پیش از هر کدنویسی، روال واقعی کار مستند و ساختار پایگاهداده طراحی شد. نتیجه، افزونهای یکپارچه با بیش از ۲۰ جدول اختصاصی و ۱۵ ماژول مستقل شد.
ثبتنام و اعتبارسنجی خودکار
فرم ثبتنام مشتری در ۹ مرحله طراحی شد تا فرم طولانی متقاضی را نپراند. در همین مسیر:
- استعلام خودکار شناسه قبض از طریق API — واجد شرایط بودن متقاضی بدون بررسی دستی مشخص میشود
- استعلام آدرس با کد پستی از طریق API و ثبت خودکار مختصات جغرافیایی — پایان خطای آدرس دستنویس
- تأیید شماره موبایل با کد یکبارمصرف — شماره اشتباه دیگر وارد سیستم نمیشود
- در صورت در دسترس نبودن سرویس استعلام، سفارش وارد صف تلاش مجدد با فاصلههای افزایشی میشود؛ هیچ متقاضیای بهخاطر خطای موقت از دست نمیرود
سفارشی که استعلامش موفق و شرایطش محرز باشد، خودکار تأیید و وارد چرخه نصب میشود — بدون دخالت اپراتور.
پنل نصاب، بدون حساب کاربری وردپرس
نصاب با شماره موبایل و کد یکبارمصرف وارد پنل کاری اختصاصی خودش میشود. نشست او هششده در پایگاهداده نگهداری میشود و هیچ حساب کاربری در وردپرس ندارد — یعنی هیچ مسیری به پیشخوان سایت باز نمیشود.
از همین پنل، نصاب سفارشهای حوزهاش را میبیند، کار را برمیدارد، تاریخ نصب را ثبت میکند، تصاویر نصب را بارگذاری میکند و کار را نهایی میکند — همه از گوشی موبایل و در محل کار.
موتور توزیع کار
پیچیدهترین بخش پروژه. مدل اولیه «هر که زودتر بردارد» سه مشکل داشت: نصاب سریعتر کارهای نزدیک و خوشهای را گلچین میکرد، سفارشهای دورافتاده روی زمین میماند، و بار عادلانه پخش نمیشد.
راهحل بر پایه شبیهسازی روی داده واقعی انتخاب شد، نه حدس. با داده واقعی ثبتنامها — چند صد سفارش واقعی با توزیع جغرافیایی بسیار نامتوازن، و دهها نصاب — چند مدل توزیع شبیهسازی و مقایسه شد.
نتیجه شبیهسازی چیزی بود که بدون آن هرگز معلوم نمیشد: مدلهای پیچیده سهمیهای در مقیاس واقعی این طرح هیچ مزیتی نداشتند. آن پیچیدگی فقط زیر فشار سنگین اثر میگذاشت، آن هم بهصورت یک معاوضه نه یک برد.
بنابراین بهجای ساختن سیستم پیچیده، مدل سادهتر و مقاومتری پیاده شد: سفارشهای حوزه هر نصاب بالاتر نمایش داده میشوند، اما هیچ سفارشی پنهان نمیماند — تا نصاب بیکار بتواند به منطقه شلوغ کمک کند و هیچ کاری معطل نماند.
تأیید نصب و گارانتی
نصب با کد یکبارمصرفی که برای مشتری ارسال میشود نهایی میگردد — یعنی تأیید از خود مشتری گرفته میشود، نه صرفاً اعلام نصاب. پس از تأیید، گارانتی خودکار صادر و فعال میشود.
اعلانها و پیگیری
اطلاعرسانی به مشتری و نصاب در نقاط کلیدی چرخه از طریق سامانه پیامکی انجام میشود، با کنترل هزینه: سقف روزانه برای هر نصاب، فاصله بین ارسالها، و ارسال فقط در صورت وجود کار جدید. گزارش لحظهای وضعیت هم برای مدیران به پیامرسان ارسال میشود.
پنل مدیریت با سه سطح دسترسی
اپراتور فقط عملیات و گزارشات را میبیند، مدیر سامانه تعاریف پایه را هم دارد، و ادمین به ابزارهای فنی دسترسی دارد. این سطحبندی در لایه سرور اعمال میشود، نه با پنهانکردن دکمه در رابط کاربری — چون پنهانکردن در رابط کاربری هیچوقت مرز امنیتی نیست.
زیرساخت پایدار
- مهاجرت کامل پایگاهداده به موتور InnoDB: با قفل سطح ردیف، برداشتن همزمان کار توسط چند نصاب دیگر صف نمیکشد
- سامانه پایش داخلی با ۱۷ بررسی خودکار سلامت — از وضعیت زمانبند و کندی نوشتن تا فضای دیسک و مصرف غیرعادی پیامک — با هشدار آنی به مدیر فنی
- بکاپگیری خودکار روزانه از پایگاهداده و فایلها با امکان بازگردانی
- پاکسازی خودکار تصاویر نصب بر اساس دو سیاست مستقل سن و حجم، بههمراه فشردهسازی تصویر در مرورگر پیش از آپلود — چون نصاب با اینترنت موبایل و از محل کار عکس میفرستد
نظرسنجی و کارنامه نصاب
ماژول نظرسنجی کمپینمحور با امتیازدهی وزندار ساخته شد. امتیاز رضایت مشتری با میانگین بیزی محاسبه میشود تا نصاب تازهکار با دو نظر مثبت، بالاتر از نصاب باتجربه با پنجاه نظر ننشیند.
یک تصمیم که عمداً گرفته نشد: اتصال این امتیاز به موتور توزیع کار. تا وقتی داده کافی جمع نشده، امتیازدهی نباید روی سهم کار نصاب اثر بگذارد — چون امتیاز بر پایه داده کم، ناعادلانه است.
چه تغییری ایجاد شد
آنچه بیش از اعداد اهمیت دارد، تغییر جنس کار است. اطلاعات متقاضی دیگر تلفنی گرفته و روی کاغذ نوشته نمیشود؛ خود متقاضی آن را ثبت میکند و سامانه صحتش را با استعلام و کد تأیید موبایل بررسی میکند. هماهنگکننده دیگر با حافظهاش کار را بین نصابان پخش نمیکند؛ سامانه این کار را بر اساس حوزه و بار انجام میدهد. و مدیریت برای دیدن وضعیت طرح منتظر جمعآوری دستی یادداشتها نمیماند.
طرح همچنان در جریان است و باید تا پایان سال در همه شهرهای کشور تکمیل شود. سامانه هم بهموازات آن، بر اساس نیازهای جدید کارفرما در حال توسعه است.


