TESWA — BUILD REVIEW (TEMPORARY)
All six phases of the plan you confirmed are live on teswa.net. This page lists every change you can see, in plain words. Each item has a number (U1, U2…) — to change something or see other design options, just tell me the number. Nothing here needs a "yes" — silence means it stays as is.
268
rules tracked — every one accounted for
140+
automated checks, all passing live
26
bugs caught by reviews & testing — all fixed
6/6
phases built and deployed
Every money rule was executed for real on the live site — your 13.333 example charges exactly 13.333, refunds return every fils to the exact card charge that took it, and the whole 30-day lifecycle (renewal, grace, expiry) was rehearsed with simulated time. Independent "attacker" reviews hunted for ways a dealer could get something for free — what they found was fixed before the system went one-way.
Point at (or tap) the big credits number and a clean breakdown card appears, headed«تُصرف رفعات الباقة أولاً، ثم المشتراة». Each row leads with the count in the wallet's colour: 30 (blue) رصيد الباقة · تتجدد شهرياً, then 4 (green) رصيد مشترى · لا تنتهي — so the order is obvious. (You picked this design, T4, from six.) Replaces the old black tooltip. When months are prepaid, a green line shows«متبقي 3 أشهر مدفوعة مقدماً».
Open the page ↗The white card on the top-right of the blue board.
It used to do nothing. Now it opens a sheet with four choices — 1 month, 3, 6, or a full year — each showing its price and your admin-set discount (خصم 10% …). In the last 7 days of a period the button gets a highlight ring.
Open the page ↗The green button on the «الباقة الحالية» card.
Tapping «ترقية» opens a confirmation: the new tier's price, minus the value of your unused days, equals what you pay — then it goes to checkout.
Open the page ↗Tap «ترقية الآن» on any tier above yours — the dialog shows before any payment.
Downgrades follow the industry model you picked (Option A): the dialog is three date-anchored lines, and prepaid months auto-convert into months of the new tier — your 202.500 becomes 5 months + 2 days of النمو, no money moves. The target tier shows a dated «مجدولة اعتباراً من …»badge and the current tier's button becomes «إلغاء التغيير» — a lossless one-tap undo.
Open the page ↗Tap «التغيير لهذه الباقة» on a lower tier, then look at your current tier’s card.
Eligible new showrooms see «أنت مؤهل لباقة … مجاناً — استلمها»with a personal countdown («متبقي 29 يوماً»). It's visible on your test account right now. The offer itself (which tier, how many months, the window) is set from the dashboard.
Open the page ↗The golden card under the blue board — visible on your showroom account right now.
When a period ends unpaid, the hero is replaced by an amber board(grace: exact dates, what's paused, a renew button). After 7 days it becomes a red board("ads hidden — your inventory is safe, your days are frozen, your credits wait").
Open the page ↗Appears automatically when a period ends unpaid. Ask me to stage it and it will show within a minute.
While lapsed, every business page shows a thin amber/red banner at the top, and the «اشتراك Teswa» item in the sidebar gets a colored dot.
Open the page ↗Only while lapsed — same staging note as U6.
The credit packs used to add credits instantly with no payment (a testing leftover). Now they open the payment page like everything else.
Open the page ↗The «أضف رصيد رفع» cards at the bottom — tap any «شراء» button.
If a payment was started but not finished, an amber chip shows «عملية دفع قيد التنفيذ» with a button to complete it.
Open the page ↗Start any purchase, close the payment page without paying, then come back here.
Paying now looks like a real gateway: KNET / card tabs, then a redirect to a result page with a receipt and a payment number (chg_…). Test buttons let you simulate failure cases too.
Open the page ↗Tap any «شراء» button — the payment page opens; the yellow bar means no real money moves.
Grants, gift claims, scheduled downgrades, reverts — all show with proper Arabic labels and a «تم» badge for free entries. Paid entries show the payment number, and refunded ones an amber «المسترد» line with the amount.
Open the page ↗Showroom side. The individual side is at حسابي ← المدفوعات.
Re-posting an expired ad with a paid package now goes through checkout (it used to apply for free). Free-credit posts are unchanged.
Open the page ↗Switch to the individual account first, then «إعادة النشر» on an expired ad.
Renewal reminders, grace warnings, expiry, gift messages, admin actions, and a receipt for every successful payment. Wording is editable — tell me the item number.
Open the page ↗Today’s test messages are already in the list.
The old read-only page was replaced: current monthly revenue, the offers editor (welcome gift + renewal discounts — no code needed), and a dealers list.
Open the page ↗The revenue line, the offers editor, and the dealers list.
Open any dealer: their period timeline, both credit balances, their full history, and support tools — gift months or credits, extend days or grace, or stop a subscription. Every action requires a written reason and notifies the dealer.
Open the page ↗Click the «معرض النجوم للسيارات» row to expand it.
On any payment: «استرداد» returns money (full or partial) without touching what was bought; «تراجع» takes back what was bought without moving money. Use one or both — exactly as you decided.
Open the page ↗Expand the dealer, then the buttons on each row under «السجل والمدفوعات».
Honest list — none of these block anything, all noted in the build log:
1A "showing 68 of 50" banner on the inventory page after a downgrade leaves extra ads displayed (needs its own design round).
2 A dealer-facing credits-history screen «سجل الرفعات» — the data is fully recorded, only the screen is pending.
3A standalone "cancel my prepaid months" button (today it happens through the downgrade flow).
4 Paying for an upgrade while inside a free gift — works on the server, no button for it yet (free switching inside a gift works fully).
5 Cosmetic cleanups (old field names, extra test decline buttons, and similar).
Say the word on any of these and it gets built.