<?php

namespace App\Settings;

use Spatie\LaravelSettings\Settings;

class NotificationSettings extends Settings
{
    // Email Settings
    public string $from_email;
    public string $from_name;
    public string $manager_email = '';
    public bool $enable_customer_notifications;
    public bool $enable_technician_notifications;
    public bool $enable_manager_notifications;

    // SMS Settings
    public bool $enable_sms;
    public ?string $sms_provider; // twilio, nexmo, etc.
    public ?string $sms_api_key;
    public ?string $sms_from_number;

    // Customer Notification Preferences
    public array $customer_notification_types; // appointment reminders, service complete, etc.
    public array $notification_timing; // hours before appointment, etc.

    // Internal Notifications
    public bool $notify_on_new_job;
    public bool $notify_on_job_completion;
    public bool $notify_on_low_stock;
    public bool $notify_on_overdue_inspection;
    public bool $notify_on_warranty_expiry;

    // Escalation Settings
    public bool $enable_escalation;
    public int $escalation_hours;
    public array $escalation_contacts;

    public static function group(): string
    {
        return 'notifications';
    }
}
