# Appointment Booking

{/* AUTO-SYNCED SOURCE: this page lives in apps/app/src/modules/booking/docs/ and is mirrored into the docs app by `bun sync:module-docs`. Edit it in the module, not in apps/docs. */}

<Lead>
**Appointment Booking** replaces the email ping-pong of scheduling with a link, for any kind of appointment: viewings, free consultations, valuation visits or callbacks. Define your bookable hours once, send the link for an event type, and prospects pick a free time themselves. The tool ships with its own dashboard: event types, meetings, contacts, availability, workflows and analytics in one place. The booking page runs on your subdomain with your branding, with no login required for your customers.
</Lead>

## Getting started

1. Install the tool from the **marketplace** and open it under **Tools**.
2. The guided **setup** walks you through your goals, your calendar and your hours in five steps. Your business hours from the company profile are pre-filled, and the tool creates fitting first event types for you at the end.
3. Copy an event type's **booking link** and share it by email, in your signature or on portals.
4. Bookings appear in the **Meetings** area; you get a notification, the guest a confirmation with a calendar invite (.ics).

The **overview** always shows your next appointment, the agenda for the coming days and your booking links for quick copying.

Full guide: [Getting started](/tools/booking/erste-schritte)

## Event types

Every event type has its own public link (`/book/link-name`). You control duration and slot grid, travel buffers, minimum notice and booking horizon, the form (phone, custom questions) and visibility. On top of that:

- **Property linking:** the meeting point automatically becomes the property address.
- **Open house:** group slots accept multiple bookings until your participant limit is reached.
- **Single-use links:** a booking link that expires after exactly one booking, ideal for one specific prospect.
- **Custom hours:** an event type can carry its own weekly grid, independent of the shared schedule.
- **Offer times:** pick up to five free slots and send them as a ready-made email; each time is linked and pre-selected on the booking page.
- **Meeting polls:** suggest 2 to 10 times and let several people vote (works or if needed). You finalize the best slot, and everyone who voted for it automatically gets an appointment with confirmation and calendar invite. Ideal for owner families or appointments with several decision-makers.
- **Team event types:** round-robin distributes appointments fairly across the team (a time is free as soon as one member is free), the collective meeting brings several colleagues together at once (only times that work for everyone are free, and the appointment blocks all of them). Guests book the team; the assigned host appears in the confirmation.
- **Add to website:** a dedicated dialog with three embed options for your website: inline embed (booking right inside your page), popup widget (floating button) and popup text (a text link opens the booking in a window). Adjust texts, colors and position before copying; the generated code works on any website without extra files. A linked demo page shows all three options live.
- **Fine-tuning:** booking-page language (German or English), a redirect after booking, a per-day limit, internal notes and drag-to-sort ordering.

Full guide: [Event types](/tools/booking/terminarten) and [Meeting polls](/tools/booking/terminumfragen)

## Availability

The **Availability** area is your weekly editor: multiple windows per day, copy a day's hours to other weekdays with one click, automatic saving. Plus:

- **Date overrides:** vacation or special days, all-day or with custom windows, optionally for a whole range. The tool warns if a day already has bookings.
- **Import business hours:** one click pulls the hours from your company profile, with a preview before replacing.
- **Holidays:** public holidays in Germany (state-specific), Austria and Switzerland can be blocked automatically.
- **Meeting limits:** cap your appointments per day or week across all event types.
- **Calendars:** connect Google Calendar or Outlook with one click using your account: busy times block your booking page in real time, booked appointments land in your calendar automatically, and video event types get a Meet or Teams link. Any calendar (including iCloud) still works via the private iCal address. Subscribe to your personal feed to see bookings in your own calendar.

Full guide: [Availability and calendars](/tools/booking/verfuegbarkeit)

## Meetings and contacts

**Meetings** lists all bookings with tabs for upcoming, past and cancelled, filters for range, event type, host and source, and a guest search. One click opens all details: both time zones, form answers, history and internal notes. You can enter appointments yourself (after a phone call, say), reschedule (the guest automatically receives the new confirmation), cancel, and export the current view as CSV.

**Contacts** is the appointment view on your central address book, shown as a clean table with email, phone, number of appointments, last and next appointment and the contact's source. Contacts from your CRM (onOffice, for example) carry a badge with their customer number. Filter chips narrow the list to new contacts, contacts without an appointment in 30 days, or repeat bookers. Via "+ Contact" you add single contacts or import a CSV file; existing email addresses are skipped. Guests whose email does not match a contact yet can be adopted or assigned with one click, and the tool suggests similar contacts from your address book so you avoid duplicates. In the settings you can additionally enable automatic contact creation: every booking without a matching contact then creates a new contact automatically, with exclusions for specific addresses or domains.

Full guide: [Meetings](/tools/booking/termine) and [Contacts](/tools/booking/kontakte)

## Workflows

**Workflows** drive the communication around appointments: reminders before, thank-you or follow-up after, host notifications on booking and cancellation. A workflow is a trigger, a time offset and up to five actions with variables like the guest name or the appointment time. Besides email, an action can also send via WhatsApp to the guest once your WhatsApp bot is connected (delivery within the active 24-hour conversation, a few credits per message). Eight templates cover the typical cases; a delivery log records every run. The confirmation and cancellation emails to guests are a fixed part of the tool and always on.

Full guide: [Workflows](/tools/booking/workflows)

## Routing forms

**Routing** asks prospects a few questions before they pick a time and forwards them based on their answers: to the matching event type, to a page of your choice, or to a personal message. Typical case: "What is this about?" separates seller enquiries (valuation appointment) from seekers (viewing). The builder has three tabs: Form (up to 6 questions, one required email question for contact matching), Logic (rules top to bottom, the first match wins) and Answers (all submissions, filtered by booked or not booked). Bookings made through a form carry their origin in the appointment detail. Submissions without a booking are deleted automatically after 90 days.

Full guide: [Routing forms](/tools/booking/routing-formulare)

## Analytics

**Analytics** answers three questions: how many appointments come in (trend over time), where time is lost (cancellations, no-shows, reschedules) and when people book (popular weekdays and hours). Everything aggregated, no guest names.

Full guide: [Analytics](/tools/booking/auswertung)

<Callout tone="note" title="Availability">
Appointment Booking is included from the Compact plan and costs no credits. It is not available during the trial. All the details: [Cost and availability](/tools/booking/kosten).
</Callout>

## All guides

<CardGrid>
  <Card title="Getting started" href="/tools/booking/erste-schritte">
    Installation, the five-step guided setup, the ready-to-go checklist and your first incoming booking.
  </Card>
  <Card title="Event types" href="/tools/booking/terminarten">
    Creating, templates, the editor, more options, single-use links, offering times and team event types.
  </Card>
  <Card title="Meeting polls" href="/tools/booking/terminumfragen">
    Suggest times, let people vote, finalize the best slot.
  </Card>
  <Card title="Availability and calendars" href="/tools/booking/verfuegbarkeit">
    Schedules, date overrides, calendar connections, meeting limits and holidays.
  </Card>
  <Card title="Meetings" href="/tools/booking/termine">
    Filters, the detail view, rescheduling and cancelling, manual entry, CSV export.
  </Card>
  <Card title="Contacts" href="/tools/booking/kontakte">
    The appointment view on your address book, unassigned guests, CSV import, auto-creation.
  </Card>
  <Card title="Booking page" href="/tools/booking/buchungsseite">
    What guests see: the flow, confirmation, rescheduling and cancelling, embedding.
  </Card>
  <Card title="Workflows" href="/tools/booking/workflows">
    Reminders, follow-ups, the WhatsApp channel, templates, variables and the delivery log.
  </Card>
  <Card title="Routing forms" href="/tools/booking/routing-formulare">
    Ask questions, define rules, route enquiries to the matching event type automatically.
  </Card>
  <Card title="Analytics" href="/tools/booking/auswertung">
    Key figures, the trend chart, popular event types and times.
  </Card>
  <Card title="Settings" href="/tools/booking/einstellungen">
    Booking page, notifications, contacts and where the other settings live.
  </Card>
  <Card title="Troubleshooting" href="/tools/booking/troubleshooting">
    No bookable times, broken calendar sync, skipped WhatsApp messages and more.
  </Card>
</CardGrid>

## Frequently asked questions

Time zones, embedding into your website, rescheduling, visibility inside the team, calendar connections and how guest data is handled: [Questions and answers](/tools/booking/faq).

More edge cases and error messages: [Troubleshooting](/tools/booking/troubleshooting)
