<?php

declare(strict_types=1);

namespace ImovelZapAi\Visits\Domain\Enums;

enum VisitReminderType: string
{
    case InitialConfirmation = 'initial_confirmation';
    case Reminder24h = 'reminder_24h';
    case Reminder2h = 'reminder_2h';
    case PresenceConfirmation = 'presence_confirmation';

    public function label(): string
    {
        return match ($this) {
            self::InitialConfirmation => 'Confirmação inicial',
            self::Reminder24h => 'Lembrete 24 horas',
            self::Reminder2h => 'Lembrete 2 horas',
            self::PresenceConfirmation => 'Confirmação de presença',
        };
    }

    public function defaultTemplate(): string
    {
        return match ($this) {
            self::InitialConfirmation => 'Olá {{nome}}! Sua visita ao imóvel {{imovel}} está confirmada para {{data}} às {{hora}}. Qualquer dúvida, fale conosco.',
            self::Reminder24h => 'Lembrete: amanhã às {{hora}} você tem visita em {{imovel}}. Nos vemos lá!',
            self::Reminder2h => 'Em cerca de 2 horas começa sua visita em {{imovel}} ({{data}} {{hora}}). Até breve!',
            self::PresenceConfirmation => 'Você confirma presença na visita de {{data}} às {{hora}} em {{imovel}}? Responda SIM para confirmar.',
        };
    }
}
