{
  "schemaVersion": "2026-06-29",
  "kind": "roam.lobby.bookingPage",
  "handle": "kylehamilton",
  "slug": "lobby-1",
  "url": "https://ro.am/kylehamilton/lobby-1",
  "displayUrl": "ro.am/kylehamilton/lobby-1",
  "name": "Meet with Kyle Hamilton  at Startupr",
  "description": "Thanks for booking. This is a quick interview for the appointment setter role at Startupr.\nA few things to know before we talk. The call will run about 15 to 30 minutes. We'll cover your sales background, and walk through what the role looks like day to day. Since the job is calls, we'll also want to hear how you sound on the phone, so please join from somewhere quiet with a solid connection.\nNo prep needed. Just come ready to talk through your experience and ask whatever you want about the role.\nIf something comes up and you need to move the time, use the reschedule link in your confirmation rather than letting it lapse.\nLooking forward to it.",
  "descriptionMarkdown": "Thanks for booking. This is a quick interview for the appointment setter role at Startupr.\nA few things to know before we talk. The call will run about 15 to 30 minutes. We'll cover your sales background, and walk through what the role looks like day to day. Since the job is calls, we'll also want to hear how you sound on the phone, so please join from somewhere quiet with a solid connection.\nNo prep needed. Just come ready to talk through your experience and ask whatever you want about the role.\nIf something comes up and you need to move the time, use the reschedule link in your confirmation rather than letting it lapse.\nLooking forward to it.",
  "organization": {
    "name": "Startupr"
  },
  "hosts": [
    {
      "name": "Kyle Hamilton ",
      "imageUrl": "https://ro.am/card-images/94ca01ff-a77a-4791-a853-239fc9ce07f7"
    }
  ],
  "duration": {
    "defaultMinutes": 20,
    "optionsMinutes": [
      20
    ]
  },
  "dropInEnabled": false,
  "bookingForm": {
    "fields": [
      {
        "id": "01989af9-9496-778e-a3ad-73b25be3b94a",
        "name": "Name",
        "type": "short_text",
        "required": true
      },
      {
        "id": "01989af9-9496-778e-a3ad-7797c148fbf8",
        "name": "Email",
        "type": "email",
        "required": true
      },
      {
        "id": "01989af9-9496-778e-a3ad-7b5108b4a167",
        "name": "Notes",
        "type": "short_text",
        "required": false
      }
    ]
  },
  "actions": {
    "getAvailability": {
      "method": "GET",
      "href": "https://api.ro.am/v1/public/lobby/availability?handle=kylehamilton&slug=lobby-1",
      "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."
    }
  }
}