Appointments
Booking in steps, services with duration and price, a team with free times, a week view, opening hours with emergency and a confirmation.
Switch category
Marketing
- Hero17
- Features15
- Logo clouds8
- Stats8
- Pricing11
- Testimonials11
- Call to action11
- FAQ7
- Newsletter12
- Banners9
- Popups and consent7
- Services7
- Use cases6
- Security and trust7
- Changelog and roadmap6
- Launch and waitlist6
- Product tour6
- Press and awards10
- AI features6
- App download5
- Donations and support4
- Problem and solution5
- Objections5
- Calculators10
- Quiz and product finder5
- Free trial5
- Referral and partners10
- Community5
- Open source5
- Manifesto5
- Offer5
- Lead magnet4
- Scroll stories20
- Scroll journeys13
- Scroll effects13
- Scroll reveals and transitions15
Content
- Blog16
- Gallery7
- Team8
- About11
- Content8
- Process7
- Contact8
- Comparison5
- Integrations5
- Error pages5
- Careers7
- Case studies6
- Portfolio6
- Events and webinars6
- Help center6
- Legal pages5
- Documentation4
- Search results5
- Resources and downloads4
- Podcast4
- Editorial15
- Authors and interviews10
- Glossary5
- Recipes5
- Data stories10
- Long reads5
- Surveys and feedback14
- Form states12
- Request forms16
- Applications and sign-ups13
- Address, payment and consent12
App
- Authentication9
- Dashboards6
- Tables6
- Settings5
- AI and chat16
- Calendar5
- Inbox and messages5
- Notifications6
- Files6
- Projects6
- Profiles6
- Onboarding6
- Billing and usage10
- Developer settings15
- Security and access10
- Import, export and history15
- Automation and builders14
- AI answers18
- AI writing and creation13
- AI setup14
- AI assistants9
E-Commerce
Industries
- Menus7
- Appointments6
- Listings6
- Courses6
- Rooms and stays5
- Classes and schedules6
- Medical practice5
- Law firm5
- Salon and spa5
- Automotive5
- Travel5
- Sports club5
- Coworking5
- Museum5
- Cinema5
- School5
- Trades5
- Insurance5
- Banking5
- Personal brand15
- Speakers and media kits10
- Creators15
- Coaching and consulting10
- Artists and musicians15
- Dental practice5
- Veterinary practice5
- Therapy practice5
- Weddings and events5
- Architecture studio5
- Tax advisor5
- Estate agent5
- Florist5
- Winery5
- Daycare5
- Driving school5
- Care services5
- Festival5
Elements
- Buttons20
- Forms and inputs22
- Pickers and selections21
- Special input fields20
- Cards10
- Overlays21
- Navigation elements15
- Menu bars and switchers14
- Data display15
- Progress and states13
- Lists, trees and timelines17
- Charts22
- Comparison charts22
- Statistical charts20
- KPI, live and map charts22
- Text effects15
- Text accents16
- Backgrounds19
- Beams, particles and motion18
- Media19
- Code and JSON8
- Panels and splitters4
Details
What Appointments brings along, read from the registry and the source.
- Area
- Industries
- Variants
- 6
- Version
- 1.0.0 · since 1.0.0
- File
- components/ui/appointments.tsx
- npm packages
- None
- Languages
- English and German, 59 texts of its own
- Studio
- Adjust in code
- In collections
- Medical practice
- Build with AI
- Over MCP in Claude, Cursor, Copilot and Codex
Props
The AppointmentsProps interface from components/ui/appointments.tsx, with the comments from the code.
variantoptionalAppointmentsVariantstepperservicesteamweekhoursconfirmation
eyebrowoptionalReact.ReactNodetitleoptionalReact.ReactNodedescriptionoptionalReact.ReactNodeservicesoptionalAppointmentService[]peopleoptionalAppointmentPerson[]daysoptionalAppointmentDay[]stepper and week: free times per day
hoursoptionalAppointmentHours[]emergencyoptionalAppointmentEmergencyclosuresoptional{ label: string; text: string }[]hours: closed days ahead, e.g. [{ label: "24 to 31 Dec", text: "Holidays" }]
bookingoptionalAppointmentBookingmediaoptionalReact.ReactNodeconfirmation: a map or a picture of the place
currencyoptionalstringonBookoptional(booking: { services: string[]; person?: string; date?: string; time?: string }) => void
Built-in texts
Appointments writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.
Show all 59 texts
| Key | English | German |
|---|---|---|
| steps | English Service,Person,Date and time,Your details | German Leistung,Person,Tag und Uhrzeit,Deine Daten |
| step | English Step {n} of {total} | German Schritt {n} von {total} |
| back | English Back | German Zurück |
| next | English Continue | German Weiter |
| book | English Book appointment | German Termin buchen |
| anyone | English No preference | German Egal wer |
| anyoneText | English The first free person | German Die erste freie Person |
| pickDay | English Day | German Tag |
| pickTime | English Time | German Uhrzeit |
| noSlots | English Fully booked | German Ausgebucht |
| name | English Name | German Name |
| phone | English Phone | German Telefon |
| English Email | German E-Mail | |
| required | English Please fill in this field. | German Bitte fülle dieses Feld aus. |
| invalidEmail | English Please enter a valid email address. | German Bitte gib eine gültige E-Mail-Adresse ein. |
| summary | English Your appointment | German Dein Termin |
| nothingYet | English Nothing chosen yet | German Noch nichts gewählt |
| open | English Open | German Offen |
| sure | English Cancel this appointment? The time goes back to the calendar. | German Diesen Termin absagen? Die Zeit geht zurück in den Kalender. |
| keep | English Keep it | German Behalten |
| confirmCancel | English Yes, cancel | German Ja, absagen |
| total | English Total | German Gesamt |
| booked | English See you soon | German Bis bald |
| bookedText | English We sent the details to {email}. You can change the appointment up to 24 hours before. | German Wir haben die Details an {email} geschickt. Ändern kannst du den Termin bis 24 Stunden vorher. |
| again | English Book another | German Weiteren Termin buchen |
| from | English from | German ab |
| popular | English Popular | German Beliebt |
| add | English Add | German Hinzufügen |
| added | English Added | German Gewählt |
| selected | English {n} selected | German {n} gewählt |
| chooseTime | English Choose a time | German Termin wählen |
| services | English Services | German Leistungen |
| nextFree | English Next free | German Nächster freier Termin |
| today | English Today | German Heute |
| tomorrow | English Tomorrow | German Morgen |
| bookAt | English Book at {time} | German Für {time} buchen |
| full | English No free times | German Keine freien Zeiten |
| taken | English taken | German belegt |
| free | English {n} free | German {n} frei |
| week | English Week | German Woche |
| openNow | English Open now | German Jetzt geöffnet |
| closedNow | English Closed now | German Gerade geschlossen |
| closed | English Closed | German Geschlossen |
| pause | English Break {from} to {to} | German Pause {from} bis {to} |
| hours | English Opening hours | German Öffnungszeiten |
| call | English Call {phone} | German {phone} anrufen |
| reference | English Booking {ref} | German Buchung {ref} |
| service | English Service | German Leistung |
| with | English With | German Bei |
| when | English When | German Wann |
| duration | English Duration | German Dauer |
| price | English Price | German Preis |
| where | English Where | German Wo |
| addCalendar | English Add to calendar | German Zum Kalender hinzufügen |
| reschedule | English Change time | German Termin verschieben |
| cancel | English Cancel appointment | German Termin absagen |
| cancelled | English The appointment is cancelled. We have let the team know. | German Der Termin ist abgesagt. Das Team weiß Bescheid. |
| prepare | English Before you come | German Bevor du kommst |
| payOnSite | English Pay on site | German Zahlung vor Ort |
Accessibility
Read from the source of the component.
- Appointments handles the keys Arrow up, Arrow down, Arrow left and Arrow right itself.
- Sets aria-checked, aria-controls, aria-current, aria-label, aria-labelledby, aria-live, aria-orientation, aria-pressed and aria-selected, so screen readers announce purpose and state.
- Uses the roles alertdialog, radio, radiogroup, status, tab, tablist and tabpanel.
- Announces changes through a live region without moving focus.
- Every field has a label, visible or for screen readers.
- Adds text for screen readers where icons and graphics stand alone.
- Shows a visible focus ring when used with the keyboard.
- The server renders the starting state in full, JavaScript only adds the interaction.
Motion
- Rises in briefly the first time it comes into view (kit-rise, useInView).
- Moves with the scroll, its progress follows the position on the page.
- Brings animations of its own, calmly timed and without wobble.
- With reduced motion (prefers-reduced-motion) it stays still. 9 places in the code switch motion off then.
Frequent questions
How do I install Appointments?
With aiw add @ai-website/appointments. The command puts components/ui/appointments.tsx into your project, the code is yours from then on. It brings along button, icon, section, reveal and input. It needs no further npm packages.
Which variants does Appointments have?
6 variants, Booking in steps, Services, Team with free times, Week view, Hours and emergency and Confirmation. You pick one with the variant prop, for example variant="services".
Can I translate the texts of Appointments?
Yes. Appointments carries 59 texts of its own in English and German, such as “Service,Person,Date and time,Your details”, “Back” and “Continue”. The language follows the KitProvider, single texts change through the labels prop.
Can an AI assistant build with Appointments?
Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Appointments with aiw_components and install it with aiw_add @ai-website/appointments. Name the variant in your prompt, for example variant="stepper", and the assistant writes your content straight into the props.
Similar components, Often combined with
Similar components
More from Industries, the same area of the kit.
- MenusMenus for restaurants, cafés and bars.
- ListingsProperties, cars and rentals with filters and details.
- CoursesCurricula, lessons and learning progress.
- Rooms and staysHotels, rentals and availability.
- All of IndustriesReady sections for practices, restaurants, trades, hotels, schools, clubs and creators.
Often combined with
Sections that usually sit next to Appointments on a page.
Loading the source