[2026-05-08 21:29:01] local.INFO: admin.reservations.list {"request_id":"79de9c7c-5f76-499f-b37d-0acb6808842d","hotel_id":1,"user_id":2,"filters":[],"total":12} 
[2026-05-08 21:30:13] local.DEBUG: tariff.calculated {"request_id":"ea4857a2-66c8-4f53-bfbe-998677fb763e","hotel_id":1,"user_id":2,"category_id":1,"nights":1,"total_final":380.0} 
[2026-05-08 21:30:20] local.DEBUG: From: PMS Hotel <noreply@pmshotel.com>
To: ana@exemplo.com
Subject: =?utf-8?Q?=E2=9C=85?= Reserva Confirmada #PMS-V2DJ7Q
 =?utf-8?Q?=E2=80=94?= Pousadas Ilha Grande
MIME-Version: 1.0
Date: Fri, 08 May 2026 21:30:20 -0300
Message-ID: <6c27f62dfb683a918402862c2cdc83ed@pmshotel.com>
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Notificação</title>
<style>
  * { margin:0; padding:0; box-sizing:border-box; }
  body { background:#f1f5f9; font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; color:#334155; }
  .wrapper { max-width:600px; margin:32px auto; }
  .header {
    background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);
    border-radius:16px 16px 0 0;
    padding:32px 36px;
    text-align:center;
  }
  .header img { height:48px; margin-bottom:12px; }
  .header h1 { color:#fff; font-size:20px; font-weight:800; letter-spacing:-.3px; }
  .header p { color:rgba(255,255,255,.8); font-size:13px; margin-top:4px; }
  .body {
    background:#fff;
    padding:36px;
    border-left:1px solid #e2e8f0;
    border-right:1px solid #e2e8f0;
  }
  .greeting { font-size:18px; font-weight:700; color:#1e293b; margin-bottom:8px; }
  .text { font-size:14px; color:#64748b; line-height:1.7; margin-bottom:20px; }
  .card {
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:12px;
    padding:20px 24px;
    margin:20px 0;
  }
  .card-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#94a3b8; margin-bottom:12px; }
  .info-row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #e2e8f0; font-size:13px; }
  .info-row:last-child { border-bottom:none; }
  .info-label { color:#64748b; }
  .info-value { font-weight:700; color:#1e293b; }
  .btn {
    display:block;
    background:linear-gradient(135deg,#6366f1,#8b5cf6);
    color:#fff;
    text-decoration:none;
    font-weight:700;
    font-size:14px;
    padding:14px 28px;
    border-radius:10px;
    text-align:center;
    margin:24px 0;
  }
  .badge {
    display:inline-block;
    padding:3px 10px;
    border-radius:99px;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .badge-green { background:#d1fae5; color:#065f46; }
  .badge-blue  { background:#dbeafe; color:#1e40af; }
  .badge-yellow{ background:#fef3c7; color:#92400e; }
  .divider { height:1px; background:#e2e8f0; margin:24px 0; }
  .footer {
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:0 0 16px 16px;
    padding:24px 36px;
    text-align:center;
  }
  .footer p { font-size:12px; color:#94a3b8; line-height:1.7; }
  .footer a { color:#6366f1; text-decoration:none; }
</style>
</head>
<body>
<div class="wrapper">
  <div class="header">
    <h1>PMS Hotel</h1>
    <p></p>
  </div>
  <div class="body">
    <p class="greeting">Olá, Ana! 👋</p>
<p class="text">
  Sua reserva foi <strong>confirmada</strong> com sucesso. Estamos ansiosos para recebê-lo(a)!
</p>

<div class="card">
  <div class="card-title">📋 Detalhes da Reserva</div>
  <div class="info-row">
    <span class="info-label">Localizador</span>
    <span class="info-value"># PMS-V2DJ7Q</span>
  </div>
  <div class="info-row">
    <span class="info-label">Hóspede</span>
    <span class="info-value">Ana Rodrigues</span>
  </div>
  <div class="info-row">
    <span class="info-label">Acomodação</span>
    <span class="info-value">BANGALOS 1</span>
  </div>
  <div class="info-row">
    <span class="info-label">Check-in</span>
    <span class="info-value">11/05/2026</span>
  </div>
  <div class="info-row">
    <span class="info-label">Check-out</span>
    <span class="info-value">12/05/2026</span>
  </div>
  <div class="info-row">
    <span class="info-label">Diárias</span>
    <span class="info-value">1 noite(s)</span>
  </div>
  <div class="info-row">
    <span class="info-label">Total Previsto</span>
    <span class="info-value" style="color:#6366f1;">R$ 380,00</span>
  </div>
  <div class="info-row">
    <span class="info-label">Café da Manhã</span>
    <span class="info-value">
      <span class="badge badge-yellow">
        Não incluído
      </span>
    </span>
  </div>
  <div class="info-row">
    <span class="info-label">Adultos / Crianças</span>
    <span class="info-value">2 / 0</span>
  </div>
</div>

<div class="divider"></div>

<div class="card" style="background:#eff6ff;border-color:#bfdbfe;">
  <div class="card-title" style="color:#1e40af;">🏨 Contato do Hotel</div>
  <div class="info-row">
    <span class="info-label">Hotel</span>
    <span class="info-value">Pousadas Ilha Grande</span>
  </div>
    <div class="info-row">
    <span class="info-label">Telefone</span>
    <span class="info-value">(48) 99999-9999</span>
  </div>
      <div class="info-row">
    <span class="info-label">Endereço</span>
    <span class="info-value">R. ilha Grande, Rio de Janeiro/RJ</span>
  </div>
  </div>


<p class="text" style="margin-top:20px;">
  Em caso de dúvidas ou necessidade de alterações, entre em contato conosco pelo e-mail ou telefone acima. Estamos à disposição!
</p>
  </div>
  <div class="footer">
    <p>
      Este e-mail foi enviado automaticamente pelo sistema.<br>
      PMS Hotel · <br>
      <a href="mailto:noreply@pmshotel.com">noreply@pmshotel.com</a>
    </p>
    <p style="margin-top:10px;font-size:11px;color:#cbd5e1;">© 2026 PMS Hotel — Todos os direitos reservados.</p>
  </div>
</div>
</body>
</html>
 {"request_id":"b2b112ba-1cd7-4d65-9984-81159af9988a","hotel_id":null,"user_id":2} 
[2026-05-08 21:30:20] local.INFO: Email enviado {"request_id":"b2b112ba-1cd7-4d65-9984-81159af9988a","hotel_id":null,"user_id":2,"type":"reservation_confirmed","reservation_id":15,"locator":"PMS-V2DJ7Q","to":"ana@exemplo.com"} 
[2026-05-08 21:30:22] local.DEBUG: tariff.calculated {"request_id":"7d9b75f7-6d77-4d79-b3eb-26b9817e3698","hotel_id":1,"user_id":2,"category_id":1,"nights":1,"total_final":380.0} 
[2026-05-08 21:30:28] local.DEBUG: tariff.calculated {"request_id":"bfae9f56-3358-459a-a795-ef889558e892","hotel_id":1,"user_id":2,"category_id":1,"nights":1,"total_final":380.0} 
[2026-05-08 21:30:31] local.DEBUG: tariff.calculated {"request_id":"95811d20-377d-4577-8819-643619c44e86","hotel_id":1,"user_id":2,"category_id":1,"nights":5,"total_final":1880.0} 
