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

# Self-Scheduling

> Let patients book appointments online through a patient-facing booking page with service selection, provider choice, and payment.

<Info>
  **Where to find this:** Self-scheduling is a patient-facing feature. Configure it per service in [Settings > Services](/modules/settings/services) under the **Visibility & Discovery**, **Pricing & Payments**, and **Scheduling & Booking** tabs.
</Info>

## Share Your Booking Page

Your clinic's booking page lives at a web address ending in `/self-schedule` — for example, `https://app.decodahealth.com/your-clinic/self-schedule`. Share this link anywhere patients can click it: your website, social media, email signatures, or text messages.

To copy your main booking link, open the search bar at the top of any page (or press **⌘K** on Mac, **Ctrl+K** on Windows), type **Copy Scheduling Link**, and select it. The full link is copied to your clipboard, ready to paste.

You can also copy links that send patients straight to a specific service, category, or location, so they skip earlier steps:

| Link type        | Where to find it                                                                                                  | What it does                                                    |
| ---------------- | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| **Whole clinic** | Search bar → **Copy Scheduling Link**                                                                             | Opens the booking page at the first step                        |
| **One service**  | [Settings > Services](/modules/settings/services) → service row menu → **Copy service link for self-scheduling**  | Pre-selects that service                                        |
| **One category** | [Settings > Services](/modules/settings/services) → service row menu → **Copy category link for self-scheduling** | Shows only services in that category                            |
| **One location** | [Settings > Locations](/modules/settings/locations) → location row menu → **Copy Scheduling Link**                | Pre-selects that location                                       |
| **One provider** | [Settings > Users](/modules/settings/users) → provider row menu → **Copy Self Scheduling Link**                   | Skips the provider picker and books straight with that provider |

<Note>
  A service set to **only bookable over the phone** has no copy-link option, because patients can't book it online.
</Note>

## Self-Scheduling (Patient-Facing)

Self-scheduling allows patients to book appointments online without calling the clinic. The patient-facing booking flow guides them through these steps:

<Steps>
  <Step title="Select Patient Type">
    The patient indicates whether they are a new patient, existing patient, or not sure. The options are: "Yes, I'm an existing patient", "No, I'm a new patient", and "I'm not sure". Services may be restricted based on patient type. Existing patients go through phone-based MFA verification before proceeding.
  </Step>

  <Step title="Choose Location Type">
    The patient selects between In-Person, Telehealth, or "Skip, I'll decide later".
  </Step>

  <Step title="Select Service">
    The patient browses available services, filtered by category if configured. Services marked as "popular" appear first, and any service with an uploaded image shows that photo on its card. Services marked "only bookable over the phone" are visible but cannot be selected. When a service has **Allow Multiple Bookings** turned on, its card shows a quantity control so the patient can add it more than once in a single appointment — useful for multi-area or multi-unit treatments. The itinerary collapses repeated rows into `Service Name × N` so the picks read clearly.
  </Step>

  <Step title="Choose Location">
    For in-person visits, the patient selects a clinic location. If location services are enabled, nearby locations appear first. If your clinic has only one location, it's picked automatically and the step is skipped.
  </Step>

  <Step title="Select Provider (Optional)">
    If the service has "Allow Individual Provider Booking" enabled, the patient can choose a specific provider, or pick the **First available** card at the top ("We'll match you with the next provider with an open slot") to take the soonest opening with any provider. First available is selected by default. Otherwise, a provider is auto-assigned. When a provider has **Credentials** filled in on their [profile](/modules/settings/profile-security) (for example MD or PA-C), those appear under their name on each provider card and in provider details — so patients can see qualifications while they choose.
  </Step>

  <Step title="Pick a Time">
    The patient selects from available time slots. Availability is calculated based on provider shifts, existing appointments, service duration, and any short-notice blocks.
  </Step>

  <Step title="Confirm and Pay">
    The patient goes through a multi-step checkout process:

    1. **Confirmation** -- The patient reviews appointment details in an itinerary view (service, provider with credentials when set, location, date and time).
    2. **Payment Method** -- If credit card collection is required, the patient enters their card information.
    3. **Secure Appointment** -- The system reserves the time slot for the patient.
    4. **Checkout** -- If a booking fee is configured, the patient pays the fee. A returning patient who is signed in can pay with a card already on file or add a new one. Only credit and debit cards are offered as card-on-file for booking — Apple Pay wallet tokens and ACH aren't shown here, because they can't be re-charged later for no-show or cancellation fees.
  </Step>

  <Step title="Booking Complete">
    The appointment is created and a confirmation SMS is sent to the patient. The appointment appears on the clinic calendar. If the service has required forms, they are shown to the patient after booking (and also sent via text message for later completion).
  </Step>
</Steps>

### Header Images

The photos that appear at the top of the self-scheduling page come from each location's **Location Photo**, not from services, categories, or the clinic logo. The page shows a carousel that cycles through the photo of every location that has one uploaded — locations without a photo are skipped. To change which images appear or how many cycle through, upload or remove photos on each location in [Settings > Locations](/modules/settings/locations#location-photo).

### Location-First Flow

When a practice has locations that are far apart (at least 100 km) and many services are only available at certain locations, the booking page automatically shows the **Choose Location** step before the **Select Service** step. This helps patients pick their nearest location first, so they only see services offered there. The remaining steps stay the same.

### Existing Appointments and Saved Progress

* **Existing future appointments:** When a returning patient has an existing upcoming appointment, the booking page shows their booking and lets them reschedule or cancel it before making a new one. If the appointment is within 24 hours, rescheduling and cancellation are blocked and the patient is asked to call the clinic.
* **Reschedule or Cancel:** Patients can click **Reschedule or Cancel** on the booking page to sign in and manage an upcoming appointment without starting a new booking. Some appointment links open this path automatically for the matching visit.
* **Saved progress:** The system saves booking progress automatically. If a patient leaves and returns, a "Welcome back!" prompt appears offering to continue where they left off or start over.

### Care Plan Suggestion at Sign-In

When a returning patient signs in and the next pending step on their active [care plan](/modules/care-plans) is an appointment, the booking page shows a **Next step in your care plan** card before the service picker. The card lists the recommended services and the target date, with two actions:

* **Book this appointment** — pre-fills the recommended services and location and jumps the patient to the time picker. Confirming a time links the new appointment to that care plan step.
* **Not now** — dismisses the card for that session and continues to a regular booking.

If the patient already has an upcoming appointment, that takes priority and the care plan suggestion is hidden until it's handled.

<Info>
  Configure self-scheduling options per service in [Settings > Services](/modules/settings/services) under the **Visibility & Discovery**, **Pricing & Payments**, and **Scheduling & Booking** tabs.
</Info>
