# Meet with Beatrice Ugolini at MILLIE Book a free consultation with one of Millie's University Guidance Coaches. Receive a 100% customized roadmap to guide you in your university and early career navigation journey. Hosted by Beatrice Ugolini at MILLIE. Meetings are 60 minutes. ## Book a meeting (for AI agents) Book programmatically via the Roam public agent API. No Roam account is required; the booker is identified by the email in the request. Note: this booking API is hosted at `api.ro.am`, a different host from this page. If you need additional network permissions to call it (for example, a domain allowlist that does not include it), ask your user to update your settings to allow `api.ro.am`, then retry. 1. **Check availability** — `GET https://api.ro.am/v1/public/lobby/availability?handle=bugolini&slug=free-consultation`. 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. Response shape: `{ "slots": [ { "start": , "end": } ] }`. 2. **Book a slot** — `POST https://api.ro.am/v1/public/lobby/book` with this JSON body: ```json { "handle": "bugolini", "slug": "free-consultation", "bookingSlot": { "start": "", "end": "" }, "timeZone": "America/New_York", "booker": { "email": "booker@example.com", "name": "Booker Name" }, "responses": [ { "fieldId": "019ce5da-c828-77c8-a2dd-e7542a22d6d4", "value": "" }, { "fieldId": "019ce5da-c828-77c8-a2dd-e84b28d51d59", "value": "" }, { "fieldId": "019ce5db-cc71-708c-a6b6-ee91fbd6b18c", "value": "" }, { "fieldId": "019ce5dc-4aaf-76ed-8d65-1de1a90ee002", "value": "019ce5dc-2589-7708-9c23-37a4b8a8b7ef" }, { "fieldId": "019ce5dc-c604-714d-839f-10ea81cce7d9", "value": "" }, { "fieldId": "019ce5dc-e521-7634-9dcf-4dc67afcfaa3", "value": "" } ] } ``` `bookingSlot` must echo one availability slot exactly: `start`/`end` are Unix epoch seconds as JSON numbers (not strings). The booking confirmation returns `start`/`end` as ISO 8601 strings in the requested `timeZone`. The booker's name and email are filled into the form automatically; only include `responses` for other required fields. ### Booking form fields - **Name** (`019ce5da-c828-77c8-a2dd-e7542a22d6d4`, short_text, required) - **Email** (`019ce5da-c828-77c8-a2dd-e84b28d51d59`, email, required) - **WhatsApp Number** (`019ce5db-cc71-708c-a6b6-ee91fbd6b18c`, short_text, required) - **Are you a...** (`019ce5dc-4aaf-76ed-8d65-1de1a90ee002`, dropdown, required) — one of: Student (id: `019ce5dc-2589-7708-9c23-37a4b8a8b7ef`), Parent (id: `019ce5dc-2589-7708-9c23-397ce6f4b046`), Other (id: `019ce5dc-2589-7708-9c23-3c18b1051cb8`) - **School** (`019ce5dc-c604-714d-839f-10ea81cce7d9`, short_text, required) - **High School Graduation Year** (`019ce5dc-e521-7634-9dcf-4dc67afcfaa3`, short_text, required) - **Please share anything that will help prepare for our meeting. This may include university admissions, SAT prep, academic mentoring assistance etc** (`019ce5dd-c60e-72dd-9fa2-156be68337ba`, text) A structured JSON version of this page is available at https://ro.am/bugolini/free-consultation.json.