راهنمای انواع متن‌ها در این پروتوتایپ

در این پروتوتایپ سه نوع متن می‌بینید. لطفاً قبل از پیاده‌سازی، تفاوت آن‌ها را بادقت متوجه شوید — فقط یک نوع باید در UI کاربر پیاده‌سازی شود.

این متن در UI پیاده‌سازی می‌شود و به کاربر نمایش داده می‌شود
مثال: اگر هیچ فیلمی انتخاب نشود، کمپین روی همه‌ی فیلم‌ها اعمال می‌شود.
متن راهنما (helper) — دقیقاً همین متن با همین کلمات باید زیر فیلد در پنل ادمین به اپراتور نمایش داده شود. جزء UI است.
مثال: عنوان کمپین *
ستاره قرمز کنار عنوان فیلد (*) — نشانه‌ی فیلد اجباری است. اگر کاربر این فیلدها را خالی بگذارد، فرم را نمی‌تواند ذخیره کند. در UI نمایش داده می‌شود.
این متن‌ها و بَج‌ها در UI پیاده‌سازی نمی‌شوند — صرفاً برای فهم بهتر تیم توسعه‌دهنده از انتظار ما هستند
۱. متن‌های زیر فیلد
مثال: در نوع ۴ این چک‌باکس همیشه checked و disabled است.
یادداشت برای تیم پیاده‌سازی — نکته فنی درباره‌ی رفتار فیلد، تفاوت با انواع دیگر، ارجاع به backlog. این متن‌ها را در پنل نشان ندهید — فقط برای این‌که بدانید چه انتظاری از پیاده‌سازی داریم.
مثال: تخفیف روی ارزان‌ترین بلیت‌های سبد اعمال می‌شود.
توضیح قاعده / رفتار سیستم — spec منطق پشت‌صحنه یا رفتار پویا. این متن‌ها را در پنل نشان ندهید — راهنمای spec برای تیم توسعه هستند، نه پیام کاربر.
۲. بَج‌های کنار عنوان فیلدها

این بَج‌های رنگی کوچک که کنار عنوان فیلدها می‌بینید هیچ‌کدام نباید در پنل نمایش داده شوند. صرفاً برای این‌جاگذاری شده‌اند که یک نگاه به فرم بفهمید هر فیلد از کجا آمده و چه وضعیتی دارد:

فیلد جدید
فیلد کاملاً جدید که با این استوری اضافه می‌شود. در فرم فعلی وجود ندارد و هیچ نظیر مستقیمی در نوع‌های ۱، ۲، ۳ ندارد.
مشترک ولی متفاوت
فیلد در نوع‌های دیگر هم وجود دارد ولی در نوع ۴ رفتار/اجباری‌بودن/مقدار پیش‌فرض آن فرق می‌کند. برای تفاوت دقیق به متن dev-note زیر همان فیلد نگاه کنید.
مربوط به STORY-021
این فیلد موضوع اصلی این استوری نیست. در استوری دیگری (STORY-021 یا STORY-029) به فرم اضافه می‌شود؛ این‌جا فقط نشان داده شده که در نوع ۴ هم قابل استفاده است.
مشترک با نوع ۱ و ۲
فیلد جدید نیست — با همین نام و رفتار در نوع‌های اشاره‌شده هم وجود دارد. صرفاً به این خاطر آمده که فهرست کامل فیلدهای نوع ۴ شفاف باشد و فراموش نشود.
قبلاً: نام قدیمی
ارجاع به نام قدیمی فیلد در فرم فعلی. کمک می‌کند توسعه‌دهنده بفهمد این فیلد جدید از کدام فیلد قدیمی مشتق شده. نام قدیمی نباید در UI نمایش داده شود.
STORY-023 پنل ادمین › پشتیبانی › کمپین تخفیف › ایجاد کمپین جدید

کمپین تخفیف نوع ۴ (با کد تخفیف) — تخفیف به‌ازای هر بلیت

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

۱ اطلاعات پایه کمپین

این کمپین کیست؟ (هویت، اعتبار، منبع پرداخت)

نامی توصیفی برای شناسایی کمپین در فهرست کمپین‌ها. این عنوان فقط برای اپراتور قابل مشاهده است.
در حالت «کیف پول قرارداد»، هزینه‌ی تخفیف از کیف قراردادی کسر می‌شود؛ همان کیفی که درآمد فروش به آن واریز می‌شود.
نوع کمپین تعیین می‌کند چه فیلدهایی در سکشن‌های «قوانین تخفیف»، «شرایط استفاده» و «مدیریت بودجه» نمایش داده شوند.
در حالت غیرفعال، نه بَج تخفیف روی سانس نمایش داده می‌شود و نه کدهای کمپین کار می‌کنند.
اگر فعال شود، کاربر باید کد تخفیف را در سبد وارد کند تا تخفیف اعمال شود.
برای این نوع کمپین اجباری است. کاربر باید کد تخفیف را در سبد وارد کند تا تخفیف اعمال شود. در نوع ۴ این چک‌باکس همیشه checked و disabled است و اپراتور نمی‌تواند تغییرش دهد. این استوری فقط نسخه‌ی «با کد تخفیف» را می‌سازد؛ نسخه‌ی بدون کد (اعمال خودکار) به‌عنوان BL-196 در بک‌لاگ ثبت شده است.
از ساعت ۰۰:۰۰ این تاریخ، کمپین قابل استفاده می‌شود.
بعد از پایان این تاریخ، کمپین دیگر قابل استفاده نیست و اگر کاربر کد آن را وارد کند، تخفیفی اعمال نمی‌شود.

۲ قوانین تخفیف

تخفیف چه می‌دهد و چه قاعده‌ای دارد؟

عددی اعشاری بین ۰ تا ۱ (مثلاً ۰٫۲ یعنی ۲۰٪). این درصد روی جمع قیمت سبد خرید کاربر اعمال می‌شود.
بیش از این مقدار تخفیف داده نمی‌شود، حتی اگر درصد تخفیف عددی بزرگ‌تر تولید کند.
هر کاربر حداکثر این تعداد بار می‌تواند در سبدهای مجزا از این کمپین استفاده کند.
عددی اعشاری بین ۰ تا ۱ (مثلاً ۰٫۲ یعنی ۲۰٪). این درصد روی جمع قیمت سبد خرید کاربر اعمال می‌شود. در این نوع، بَج تخفیف روی سانس نمایش داده نمی‌شود و فقط در مرحله‌ی پرداخت دیده می‌شود.
اگر تعداد بلیت در سبد بیش از این عدد باشد، کل خرید با کد تخفیف بلاک می‌شود.
معیار شمارش، کاربران متفاوت است (نه تعداد خریدها). وقتی به این عدد رسید، کاربران بعدی در آن سانس از کمپین استفاده نمی‌توانند.
هر کاربر در یک سانس مشخص حداکثر این تعداد بار می‌تواند با تخفیف خرید کند.
عددی اعشاری بین ۰ تا ۱ (مثلاً ۰٫۲ یعنی ۲۰٪). این درصد روی قیمت هر بلیت اعمال می‌شود، نه روی جمع سبد.
حداکثر مبلغ تخفیف به‌ازای هر بلیت. اگر درصد تخفیف عددی بالاتر تولید کند، روی این سقف بسته می‌شود.
هر کاربر حداکثر این تعداد بار می‌تواند در سبدهای مجزا از این کمپین استفاده کند.
اگر کاربر بیش از این تعداد بلیت در سبد داشته باشد، تخفیف فقط روی همین تعداد از سبد اعمال می‌شود (روی ارزان‌ترین‌ها). تفاوت مهم با نوع ۳: در نوع ۳ اگر کاربر بیش از حد بلیت داشته باشد، کل سبد بلاک می‌شود. در نوع ۴ فقط تعداد اضافه بدون تخفیف حساب می‌شوند (سبد بلاک نمی‌شود).
💡 قاعده‌ی انتخاب بلیت‌های مشمول تخفیف: اگر تعداد بلیت‌های سبد بیشتر از «حداکثر بلیت مشمول تخفیف» باشد، تخفیف روی ارزان‌ترین بلیت‌ها اعمال می‌شود و باقی بلیت‌ها با قیمت کامل محاسبه می‌شوند. این قاعده هزینه‌ی پلتفرم را کمینه می‌کند.
نمایش شفاف تفکیک بلیت‌های تخفیف‌خورده در پیش‌فاکتور خارج از scope این استوری و به‌عنوان BL-197 در بک‌لاگ ثبت شده است.

۳ شرایط استفاده

اگر این شرط‌ها برقرار باشد، تخفیف اعمال می‌شود.

این کمپین فقط روی اولین خرید موفق هر کاربر اعمال می‌شود.
کاربر باید حداقل این تعداد بلیت در سبد داشته باشد تا تخفیف اعمال شود.
جمع سبد کاربر باید حداقل به این مبلغ برسد تا تخفیف اعمال شود.
اگر فایل آپلود نشود یا ساختار نادرست باشد، کاربر هیچ پیام خطایی نمی‌بیند ولی کمپین کار نخواهد کرد.
سکشن «شرایط استفاده» در نوع ۴ فقط همین یک فیلد را دارد. سایر شرط‌ها (سقف استفاده هر کاربر، حداکثر بلیت مشمول تخفیف) در سکشن «قوانین تخفیف» قرار گرفته‌اند.

۴ محدوده اعمال

تخفیف روی چه محتوایی و در چه زمانی فعال است؟

اگر هیچ سینمایی انتخاب نشود، کمپین روی همه‌ی سینماها اعمال می‌شود.
اگر هیچ فیلمی انتخاب نشود، کمپین روی همه‌ی فیلم‌ها اعمال می‌شود.
با انتخاب هر مقدار، عناوین آینده‌ی این نوع خودکار مشمول کمپین می‌شوند. با پر شدن این فیلد، «فیلم» غیرفعال می‌شود.
با انتخاب هر مقدار، عناوین آینده‌ی این دسته خودکار مشمول کمپین می‌شوند. با پر شدن این فیلد، «فیلم» غیرفعال می‌شود.
اگر سالن انتخاب شود، تخفیف روی همه‌ی سانس‌های آن سالن اعمال می‌شود.
انتخاب سانس‌های خاص برای اعمال تخفیف.
فقط خریدهای پلتفرم انتخاب‌شده مشمول تخفیف می‌شوند. پیش‌فرض «همه پلتفرم‌ها» است.
روزها و ساعت فعالیت کمپین قبلاً: سکشن جدا «ساعت فعالیت کمپین در روز»
اگر هیچ روزی انتخاب نشود، کمپین در همه‌ی روزهای هفته فعال است. در روزهای انتخاب‌شده، از «زمان شروع» تا «زمان پایان» کمپین فعال است؛ اگر خالی بمانند، از ۰۰:۰۰ تا ۲۳:۵۹ فعال خواهد بود.
روز هفته زمان شروع زمان پایان

۵ مدیریت بودجه

کمپین در مجموع چقدر بودجه دارد و کِی تمام می‌شود؟

حداکثر دفعاتی که کل کمپین (روی همه‌ی کاربران) قابل استفاده است. وقتی به این سقف برسد، وضعیت بودجه در صفحه‌ی لیست به «اتمام بودجه» تغییر می‌کند ولی وضعیت فعال/غیرفعال دست‌نخورده می‌ماند.
💡 در کمپین «با محدودیت شماره تلفن و سانس»، سقف بودجه‌ی کلی قابل تعریف نیست. حد و حدود مصرف تخفیف از طریق دو سازوکار دیگر کنترل می‌شود: (۱) فهرست شماره تلفن‌های مجاز (در سکشن «شرایط استفاده»)، و (۲) سقف کاربران و خرید در هر سانس (در سکشن «قوانین تخفیف»).
حداکثر دفعاتی که کل کمپین (روی همه‌ی کاربران) قابل استفاده است. با رسیدن به این سقف، وضعیت بودجه‌ی کمپین به «اتمام بودجه» تغییر می‌کند و کدهای آن کار نمی‌کنند.
💡 رفتار رسیدن به سقف کل استفاده: وقتی تعداد استفاده‌ها به سقف می‌رسد، وضعیت بودجه به «اتمام بودجه» تغییر می‌کند و کاربر در سبد پیام «این کد تخفیف به سقف استفاده‌ی خود رسیده است.» می‌بیند. وضعیت فعال/غیرفعال کمپین دست‌نخورده می‌ماند.