Search by email, order ID (#12345), customer email, or license ID
Results
Filter:AllActiveDeliveredDisabledExpired
Shahid Accounts
ChatGPT Accounts
🎥 Prime Video Accounts
🏽 Crunchyroll Accounts
🎟 TOD Accounts
✂ CapCut Accounts
🎨 Disney+ Batches
⭐ Starzplay Accounts
📡 IPTV Subscriptions
Shahid Replacement Logs supervised review
Read-only monitoring of Shahid mobile auto-replacement events (executed on VPS1). Reviewing writes a review marker only — it never replaces, assigns, disables, or emails. There is no “replace now” action on this page.
Replacement event detail
License Explorer read-only MVP (68B)
Delivered · liveDelivered · expiredStockExpiring ≤7dDisabled excluded — click to include
One fast search across sold licenses · disabled excluded by default · secrets never shown · Disney phone & GIM IPTV-code search not indexed yet.
Ready.
Reserve Stock Management
Manage reserve accounts for website stock
WS
Wholesale Batch Preview
read-only · dry-run
Preview eligible Reserve accounts for a wholesale batch — no accounts are moved or sold.
Dry-run only — no accounts are moved, sold, or changed. Email-only preview (no passwords).
Choose a customer, duration & quantity, then click Preview.
Run Preview first; enables when there are selected accounts.
Confirm Wholesale Delivery
⚠ This will DELIVER these accounts to the wholesale customer and remove them from Reserve Available. payment_status defaults to unpaid. Email-only (no passwords).
AR
Auto Refill — All Products
Automatic stock replenishment per product
Add Reserve Accounts
Paste accounts (one per line) in format: email:password
Each line: email:password — email will be validated against MR
✓
Import Complete
Disable Queue
Expired accounts that need to be disabled
Loading...
Netflix Cleanup Queue UI v1.21 (decrypted-key is source of truth)
Accounts that need manual Netflix-side cleanup. Workflow tracking only — no automation runs from this page.
AUTO_RECYCLE offsnapshot: —
Cleanup is a continuous live queue \u2014 rows stay visible until processed, so older expired accounts keep appearing through the day. Use Due now for today's expiries and Old unresolved for older leftovers. \u26a0 Manual review = MR-unknown / customer-email-suspected \u2014 verify before cleaning (recycle is blocked server-side).
Handled / Archived (cleanup_queue overlay)
snapshot age: —
Loading handled/archived totals…
Account detail
Remove account from Cleanup Queue?
This will only hide/archive this row from Netflix Cleanup. It will not delete DLM, Reserve, or Netflix data. The row stays in cleanup history and remains accessible via Details.
Put account on hold
Cleanup Done
This action disables the expired source DLM licenses for this account and adds the account to Reserve Stock with reserve_status=in_reserve. The Reserve / Auto-refill system pushes accounts to website variants separately, based on owner-defined thresholds.
A unique system password (20 lowercase letters) is generated automatically and stored in the new Reserve entry. You do not type it. After Cleanup Done, the account is in Reserve as in_reserve; Auto-refill / scheduler will decide later whether and when to push it to a website variant.
Audit Log
Activity timeline — all system actions and changes
Loading...
License Status Audit
Read-only history of DLM license status changes and blocked attempts
Use the filters above and click Search.
Expiry / Renewal Visibility
Cross-product view of live (DELIVERED) subscriptions expiring soon. Read-only — no actions. SofaStar shown is discontinued/legacy.
0
Expired
0
Today / 0 days
0
1-3 days
0
4-7 days
0
8-14 days
0
Missing expiry
Loading expiry data...
Inventory Manager
Add new licenses safely. Choose a product, check the preview, then confirm import.
gim-king4k-2026-06-13
Supported products
King 4K — username|password|url (1 line = 1 license). Code IPTV (KDMAX, IronTV, Lynx) — one activation code per line. ChatGPT Shared — email:password → 15 hidden seats. ChatGPT Personal — email:password → 1 license. Shahid — email:password → 4 screens. Prime / Crunchyroll — email:password → profiles. Disney+ — phone:pin → 14 places. Atlas Pro is blocked pending confirmation. Always Check preview before Import.
Step 1 · Choose product
Step 2 · Paste credentials
Step 3 · Check & import
Supplier Accounts
Manage supplier accounts for 4D Circle Netflix
-
Total Accounts
-
Naser
-
Farouk
-
Replaced
-
Deleted
Status:
Account
Password
Supplier
Status
Date Added
Notes
Actions
Replace Account
Add Note
Add Supplier Accounts
Paste emails from supplier. One email per line.
If provided, this password will be applied to all accounts.
Import Preview
Delete Account
This will soft-delete the account. It will appear in the Deleted tab and can be reviewed later.
Supplier Intake / Purchases
read-only
Accounts entered per date & supplier (source: Master Registry added_date). For cost tracking.
Choose filters and click Load.
Admin Accounts
Manage admin users, roles, and access
Loading...
Create Admin Account
System Status
Real-time monitoring of all backend services
Approval Queue
Review replacement requests — accounts not found in Supplier Registry
0
Total
0
Pending
0
Approved
0
Rejected
Loading...
Confirm Action
Roles & Permissions
Manage roles and their granular permissions
Reset Password
Renewals Dashboard
In-flight renewal state records (engine state machine)
Per-(account, profile) eligibility — locked when a customer has renewed that slot
Filter:AllEligibleLocked
Loading...
Consultation contract:eligible=true OR no record at all → safe to allocate to a new customer. eligible=false → DO NOT allocate (slot is locked because a customer renewed it; the lock holds until locked_until or until an explicit release).
Append-only audit trail emitted by the renewal engine (data/renewal_engine/audit.jsonl)
Loading...
Schedulers & Kill-Switch
Engine health, transport configuration, and the WP-008 7-layer kill-switch chain
Engine health
Loading...
7-layer kill-switch chain
Loading...
Note: Scheduler enable/disable is controlled by environment variables on the FastAPI process and requires a service restart to take effect. This panel reads the live state but does not flip the switches.
Manual Run-Now Controls
Drive engine and detector ticks on demand; per-order apply & writeback
Engine cycle tick
Picks up scheduled renewals whose current_expiry is within the near-expiry window and auto-applies them.
Supplier-replace detector tick
Polls MR for status=replaced events, dispatches each to the §6.2 partial-renewal handler. Idempotency-tracked.
Per-order actions
Trigger apply (real or stub depending on ENABLE_BRIDGE_APPLY) or writeback for one specific WP order.
Last result
Bridge Dry-Run
Preview the §6.2 partial-renewal decision tree for a supplier replace event without touching DLM
Preview result (no DLM mutation)
Safety: dry_run=true is enforced server-side by supplier_replace_service.handle_replace. No DLM rows are written, no resale_state mutated, no audit-state side-effects. Use this to inspect the per-license decision (carry, release, disable) before letting the detector run for real.
Owner Inventory v2.8 (legacy alert hidden)
From every supplier account, where is it now? Reserve · Website · Wholesale · Expired · Missing — mutually exclusive.
Wholesale by customer— Mostore / Miftahi / Forja / Yazid
Actionable issues
— investigate these
Wholesale Sales UI v1.6.8 (granular perms)
Offsite Netflix subscriptions sold via WhatsApp / Gros — managed inside the Admin Console.
ⓘ Status ≠ Validity
Add Wholesale Sale
Bulk: paste one email per line. Customer, dates & duration apply to all.
0 non-empty lines detected.
Need a new customer? Click "+ Add Customer" in the page header.
Renew Wholesale Sale
Account: —
Customer: —
Current expire date: —
Rule: if current expire is in the future, the new expire = current + duration. Otherwise, new expire = renewal date + duration.
Wholesale Customers
Add new customer
Existing customers
Confirm Live Action
This will make real changes. Are you sure?
Change License Status
License ID
Account
Current status
⚠ This writes directly to the DLM / WordPress database.
The change is permanent and logged in the audit trail.
No customer emails will be sent. No WooCommerce order is changed.