> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parsalink.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Availability & Booking Links

> Set your available hours and share a booking link so prospects and clients can schedule meetings without the back-and-forth.

<div
  style={{ 
background: "linear-gradient(135deg, #143D4E 0%, #1C758A 55%, #30C8CA 100%)",
borderRadius: "24px",
padding: "28px",
marginBottom: "32px",
color: "#FFFFFF",
boxShadow: "0 24px 60px rgba(20, 61, 78, 0.25)",
position: "relative",
overflow: "hidden",
border: "1px solid rgba(255,255,255,0.08)"
}}
>
  <div
    style={{
position: "absolute",
top: "-40px",
right: "-40px",
width: "180px",
height: "180px",
background: "rgba(255,255,255,0.08)",
borderRadius: "999px"
}}
  />

  <div
    style={{
position: "absolute",
bottom: "-60px",
left: "-30px",
width: "160px",
height: "160px",
background: "rgba(255,255,255,0.06)",
borderRadius: "999px"
}}
  />

  <div
    style={{
display: "inline-flex",
alignItems: "center",
background: "rgba(255,255,255,0.15)",
color: "#FFFFFF",
padding: "6px 14px",
borderRadius: "999px",
fontSize: "12px",
fontWeight: "700",
marginBottom: "14px",
letterSpacing: "0.08em",
textTransform: "uppercase"
}}
  >
    AVAILABILITY & BOOKING LINKS
  </div>

  <p
    style={{ 
margin: 0, 
fontSize: "16px", 
lineHeight: "1.9",
maxWidth: "760px",
color: "rgba(255,255,255,0.95)"
}}
  >
    Set your available hours and share a booking link so prospects and clients can schedule meetings without the back-and-forth.
  </p>
</div>

<div
  style={{ 
display: "inline-flex",
alignItems: "center",
gap: "8px",
background: "rgba(28,117,138,0.12)",
padding: "6px 16px",
borderRadius: "999px",
marginBottom: "20px"
}}
>
  <span
    style={{ 
width: "8px", 
height: "8px", 
background: "#30C8CA", 
borderRadius: "999px",
display: "inline-block"
}}
  />

  <span style={{ 
    color: "#1C758A", 
    fontSize: "12px", 
    fontWeight: "700", 
    letterSpacing: "0.08em", 
    textTransform: "uppercase" 
  }}>Overview</span>
</div>

## What Are Booking Links?

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "16px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>🔗</span> A booking link is a shareable URL that lets anyone schedule a meeting with you during your available hours. When someone clicks your link, they see a calendar with your open time slots, pick one, fill in their details, and the meeting is automatically created — in ParsaLink, in your connected calendar, and in their calendar.
</div>

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "32px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)",
borderLeft: "4px solid #30C8CA"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>⏱️</span> No more "what time works for you?" emails.
</div>

***

<div
  style={{ 
display: "inline-flex",
alignItems: "center",
gap: "8px",
background: "rgba(28,117,138,0.12)",
padding: "6px 16px",
borderRadius: "999px",
marginBottom: "20px"
}}
>
  <span
    style={{ 
width: "8px", 
height: "8px", 
background: "#30C8CA", 
borderRadius: "999px",
display: "inline-block"
}}
  />

  <span style={{ 
    color: "#1C758A", 
    fontSize: "12px", 
    fontWeight: "700", 
    letterSpacing: "0.08em", 
    textTransform: "uppercase" 
  }}>Availability</span>
</div>

## Setting Your Availability

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "24px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>⚙️</span> Go to <strong>Calendar → Availability</strong> to configure when you can be booked.
</div>

### Working Hours

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "16px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>🕒</span> Set your default available hours for each day of the week. For example:
</div>

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "16px",
padding: "16px 20px",
marginBottom: "16px",
boxShadow: "0 2px 8px rgba(0,0,0,0.02)"
}}
>
  <div style={{ display: "flex", flexDirection: "column", gap: "8px" }}>
    <span style={{ display: "flex", alignItems: "center", gap: "8px" }}><span style={{ color: "#30C8CA" }}>•</span> Monday–Friday: 9:00 AM – 5:00 PM</span>
    <span style={{ display: "flex", alignItems: "center", gap: "8px" }}><span style={{ color: "#30C8CA" }}>•</span> Saturday–Sunday: Not available</span>
  </div>
</div>

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "24px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>📅</span> You can set different hours for different days. Toggle a day off entirely to block it from booking.
</div>

### Buffer Time

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "16px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>⏸️</span> Add buffer time before and/or after meetings to avoid back-to-back scheduling:

  <div style={{ marginTop: "12px", marginLeft: "28px", display: "flex", flexDirection: "column", gap: "8px" }}>
    <span style={{ display: "flex", alignItems: "center", gap: "8px" }}><span style={{ color: "#30C8CA" }}>•</span> <strong>Before meeting:</strong> 10 minutes to prepare</span>
    <span style={{ display: "flex", alignItems: "center", gap: "8px" }}><span style={{ color: "#30C8CA" }}>•</span> <strong>After meeting:</strong> 15 minutes for follow-up notes</span>
  </div>
</div>

### Minimum Notice

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "16px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>⏰</span> Set a minimum notice period so prospects can't book a meeting starting in the next 30 minutes. Common values: 1 hour, 4 hours, 24 hours.
</div>

### Maximum Advance Booking

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "32px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>📆</span> Limit how far in advance someone can book. For example, set 30 days to prevent bookings more than a month out.
</div>

***

<div
  style={{ 
display: "inline-flex",
alignItems: "center",
gap: "8px",
background: "rgba(28,117,138,0.12)",
padding: "6px 16px",
borderRadius: "999px",
marginBottom: "20px"
}}
>
  <span
    style={{ 
width: "8px", 
height: "8px", 
background: "#30C8CA", 
borderRadius: "999px",
display: "inline-block"
}}
  />

  <span style={{ 
    color: "#1C758A", 
    fontSize: "12px", 
    fontWeight: "700", 
    letterSpacing: "0.08em", 
    textTransform: "uppercase" 
  }}>Meeting Types</span>
</div>

## Creating Meeting Types

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "24px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>📝</span> You can create multiple booking link types for different meeting purposes:
</div>

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
overflowX: "auto",
marginBottom: "24px",
border: "1px solid #E5E7EB",
borderRadius: "20px"
}}
>
  <table style={{ width: "100%", borderCollapse: "collapse" }}>
    <thead>
      <tr style={{ borderBottom: "1px solid #E5E7EB" }}>
        <th style={{ padding: "16px 20px", textAlign: "left", fontWeight: "600", fontSize: "14px" }}>Field</th>
        <th style={{ padding: "16px 20px", textAlign: "left", fontWeight: "600", fontSize: "14px" }}>Description</th>
      </tr>
    </thead>

    <tbody>
      <tr style={{ borderBottom: "1px solid #E5E7EB" }}>
        <td style={{ padding: "14px 20px", fontWeight: "500" }}>Meeting Name</td>
        <td style={{ padding: "14px 20px" }}>Displayed on the booking page (e.g., "30-Minute Intro Call")</td>
      </tr>

      <tr style={{ borderBottom: "1px solid #E5E7EB" }}>
        <td style={{ padding: "14px 20px", fontWeight: "500" }}>Duration</td>
        <td style={{ padding: "14px 20px" }}>Length of the meeting (15, 30, 45, 60, 90 minutes, or custom)</td>
      </tr>

      <tr style={{ borderBottom: "1px solid #E5E7EB" }}>
        <td style={{ padding: "14px 20px", fontWeight: "500" }}>Location</td>
        <td style={{ padding: "14px 20px" }}>Video link (auto-generated or custom) or in-person address</td>
      </tr>

      <tr style={{ borderBottom: "1px solid #E5E7EB" }}>
        <td style={{ padding: "14px 20px", fontWeight: "500" }}>Description</td>
        <td style={{ padding: "14px 20px" }}>Shown on the booking page — describe what the meeting is for</td>
      </tr>

      <tr style={{ borderBottom: "1px solid #E5E7EB" }}>
        <td style={{ padding: "14px 20px", fontWeight: "500" }}>Buffer Time</td>
        <td style={{ padding: "14px 20px" }}>Override your default buffer for this meeting type</td>
      </tr>

      <tr style={{ borderBottom: "1px solid #E5E7EB" }}>
        <td style={{ padding: "14px 20px", fontWeight: "500" }}>Availability</td>
        <td style={{ padding: "14px 20px" }}>Use your default hours or set custom hours for this type</td>
      </tr>

      <tr style={{ borderBottom: "1px solid #E5E7EB" }}>
        <td style={{ padding: "14px 20px", fontWeight: "500" }}>CRM Linking</td>
        <td style={{ padding: "14px 20px" }}>Automatically link bookings to a contact or lead in the CRM</td>
      </tr>
    </tbody>
  </table>
</div>

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "32px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>🔗</span> After saving, each meeting type gets its own unique booking URL.
</div>

***

<div
  style={{ 
display: "inline-flex",
alignItems: "center",
gap: "8px",
background: "rgba(28,117,138,0.12)",
padding: "6px 16px",
borderRadius: "999px",
marginBottom: "20px"
}}
>
  <span
    style={{ 
width: "8px", 
height: "8px", 
background: "#30C8CA", 
borderRadius: "999px",
display: "inline-block"
}}
  />

  <span style={{ 
    color: "#1C758A", 
    fontSize: "12px", 
    fontWeight: "700", 
    letterSpacing: "0.08em", 
    textTransform: "uppercase" 
  }}>Sharing</span>
</div>

## Sharing Your Booking Link

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "20px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>📋</span> Copy your booking link from the <strong>Availability</strong> page and share it:
</div>

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "16px",
padding: "16px 20px",
marginBottom: "32px",
boxShadow: "0 2px 8px rgba(0,0,0,0.02)"
}}
>
  <div style={{ display: "flex", flexDirection: "column", gap: "10px" }}>
    <div style={{ display: "flex", alignItems: "center", gap: "12px" }}>
      <span style={{ color: "#30C8CA", fontSize: "16px" }}>✓</span>
      <span>In email signatures</span>
    </div>

    <div style={{ display: "flex", alignItems: "center", gap: "12px" }}>
      <span style={{ color: "#30C8CA", fontSize: "16px" }}>✓</span>
      <span>In outbound sales emails: <em>"Feel free to grab time here: \[link]"</em></span>
    </div>

    <div style={{ display: "flex", alignItems: "center", gap: "12px" }}>
      <span style={{ color: "#30C8CA", fontSize: "16px" }}>✓</span>
      <span>On your website or LinkedIn profile</span>
    </div>

    <div style={{ display: "flex", alignItems: "center", gap: "12px" }}>
      <span style={{ color: "#30C8CA", fontSize: "16px" }}>✓</span>
      <span>Inside a proposal's "Next Steps" section</span>
    </div>

    <div style={{ display: "flex", alignItems: "center", gap: "12px" }}>
      <span style={{ color: "#30C8CA", fontSize: "16px" }}>✓</span>
      <span>Directly from the AI chat: ask Parsa to include your booking link in a generated email</span>
    </div>
  </div>
</div>

***

<div
  style={{ 
display: "inline-flex",
alignItems: "center",
gap: "8px",
background: "rgba(28,117,138,0.12)",
padding: "6px 16px",
borderRadius: "999px",
marginBottom: "20px"
}}
>
  <span
    style={{ 
width: "8px", 
height: "8px", 
background: "#30C8CA", 
borderRadius: "999px",
display: "inline-block"
}}
  />

  <span style={{ 
    color: "#1C758A", 
    fontSize: "12px", 
    fontWeight: "700", 
    letterSpacing: "0.08em", 
    textTransform: "uppercase" 
  }}>Booking Flow</span>
</div>

## The Booking Page Experience

When someone opens your booking link, they land on a hosted page with:

* **Month view** — a calendar grid showing the current month with available days highlighted. Click any day to see the slot times.
* **Duration picker** — choose from your enabled durations (15, 30, 45, 60, 90 minutes). The picker only shows the durations you have enabled at **Settings → Calendar → Allowed Durations**, so a calendar set up for "discovery calls only" can hide everything except the 30-min option.
* **Timezone toggle** — auto-detects the visitor's timezone with a manual override.

The slot list updates whenever they change the date or the duration. Slots are computed from your working hours, buffer time, existing CRM events, and busy time pulled live from Google Calendar (if connected).

<Note>
  Each calendar has its own `allowed_booking_durations` config. A team can have one person who only takes 60-minute discoveries and another who takes 15/30/60 — the booker sees the right durations per host without you maintaining separate booking pages.
</Note>

## What Happens When Someone Books

<Steps>
  <Step title="Contact selects a time">
    <div
      className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
      style={{
    border: "1px solid #E5E7EB",
    borderRadius: "16px",
    padding: "14px 18px",
    marginBottom: "10px",
    boxShadow: "0 2px 8px rgba(0,0,0,0.02)"
  }}
    >
      The visitor picks a date in the month grid, then a slot that fits the duration they chose.
    </div>
  </Step>

  <Step title="Contact fills in their details">
    <div
      className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
      style={{
    border: "1px solid #E5E7EB",
    borderRadius: "16px",
    padding: "14px 18px",
    marginBottom: "10px",
    boxShadow: "0 2px 8px rgba(0,0,0,0.02)"
  }}
    >
      The booking form asks for their name, email, and any custom questions you've configured (e.g., "What would you like to discuss?").
    </div>
  </Step>

  <Step title="Booking is confirmed">
    <div
      className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
      style={{
    border: "1px solid #E5E7EB",
    borderRadius: "16px",
    padding: "14px 18px",
    marginBottom: "10px",
    boxShadow: "0 2px 8px rgba(0,0,0,0.02)"
  }}
    >
      ParsaLink creates a calendar event and sends confirmation emails with a calendar invite to both you and the contact. If the contact is already in your CRM, the event is linked to their record.
    </div>
  </Step>

  <Step title="New contact is created (if needed)">
    <div
      className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
      style={{
    border: "1px solid #E5E7EB",
    borderRadius: "16px",
    padding: "14px 18px",
    marginBottom: "10px",
    boxShadow: "0 2px 8px rgba(0,0,0,0.02)"
  }}
    >
      If the contact's email doesn't match an existing CRM record, ParsaLink creates a new contact with the information they provided.
    </div>
  </Step>
</Steps>

***

<div
  style={{ 
display: "inline-flex",
alignItems: "center",
gap: "8px",
background: "rgba(28,117,138,0.12)",
padding: "6px 16px",
borderRadius: "999px",
marginBottom: "20px"
}}
>
  <span
    style={{ 
width: "8px", 
height: "8px", 
background: "#30C8CA", 
borderRadius: "999px",
display: "inline-block"
}}
  />

  <span style={{ 
    color: "#1C758A", 
    fontSize: "12px", 
    fontWeight: "700", 
    letterSpacing: "0.08em", 
    textTransform: "uppercase" 
  }}>Time Off</span>
</div>

## Blocking Time Off

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "16px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>🏖️</span> To block out specific dates (holidays, vacations):
</div>

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "16px",
padding: "16px 20px",
marginBottom: "16px",
boxShadow: "0 2px 8px rgba(0,0,0,0.02)"
}}
>
  <div style={{ display: "flex", flexDirection: "column", gap: "10px" }}>
    <div style={{ display: "flex", alignItems: "center", gap: "12px" }}>
      <span style={{ background: "#30C8CA", color: "#FFFFFF", width: "22px", height: "22px", borderRadius: "999px", display: "inline-flex", alignItems: "center", justifyContent: "center", fontSize: "11px", fontWeight: "bold" }}>1</span>
      <span>Go to <strong>Calendar → Availability → Date Overrides</strong>.</span>
    </div>

    <div style={{ display: "flex", alignItems: "center", gap: "12px" }}>
      <span style={{ background: "#30C8CA", color: "#FFFFFF", width: "22px", height: "22px", borderRadius: "999px", display: "inline-flex", alignItems: "center", justifyContent: "center", fontSize: "11px", fontWeight: "bold" }}>2</span>
      <span>Add a date range and mark it as unavailable.</span>
    </div>

    <div style={{ display: "flex", alignItems: "center", gap: "12px" }}>
      <span style={{ background: "#30C8CA", color: "#FFFFFF", width: "22px", height: "22px", borderRadius: "999px", display: "inline-flex", alignItems: "center", justifyContent: "center", fontSize: "11px", fontWeight: "bold" }}>3</span>
      <span>No bookings can be made during that period, even if it falls within your normal working hours.</span>
    </div>
  </div>
</div>

<div
  className="bg-white dark:bg-black dark:border-white/10 dark:text-white [&_*]:dark:text-white"
  style={{
border: "1px solid #E5E7EB",
borderRadius: "20px",
padding: "20px 24px",
marginBottom: "20px",
boxShadow: "0 4px 12px rgba(0,0,0,0.03)"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "12px" }}>📌</span> You can also manually block a time slot by creating a calendar event and marking it as <strong>Busy</strong>. Busy events from your connected Google or Outlook calendar are automatically detected and hidden from your booking link.
</div>

<div
  className="dark:bg-black dark:border-white/10"
  style={{
background: "rgba(48,200,202,0.08)",
border: "1px solid rgba(48,200,202,0.2)",
borderRadius: "16px",
padding: "16px 20px",
marginBottom: "20px"
}}
>
  <span style={{ color: "#30C8CA", fontWeight: "600", marginRight: "10px" }}>ℹ️</span>
  <span style={{ fontSize: "14px" }}>Booking pages are public by default — anyone with the link can book a meeting. If you need password protection or CRM-only access, contact support.</span>
</div>
