{
  "schemaVersion": "2026-06-29",
  "kind": "roam.lobby.bookingPage",
  "handle": "meetwithjoe",
  "slug": "approval",
  "url": "https://ro.am/meetwithjoe/approval",
  "displayUrl": "ro.am/meetwithjoe/approval",
  "name": "Loan Client Consultation",
  "description": "This consultation is focused on giving you a clear, customized plan to get approved — whether you’re ready today or need a step-by-step path to get there.\nWe’ll review your income, credit, assets, goals, and timeline so I can lay out exactly what you qualify for or what needs to be improved to reach approval.\n\nCome prepared to talk openly about your finances, questions, and goals. My job is to give you direction, clarity, and a real plan — no guessing, no confusion.",
  "descriptionMarkdown": "This consultation is focused on giving you a clear, customized plan to get approved — whether you’re ready today or need a step-by-step path to get there.\nWe’ll review your income, credit, assets, goals, and timeline so I can lay out exactly what you qualify for or what needs to be improved to reach approval.\n\nCome prepared to talk openly about your finances, questions, and goals. My job is to give you direction, clarity, and a real plan — no guessing, no confusion.",
  "organization": {
    "name": "Redefine Home Loans"
  },
  "hosts": [
    {
      "name": "Joe Almeida",
      "imageUrl": "https://ro.am/card-images/96dc8a03-82ef-44e4-8ee5-8d03d1aee135"
    }
  ],
  "duration": {
    "defaultMinutes": 25,
    "optionsMinutes": [
      25
    ]
  },
  "dropInEnabled": false,
  "bookingForm": {
    "fields": [
      {
        "id": "019ab63e-d315-7148-a3f9-5cbc0e7ef048",
        "name": "Name",
        "type": "short_text",
        "required": true
      },
      {
        "id": "019ab63e-d315-7148-a3f9-62f0d83532e4",
        "name": "Email",
        "type": "email",
        "required": true
      },
      {
        "id": "019ab640-67d2-759c-93ca-d949af4f20d5",
        "name": "Phone Number",
        "type": "phone_number",
        "required": true
      },
      {
        "id": "019b0e7c-6e45-74bb-9e11-61ff2024f28f",
        "name": "Client's Name",
        "type": "short_text",
        "required": true
      },
      {
        "id": "019b0e7c-971f-72cb-a158-b98a70758889",
        "name": "Stage of approval",
        "type": "short_text",
        "required": false
      },
      {
        "id": "019ab63e-d315-7148-a3f9-6605b78b8776",
        "name": "Special notes concerning the approval",
        "type": "short_text",
        "required": false
      }
    ]
  },
  "actions": {
    "getAvailability": {
      "method": "GET",
      "href": "https://api.ro.am/v1/public/lobby/availability?handle=meetwithjoe&slug=approval",
      "description": "Fetch bookable time slots. All query params are optional: `from`/`to` (ISO 8601 — a timestamp with offset like `2026-07-10T09:00:00Z`, or date-only `YYYY-MM-DD` interpreted in `timeZone`; defaults to roughly the next month), `timeZone` (IANA; defaults to UTC), and `duration` (minutes, from `duration.optionsMinutes`). Returned slot `start`/`end` are Unix epoch seconds, as JSON numbers."
    },
    "book": {
      "method": "POST",
      "href": "https://api.ro.am/v1/public/lobby/book",
      "description": "Create a booking. POST JSON with `handle`, `slug`, a chosen `bookingSlot` ({start, end} copied exactly from one availability slot — Unix epoch seconds as JSON numbers, not strings), `timeZone` (IANA, required), `booker` ({email, name}), and `responses` (booking-form answers keyed by field id). The response confirms the booked time as ISO 8601 strings in `timeZone`. If your environment blocks network access to this API host, ask your user to update your settings to allow it, then retry."
    }
  }
}