Appointly
For service businesses that can’t sell flat-rate. Where every appointment needs a custom quote before it becomes a booking. Appointly is a quote-based booking system for WordPress that puts you back in the loop. Instead of automatic scheduling and fixed prices, customers submit booking inquiries, you review each one, send a personalized quote (with or without pricing), and the customer accepts or declines. Every booking is deliberate, every price is yours to set, every customer gets a personal touch. Perfect for lawyers, consultants, tradespeople, event planners, hair & beauty salons, tattoo artists, photographers, yoga and fitness studios, tutors, and any service business that quotes before it confirms. Why Appointly? Most booking plugins force automatic scheduling with fixed prices. Appointly is different: Customer picks a date or time slot and submits an inquiry You review the request in the admin dashboard You send a personalized quote with a price and personal note Customer accepts or declines via a link in the email Booking confirmed, everyone gets notified This quote workflow gives you the flexibility to adjust pricing per request, check availability manually, and add a personal touch before confirming any booking. Exactly what service businesses with variable pricing need. Features: Booking Calendar: Beautiful, responsive appointment calendar with real-time availability. Day-mode (whole-day) and timeslot mode (customer picks a time slot of configurable length within a daily window) Unlimited Services: Create as many services as you need, with title, description, image, and base price Personal Offer Workflow: Review every inquiry and send customised offers with automatic email delivery and one-click Accept / Decline links SMTP Email Delivery: Reliable email delivery with presets for Gmail, Outlook, Yahoo, iCloud, IONOS, Strato, World4You, Host Europe, ALL-INKL, Hetzner, and more Default Email Templates: Five polished HTML email templates (inquiry, admin notification, offer, confirmation, cancellation) with light and dark modes, fully translatable Dark Mode: Calendar automatically adapts to the visitor’s colour scheme Accessibility: WCAG AA compliant with keyboard navigation Gutenberg Block & Shortcodes: Add the calendar via block editor or shortcode Setup Wizard: Guided onboarding in four steps GDPR Ready: Consent checkbox on the booking form, personal data exporter and eraser integration, encrypted SMTP credentials Multilingual: Full i18n support. German translation included (de_DE, de_DE_formal, de_AT, de_CH, de_CH_informal) Appointly Pro: Appointly Pro is a separate companion plugin that extends Appointly with professional booking features. It is sold on https://appointly.tscholene.com for €2.99 per month and is NOT distributed through the WordPress.org Plugin Directory. The free plugin remains fully functional without Pro. Pro is an opt-in upgrade, not a lock on existing features. Currently shipped in Appointly Pro: Custom Branding: Primary colour, accent colour, and logo applied across the frontend booking form and all customer emails. Custom Email Template Editor: Live preview editor for all 10 customer-facing and admin notification templates with placeholder picker. Custom Service Fields: Build your own booking form per service with text, textarea, number, select, and checkbox fields. Validation rules, drag-and-drop reordering, conditional rendering. Service Addons & Upsells: Offer extras with configurable pricing, quantity, and per-service availability. Per-line pricing in offer and confirmation emails. Recurring Bookings: Automatic re-booking for weekly, bi-weekly, and monthly sessions. Ideal for yoga teachers, therapists, coaches, and anyone running regular appointments. Direct Booking (Auto-Confirm): Per-service auto-confirm for fixed-price services. Customers book instantly without admin approval. Configurable lead-time and cancellation window. Blocked Dates: Block individual dates globally or per service, plus date-range blocks (“block December 20 to January 3”). Customer Self-Cancel: Secure email-link cancellation for direct-booking services. No admin contact needed. Planned for upcoming Pro releases (no timeline commitment): Booking Reminders: Automatic reminder emails sent before each appointment, plus an optional daily admin digest. Multi-day Bookings: Date-range bookings for multi-day events, workshops, retreats, and courses. Group Bookings: Multiple seats per time slot for classes and small-group events. Customer Self-Service Reschedule: Token-authenticated reschedule on top of the existing self-cancel flow. Cancellation Policies: Rule-based cutoff times and fees per service. Per-weekday Slot Schedules: Different availability windows per weekday (e.g. Mon/Wed/Fri morning + afternoon, Tue/Thu only afternoons) on top of the basic timeslot mode shipped in Appointly 2.1.0. iCal Feed: Subscribe to bookings in Google Calendar / Apple Calendar / Outlook. Deposit Collection via Stripe (using your own Stripe keys, no middleman). Learn more at https://appointly.tscholene.com Shortcodes & Block: Gutenberg Block: Search “Booking Calendar” in the block editor [appointly_calendar]: Display the booking calendar [appointly_calendar service="2"]: Calendar for a specific service [appointly_form service="2"]: Standalone booking form External services Appointly loads Google Fonts on the WordPress admin pages so the admin UI can render with the Appointly brand typography (Instrument Serif for hero headings, Plus Jakarta Sans for body text, DM Mono for data labels). This is the only external service that the free plugin connects to. Service: Google Fonts (https://fonts.google.com) Purpose: Loading three web font families so the admin SPA renders with the Appointly brand typography Data sent: Your browser’s IP address and User-Agent are sent to fonts.googleapis.com and fonts.gstatic.com when an admin user opens any Appointly admin page. No booking, customer, or plugin-specific data is transmitted. When: Only when an authenticated WordPress administrator opens an Appointly admin page. Fonts are never loaded on customer-facing booking pages, iCal feed requests, or REST API calls. Terms of use: https://developers.google.com/fonts/faq#what_does_using_the_google_fonts_api_mean_for_the_privacy_of_my_users Privacy policy: https://policies.google.com/privacy If you prefer to block Google Fonts entirely (for example in a privacy-hardened admin environment), the admin UI degrades gracefully to a system font stack (system-ui / BlinkMacSystemFont / Segoe UI / ui-serif / Menlo) and remains fully functional. No other external services are contacted by the free plugin. Appointly does not call any payment providers (Stripe, PayPal), analytics services, license servers, or telemetry endpoints. Appointly Pro, the separate companion plugin sold on https://appointly.tscholene.com, will, when installed, connect to appointly.tscholene.com for license validation (once per day) and plugin update checks. That connection is a feature of the Pro plugin and does not affect this free plugin. Appointly Pro ships with its own readme, privacy disclosures, and external-services documentation. The free plugin on this page does not make any requests to appointly.tscholene.com at runtime. Build Instructions The admin dashboard and the Gutenberg block are pre-built with @wordpress/scripts (webpack) and ship as the compiled admin/build/ and blocks/build/ artefacts. To inspect or rebuild from source, clone the repository at https://github.com/jolenelederer/appointly (uncompiled admin/src/ + blocks/src/ are not shipped in the WP.org distribution since 2.1.0. They are dev-only). Source rebuild: cd admin && npm install && npm run build cd blocks && npm install && npm run build The public frontend calendar (public/js/appointly-calendar.js) and stylesheet (public/css/appointly-calendar.css) are not compiled: they are vanilla JavaScript and CSS, human-readable as-is.
Top keywords
- appointly25×2.17%
- booking19×1.65%
- admin18×1.56%
- service13×1.13%
- calendar12×1.04%
- com11×0.95%
- block9×0.78%
- customer9×0.78%
- fonts9×0.78%
- pro9×0.78%
- google8×0.69%
- per8×0.69%
Flex Listings and Booking Manager
Flex Listings and Booking Manager helps you publish many bookable listings and accept reservations on WordPress — hotels, vacation rentals, car rental, tours, events, and services. Developed by Usman Ali at WpRogers. Source code (development, issues, releases): GitHub repository Live demo Try the plugin on a live demo site before you install: Listing grid with AJAX filters — searchable property grid with multiple card designs Partner dashboard — vendor area for managing listings and bookings Partner login — front-end partner sign-in Partner register — partner registration form Support development If this plugin helps your project, please donate now to support ongoing updates and new features. Key features Dynamic booking types — create types for property, car, tour, or custom industries Multiple listing post types — rich single pages with gallery, map, FAQ, features, and pricing AJAX listing grid — keyword, price, guest, and sort filters with pagination Booking form — industry-aware fields, instant booking support, email notifications Partner / vendor portal — front-end registration, login, dashboard, add listings Gutenberg blocks & Elementor widgets — booking form, listing grid, search Admin dashboard — bookings overview, status management, activity charts Settings — currency, colors, layout, container width, notifications, demo content REST API — bookings and settings endpoints for integrations WooCommerce bridge — optional integration when WooCommerce is active Shortcodes [ulbm_booking_form id="1"] — booking form for a booking type [ulbm_listing_grid type="car-rental" columns="3" limit="12"] — filterable listing grid [ulbm_search] — search UI placeholder [ulbm_register] — partner registration [ulbm_login] — partner login [ulbm_dashboard] — partner dashboard [ulbm_become_partner] — partner call-to-action block External services Bootstrap 5.3.8, Bootstrap Icons 1.11.3, and Chart.js 4.5.1 are bundled inside the plugin (assets/vendor/) and enqueued from the site only on admin and booking UI screens. No CDN is used for those libraries. Optional — Google Maps (not affiliated with Google): If the site owner enables embedded maps under Settings → Partner Portal, listing pages can show a button for visitors to opt in before loading an iframe from https://maps.google.com/. Until the visitor clicks that button, no request is sent to Google. When loaded, the visitor’s IP address and map coordinates may be processed by Google. Terms: https://www.google.com/intl/en/policies/terms/ — Privacy: https://policies.google.com/privacy Optional: Listing video embeds use WordPress wp_oembed_get() for URLs the site owner adds (e.g. YouTube). WooCommerce integration loads only when WooCommerce is active. Demo content uses placeholder images bundled in assets/demo/ (no remote downloads). Privacy Booking forms collect customer name, email, phone, and booking details stored in your WordPress database. Configure your site privacy policy for GDPR compliance.
Top keywords