FaceZio WhatsApp Opt-in Hotfix v4
=================================

PURPOSE
- Add explicit, auditable WhatsApp opt-in handling to the existing FaceZio live site.
- Existing contacts remain UNKNOWN. The patch does not silently opt anyone in.
- Standard Campaign recipient selection is restricted to contacts with active WhatsApp opt-in.
- MARKETING templates additionally require separate marketing opt-in.
- STOP/UNSUBSCRIBE/CANCEL/END/QUIT suppress future standard-campaign sends.
- START/SUBSCRIBE restores general WhatsApp consent only; it does not infer marketing consent.

PUBLIC FORM
For tenant subdomain "saveunllc":
  https://facezio.com/whatsapp-opt-in/saveunllc

Optional source tags:
  ?source=website_form
  ?source=checkout
  ?source=facebook_ad
  ?source=instagram_ad
  ?source=qr_code
  ?source=in_store

LIVE DEPLOYMENT
1) Take a full file + database backup.
2) Upload this ZIP into public_html and Extract/Overwrite.
3) Run the migration ONCE using the same PHP binary as the working cron job.
   Example for this server layout:
     cd /home/megisppd/public_html/_app
     /opt/alt/php85/usr/bin/php artisan migrate --force
   If your account path/PHP binary differs, use the actual values from cPanel.
4) Use FaceZio Admin/Tenant "Clear cache" once, then refresh.
5) Do NOT run /install and do NOT delete/recreate the database.

EXPECTED AFTER MIGRATION
- Existing contacts: WhatsApp consent = Unknown.
- Contact edit/create: WhatsApp Consent section appears.
- Contact list: Public WhatsApp Opt-in Form button appears.
- Public form submissions create/update the tenant contact and record consent source/date/IP/evidence.
- Standard Campaign: only opted-in contacts are selectable.
- Marketing template: only contacts with both general + marketing opt-in are selectable.
- Queue job re-checks consent immediately before sending.

IMPORTANT
- This patch helps collect/enforce valid consent. It does NOT guarantee a Meta messaging-limit upgrade.
- Meta messaging-tier changes remain controlled by Meta and depend on their current eligibility/quality rules.
- CSV Bulk Campaign remains a legacy uploader and cannot independently prove consent evidence; its page now warns to use only already-consented recipients. For consent-enforced sending, use the standard Campaign page.

FILES
15 application files + this README. No .env, access token, database export, upload, tenant data, template data, campaign data, or media is included.
