Part A: Fix duplicate Service creation on provisioning retry
- All 4 provisioning services use Service::firstOrCreate() keyed on
subscription_id+service_type to prevent duplicates on queue retries
- HandleSubscriptionCreated sends notification before provisioning,
no longer re-throws on failure
- RetryProvisioningCommand simplified to reuse existing Service records
Part B: Plans/Pricing page complete redesign
- Service type tabs (VPS, Dedicated, Web Hosting, MySQL)
- Billing cycle segmented toggle (monthly/quarterly/semi-annual/annual)
- Feature icons per service type, Popular/Best Value badges
- Stock indicators, effective monthly price calculations
Part C: Admin service soft-delete/archive
- Service model uses SoftDeletes trait
- Admin can archive and restore services
- Show archived toggle on services list
- Migration adds deleted_at column
Docs: Updated TASKS.md, CLAUDE.md, PROJECT_DEVELOPMENT.md, MEMORY.md
- Phase 3 marked complete, test counts updated (252 passing)
- SupportPal references replaced with standalone ticket system
- Frontend design skill background rule added
- Closed GitHub issues #3, #6, #7, #8, #9
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds edit/update endpoints for customer management with admin notes
field, form request validation, status change audit logging, and
8 new tests (171 total, 846 assertions).
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Screenshot auth: dev-only middleware that authenticates headless Chrome
via ?_screenshot_token= query param. Auto-selects admin/customer user
by subdomain. Only active when APP_ENV=local or explicitly enabled.
SupportPal cleanup: dropped supportpal_ticket_id column, removed env
vars and Phase 7 task tracking. 7 new tests (151 total, 782 assertions).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaces planned SupportPal integration with a built-in ticket system.
Customer side: create tickets, reply, close. Admin side: manage all
tickets with search/filters, staff replies, status updates. Includes
30 Pest tests (144 total, 775 assertions).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 5 (Admin Panel):
- Admin coupon management: full CRUD with create/edit/deactivate,
auto-generate codes, plan restrictions multi-select, usage tracking,
redemption history on edit page
- Add active flag migration for coupons table
Phase 4 (Customer Dashboard):
- Customer services list page with plan info and status
- Customer service detail page with network info, plan details,
control panel links (VirtFusion/SynergyCP/Enhance), important dates
- Service status/type resolver utilities
Documentation:
- Update TASKS.md with all completed Phase 3/4/5/8 items
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Mark all completed items for Phase 1 (foundation) and Phase 2
(billing & subscriptions). Add remaining Phase 2 items that still
need work (PDF invoices, multi-currency, tax, admin coupon CRUD,
email notifications).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>